Bug 93390 Context menu should identify server from which images will be blocked p=misager@gmail.com p=zug_treno@yahoo.com r=IanN p=wladow@gmail.com r+sr=me

git-svn-id: svn://10.0.0.236/trunk@252756 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
neil%parkwaycc.co.uk
2008-07-01 22:15:01 +00:00
parent c9381ac7cf
commit 89c20656f1
4 changed files with 42 additions and 39 deletions

View File

@@ -37,8 +37,6 @@
***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://communicator/locale/permissions/imageContextOverlay.dtd">
<overlay id="cookieContextOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
@@ -53,23 +51,6 @@
var cookieContextMenu = {
// Determine if "Block Image" is to appear in the menu.
// Return true if image is not already blocked.
isBlockingImages : function () {
/* determine if image is already being blocked */
const nsIPermissionManager = Components.interfaces.nsIPermissionManager;
var permissionmanager =
Components.classes["@mozilla.org/permissionmanager;1"]
.getService(Components.interfaces.nsIPermissionManager);
if(!permissionmanager) {
return true;
}
var ioService = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var uri = ioService.newURI(gContextMenu.imageURL, null, null);
return permissionmanager.testPermission(uri, "image") != nsIPermissionManager.DENY_ACTION;
},
// Block image from loading in the future.
blockImage : function () {
const nsIPermissionManager = Components.interfaces.nsIPermissionManager;
@@ -102,15 +83,45 @@
initImageBlocking : function () {
try {
//Hide Block and Unblock menuitems
gContextMenu.showItem("context-blockimage", false);
gContextMenu.showItem("context-unblockimage", false);
// Block image depends on whether an image was clicked on
if (gContextMenu.onImage) {
var bundle = srGetStrBundle("chrome://communicator/locale/contentAreaCommands.properties");
var IOService = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
gContextMenu.showItem
("context-blockimage",
gContextMenu.onImage && cookieContextMenu.isBlockingImages());
gContextMenu.showItem
("context-unblockimage",
gContextMenu.onImage && !cookieContextMenu.isBlockingImages());
var uri = IOService.newURI(gContextMenu.imageURL, null, null);
try {
var serverLabel = uri.host;
if (serverLabel) {
// Limit length to max 15 characters
serverLabel = serverLabel.replace(/^www\./i, "");
if (serverLabel.length > 15) {
var pref = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefBranch);
var serverLabelEllipsis = pref.getComplexValue("intl.ellipsis",
Components.interfaces.nsIPrefLocalizedString).data;
serverLabel = serverLabel.substr(0, 15) + serverLabelEllipsis;
}
// Set label and accesskey for appropriate action and unhide menuitem
var action = "block";
var permissionmanager = Components.classes["@mozilla.org/permissionmanager;1"]
.getService(Components.interfaces.nsIPermissionManager);
if (permissionmanager.testPermission(uri, "image") == nsIPermissionManager.DENY_ACTION)
action = "unblock";
var blockImageMenuItem = document.getElementById("context-" + action + "image");
blockImageMenuItem.setAttribute("label", bundle.formatStringFromName(action + "Image", [serverLabel], 1));
blockImageMenuItem.setAttribute("accesskey", bundle.GetStringFromName(action + "Image.accesskey"));
gContextMenu.showItem("context-" + action + "image", true);
}
} catch (ex) { }
}
} catch (e) {}
},
@@ -132,13 +143,9 @@
<!-- 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>
@@ -146,13 +153,9 @@
<!-- 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>

View File

@@ -2,6 +2,11 @@
searchText=Search Web for "%S"
blockImage=Block Images from %S
blockImage.accesskey=B
unblockImage=Unblock Images from %S
unblockImage.accesskey=b
SavePageTitle=Save Web Page
SaveImageTitle=Save Image
SaveLinkTitle=Save As

View File

@@ -1,4 +0,0 @@
<!ENTITY blockImageCmd.label "Block Images from This Server">
<!ENTITY blockImageCmd.accesskey "k">
<!ENTITY unblockImageCmd.label "Unblock Images from This Server">
<!ENTITY unblockImageCmd.accesskey "u">

View File

@@ -128,7 +128,6 @@
locale/@AB_CD@/communicator/overrides/netErrorApp.dtd (%chrome/common/overrides/netErrorApp.dtd)
locale/@AB_CD@/communicator/permissions/cookieViewer.properties (%chrome/common/permissions/cookieViewer.properties)
locale/@AB_CD@/communicator/permissions/cookieViewer.dtd (%chrome/common/permissions/cookieViewer.dtd)
locale/@AB_CD@/communicator/permissions/imageContextOverlay.dtd (%chrome/common/permissions/imageContextOverlay.dtd)
locale/@AB_CD@/communicator/permissions/permissionsManager.dtd (%chrome/common/permissions/permissionsManager.dtd)
locale/@AB_CD@/communicator/permissions/permissionsManager.properties (%chrome/common/permissions/permissionsManager.properties)
locale/@AB_CD@/communicator/permissions/permissionsNavigatorOverlay.dtd (%chrome/common/permissions/permissionsNavigatorOverlay.dtd)