mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 814264 - Restore the ability to call openUILink without an event parameter.
r=gavin
This commit is contained in:
parent
59e89330b2
commit
fd391c1a50
@ -272,6 +272,7 @@ _BROWSER_FILES = \
|
||||
browser_bug812562.js \
|
||||
blockPluginVulnerableUpdatable.xml \
|
||||
blockPluginVulnerableNoUpdate.xml \
|
||||
browser_utilityOverlay.js \
|
||||
browser_social.js \
|
||||
browser_social_toolbar.js \
|
||||
browser_social_shareButton.js \
|
||||
|
@ -1,35 +1,62 @@
|
||||
var gTestTab;
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
function test() {
|
||||
const gTests = [
|
||||
test_getTopWin,
|
||||
test_getBoolPref,
|
||||
test_openNewTabWith,
|
||||
test_openUILink
|
||||
];
|
||||
|
||||
function test () {
|
||||
waitForExplicitFinish();
|
||||
executeSoon(runNextTest);
|
||||
}
|
||||
|
||||
function runNextTest() {
|
||||
if (gTests.length) {
|
||||
let testFun = gTests.shift();
|
||||
info("Running " + testFun.name);
|
||||
testFun()
|
||||
}
|
||||
else {
|
||||
finish();
|
||||
}
|
||||
}
|
||||
|
||||
function test_getTopWin() {
|
||||
is(getTopWin(), window, "got top window");
|
||||
runNextTest();
|
||||
}
|
||||
|
||||
|
||||
function test_getBoolPref() {
|
||||
is(getBoolPref("browser.search.openintab", false), false, "getBoolPref");
|
||||
is(getBoolPref("this.pref.doesnt.exist", true), true, "getBoolPref fallback");
|
||||
is(getBoolPref("this.pref.doesnt.exist", false), false, "getBoolPref fallback #2");
|
||||
runNextTest();
|
||||
}
|
||||
|
||||
|
||||
gTestTab = openNewTabWith("http://example.com");
|
||||
gBrowser.selectedTab = gTestTab;
|
||||
gTestTab.linkedBrowser.addEventListener("load", function () {
|
||||
gTestTab.linkedBrowser.removeEventListener("load", arguments.callee, true);
|
||||
|
||||
is(gTestTab.linkedBrowser.currentURI.spec, "http://example.com/", "example.com loaded");
|
||||
|
||||
test_openUILink();
|
||||
function test_openNewTabWith() {
|
||||
openNewTabWith("http://example.com/");
|
||||
let tab = gBrowser.selectedTab = gBrowser.tabs[1];
|
||||
tab.linkedBrowser.addEventListener("load", function onLoad(event) {
|
||||
tab.linkedBrowser.removeEventListener("load", onLoad, true);
|
||||
is(tab.linkedBrowser.currentURI.spec, "http://example.com/", "example.com loaded");
|
||||
gBrowser.removeCurrentTab();
|
||||
runNextTest();
|
||||
}, true);
|
||||
}
|
||||
|
||||
function test_openUILink() {
|
||||
gTestTab.linkedBrowser.addEventListener("load", function () {
|
||||
gTestTab.linkedBrowser.removeEventListener("load", arguments.callee, true);
|
||||
|
||||
is(gTestTab.linkedBrowser.currentURI.spec, "http://example.org/", "example.org loaded");
|
||||
|
||||
gBrowser.removeTab(gTestTab);
|
||||
finish();
|
||||
let tab = gBrowser.selectedTab = gBrowser.addTab("about:blank");
|
||||
tab.linkedBrowser.addEventListener("load", function onLoad(event) {
|
||||
tab.linkedBrowser.removeEventListener("load", onLoad, true);
|
||||
is(tab.linkedBrowser.currentURI.spec, "http://example.org/", "example.org loaded");
|
||||
gBrowser.removeCurrentTab();
|
||||
runNextTest();
|
||||
}, true);
|
||||
|
||||
//openUILink(url, e, ignoreButton, ignoreAlt, allowKeywordFixup, postData, referrerUrl);
|
||||
openUILink("http://example.org"); // defaults to "current"
|
||||
openUILink("http://example.org/"); // defaults to "current"
|
||||
}
|
||||
|
@ -329,7 +329,9 @@
|
||||
loadCurrent();
|
||||
} else {
|
||||
this.handleRevert();
|
||||
let params = { allowThirdPartyFixup: true, postData: postData };
|
||||
let params = { allowThirdPartyFixup: true,
|
||||
postData: postData,
|
||||
initiatingDoc: document };
|
||||
if (!this.valueIsTyped)
|
||||
params.isUTF8 = true;
|
||||
openUILinkIn(url, where, params);
|
||||
|
@ -106,7 +106,7 @@ function openUILink(url, event, aIgnoreButton, aIgnoreAlt, aAllowThirdPartyFixup
|
||||
allowThirdPartyFixup: aAllowThirdPartyFixup,
|
||||
postData: aPostData,
|
||||
referrerURI: aReferrerURI,
|
||||
initiatingDoc: event.target.ownerDocument
|
||||
initiatingDoc: event ? event.target.ownerDocument : null
|
||||
};
|
||||
}
|
||||
|
||||
@ -224,6 +224,13 @@ function openLinkIn(url, where, params) {
|
||||
var aInitiatingDoc = params.initiatingDoc;
|
||||
|
||||
if (where == "save") {
|
||||
if (!aInitiatingDoc) {
|
||||
Components.utils.reportError(
|
||||
"OpenLinkIn has been invoked without an initiating document.\n" +
|
||||
"This may be caused by an add-on miscalling into it, or overriding " +
|
||||
"some utilityOverlay.js methods. See bug 814264 for details.");
|
||||
return;
|
||||
}
|
||||
saveURL(url, null, null, true, null, aReferrerURI, aInitiatingDoc);
|
||||
return;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user