1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?xml version="1.0"?>
- <?xml-stylesheet type="text/css" href="chrome://global/skin"?>
- <?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"
- type="text/css"?>
- <!--
- https://bugzilla.mozilla.org/show_bug.cgi?id=1271240
- -->
- <window title="Mozilla Bug 1271240"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" onload="run();">
- <!-- test code goes here -->
- <script type="application/javascript">
- <![CDATA[
- function ok(cond, msg) {
- opener.wrappedJSObject.ok(cond, msg);
- }
- function is(actual, expected, msg) {
- opener.wrappedJSObject.is(actual, expected, msg);
- }
- /** Test for Bug 1271240 **/
- function run() {
- // test non-remote, non-prerendered browser
- createBrowser(false, false)
- .then(browser => verifyBrowser(browser, false, false))
- // test non-remote, prerendered browser
- .then(() => createBrowser(true, false))
- .then(browser => verifyBrowser(browser, true, false))
- .then(browser => makePrerenderedBrowserActive(browser))
- .then(browser => verifyBrowser(browser, false, false))
- // test remote, non-prerendered browser
- .then(() => createBrowser(false, true))
- .then(browser => verifyBrowser(browser, false, true))
- // test remote, prerendered browser
- .then(() => createBrowser(true, true))
- .then(browser => verifyBrowser(browser, true, true))
- .then(browser => makePrerenderedBrowserActive(browser))
- .then(browser => verifyBrowser(browser, false, true))
- // finish test
- .then(() => {
- opener.postMessage('finish', '*');
- window.close();
- });
- }
- function createBrowser(prerendered, remote) {
- return new Promise(resolve => {
- var browser = document.createElement('browser');
- browser.setAttribute('type', 'content');
- browser.setAttribute('prerendered', prerendered);
- browser.setAttribute('remote', remote);
- document.documentElement.appendChild(browser);
- browser.loadURI('example.com');
- resolve(browser);
- });
- }
- function verifyBrowser(browser, prerendered, remote) {
- var docShellOrTabParent = remote ?
- browser.frameLoader.tabParent : browser.frameLoader.docShell;
- ok(docShellOrTabParent, 'docShellOrTabParent should not be null');
- is(docShellOrTabParent.isPrerendered, prerendered,
- 'isPrerendered should be ' + prerendered);
- return browser;
- }
- function makePrerenderedBrowserActive(browser) {
- browser.makePrerenderedBrowserActive();
- return browser;
- }
- ]]>
- </script>
- <!-- <browser type="content-primary" flex="1" id="content" />
- <browser type="content-primary" flex="1" id="content-remote" remote="true" /> -->
- </window>
|