mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-07 04:05:49 +00:00
148 lines
5.3 KiB
XML
148 lines
5.3 KiB
XML
<?xml version="1.0"?>
|
|
|
|
<!--
|
|
The contents of this file are subject to the Netscape Public
|
|
License Version 1.1 (the "License"); you may not use this file
|
|
except in compliance with the License. You may obtain a copy of
|
|
the License at http://www.mozilla.org/NPL/
|
|
|
|
Software distributed under the License is distributed on an "AS
|
|
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
implied. See the License for the specific language governing
|
|
rights and limitations under the License.
|
|
|
|
The Original Code is Mozilla Communicator client code, released
|
|
March 31, 1998.
|
|
|
|
The Initial Developer of the Original Code is Netscape
|
|
Communications Corporation. Portions created by Netscape are
|
|
Copyright (C) 1998-1999 Netscape Communications Corporation. All
|
|
Rights Reserved.
|
|
|
|
Contributor(s):
|
|
-->
|
|
|
|
<!DOCTYPE window SYSTEM "chrome://cookie/locale/cookieContextOverlay.dtd">
|
|
|
|
<overlay id="cookieContextOverlay"
|
|
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
|
|
|
<script type="application/x-javascript" src="chrome://cookie/content/cookieOverlay.js"/>
|
|
|
|
<script type="application/x-javascript">
|
|
<![CDATA[
|
|
|
|
// Code from nsContextMenu.js. Note that we extend the prototype here, rather
|
|
// than making these methods on a new object, as some methods require access
|
|
// to data maintained by nsContextMenu.
|
|
|
|
var cookieContextMenu = {
|
|
|
|
// Determine if "Block Image" is to appear in the menu.
|
|
// Return true if "imageBlocker.enabled" pref is set and image is not already blocked.
|
|
isBlockingImages : function () {
|
|
/* determine if image is already being blocked */
|
|
var permissionmanager =
|
|
Components.classes["@mozilla.org/permissionmanager;1"]
|
|
.getService(Components.interfaces.nsIPermissionManager);
|
|
if(!permissionmanager) {
|
|
return true;
|
|
}
|
|
return !permissionmanager.testForBlocking(gContextMenu.imageURL, IMAGEPERMISSION);
|
|
},
|
|
|
|
// Determine if "imageBlocker.enabled" pref is set
|
|
isPrefSet: function () {
|
|
var pref = gContextMenu.getService('@mozilla.org/preferences-service;1', 'nsIPrefBranch');
|
|
var result = false;
|
|
try {
|
|
result = pref.getBoolPref( "imageblocker.enabled" );
|
|
} catch(e) {
|
|
}
|
|
return result;
|
|
},
|
|
|
|
// Block image from loading in the future.
|
|
blockImage : function () {
|
|
var permissionmanager =
|
|
Components.classes["@mozilla.org/permissionmanager;1"]
|
|
.getService(Components.interfaces.nsIPermissionManager);
|
|
if (!permissionmanager) {
|
|
return;
|
|
}
|
|
permissionmanager.add(gContextMenu.imageURL, false, IMAGEPERMISSION);
|
|
},
|
|
|
|
// Unblock image from loading in the future.
|
|
unblockImage : function () {
|
|
var permissionmanager =
|
|
Components.classes["@mozilla.org/permissionmanager;1"]
|
|
.getService().QueryInterface(Components.interfaces.nsIPermissionManager);
|
|
if (!permissionmanager) {
|
|
return;
|
|
}
|
|
permissionmanager.add(gContextMenu.imageURL, true, IMAGEPERMISSION);
|
|
},
|
|
|
|
initImageBlocking : function () {
|
|
try {
|
|
// Block image depends on whether an image was clicked on, and,
|
|
// whether the user pref is enabled.
|
|
|
|
gContextMenu.showItem
|
|
("context-blockimage",
|
|
gContextMenu.onImage && cookieContextMenu.isPrefSet() &&
|
|
cookieContextMenu.isBlockingImages());
|
|
|
|
gContextMenu.showItem
|
|
("context-unblockimage",
|
|
gContextMenu.onImage && cookieContextMenu.isPrefSet() &&
|
|
!cookieContextMenu.isBlockingImages());
|
|
} catch (e) {}
|
|
},
|
|
|
|
addContextMenuItemListeners : function (aEvent) {
|
|
var contextPopup = document.getElementById("contentAreaContextSet");
|
|
if (contextPopup)
|
|
contextPopup.addEventListener("popupshowing", cookieContextMenu.initImageBlocking, false);
|
|
|
|
var mailContextPopup = document.getElementById("messagePaneContext");
|
|
if (mailContextPopup)
|
|
mailContextPopup.addEventListener("popupshowing", cookieContextMenu.initImageBlocking, false);
|
|
}
|
|
}
|
|
window.addEventListener("load", cookieContextMenu.addContextMenuItemListeners, false);
|
|
|
|
]]>
|
|
</script>
|
|
|
|
<!-- context menu -->
|
|
<popup id="contentAreaContextMenu">
|
|
<menuitem id="context-blockimage"
|
|
label="&blockImageCmd.label;"
|
|
accesskey=""
|
|
oncommand="cookieContextMenu.blockImage();"
|
|
insertafter="context-viewimage"/>
|
|
<menuitem id="context-unblockimage"
|
|
label="&unblockImageCmd.label;"
|
|
accesskey=""
|
|
oncommand="cookieContextMenu.unblockImage();"
|
|
insertafter="context-viewimage"/>
|
|
</popup>
|
|
|
|
<!-- Mail Message Pane context menu -->
|
|
<popup id="messagePaneContext">
|
|
<menuitem id="context-blockimage"
|
|
label="&blockImageCmd.label;"
|
|
accesskey=""
|
|
oncommand="cookieContextMenu.blockImage();"
|
|
insertafter="context-viewimage"/>
|
|
<menuitem id="context-unblockimage"
|
|
label="&unblockImageCmd.label;"
|
|
accesskey=""
|
|
oncommand="cookieContextMenu.unblockImage();"
|
|
insertafter="context-viewimage"/>
|
|
</popup>
|
|
|
|
</overlay>
|