forked from mirrors/gecko-dev
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
34 lines
993 B
JavaScript
34 lines
993 B
JavaScript
add_task(async function test() {
|
|
let testPath = getRootDirectory(gTestPath);
|
|
|
|
await BrowserTestUtils.withNewTab(
|
|
{ gBrowser, url: "about:blank" },
|
|
async function(tabBrowser) {
|
|
const URI = testPath + "file_with_favicon.html";
|
|
const expectedIcon = testPath + "file_generic_favicon.ico";
|
|
let faviconPromise = waitForLinkAvailable(tabBrowser);
|
|
|
|
BrowserTestUtils.loadURI(tabBrowser, URI);
|
|
|
|
let iconURI = await faviconPromise;
|
|
is(iconURI, expectedIcon, "Correct icon before pushState.");
|
|
|
|
faviconPromise = waitForLinkAvailable(tabBrowser);
|
|
|
|
await SpecialPowers.spawn(tabBrowser, [], function() {
|
|
content.location.href += "#foo";
|
|
});
|
|
|
|
TestUtils.executeSoon(() => {
|
|
faviconPromise.cancel();
|
|
});
|
|
|
|
try {
|
|
await faviconPromise;
|
|
ok(false, "Should not have seen a new icon load.");
|
|
} catch (e) {
|
|
ok(true, "Should have been able to cancel the promise.");
|
|
}
|
|
}
|
|
);
|
|
});
|