mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 20:05:49 +00:00
Bug 470051 - Disable "New Tab" and "Open Location" commands in popups. r=gavin
This commit is contained in:
parent
4b038fd156
commit
ab2ee0e80a
@ -1052,10 +1052,14 @@ function BrowserStartup() {
|
||||
document.documentElement.setAttribute("height", defaultHeight);
|
||||
}
|
||||
|
||||
if (gURLBar &&
|
||||
document.documentElement.getAttribute("chromehidden").indexOf("toolbar") != -1) {
|
||||
gURLBar.setAttribute("readonly", "true");
|
||||
gURLBar.setAttribute("enablehistory", "false");
|
||||
if (!window.toolbar.visible) {
|
||||
// adjust browser UI for popups
|
||||
if (gURLBar) {
|
||||
gURLBar.setAttribute("readonly", "true");
|
||||
gURLBar.setAttribute("enablehistory", "false");
|
||||
}
|
||||
goSetCommandEnabled("Browser:OpenLocation", false);
|
||||
goSetCommandEnabled("cmd_newNavigatorTab", false);
|
||||
}
|
||||
|
||||
CombinedStopReload.init();
|
||||
|
@ -130,6 +130,7 @@ _BROWSER_FILES = \
|
||||
browser_page_style_menu.js \
|
||||
browser_plainTextLinks.js \
|
||||
browser_pluginnotification.js \
|
||||
browser_popupUI.js \
|
||||
browser_relatedTabs.js \
|
||||
browser_sanitize-passwordDisabledHosts.js \
|
||||
browser_sanitize-sitepermissions.js \
|
||||
|
57
browser/base/content/test/browser_popupUI.js
Normal file
57
browser/base/content/test/browser_popupUI.js
Normal file
@ -0,0 +1,57 @@
|
||||
function test() {
|
||||
waitForExplicitFinish();
|
||||
gPrefService.setBoolPref("dom.disable_open_during_load", false);
|
||||
|
||||
var browser = gBrowser.selectedBrowser;
|
||||
browser.addEventListener("load", function () {
|
||||
browser.removeEventListener("load", arguments.callee, true);
|
||||
|
||||
if (gPrefService.prefHasUserValue("dom.disable_open_during_load"))
|
||||
gPrefService.clearUserPref("dom.disable_open_during_load");
|
||||
|
||||
findPopup();
|
||||
}, true);
|
||||
|
||||
content.location =
|
||||
"data:text/html,<html><script>popup=open('about:blank','','width=300,height=200')</script>";
|
||||
}
|
||||
|
||||
function findPopup() {
|
||||
var enumerator = Services.wm.getEnumerator("navigator:browser");
|
||||
|
||||
while (enumerator.hasMoreElements()) {
|
||||
let win = enumerator.getNext();
|
||||
if (win.content == content.wrappedJSObject.popup) {
|
||||
testPopupUI(win);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
throw "couldn't find the popup";
|
||||
}
|
||||
|
||||
function testPopupUI(win) {
|
||||
var doc = win.document;
|
||||
|
||||
ok(win.gURLBar, "location bar exists in the popup");
|
||||
isnot(win.gURLBar.clientWidth, 0, "location bar is visible in the popup");
|
||||
ok(win.gURLBar.readOnly, "location bar is read-only in the popup");
|
||||
is(doc.getElementById("Browser:OpenLocation").getAttribute("disabled"), "true",
|
||||
"'open location' command is disabled in the popup");
|
||||
|
||||
let historyButton = doc.getAnonymousElementByAttribute(win.gURLBar, "anonid",
|
||||
"historydropmarker");
|
||||
is(historyButton.clientWidth, 0, "history dropdown button is hidden in the popup");
|
||||
|
||||
EventUtils.synthesizeKey("t", { accelKey: true }, win);
|
||||
is(win.gBrowser.browsers.length, 1, "Accel+T doesn't open a new tab in the popup");
|
||||
|
||||
EventUtils.synthesizeKey("w", { accelKey: true }, win);
|
||||
ok(win.closed, "Accel+W closes the popup");
|
||||
|
||||
if (!win.closed)
|
||||
win.close();
|
||||
gBrowser.addTab();
|
||||
gBrowser.removeCurrentTab();
|
||||
finish();
|
||||
}
|
Loading…
Reference in New Issue
Block a user