mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-24 13:21:05 +00:00
bffd25e220
Differential Revision: https://phabricator.services.mozilla.com/D169825
75 lines
2.5 KiB
HTML
75 lines
2.5 KiB
HTML
<?xml version="1.0"?>
|
|
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
|
|
|
|
<window id="303267Test"
|
|
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
|
width="600"
|
|
height="600"
|
|
onload="runTest();"
|
|
title="bug 582176 test">
|
|
|
|
<script type="application/javascript" src="chrome://mochikit/content/chrome-harness.js" />
|
|
<script type="application/javascript" src="docshell_helpers.js" />
|
|
<script type="application/javascript"><![CDATA[
|
|
////
|
|
// Bug 582176.
|
|
//
|
|
async function runTest()
|
|
{
|
|
enableBFCache(true);
|
|
|
|
var notificationCount = 0;
|
|
|
|
let onGlobalCreation = () => {
|
|
++notificationCount;
|
|
};
|
|
|
|
await promisePageNavigation({
|
|
uri: "http://mochi.test:8888/chrome/docshell/test/chrome/582176_dummy.html",
|
|
onGlobalCreation,
|
|
});
|
|
is(await SpecialPowers.spawn(TestWindow.getBrowser(), [], () => {
|
|
let testVar = content.testVar;
|
|
content.testVar = 1;
|
|
return testVar;
|
|
}), undefined,
|
|
"variable unexpectedly there already");
|
|
is(notificationCount, 1, "Should notify on first navigation");
|
|
|
|
await promisePageNavigation({
|
|
uri: "http://mochi.test:8888/chrome/docshell/test/chrome/582176_dummy.html?2",
|
|
onGlobalCreation,
|
|
});
|
|
is(await SpecialPowers.spawn(TestWindow.getBrowser(), [], () => {
|
|
return content.testVar;
|
|
}), undefined,
|
|
"variable should no longer be there");
|
|
is(notificationCount, 2, "Should notify on second navigation");
|
|
|
|
await promisePageNavigation({
|
|
back: true,
|
|
});
|
|
is(await SpecialPowers.spawn(TestWindow.getBrowser(), [], () => {
|
|
return content.testVar;
|
|
}), 1,
|
|
"variable should still be there");
|
|
is(notificationCount, 2, "Should not notify on back navigation");
|
|
|
|
await promisePageNavigation({
|
|
uri: "http://mochi.test:8888/chrome/docshell/test/chrome/582176_xml.xml",
|
|
onGlobalCreation,
|
|
});
|
|
is(await SpecialPowers.spawn(TestWindow.getBrowser(), [], () => {
|
|
return content.document.body.textContent;
|
|
}), "xslt result",
|
|
"Transform performed successfully");
|
|
is(notificationCount, 3, "Should notify only once on XSLT navigation");
|
|
|
|
// Tell the framework the test is finished.
|
|
finish();
|
|
}
|
|
|
|
]]></script>
|
|
<browser type="content" primary="true" flex="1" id="content" remote="true" maychangeremoteness="true" />
|
|
</window>
|