Bug 1415277 - Part 2 - Only load the selected tab when restoring multiple tabs. r=esawin

The same situation applies when restoring recently closed tabs. In this case, we
can also display a nicer title for those lazily-loaded tabs by making use of the
session store data.

MozReview-Commit-ID: AJiEkTEVAUz

--HG--
extra : rebase_source : a36e0bb0cd4e3e8d62368f1ee5f51ad0c080027c
This commit is contained in:
Jan Henning 2018-02-02 21:15:28 +01:00
parent 8210e8b17e
commit 563537e684

View File

@ -1286,19 +1286,26 @@ SessionStore.prototype = {
let window = Services.wm.getMostRecentWindow("navigator:browser");
for (let i = 0; i < aData.tabs.length; i++) {
let tabData = JSON.parse(aData.tabs[i]);
let isSelectedTab = (i == aData.tabs.length - 1);
let activeSHEntry = tabData.entries[tabData.index - 1];
let selected = (i == aData.tabs.length - 1);
let delayLoad = !selected;
let params = {
selected: isSelectedTab,
title: activeSHEntry.title,
selected,
delayLoad,
isPrivate: tabData.isPrivate,
desktopMode: tabData.desktopMode,
cancelEditMode: isSelectedTab,
cancelEditMode: selected,
parentId: tabData.parentId
};
let tab = window.BrowserApp.addTab(tabData.entries[tabData.index - 1].url, params);
let tab = window.BrowserApp.addTab(activeSHEntry.url, params);
tab.browser.__SS_data = tabData;
tab.browser.__SS_extdata = tabData.extData;
this._restoreTab(tabData, tab.browser);
if (!delayLoad) {
this._restoreTab(tabData, tab.browser);
}
}
},