44 lines
1.2 KiB
JavaScript
44 lines
1.2 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.
|
|
**/
|
|
|
|
add_task(async function () {
|
|
let tab = await BrowserTestUtils.openNewForegroundTab(
|
|
gBrowser,
|
|
"https://example.com"
|
|
);
|
|
|
|
const newTitlePromise = PlacesTestUtils.waitForNotification(
|
|
"page-title-changed",
|
|
events => /new_page$/.test(events[0].url)
|
|
);
|
|
|
|
await SpecialPowers.spawn(tab.linkedBrowser, [], async function () {
|
|
let title = content.document.title;
|
|
content.history.pushState("", "", "new_page");
|
|
Assert.ok(title, "Content window should initially have a title.");
|
|
});
|
|
|
|
const events = await newTitlePromise;
|
|
const newtitle = events[0].title;
|
|
|
|
await SpecialPowers.spawn(
|
|
tab.linkedBrowser,
|
|
[{ newtitle }],
|
|
async function (args) {
|
|
Assert.equal(
|
|
args.newtitle,
|
|
content.document.title,
|
|
"Title after pushstate."
|
|
);
|
|
}
|
|
);
|
|
|
|
await PlacesUtils.history.clear();
|
|
gBrowser.removeTab(tab);
|
|
});
|