diff options
Diffstat (limited to 'browser/components/sessionstore/test/browser_dynamic_frames.js')
-rw-r--r-- | browser/components/sessionstore/test/browser_dynamic_frames.js | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/browser/components/sessionstore/test/browser_dynamic_frames.js b/browser/components/sessionstore/test/browser_dynamic_frames.js deleted file mode 100644 index e4355fee3..000000000 --- a/browser/components/sessionstore/test/browser_dynamic_frames.js +++ /dev/null @@ -1,87 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ */ - -"use strict"; - -/** - * Ensure that static frames of framesets are serialized but dynamically - * inserted iframes are ignored. - */ -add_task(function () { - // This URL has the following frames: - // + data:text/html,A (static) - // + data:text/html,B (static) - // + data:text/html,C (dynamic iframe) - const URL = "data:text/html;charset=utf-8," + - "<frameset cols=50%25,50%25><frame src='data:text/html,A'>" + - "<frame src='data:text/html,B'></frameset>" + - "<script>var i=document.createElement('iframe');" + - "i.setAttribute('src', 'data:text/html,C');" + - "document.body.appendChild(i);</script>"; - - // Add a new tab with two "static" and one "dynamic" frame. - let tab = gBrowser.addTab(URL); - let browser = tab.linkedBrowser; - yield promiseBrowserLoaded(browser); - - yield TabStateFlusher.flush(browser); - let {entries} = JSON.parse(ss.getTabState(tab)); - - // Check URLs. - ok(entries[0].url.startsWith("data:text/html"), "correct root url"); - is(entries[0].children[0].url, "data:text/html,A", "correct url for 1st frame"); - is(entries[0].children[1].url, "data:text/html,B", "correct url for 2nd frame"); - - // Check the number of children. - is(entries.length, 1, "there is one root entry ..."); - is(entries[0].children.length, 2, "... with two child entries"); - - // Cleanup. - gBrowser.removeTab(tab); -}); - -/** - * Ensure that iframes created by the network parser are serialized but - * dynamically inserted iframes are ignored. Navigating a subframe should - * create a second root entry that doesn't contain any dynamic children either. - */ -add_task(function () { - // This URL has the following frames: - // + data:text/html,A (static) - // + data:text/html,C (dynamic iframe) - const URL = "data:text/html;charset=utf-8," + - "<iframe name=t src='data:text/html,A'></iframe>" + - "<a id=lnk href='data:text/html,B' target=t>clickme</a>" + - "<script>var i=document.createElement('iframe');" + - "i.setAttribute('src', 'data:text/html,C');" + - "document.body.appendChild(i);</script>"; - - // Add a new tab with one "static" and one "dynamic" frame. - let tab = gBrowser.addTab(URL); - let browser = tab.linkedBrowser; - yield promiseBrowserLoaded(browser); - - yield TabStateFlusher.flush(browser); - let {entries} = JSON.parse(ss.getTabState(tab)); - - // Check URLs. - ok(entries[0].url.startsWith("data:text/html"), "correct root url"); - ok(!entries[0].children, "no children collected"); - - // Navigate the subframe. - browser.messageManager.sendAsyncMessage("ss-test:click", {id: "lnk"}); - yield promiseBrowserLoaded(browser, false /* don't ignore subframes */); - - yield TabStateFlusher.flush(browser); - ({entries} = JSON.parse(ss.getTabState(tab))); - - // Check URLs. - ok(entries[0].url.startsWith("data:text/html"), "correct 1st root url"); - ok(entries[1].url.startsWith("data:text/html"), "correct 2nd root url"); - ok(!entries.children, "no children collected"); - ok(!entries[0].children, "no children collected"); - ok(!entries[1].children, "no children collected"); - - // Cleanup. - gBrowser.removeTab(tab); -}); |