Bug 1309900 Test: Ensure cross process history works when both history entries have children.
MozReview-Commit-ID: 1qIjyXNzws0
--- a/docshell/test/browser/browser.ini
+++ b/docshell/test/browser/browser.ini
@@ -42,16 +42,17 @@ support-files =
browser_timelineMarkers-frame-02.js
browser_timelineMarkers-frame-03.js
browser_timelineMarkers-frame-04.js
browser_timelineMarkers-frame-05.js
head.js
frame-head.js
[browser_bug1206879.js]
+[browser_bug1309900_crossProcessHistoryNavigation.js]
[browser_bug134911.js]
[browser_bug234628-1.js]
[browser_bug234628-10.js]
[browser_bug234628-11.js]
[browser_bug234628-2.js]
[browser_bug234628-3.js]
[browser_bug234628-4.js]
[browser_bug234628-5.js]
new file mode 100644
--- /dev/null
+++ b/docshell/test/browser/browser_bug1309900_crossProcessHistoryNavigation.js
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+add_task(function* runTests() {
+ let tab = yield BrowserTestUtils.openNewForegroundTab(gBrowser, "about:about");
+
+ registerCleanupFunction(function* () {
+ gBrowser.removeTab(tab);
+ });
+
+ let browser = tab.linkedBrowser;
+
+ browser.loadURI("about:accounts");
+ let href = yield BrowserTestUtils.browserLoaded(browser);
+ is(href, "about:accounts", "Check about:accounts loaded");
+
+ // Using a dummy onunload listener to disable the bfcache as that can prevent
+ // the test browser load detection mechanism from working.
+ browser.loadURI("data:text/html,<body%20onunload=''><iframe></iframe></body>");
+ href = yield BrowserTestUtils.browserLoaded(browser);
+ is(href, "data:text/html,<body%20onunload=''><iframe></iframe></body>",
+ "Check data URL loaded");
+
+ browser.goBack();
+ href = yield BrowserTestUtils.browserLoaded(browser);
+ is(href, "about:accounts", "Check we've gone back to about:accounts");
+
+ browser.goForward();
+ href = yield BrowserTestUtils.browserLoaded(browser);
+ is(href, "data:text/html,<body%20onunload=''><iframe></iframe></body>",
+ "Check we've gone forward to data URL");
+});