forked from mirrors/gecko-dev
fixes to Blocked Popups dialog:
- no confirmation after unblocking a site - if there are no more sites in the list after unblocking, dialog closes - if there are more sites, ensure one's selected - added accesskeys to the two buttons - now a dialog, so there's no minimize or maximize buttons
This commit is contained in:
parent
f8a6f10bf1
commit
226b51d7f5
4 changed files with 43 additions and 32 deletions
|
|
@ -2653,7 +2653,7 @@ function displayPageReportFirstTime()
|
||||||
function displayPageReport()
|
function displayPageReport()
|
||||||
{
|
{
|
||||||
window.openDialog("chrome://browser/content/pageReport.xul", "_blank",
|
window.openDialog("chrome://browser/content/pageReport.xul", "_blank",
|
||||||
"dialog=no,modal");
|
"dialog,modal,resizable");
|
||||||
}
|
}
|
||||||
|
|
||||||
function nsBrowserContentListener(toplevelWindow, contentWindow)
|
function nsBrowserContentListener(toplevelWindow, contentWindow)
|
||||||
|
|
|
||||||
|
|
@ -17,12 +17,12 @@
|
||||||
# Rights Reserved.
|
# Rights Reserved.
|
||||||
#
|
#
|
||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
# David Hyatt (hyatt@apple.com)
|
# David Hyatt (hyatt@apple.com)
|
||||||
|
# Dean Tessman (dean_tessman@hotmail.com)
|
||||||
|
|
||||||
var gSiteBox;
|
var gSiteBox;
|
||||||
var gUnblockButton;
|
var gUnblockButton;
|
||||||
var gPageReport;
|
var gPageReport;
|
||||||
var gUPMsg;
|
|
||||||
|
|
||||||
var permissionmanager =
|
var permissionmanager =
|
||||||
Components.classes["@mozilla.org/permissionmanager;1"]
|
Components.classes["@mozilla.org/permissionmanager;1"]
|
||||||
|
|
@ -34,9 +34,15 @@ function onLoad()
|
||||||
gSiteBox = document.getElementById("siteBox");
|
gSiteBox = document.getElementById("siteBox");
|
||||||
gUnblockButton = document.getElementById("unblockButton");
|
gUnblockButton = document.getElementById("unblockButton");
|
||||||
gPageReport = opener.gBrowser.pageReport;
|
gPageReport = opener.gBrowser.pageReport;
|
||||||
gUPMsg = document.getElementById("unblockedPopupMsg");
|
|
||||||
|
|
||||||
buildSiteBox();
|
buildSiteBox();
|
||||||
|
// select the first item using a delay, otherwise the listitems
|
||||||
|
// don't paint as selected.
|
||||||
|
setTimeout(selectFirstItem, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
function selectFirstItem()
|
||||||
|
{
|
||||||
gSiteBox.selectedIndex = 0;
|
gSiteBox.selectedIndex = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -51,12 +57,8 @@ function buildSiteBox()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (found) continue;
|
if (!found)
|
||||||
|
gSiteBox.appendItem(gPageReport[i]);
|
||||||
var listitem = document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul",
|
|
||||||
"listitem");
|
|
||||||
listitem.setAttribute("label", gPageReport[i]);
|
|
||||||
gSiteBox.appendChild(listitem);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -71,13 +73,22 @@ function whitelistSite()
|
||||||
if (!selectedItem)
|
if (!selectedItem)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
var selectedIndex = gSiteBox.getIndexOfItem(selectedItem);
|
||||||
|
|
||||||
var uri = Components.classes['@mozilla.org/network/standard-url;1'].createInstance(Components.interfaces.nsIURI);
|
var uri = Components.classes['@mozilla.org/network/standard-url;1'].createInstance(Components.interfaces.nsIURI);
|
||||||
uri.spec = selectedItem.label;
|
uri.spec = selectedItem.label;
|
||||||
permissionmanager.add(uri, nsIPermissionManager.POPUP_TYPE, nsIPermissionManager.ALLOW_ACTION);
|
permissionmanager.add(uri, nsIPermissionManager.POPUP_TYPE, nsIPermissionManager.ALLOW_ACTION);
|
||||||
gSiteBox.removeChild(selectedItem);
|
gSiteBox.removeChild(selectedItem);
|
||||||
|
|
||||||
// XXXlocalize
|
if (gSiteBox.getRowCount() == 0) {
|
||||||
alert(uri.host + gUPMsg.value);
|
// close if there are no other sites to whitelist
|
||||||
document.documentElement.getButton("accept").focus();
|
window.close();
|
||||||
}
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// make sure a site is selected
|
||||||
|
if (selectedIndex > gSiteBox.getRowCount() - 1)
|
||||||
|
selectedIndex -= 1;
|
||||||
|
gSiteBox.selectedIndex = selectedIndex;
|
||||||
|
document.documentElement.getButton("accept").focus()
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,8 @@
|
||||||
# Rights Reserved.
|
# Rights Reserved.
|
||||||
#
|
#
|
||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
# David Hyatt (hyatt@apple.com)
|
# David Hyatt (hyatt@apple.com)
|
||||||
|
# Dean Tessman (dean_tessman@hotmail.com)
|
||||||
|
|
||||||
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
|
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
|
||||||
|
|
||||||
|
|
@ -41,18 +42,16 @@
|
||||||
|
|
||||||
<script type="application/x-javascript" src="chrome://browser/content/pageReport.js"/>
|
<script type="application/x-javascript" src="chrome://browser/content/pageReport.js"/>
|
||||||
|
|
||||||
<description value="&unblockedPopupMsg.label;" collapsed="true" id="unblockedPopupMsg"/>
|
<description>
|
||||||
|
&intro.label;
|
||||||
<vbox flex="1">
|
</description>
|
||||||
<description>
|
<listbox style="height:10em" id="siteBox" onselect="siteSelected();" flex="1"/>
|
||||||
&intro.label;
|
<separator class="thin"/>
|
||||||
</description>
|
<hbox>
|
||||||
<listbox style="height:10em" id="siteBox" onselect="siteSelected();" flex="1"/>
|
<button label="&unblock.label;" id="unblockButton" oncommand="whitelistSite();"
|
||||||
<separator class="thin"/>
|
disabled="true" accesskey="&unblock.accesskey;"/>
|
||||||
<hbox>
|
<spacer flex="1"/>
|
||||||
<button label="&unblock.label;" id="unblockButton" oncommand="whitelistSite();" disabled="true"/>
|
<button dlgtype="accept" label="&done.label;" default="true"
|
||||||
<spacer flex="1"/>
|
oncommand="window.close();" accesskey="&done.accesskey;"/>
|
||||||
<button dlgtype="accept" label="&done.label;" default="true" oncommand="window.close();"/>
|
</hbox>
|
||||||
</hbox>
|
</dialog>
|
||||||
</vbox>
|
|
||||||
</dialog>
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
unrequested popup windows:">
|
unrequested popup windows:">
|
||||||
|
|
||||||
<!ENTITY done.label "Done">
|
<!ENTITY done.label "Done">
|
||||||
<!ENTITY unblock.label "Unblock Site">
|
<!ENTITY done.accesskey "D">
|
||||||
|
|
||||||
<!ENTITY unblockedPopupMsg.label " will now be able to open unrequested popup windows.">
|
<!ENTITY unblock.label "Unblock Site">
|
||||||
|
<!ENTITY unblock.accesskey "U">
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue