Bug 1393343 - move 'restore previous session' item into main menu and hide when auto-restore is enabled, r?mikedeboer
MozReview-Commit-ID: B3J9c936RL
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -123,16 +123,17 @@ XPCOMUtils.defineLazyScriptGetter(this,
// lazy service getters
XPCOMUtils.defineLazyServiceGetters(this, {
Favicons: ["@mozilla.org/browser/favicon-service;1", "mozIAsyncFavicons"],
gAboutNewTabService: ["@mozilla.org/browser/aboutnewtab-service;1", "nsIAboutNewTabService"],
gDNSService: ["@mozilla.org/network/dns-service;1", "nsIDNSService"],
gSerializationHelper: ["@mozilla.org/network/serialization-helper;1", "nsISerializationHelper"],
Marionette: ["@mozilla.org/remote/marionette;1", "nsIMarionette"],
+ SessionStartup: ["@mozilla.org/browser/sessionstartup;1", "nsISessionStartup"],
WindowsUIUtils: ["@mozilla.org/windows-ui-utils;1", "nsIWindowsUIUtils"],
});
if (AppConstants.MOZ_CRASHREPORTER) {
XPCOMUtils.defineLazyServiceGetter(this, "gCrashReporter",
"@mozilla.org/xre/app-info;1",
"nsICrashReporter");
}
@@ -1799,19 +1800,17 @@ var gBrowserInit = {
// If the given URI is different from the homepage, we want to load it.
if (uri != defaultArgs) {
resolve(uri);
return;
}
// The URI appears to be the the homepage. We want to load it only if
// session restore isn't about to override the homepage.
- let sessionStartup = Cc["@mozilla.org/browser/sessionstartup;1"]
- .getService(Ci.nsISessionStartup);
- sessionStartup.willOverrideHomepagePromise.then(willOverrideHomepage => {
+ SessionStartup.willOverrideHomepagePromise.then(willOverrideHomepage => {
resolve(willOverrideHomepage ? null : uri);
});
});
},
onUnload() {
// In certain scenarios it's possible for unload to be fired before onload,
// (e.g. if the window is being closed after browser.js loads but before the
@@ -8292,16 +8291,18 @@ var RestoreLastSessionObserver = {
let restoreTabsButtonWrapper = restoreTabsButton.parentNode;
restoreTabsButtonWrapper.setAttribute("session-exists", "true");
gBrowser.tabContainer.updateSessionRestoreVisibility();
restoreTabsButton.style.maxWidth = `${restoreTabsButtonWrapperWidth}px`;
gBrowser.tabContainer.addEventListener("TabOpen", this);
}
Services.obs.addObserver(this, "sessionstore-last-session-cleared", true);
goSetCommandEnabled("Browser:RestoreLastSession", true);
+ } else if (SessionStartup.isAutomaticRestoreEnabled()) {
+ document.getElementById("Browser:RestoreLastSession").setAttribute("hidden", true);
}
},
handleEvent(event) {
switch (event.type) {
case "TabOpen":
this.removeRestoreButton();
break;
--- a/browser/components/customizableui/content/panelUI.inc.xul
+++ b/browser/components/customizableui/content/panelUI.inc.xul
@@ -88,20 +88,16 @@
key="key_gotoHistory"
oncommand="SidebarUI.toggle('viewHistorySidebar'); PanelUI.hide();">
<observes element="viewHistorySidebar" attribute="checked"/>
</toolbarbutton>
<toolbarbutton id="appMenuClearRecentHistory"
label="&appMenuHistory.clearRecent.label;"
class="subviewbutton subviewbutton-iconic"
command="Tools:Sanitize"/>
- <toolbarbutton id="appMenuRestoreLastSession"
- label="&appMenuHistory.restoreSession.label;"
- class="subviewbutton subviewbutton-iconic"
- command="Browser:RestoreLastSession"/>
<toolbarseparator/>
<toolbarbutton id="appMenuRecentlyClosedTabs"
label="&historyUndoMenu.label;"
class="subviewbutton subviewbutton-iconic subviewbutton-nav"
closemenu="none"
oncommand="PanelUI.showSubView('appMenu-library-recentlyClosedTabs', this)"/>
<toolbarbutton id="appMenuRecentlyClosedWindows"
label="&historyUndoWindowMenu.label;"
@@ -564,16 +560,20 @@
label="&newNavigatorCmd.label;"
key="key_newNavigator"
command="cmd_newNavigator"/>
<toolbarbutton id="appMenu-private-window-button"
class="subviewbutton subviewbutton-iconic"
label="&newPrivateWindow.label;"
key="key_privatebrowsing"
command="Tools:PrivateBrowsing"/>
+ <toolbarbutton id="appMenuRestoreLastSession"
+ label="&appMenuHistory.restoreSession.label;"
+ class="subviewbutton subviewbutton-iconic"
+ command="Browser:RestoreLastSession"/>
<toolbarseparator/>
<toolbaritem id="appMenu-zoom-controls" class="toolbaritem-combined-buttons">
<label value="&fullZoom.label;"/>
<toolbarbutton id="appMenu-zoomReduce-button"
class="subviewbutton subviewbutton-iconic"
command="cmd_fullZoomReduce"
closemenu="none"
tooltip="dynamic-shortcut-tooltip"/>
new file mode 100644
--- /dev/null
+++ b/browser/themes/shared/icons/restore-session.svg
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="context-fill">
+ <path d="M13 0H3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h4l-.3.4a1 1 0 1 0 1.6 1.2l1.5-2a1 1 0 0 0 0-1.2l-1.5-2a1 1 0 0 0-1.6 1.2l.3.4H3a1 1 0 0 1-1-1V5h12v6a1 1 0 0 1-1 1 1 1 0 0 0 0 2 3 3 0 0 0 3-3V3a3 3 0 0 0-3-3zM2 4V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1z"/>
+</svg>
--- a/browser/themes/shared/jar.inc.mn
+++ b/browser/themes/shared/jar.inc.mn
@@ -155,16 +155,17 @@
skin/classic/browser/mail.svg (../shared/icons/mail.svg)
skin/classic/browser/menu.svg (../shared/icons/menu.svg)
skin/classic/browser/new-tab.svg (../shared/icons/new-tab.svg)
skin/classic/browser/new-window.svg (../shared/icons/new-window.svg)
skin/classic/browser/open.svg (../shared/icons/open.svg)
skin/classic/browser/page-action.svg (../shared/icons/page-action.svg)
skin/classic/browser/print.svg (../shared/icons/print.svg)
skin/classic/browser/privateBrowsing.svg (../shared/icons/privateBrowsing.svg)
+ skin/classic/browser/restore-session.svg (../shared/icons/restore-session.svg)
skin/classic/browser/quit.svg (../shared/icons/quit.svg)
skin/classic/browser/reload.svg (../shared/icons/reload.svg)
skin/classic/browser/reload-to-stop.svg (../shared/icons/reload-to-stop.svg)
skin/classic/browser/save.svg (../shared/icons/save.svg)
skin/classic/browser/settings.svg (../shared/icons/settings.svg)
skin/classic/browser/sidebars.svg (../shared/icons/sidebars.svg)
skin/classic/browser/sidebars-right.svg (../shared/icons/sidebars-right.svg)
skin/classic/browser/stop.svg (../shared/icons/stop.svg)
--- a/browser/themes/shared/menupanel.inc.css
+++ b/browser/themes/shared/menupanel.inc.css
@@ -115,15 +115,15 @@ toolbarpaletteitem[place="palette"] > #b
list-style-image: url("chrome://browser/skin/bookmark-star-on-tray.svg");
}
#appMenuClearRecentHistory {
list-style-image: url("chrome://browser/skin/forget.svg");
}
#appMenuRestoreLastSession {
- list-style-image: url("chrome://browser/skin/reload.svg");
+ list-style-image: url("chrome://browser/skin/restore-session.svg");
}
#appMenuRecentlyClosedWindows {
list-style-image: url(chrome://browser/skin/window.svg);
}