mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1155352, e10s, rewrite and reenable browser_middleMouse_noJSPaste.js, r=gijs
This commit is contained in:
parent
1dee995d07
commit
4859f0e9ed
@ -334,7 +334,6 @@ skip-if = os == "linux" # Linux: Intermittent failures, bug 917535
|
|||||||
[browser_menuButtonFitts.js]
|
[browser_menuButtonFitts.js]
|
||||||
skip-if = os != "win" # The Fitts Law menu button is only supported on Windows (bug 969376)
|
skip-if = os != "win" # The Fitts Law menu button is only supported on Windows (bug 969376)
|
||||||
[browser_middleMouse_noJSPaste.js]
|
[browser_middleMouse_noJSPaste.js]
|
||||||
skip-if = e10s # Bug 921952 - Content:Click event issues
|
|
||||||
[browser_minimize.js]
|
[browser_minimize.js]
|
||||||
skip-if = e10s # Bug 1100664 - test directly access content docShells (TypeError: gBrowser.docShell is null)
|
skip-if = e10s # Bug 1100664 - test directly access content docShells (TypeError: gBrowser.docShell is null)
|
||||||
[browser_mixedcontent_securityflags.js]
|
[browser_mixedcontent_securityflags.js]
|
||||||
|
@ -3,51 +3,32 @@
|
|||||||
|
|
||||||
const middleMousePastePref = "middlemouse.contentLoadURL";
|
const middleMousePastePref = "middlemouse.contentLoadURL";
|
||||||
const autoScrollPref = "general.autoScroll";
|
const autoScrollPref = "general.autoScroll";
|
||||||
function test() {
|
|
||||||
waitForExplicitFinish();
|
|
||||||
|
|
||||||
Services.prefs.setBoolPref(middleMousePastePref, true);
|
add_task(function* () {
|
||||||
Services.prefs.setBoolPref(autoScrollPref, false);
|
yield pushPrefs([middleMousePastePref, true], [autoScrollPref, false]);
|
||||||
let tab = gBrowser.selectedTab = gBrowser.addTab();
|
|
||||||
|
|
||||||
registerCleanupFunction(function () {
|
let tab = yield BrowserTestUtils.openNewForegroundTab(gBrowser);
|
||||||
Services.prefs.clearUserPref(middleMousePastePref);
|
|
||||||
Services.prefs.clearUserPref(autoScrollPref);
|
|
||||||
gBrowser.removeTab(tab);
|
|
||||||
});
|
|
||||||
|
|
||||||
addPageShowListener(function () {
|
let url = "javascript:http://www.example.com/";
|
||||||
let pagePrincipal = gBrowser.contentPrincipal;
|
yield new Promise((resolve, reject) => {
|
||||||
|
SimpleTest.waitForClipboard(url, () => {
|
||||||
// copy javascript URI to the clipboard
|
Components.classes["@mozilla.org/widget/clipboardhelper;1"]
|
||||||
let url = "javascript:http://www.example.com/";
|
.getService(Components.interfaces.nsIClipboardHelper)
|
||||||
waitForClipboard(url,
|
.copyString(url, document);
|
||||||
function() {
|
}, resolve, () => {
|
||||||
Components.classes["@mozilla.org/widget/clipboardhelper;1"]
|
ok(false, "Clipboard copy failed");
|
||||||
.getService(Components.interfaces.nsIClipboardHelper)
|
reject();
|
||||||
.copyString(url, document);
|
|
||||||
},
|
|
||||||
function () {
|
|
||||||
// Middle click on the content area
|
|
||||||
info("Middle clicking");
|
|
||||||
EventUtils.sendMouseEvent({type: "click", button: 1}, gBrowser);
|
|
||||||
},
|
|
||||||
function() {
|
|
||||||
ok(false, "Failed to copy URL to the clipboard");
|
|
||||||
finish();
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
addPageShowListener(function () {
|
|
||||||
is(gBrowser.currentURI.spec, url.replace(/^javascript:/, ""), "url loaded by middle click doesn't include JS");
|
|
||||||
finish();
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
function addPageShowListener(func) {
|
let middlePagePromise = BrowserTestUtils.browserLoaded(tab.linkedBrowser);
|
||||||
gBrowser.selectedBrowser.addEventListener("pageshow", function loadListener() {
|
|
||||||
gBrowser.selectedBrowser.removeEventListener("pageshow", loadListener, false);
|
// Middle click on the content area
|
||||||
func();
|
info("Middle clicking");
|
||||||
});
|
yield BrowserTestUtils.synthesizeMouse(null, 10, 10, {button: 1}, gBrowser.selectedBrowser);
|
||||||
}
|
yield middlePagePromise;
|
||||||
|
|
||||||
|
is(gBrowser.currentURI.spec, url.replace(/^javascript:/, ""), "url loaded by middle click doesn't include JS");
|
||||||
|
|
||||||
|
gBrowser.removeTab(tab);
|
||||||
|
});
|
||||||
|
@ -2,14 +2,17 @@
|
|||||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||||
|
|
||||||
function testURLBarCopy(targetValue) {
|
function testURLBarCopy(targetValue) {
|
||||||
return new Promise(resolve => {
|
return new Promise((resolve, reject) => {
|
||||||
info("Expecting copy of: " + targetValue);
|
info("Expecting copy of: " + targetValue);
|
||||||
waitForClipboard(targetValue, function () {
|
waitForClipboard(targetValue, function () {
|
||||||
gURLBar.focus();
|
gURLBar.focus();
|
||||||
gURLBar.select();
|
gURLBar.select();
|
||||||
|
|
||||||
goDoCommand("cmd_copy");
|
goDoCommand("cmd_copy");
|
||||||
}, resolve);
|
}, resolve, () => {
|
||||||
|
ok(false, "Clipboard copy failed");
|
||||||
|
reject();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user