зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1256513
- Convert the test for bug 527935 into a browser-chrome test that is enabled on e10s; r=mrbkap
This commit is contained in:
Родитель
58e5e16c44
Коммит
825c62d646
|
@ -1,3 +1,6 @@
|
||||||
|
[browser_bug527935.js]
|
||||||
|
skip-if = toolkit == 'android'
|
||||||
|
support-files = bug527935.html
|
||||||
[browser_bug629172.js]
|
[browser_bug629172.js]
|
||||||
skip-if = toolkit == 'android'
|
skip-if = toolkit == 'android'
|
||||||
support-files = bug629172.html
|
support-files = bug629172.html
|
||||||
|
|
|
@ -0,0 +1,63 @@
|
||||||
|
add_task(function*() {
|
||||||
|
yield new Promise(resolve => waitForFocus(resolve, window));
|
||||||
|
|
||||||
|
const kPageURL = "http://example.org/browser/editor/libeditor/tests/bug527935.html";
|
||||||
|
yield BrowserTestUtils.withNewTab({
|
||||||
|
gBrowser,
|
||||||
|
url: kPageURL
|
||||||
|
}, function*(aBrowser) {
|
||||||
|
var popupShown = false;
|
||||||
|
function listener() {
|
||||||
|
popupShown = true;
|
||||||
|
}
|
||||||
|
SpecialPowers.addAutoCompletePopupEventListener(window, "popupshowing", listener);
|
||||||
|
|
||||||
|
yield ContentTask.spawn(aBrowser, {}, function*() {
|
||||||
|
var window = content.window.wrappedJSObject;
|
||||||
|
var document = window.document;
|
||||||
|
var formTarget = document.getElementById("formTarget");
|
||||||
|
var initValue = document.getElementById("initValue");
|
||||||
|
|
||||||
|
window.loadPromise = new Promise(resolve => {
|
||||||
|
formTarget.onload = resolve;
|
||||||
|
});
|
||||||
|
|
||||||
|
initValue.focus();
|
||||||
|
initValue.value = "foo";
|
||||||
|
});
|
||||||
|
|
||||||
|
EventUtils.synthesizeKey("VK_RETURN", {});
|
||||||
|
|
||||||
|
yield ContentTask.spawn(aBrowser, {}, function*() {
|
||||||
|
var window = content.window.wrappedJSObject;
|
||||||
|
var document = window.document;
|
||||||
|
|
||||||
|
yield window.loadPromise;
|
||||||
|
|
||||||
|
var newInput = document.createElement("input");
|
||||||
|
newInput.setAttribute("name", "test");
|
||||||
|
document.body.appendChild(newInput);
|
||||||
|
|
||||||
|
var event = document.createEvent("KeyboardEvent");
|
||||||
|
|
||||||
|
event.initKeyEvent("keypress", true, true, null, false, false,
|
||||||
|
false, false, 0, "f".charCodeAt(0));
|
||||||
|
newInput.value = "";
|
||||||
|
newInput.focus();
|
||||||
|
newInput.dispatchEvent(event);
|
||||||
|
});
|
||||||
|
|
||||||
|
yield new Promise(resolve => hitEventLoop(resolve, 100));
|
||||||
|
|
||||||
|
ok(!popupShown, "Popup must not be opened");
|
||||||
|
SpecialPowers.removeAutoCompletePopupEventListener(window, "popupshowing", listener);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function hitEventLoop(func, times) {
|
||||||
|
if (times > 0) {
|
||||||
|
setTimeout(hitEventLoop, 0, func, times - 1);
|
||||||
|
} else {
|
||||||
|
setTimeout(func, 0);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<div id="content">
|
||||||
|
<iframe id="formTarget" name="formTarget"></iframe>
|
||||||
|
<form action="data:text/html," target="formTarget">
|
||||||
|
<input name="test" id="initValue"><input type="submit">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html
|
|
@ -58,8 +58,6 @@ skip-if = toolkit == 'android'
|
||||||
skip-if = toolkit == 'android'
|
skip-if = toolkit == 'android'
|
||||||
[test_bug525389.html]
|
[test_bug525389.html]
|
||||||
skip-if = toolkit == 'android'
|
skip-if = toolkit == 'android'
|
||||||
[test_bug527935.html]
|
|
||||||
skip-if = toolkit == 'android' || e10s
|
|
||||||
[test_bug537046.html]
|
[test_bug537046.html]
|
||||||
[test_bug549262.html]
|
[test_bug549262.html]
|
||||||
skip-if = toolkit == 'android'
|
skip-if = toolkit == 'android'
|
||||||
|
|
|
@ -1,74 +0,0 @@
|
||||||
<!DOCTYPE HTML>
|
|
||||||
<html>
|
|
||||||
<!--
|
|
||||||
https://bugzilla.mozilla.org/show_bug.cgi?id=527935
|
|
||||||
-->
|
|
||||||
<head>
|
|
||||||
<title>Test for Bug 527935</title>
|
|
||||||
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
||||||
<script type="text/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
|
|
||||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=527935">Mozilla Bug 527935</a>
|
|
||||||
<p id="display"></p>
|
|
||||||
<div id="content">
|
|
||||||
<iframe id="formTarget" name="formTarget"></iframe>
|
|
||||||
<form action="data:text/html," target="formTarget">
|
|
||||||
<input name="test" id="initValue"><input type="submit">
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<pre id="test">
|
|
||||||
<script type="application/javascript">
|
|
||||||
|
|
||||||
/** Test for Bug 527935 **/
|
|
||||||
SimpleTest.waitForExplicitFinish();
|
|
||||||
SimpleTest.waitForFocus(function() {
|
|
||||||
var formTarget = document.getElementById("formTarget");
|
|
||||||
var initValue = document.getElementById("initValue");
|
|
||||||
|
|
||||||
formTarget.addEventListener("load", function() {
|
|
||||||
var newInput = document.createElement("input");
|
|
||||||
newInput.setAttribute("name", "test");
|
|
||||||
document.body.appendChild(newInput);
|
|
||||||
|
|
||||||
setTimeout(function() {
|
|
||||||
var popupShown = false;
|
|
||||||
function listener() {
|
|
||||||
popupShown = true;
|
|
||||||
}
|
|
||||||
SpecialPowers.addAutoCompletePopupEventListener(window, "popupshowing", listener);
|
|
||||||
|
|
||||||
var event = document.createEvent("KeyboardEvent");
|
|
||||||
|
|
||||||
event.initKeyEvent("keypress", true, true, null, false, false,
|
|
||||||
false, false, 0, "f".charCodeAt(0));
|
|
||||||
newInput.value = "";
|
|
||||||
newInput.focus();
|
|
||||||
newInput.dispatchEvent(event);
|
|
||||||
|
|
||||||
hitEventLoop(function() {
|
|
||||||
ok(!popupShown, "Popup must not be opened");
|
|
||||||
SpecialPowers.removeAutoCompletePopupEventListener(window, "popupshowing", listener);
|
|
||||||
SimpleTest.finish();
|
|
||||||
}, 100);
|
|
||||||
}, 0);
|
|
||||||
}, false);
|
|
||||||
|
|
||||||
initValue.focus();
|
|
||||||
initValue.value = "foo";
|
|
||||||
synthesizeKey("VK_RETURN", {});
|
|
||||||
});
|
|
||||||
|
|
||||||
function hitEventLoop(func, times) {
|
|
||||||
if (times > 0) {
|
|
||||||
setTimeout(hitEventLoop, 0, func, times - 1);
|
|
||||||
} else {
|
|
||||||
setTimeout(func, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
|
||||||
</pre>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
Загрузка…
Ссылка в новой задаче