fune/dom/tests/browser/browser_bug1316330.js
Kris Maglione 94e3b0bd8d Bug 1596918: Part 3a - Scripted rewrite of most ContentTask.spawn calls to SpecialPowers.spawn calls. r=mccr8,remote-protocol-reviewers,ato
This is generally pretty straightforward, and rewrites nearly all calls. It
skips the ones that it can detect using frame script globals like
`sendAsyncMessage`, though.

Differential Revision: https://phabricator.services.mozilla.com/D53740

--HG--
extra : moz-landing-system : lando
2019-12-13 20:36:16 +00:00

52 lines
1.4 KiB
JavaScript

const URL =
"data:text/html,<script>" +
"window.focus();" +
"var down = 0; var press = 0;" +
"onkeydown = function(e) {" +
" var startTime = Date.now();" +
" document.body.setAttribute('data-down', ++down);" +
" if (e.keyCode == KeyboardEvent.DOM_VK_D) while (Date.now() - startTime < 500) {}" +
"};" +
"onkeypress = function(e) {" +
" var startTime = Date.now();" +
" document.body.setAttribute('data-press', ++press);" +
" if (e.charCode == 'p'.charCodeAt(0)) while (Date.now() - startTime < 500) {}" +
"};" +
"</script>";
add_task(async function() {
let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, URL);
let browser = tab.linkedBrowser;
await EventUtils.synthesizeAndWaitKey("d", { repeat: 3 });
await SpecialPowers.spawn(browser, [], async function() {
is(
content.document.body.getAttribute("data-down"),
"2",
"Correct number of events"
);
is(
content.document.body.getAttribute("data-press"),
"2",
"Correct number of events"
);
});
await EventUtils.synthesizeAndWaitKey("p", { repeat: 3 });
await SpecialPowers.spawn(browser, [], async function() {
is(
content.document.body.getAttribute("data-down"),
"4",
"Correct number of events"
);
is(
content.document.body.getAttribute("data-press"),
"4",
"Correct number of events"
);
});
gBrowser.removeCurrentTab();
});