Bug 1121701, don't let network connections from the previous page to disturb restoration of a page from bfcache, test, r=bz
authorOlli Pettay <Olli.Pettay@helsinki.fi>
Thu, 22 Jan 2015 22:38:44 +0200
changeset 252410 7eeaad3abb70578db6ba3087e0a67dd2b46b10c0
parent 252409 a51f428b5c54b0a9ce474a47d0a03bc8697f8dcf
child 252411 21cec989e61710fe5eddec962005703ead65ec71
push id4610
push userjlund@mozilla.com
push dateMon, 30 Mar 2015 18:32:55 +0000
treeherdermozilla-beta@4df54044d9ef [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbz
bugs1121701
milestone38.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1121701, don't let network connections from the previous page to disturb restoration of a page from bfcache, test, r=bz
docshell/test/mochitest.ini
docshell/test/test_bug1121701.html
--- a/docshell/test/mochitest.ini
+++ b/docshell/test/mochitest.ini
@@ -100,8 +100,10 @@ skip-if = (buildapp == 'b2g' && toolkit 
 [test_bug797909.html]
 [test_bug1045096.html]
 [test_framedhistoryframes.html]
 skip-if = (buildapp == 'b2g' && toolkit != 'gonk') || toolkit == 'android' #Bug 931116, b2g desktop specific, initial triage, and also bug 784321
 support-files = file_framedhistoryframes.html
 [test_pushState_after_document_open.html]
 [test_windowedhistoryframes.html]
 skip-if = (buildapp == 'b2g' && toolkit != 'gonk') #Bug 931116, b2g desktop specific, initial triage
+[test_bug1121701.html]
+skip-if = (buildapp == 'b2g' || buildapp == 'mulet')
new file mode 100644
--- /dev/null
+++ b/docshell/test/test_bug1121701.html
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=1121701
+-->
+<head>
+  <meta charset="utf-8">
+  <title>Test for Bug 1121701</title>
+  <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+  <script type="application/javascript">
+
+  /** Test for Bug 1121701 **/
+
+  var testUrl1 = "data:text/html,<script>window.onpageshow = function(e) { opener.child1PageShow(e); } <" + "/script>";
+  var testUrl2 = "data:text/html,<script>window.onpageshow = function(e) { opener.child2PageShow(e); } <" + "/script>";
+  var testWin;
+
+  var page1LoadCount = 0;
+  function child1PageShow(e) {
+    ++page1LoadCount;
+    if (page1LoadCount == 1) {
+      SimpleTest.executeSoon(function() {
+        is(e.persisted, false, "Initial page load shouldn't be persisted.");
+        testWin.document.body.innerHTML = "modified";
+        testWin.onpagehide = function(e) {
+          testWin.onpagehide = null;
+          ok(e.persisted, "test page 1 should have been persisted");
+          is(testWin.document.body.innerHTML, "modified");
+        }
+        testWin.location.href = testUrl2;
+      });
+    } else if (page1LoadCount == 2) {
+      is(e.persisted, true, "Page load from bfcache should be persisted.");
+      is(testWin.document.body.innerHTML, "modified");
+      testWin.close();
+      SimpleTest.finish();
+    }
+  }
+
+  function child2PageShow(e) {
+    testWin.document.body.innerHTML = "<img>";
+    SimpleTest.executeSoon(function() {
+      testWin.onmessage = function() {
+        ok(true, "Got message");
+        testWin.document.body.firstChild.src = location.href;
+      }
+      testWin.onbeforeunload = function() {
+        testWin.postMessage("foo", "*");
+      }
+      testWin.history.back();
+    });
+  }
+
+  SimpleTest.waitForExplicitFinish();
+  addLoadEvent(function() {
+    testWin = window.open(testUrl1);
+  });
+
+  </script>
+</head>
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1121701">Mozilla Bug 1121701</a>
+<p id="display"></p>
+<div id="content" style="display: none">
+
+</div>
+<pre id="test">
+</pre>
+</body>
+</html>