summaryrefslogtreecommitdiffstats
path: root/docshell/test/browser/browser_bug1206879.js
diff options
context:
space:
mode:
Diffstat (limited to 'docshell/test/browser/browser_bug1206879.js')
-rw-r--r--docshell/test/browser/browser_bug1206879.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/docshell/test/browser/browser_bug1206879.js b/docshell/test/browser/browser_bug1206879.js
new file mode 100644
index 000000000..1276f6428
--- /dev/null
+++ b/docshell/test/browser/browser_bug1206879.js
@@ -0,0 +1,31 @@
+add_task(function*() {
+ let url = getRootDirectory(gTestPath) + "file_bug1206879.html";
+ let tab = yield BrowserTestUtils.openNewForegroundTab(gBrowser, url, true);
+
+ let numLocationChanges = 0;
+
+ let listener = {
+ onLocationChange: function(browser, wp, request, uri, flags) {
+ if (browser != tab.linkedBrowser) {
+ return;
+ }
+ info("onLocationChange: " + uri.spec);
+ numLocationChanges++;
+ this.resolve();
+ }
+ };
+ let locationPromise = new Promise((resolve, reject) => {
+ listener.resolve = resolve;
+ gBrowser.addTabsProgressListener(listener);
+ });
+ yield ContentTask.spawn(tab.linkedBrowser, {}, function() {
+ content.frames[0].history.pushState(null, null, "foo");
+ });
+
+ yield locationPromise;
+
+ gBrowser.removeTab(tab);
+ gBrowser.removeTabsProgressListener(listener);
+ is(numLocationChanges, 1,
+ "pushState with a different URI should cause a LocationChange event.");
+});