mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
e7a888df87
r=Mano sr=gavin
50 lines
1.6 KiB
JavaScript
50 lines
1.6 KiB
JavaScript
/* 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/. */
|
|
|
|
/**
|
|
* Test for Bug 646224. Make sure that after changing the URI via
|
|
* history.pushState, the history service has a title stored for the new URI.
|
|
**/
|
|
|
|
function test() {
|
|
waitForExplicitFinish();
|
|
|
|
let tab = gBrowser.addTab('http://example.com');
|
|
let tabBrowser = tab.linkedBrowser;
|
|
|
|
tabBrowser.addEventListener('load', function(aEvent) {
|
|
tabBrowser.removeEventListener('load', arguments.callee, true);
|
|
|
|
// Control should now flow down to observer.onTitleChanged().
|
|
let cw = tabBrowser.contentWindow;
|
|
ok(cw.document.title, 'Content window should initially have a title.');
|
|
cw.history.pushState('', '', 'new_page');
|
|
}, true);
|
|
|
|
let observer = {
|
|
onTitleChanged: function(uri, title) {
|
|
// If the uri of the page whose title is changing ends with 'new_page',
|
|
// then it's the result of our pushState.
|
|
if (/new_page$/.test(uri.spec)) {
|
|
is(title, tabBrowser.contentWindow.document.title,
|
|
'Title after pushstate.');
|
|
PlacesUtils.history.removeObserver(this);
|
|
gBrowser.removeTab(tab);
|
|
finish();
|
|
}
|
|
},
|
|
|
|
onBeginUpdateBatch: function() { },
|
|
onEndUpdateBatch: function() { },
|
|
onVisit: function() { },
|
|
onDeleteURI: function() { },
|
|
onClearHistory: function() { },
|
|
onPageChanged: function() { },
|
|
onDeleteVisits: function() { },
|
|
QueryInterface: XPCOMUtils.generateQI([Ci.nsINavHistoryObserver])
|
|
};
|
|
|
|
PlacesUtils.history.addObserver(observer, false);
|
|
}
|