зеркало из https://github.com/mozilla/pjs.git
reinstating earlier version; Txul regression in hand. long live bug 166442 r=jag,jst,et al. still applies
This commit is contained in:
Родитель
344b263c02
Коммит
06f6cd2de8
|
@ -32,7 +32,10 @@
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
/******* THE FOLLOWING IS FOR THE TASKMENU OVERLAY *******/
|
/******* THE FOLLOWING IS FOR THE TASKMENU OVERLAY *******/
|
||||||
|
|
||||||
|
// both are necessary. popupmanager is just a special case
|
||||||
|
// of permissionmanager but does extra work on add/remove
|
||||||
var permissionmanager;
|
var permissionmanager;
|
||||||
|
var popupmanager;
|
||||||
|
|
||||||
// Remove the image entries from the task menu
|
// Remove the image entries from the task menu
|
||||||
function HideImage() {
|
function HideImage() {
|
||||||
|
@ -41,6 +44,18 @@
|
||||||
element.setAttribute("style","display: none;" );
|
element.setAttribute("style","display: none;" );
|
||||||
element.setAttribute("disabled","true" );
|
element.setAttribute("disabled","true" );
|
||||||
}
|
}
|
||||||
|
// Remove the popup entries from the task menu
|
||||||
|
function HidePopups(hide) {
|
||||||
|
var element;
|
||||||
|
element = document.getElementById("popup");
|
||||||
|
if (hide) {
|
||||||
|
element.setAttribute("hidden", "true");
|
||||||
|
element.setAttribute("disabled", "true");
|
||||||
|
} else {
|
||||||
|
element.removeAttribute("hidden");
|
||||||
|
element.removeAttribute("disabled");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// for some unexplainable reason, CheckForImage() keeps getting called repeatedly
|
// for some unexplainable reason, CheckForImage() keeps getting called repeatedly
|
||||||
// as we mouse over the task menu. IMO, that shouldn't be happening. To avoid
|
// as we mouse over the task menu. IMO, that shouldn't be happening. To avoid
|
||||||
|
@ -52,10 +67,14 @@
|
||||||
function CheckForVisibility()
|
function CheckForVisibility()
|
||||||
{
|
{
|
||||||
|
|
||||||
// obtain access to permissionmanager module
|
// obtain access to permissionmanager and popupmanager
|
||||||
|
// (popup manager is a wrapper around permission that does extra work)
|
||||||
permissionmanager =
|
permissionmanager =
|
||||||
Components.classes["@mozilla.org/permissionmanager;1"]
|
Components.classes["@mozilla.org/permissionmanager;1"]
|
||||||
.getService(Components.interfaces.nsIPermissionManager);
|
.getService(Components.interfaces.nsIPermissionManager);
|
||||||
|
popupmanager =
|
||||||
|
Components.classes["@mozilla.org/PopupWindowManager;1"]
|
||||||
|
.getService(Components.interfaces.nsIPopupWindowManager);
|
||||||
if (!("_content" in window) || !window._content) {
|
if (!("_content" in window) || !window._content) {
|
||||||
// this occurs if doing tasks->privacy->cookie->block from java console
|
// this occurs if doing tasks->privacy->cookie->block from java console
|
||||||
return;
|
return;
|
||||||
|
@ -88,16 +107,42 @@
|
||||||
disableElement.setAttribute("disabled","true");
|
disableElement.setAttribute("disabled","true");
|
||||||
enableElement.removeAttribute("disabled");
|
enableElement.removeAttribute("disabled");
|
||||||
|
|
||||||
|
if (popupmanager.testPermission(getBrowser().currentURI) == Components.interfaces.nsIPopupWindowManager.eDisallow) {
|
||||||
|
disableElement = document.getElementById("BlockPopups");
|
||||||
|
enableElement = document.getElementById("AllowPopups");
|
||||||
|
} else {
|
||||||
|
disableElement = document.getElementById("AllowPopups");
|
||||||
|
enableElement = document.getElementById("BlockPopups");
|
||||||
|
}
|
||||||
|
disableElement.setAttribute("disabled","true");
|
||||||
|
if (popupmanager.testSuitability(getBrowser().currentURI))
|
||||||
|
enableElement.removeAttribute("disabled");
|
||||||
|
else
|
||||||
|
enableElement.setAttribute("disabled","true");
|
||||||
|
|
||||||
|
var pref;
|
||||||
|
pref = Components.classes['@mozilla.org/preferences-service;1'];
|
||||||
|
pref = pref.getService();
|
||||||
|
pref = pref.QueryInterface(Components.interfaces.nsIPrefBranch);
|
||||||
|
|
||||||
|
// hide the popup manager menus if the prefs aren't exactly right.
|
||||||
|
// it'd be nicer to leave it always visible and adjust prefs to match
|
||||||
|
// any user selections
|
||||||
|
try {
|
||||||
|
var hide = pref.getBoolPref("dom.disable_open_during_load");
|
||||||
|
if (!hide)
|
||||||
|
hide = pref.getIntPref("privacy.popups.policy") != Components.interfaces.nsIPopupWindowManager.eAllowConditionally;
|
||||||
|
HidePopups(hide);
|
||||||
|
} catch(e) {
|
||||||
|
HidePopups(true);
|
||||||
|
}
|
||||||
|
|
||||||
// determine if image manager should be in the UI
|
// determine if image manager should be in the UI
|
||||||
if (alreadyCheckedForImage) {
|
if (alreadyCheckedForImage) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
alreadyCheckedForImage = true;
|
alreadyCheckedForImage = true;
|
||||||
// remove image functions (unless overruled by the "imageblocker.enabled" pref)
|
// remove image functions (unless overruled by the "imageblocker.enabled" pref)
|
||||||
var pref;
|
|
||||||
pref = Components.classes['@mozilla.org/preferences-service;1'];
|
|
||||||
pref = pref.getService();
|
|
||||||
pref = pref.QueryInterface(Components.interfaces.nsIPrefBranch);
|
|
||||||
try {
|
try {
|
||||||
if (!pref.getBoolPref("imageblocker.enabled")) {
|
if (!pref.getBoolPref("imageblocker.enabled")) {
|
||||||
HideImage();
|
HideImage();
|
||||||
|
@ -136,6 +181,16 @@
|
||||||
element = document.getElementById("BlockImages");
|
element = document.getElementById("BlockImages");
|
||||||
alert(element.getAttribute("msg"));
|
alert(element.getAttribute("msg"));
|
||||||
break;
|
break;
|
||||||
|
case "popupAllow":
|
||||||
|
popupmanager.add(getBrowser().currentURI, true);
|
||||||
|
element = document.getElementById("AllowPopups");
|
||||||
|
alert(element.getAttribute("msg"));
|
||||||
|
break;
|
||||||
|
case "popupBlock":
|
||||||
|
popupmanager.add(getBrowser().currentURI, false);
|
||||||
|
element = document.getElementById("BlockPopups");
|
||||||
|
alert(element.getAttribute("msg"));
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -182,5 +237,24 @@
|
||||||
oncommand="viewImages();"/>
|
oncommand="viewImages();"/>
|
||||||
</menupopup>
|
</menupopup>
|
||||||
</menu>
|
</menu>
|
||||||
|
<menu label="&cookiePopupManager.label;"
|
||||||
|
accesskey="&cookiePopupManager.accesskey;"
|
||||||
|
id="popup"
|
||||||
|
insertbefore="navBeginGlobalItems">
|
||||||
|
<menupopup>
|
||||||
|
<menuitem id="BlockPopups" label="&cookieBlockPopupsCmd.label;"
|
||||||
|
accesskey="&cookieBlockPopupsCmd.accesskey;"
|
||||||
|
msg="&cookieBlockPopupsMsg.label;"
|
||||||
|
oncommand="CookieImageAction('popupBlock');"/>
|
||||||
|
<menuitem id="AllowPopups" label="&cookieAllowPopupsCmd.label;"
|
||||||
|
accesskey="&cookieAllowPopupsCmd.accesskey;"
|
||||||
|
msg="&cookieAllowPopupsMsg.label;"
|
||||||
|
oncommand="CookieImageAction('popupAllow');"/>
|
||||||
|
<menuseparator/>
|
||||||
|
<menuitem label="&cookieDisplayPopupsCmd.label;"
|
||||||
|
accesskey="&cookieDisplayPopupsCmd.accesskey;"
|
||||||
|
oncommand="viewPopups();"/>
|
||||||
|
</menupopup>
|
||||||
|
</menu>
|
||||||
</menupopup>
|
</menupopup>
|
||||||
</overlay>
|
</overlay>
|
||||||
|
|
|
@ -20,12 +20,18 @@
|
||||||
|
|
||||||
var COOKIEPERMISSION = 0;
|
var COOKIEPERMISSION = 0;
|
||||||
var IMAGEPERMISSION = 1;
|
var IMAGEPERMISSION = 1;
|
||||||
|
var WINDOWPERMISSION = 2;
|
||||||
|
|
||||||
function viewImages() {
|
function viewImages() {
|
||||||
window.openDialog("chrome://communicator/content/wallet/CookieViewer.xul","_blank",
|
window.openDialog("chrome://communicator/content/wallet/CookieViewer.xul","_blank",
|
||||||
"chrome,resizable=yes", "imageManager" );
|
"chrome,resizable=yes", "imageManager" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function viewPopups() {
|
||||||
|
window.openDialog("chrome://communicator/content/wallet/CookieViewer.xul","_blank",
|
||||||
|
"chrome,resizable=yes", "popupManager" );
|
||||||
|
}
|
||||||
|
|
||||||
function viewCookies() {
|
function viewCookies() {
|
||||||
window.openDialog("chrome://communicator/content/wallet/CookieViewer.xul","_blank",
|
window.openDialog("chrome://communicator/content/wallet/CookieViewer.xul","_blank",
|
||||||
"chrome,resizable=yes", "cookieManager");
|
"chrome,resizable=yes", "cookieManager");
|
||||||
|
|
Загрузка…
Ссылка в новой задаче