diff options
Diffstat (limited to 'docshell/test/navigation/test_bug1326251.html')
-rw-r--r-- | docshell/test/navigation/test_bug1326251.html | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/docshell/test/navigation/test_bug1326251.html b/docshell/test/navigation/test_bug1326251.html new file mode 100644 index 0000000000..a04431a2c4 --- /dev/null +++ b/docshell/test/navigation/test_bug1326251.html @@ -0,0 +1,74 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id= +--> +<head> + <title>Test for Bug 1326251</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> +</head> +<body onload="runTest()"> +<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1326251">Mozilla Bug 1326251</a> +<p id="display"></p> +<div id="content" style="display: none"> + +</div> +<pre id="test"> + <script type="application/javascript"> + + let chromeScript = null; + if (SpecialPowers.Services.appinfo.sessionHistoryInParent) { + chromeScript = SpecialPowers.loadChromeScript(() => { + const {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm"); + + function doSend(message, fn) { + try { + // eslint-disable-next-line no-undef + sendAsyncMessage(message, {success: true, value: fn()}); + } catch(_) { + // eslint-disable-next-line no-undef + sendAsyncMessage(message, {success: false}); + } + } + + // eslint-disable-next-line no-undef + addMessageListener("evictAllContentViewers", _ => { + doSend("evictAllContentViewers", () => { + let win = Services.wm.getMostRecentWindow("navigator:browser"); + let shistory = win.gBrowser.selectedBrowser.browsingContext.sessionHistory; + return shistory.evictAllContentViewers(); + }) + }); + }); + } + + async function evictAllContentViewers() { + let p = chromeScript.promiseOneMessage("evictAllContentViewers"); + chromeScript.sendAsyncMessage("evictAllContentViewers"); + let result = await p; + ok(result.success, "Called evictAllContentViewers from parent"); + } + + var testCount = 0; + + SimpleTest.waitForExplicitFinish(); + + var testWindow; + function runTest() { + testWindow = window.open("file_bug1326251.html", "", "width=360,height=480"); + testWindow.onunload = function() { }; // to prevent bfcache + } + + function finishTest() { + if (chromeScript) { + chromeScript.destroy(); + } + testWindow.close(); + SimpleTest.finish(); + } + + </script> +</pre> +</body> +</html> |