Bug 1360932 - Registered lazy tabs as switch-to-tab candidates. r=dao
MozReview-Commit-ID: 323l6pHQQAT
This commit is contained in:
@@ -2279,9 +2279,17 @@
|
||||
|
||||
var t = document.createElementNS(NS_XUL, "tab");
|
||||
|
||||
var uriIsAboutBlank = !aURI || aURI == "about:blank";
|
||||
aURI = aURI || "about:blank";
|
||||
|
||||
if (!aURI || isBlankPageURL(aURI)) {
|
||||
let lazyBrowserURI;
|
||||
if (aCreateLazyBrowser && aURI != "about:blank") {
|
||||
lazyBrowserURI = Services.io.newURI(aURI);
|
||||
aURI = "about:blank";
|
||||
}
|
||||
|
||||
var uriIsAboutBlank = aURI == "about:blank";
|
||||
|
||||
if (isBlankPageURL(aURI)) {
|
||||
t.setAttribute("label", this.mStringBundle.getString("tabs.emptyTabTitle"));
|
||||
} else if (aURI.toLowerCase().startsWith("javascript:")) {
|
||||
// This can go away when bug 672618 or bug 55696 are fixed.
|
||||
@@ -2393,6 +2401,13 @@
|
||||
// If the caller opts in, create a lazy browser.
|
||||
if (aCreateLazyBrowser) {
|
||||
this._createLazyBrowser(t);
|
||||
|
||||
if (lazyBrowserURI) {
|
||||
// Lazy browser must be explicitly registered so tab will appear as
|
||||
// a switch-to-tab candidate in autocomplete.
|
||||
this._unifiedComplete.registerOpenPage(lazyBrowserURI, aUserContextId);
|
||||
b.registeredOpenURI = lazyBrowserURI;
|
||||
}
|
||||
} else {
|
||||
this._insertBrowser(t);
|
||||
}
|
||||
|
||||
@@ -3278,10 +3278,21 @@ var SessionStoreInternal = {
|
||||
this._prefBranch.getBoolPref("sessionstore.restore_on_demand");
|
||||
|
||||
for (var t = 0; t < newTabCount; t++) {
|
||||
let userContextId = winData.tabs[t].userContextId;
|
||||
let tabData = winData.tabs[t];
|
||||
|
||||
let userContextId = tabData.userContextId;
|
||||
let select = t == selectTab - 1;
|
||||
let createLazyBrowser = restoreTabsLazily && !select && !winData.tabs[t].pinned;
|
||||
let tab = tabbrowser.addTab("about:blank",
|
||||
let createLazyBrowser = restoreTabsLazily && !select && !tabData.pinned;
|
||||
|
||||
let url = "about:blank";
|
||||
if (createLazyBrowser) {
|
||||
// Let tabbrowser know the future URI because progress listeners won't
|
||||
// get onLocationChange notification before the browser is inserted.
|
||||
let activeIndex = (tabData.index || tabData.entries.length) - 1;
|
||||
url = tabData.entries[activeIndex].url;
|
||||
}
|
||||
|
||||
let tab = tabbrowser.addTab(url,
|
||||
{ createLazyBrowser,
|
||||
skipAnimation: true,
|
||||
userContextId,
|
||||
@@ -3301,7 +3312,7 @@ var SessionStoreInternal = {
|
||||
|
||||
tabs.push(tab);
|
||||
|
||||
if (winData.tabs[t].hidden) {
|
||||
if (tabData.hidden) {
|
||||
tabbrowser.hideTab(tabs[t]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user