Bug 1360796 fix intermittent assert, r?mattw
MozReview-Commit-ID: IEQeZ6NwVsz
--- a/browser/components/extensions/test/browser/browser_ext_tabs_executeScript_bad.js
+++ b/browser/components/extensions/test/browser/browser_ext_tabs_executeScript_bad.js
@@ -147,16 +147,19 @@ add_task(async function testMatchDataURI
files: {
"page.html": `<!DOCTYPE html>
<meta charset="utf-8">
<script src="page.js"></script>
<iframe id="inherited" src="data:text/html;charset=utf-8,inherited"></iframe>
`,
"page.js": function() {
browser.test.onMessage.addListener((msg, url) => {
+ if (msg !== "navigate") {
+ return;
+ }
window.location.href = url;
});
},
},
background() {
browser.tabs.create({active: true, url: browser.runtime.getURL("page.html")});
},
});
@@ -169,17 +172,20 @@ add_task(async function testMatchDataURI
browser.webNavigation.onCompleted.addListener(({url, frameId}) => {
browser.test.log(`Document loading complete: ${url}`);
if (frameId === 0) {
browser.test.sendMessage("tab-ready", url);
}
});
browser.test.onMessage.addListener(async msg => {
- browser.test.assertRejects(
+ if (msg !== "execute") {
+ return;
+ }
+ await browser.test.assertRejects(
browser.tabs.executeScript({
code: "location.href;",
allFrames: true,
}),
/Missing host permission/,
"Should not execute in `data:` frame");
browser.test.sendMessage("done");