diff options
Diffstat (limited to 'dom/indexedDB/test/test_bfcache.html')
-rw-r--r-- | dom/indexedDB/test/test_bfcache.html | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/dom/indexedDB/test/test_bfcache.html b/dom/indexedDB/test/test_bfcache.html new file mode 100644 index 000000000..5cb737384 --- /dev/null +++ b/dom/indexedDB/test/test_bfcache.html @@ -0,0 +1,67 @@ +<!-- + Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ +--> +<html> +<head> + <title>Indexed Database Property Test</title> + + <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> + <script type="text/javascript;version=1.7"> + var gOrigMaxTotalViewers = undefined; + function setCachePref(enabled) { + if (enabled) { + is(typeof gOrigMaxTotalViewers, "undefined", + "don't double-enable bfcache"); + SpecialPowers.setBoolPref("browser.sessionhistory.cache_subframes", + true); + gOrigMaxTotalViewers = + SpecialPowers.getIntPref("browser.sessionhistory.max_total_viewers"); + SpecialPowers.setIntPref("browser.sessionhistory.max_total_viewers", + 10); + } + else { + is(typeof gOrigMaxTotalViewers, "number", + "don't double-disable bfcache"); + SpecialPowers.setIntPref("browser.sessionhistory.max_total_viewers", + gOrigMaxTotalViewers); + gOrigMaxTotalViewers = undefined; + try { + SpecialPowers.clearUserPref("browser.sessionhistory.cache_subframes"); + } catch (e) { /* Pref didn't exist, meh */ } + } + } + + function testSteps() + { + var iframe = $("iframe"); + setCachePref(true); + window.onmessage = grabEventAndContinueHandler; + + iframe.src = "bfcache_iframe1.html"; + var event = yield undefined; + is(event.data, "go", "set up database successfully"); + + iframe.src = "bfcache_iframe2.html"; + res = JSON.parse((yield).data); + is(res.version, 2, "version was set correctly"); + is(res.storeCount, 1, "correct set of stores"); + ok(!("blockedFired" in res), "blocked shouldn't fire"); + is(res.value, JSON.stringify({ hello: "world" }), + "correct value found in store"); + + setCachePref(false); + finishTest(); + yield undefined; + } + </script> + <script type="text/javascript;version=1.7" src="helpers.js"></script> + +</head> + +<body onload="runTest();"> + <iframe id="iframe"></iframe> +</body> + +</html> |