forked from mirrors/gecko-dev
Before this change, we accessed the browser URL in the following ways:
- "chrome://browser/content/browser.xul"
- "chrome://browser/content/" (which redirects to chrome://browser/content/browser.xul)
- Services.prefs.getCharPref("browser.chromeURL") which returns "chrome://browser/content/"
- getBrowserURL() from utilityOverlay.js
MozReview-Commit-ID: I5vtRke1x9t
--HG--
extra : rebase_source : c525350a1954740873e85b045cbb14a8b43aa89d
38 lines
1.3 KiB
JavaScript
38 lines
1.3 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
function test() {
|
|
let state = { windows: [{ tabs: [
|
|
{entries: [{url: "about:mozilla", triggeringPrincipal_base64}], hidden: true},
|
|
{entries: [{url: "about:rights", triggeringPrincipal_base64}], hidden: true}
|
|
] }] };
|
|
|
|
waitForExplicitFinish();
|
|
|
|
newWindowWithState(state, function(win) {
|
|
registerCleanupFunction(() => BrowserTestUtils.closeWindow(win));
|
|
|
|
is(win.gBrowser.tabs.length, 2, "two tabs were restored");
|
|
is(win.gBrowser.visibleTabs.length, 1, "one tab is visible");
|
|
|
|
let tab = win.gBrowser.visibleTabs[0];
|
|
is(tab.linkedBrowser.currentURI.spec, "about:mozilla", "visible tab is about:mozilla");
|
|
|
|
finish();
|
|
});
|
|
}
|
|
|
|
function newWindowWithState(state, callback) {
|
|
let opts = "chrome,all,dialog=no,height=800,width=800";
|
|
let win = window.openDialog(AppConstants.BROWSER_CHROME_URL, "_blank", opts);
|
|
|
|
win.addEventListener("load", function() {
|
|
executeSoon(function() {
|
|
win.addEventListener("SSWindowStateReady", function() {
|
|
promiseTabRestored(win.gBrowser.tabs[0]).then(() => callback(win));
|
|
}, {once: true});
|
|
|
|
ss.setWindowState(win, JSON.stringify(state), true);
|
|
});
|
|
}, {once: true});
|
|
}
|