Bug 1354095 - add new {,private} window buttons to photon panel
MozReview-Commit-ID: EZ8GtGIPpNL
--- a/browser/base/content/browser.xul
+++ b/browser/base/content/browser.xul
@@ -1041,17 +1041,17 @@
command="cmd_printPreview"
tooltiptext="&printButton.tooltip;"
#endif
label="&printButton.label;"/>
<toolbarbutton id="new-window-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
label="&newNavigatorCmd.label;"
- command="key_newNavigator"
+ command="cmd_newNavigator"
tooltip="dynamic-shortcut-tooltip"
ondrop="newWindowButtonObserver.onDrop(event)"
ondragover="newWindowButtonObserver.onDragOver(event)"
ondragenter="newWindowButtonObserver.onDragOver(event)"
ondragexit="newWindowButtonObserver.onDragExit(event)"/>
<toolbarbutton id="fullscreen-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
observes="View:FullScreen"
--- a/browser/components/customizableui/content/panelUI.inc.xul
+++ b/browser/components/customizableui/content/panelUI.inc.xul
@@ -481,17 +481,31 @@
checkboxhidden="true"
hidden="true">
<popupnotificationcontent id="update-restart-notification-content" orient="vertical">
<description id="update-restart-description">&updateRestart.message;</description>
</popupnotificationcontent>
</popupnotification>
</panel>
-<panel id="PanelUI-photon-popup"
+<panel id="appMenu-popup"
+ class="cui-widget-panel"
role="group"
type="arrow"
hidden="true"
flip="slide"
position="bottomcenter topright"
noautofocus="true">
- This space intentionally left blank.
+ <panelmultiview id="appMenu-multiView" mainViewId="appMenu-mainView">
+ <panelview id="appMenu-mainView" class="cui-widget-panelview">
+ <vbox class="panel-subview-body">
+ <toolbarbutton id="appMenu-new-window-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="&newNavigatorCmd.label;"
+ command="cmd_newNavigator"/>
+ <toolbarbutton id="appMenu-private-window-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="&newPrivateWindow.label;"
+ command="Tools:PrivateBrowsing"/>
+ </vbox>
+ </panelview>
+ </panelmultiview>
</panel>
--- a/browser/components/customizableui/content/panelUI.js
+++ b/browser/components/customizableui/content/panelUI.js
@@ -25,21 +25,21 @@ const PanelUI = {
},
/**
* Used for lazily getting and memoizing elements from the document. Lazy
* getters are set in init, and memoizing happens after the first retrieval.
*/
get kElements() {
return {
contents: "PanelUI-contents",
- mainView: "PanelUI-mainView",
- multiView: "PanelUI-multiView",
+ mainView: gPhotonStructure ? "appMenu-mainView" : "PanelUI-mainView",
+ multiView: gPhotonStructure ? "appMenu-multiView" : "PanelUI-multiView",
helpView: "PanelUI-helpView",
menuButton: "PanelUI-menu-button",
- panel: gPhotonStructure ? "PanelUI-photon-popup" : "PanelUI-popup",
+ panel: gPhotonStructure ? "appMenu-popup" : "PanelUI-popup",
notificationPanel: "PanelUI-notification-popup",
scroller: "PanelUI-contents-scroller",
footer: "PanelUI-footer"
};
},
_initialized: false,
init() {
--- a/browser/themes/shared/customizableui/panelUI.inc.css
+++ b/browser/themes/shared/customizableui/panelUI.inc.css
@@ -236,23 +236,27 @@ panelmultiview[nosubviews=true] > .panel
-moz-box-pack: center;
}
#PanelUI-mainView {
display: flex;
flex-direction: column;
}
+#appMenu-popup > arrowscrollbox > autorepeatbutton,
#PanelUI-popup > arrowscrollbox > autorepeatbutton {
display: none;
}
+
+#appMenu-popup > arrowscrollbox > scrollbox,
#PanelUI-popup > arrowscrollbox > scrollbox {
overflow: visible;
}
+#appMenu-popup > .panel-arrowcontainer > .panel-arrowcontent,
#PanelUI-popup > .panel-arrowcontainer > .panel-arrowcontent {
overflow: hidden;
}
#PanelUI-popup > .panel-arrowcontainer > .panel-arrowcontent,
.cui-widget-panel > .panel-arrowcontainer > .panel-arrowcontent > .popup-internal-box {
padding: 0;
}
@@ -1785,8 +1789,20 @@ menuitem[checked="true"].subviewbutton >
#PanelUI-panic-actionlist-windows {
background-image: -moz-image-rect(url(chrome://browser/skin/panic-panel/icons@2x.png), 0, 96, 32, 64);
}
#PanelUI-panic-actionlist-newwindow {
background-image: -moz-image-rect(url(chrome://browser/skin/panic-panel/icons@2x.png), 0, 128, 32, 96);
}
}
+
+.subviewbutton-iconic > .toolbarbutton-text {
+ padding-inline-start: 5px;
+}
+
+#appMenu-new-window-button {
+ list-style-image: url(chrome://browser/skin/menu-icons/new-window.svg);
+}
+
+#appMenu-private-window-button {
+ list-style-image: url(chrome://browser/skin/menu-icons/private-window.svg);
+}
--- a/browser/themes/shared/jar.inc.mn
+++ b/browser/themes/shared/jar.inc.mn
@@ -138,8 +138,10 @@
skin/classic/browser/privatebrowsing/check.svg (../shared/privatebrowsing/check.svg)
skin/classic/browser/privatebrowsing/favicon.svg (../shared/privatebrowsing/favicon.svg)
skin/classic/browser/privatebrowsing/private-browsing.svg (../shared/privatebrowsing/private-browsing.svg)
skin/classic/browser/privatebrowsing/tracking-protection-off.svg (../shared/privatebrowsing/tracking-protection-off.svg)
skin/classic/browser/privatebrowsing/tracking-protection.svg (../shared/privatebrowsing/tracking-protection.svg)
skin/classic/browser/compacttheme/urlbar-history-dropmarker.svg (../shared/compacttheme/urlbar-history-dropmarker.svg)
skin/classic/browser/urlbar-star.svg (../shared/urlbar-star.svg)
skin/classic/browser/urlbar-tab.svg (../shared/urlbar-tab.svg)
+ skin/classic/browser/menu-icons/new-window.svg (../shared/menu-icons/new-window.svg)
+ skin/classic/browser/menu-icons/private-window.svg (../shared/menu-icons/private-window.svg)
new file mode 100755
--- /dev/null
+++ b/browser/themes/shared/menu-icons/new-window.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+ <path fill="context-fill" d="M14 1H2a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h5a1 1 0 0 0 0-2H3a1 1 0 0 1-1-1V6h12v2a1 1 0 0 0 2 0V3a2 2 0 0 0-2-2zm0 4H2V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1zm1.5 7H13V9.5a.5.5 0 1 0-1 0V12H9.5a.5.5 0 0 0 0 1H12v2.5a.5.5 0 0 0 1 0V13h2.5a.5.5 0 0 0 0-1z"/>
+</svg>
new file mode 100755
--- /dev/null
+++ b/browser/themes/shared/menu-icons/private-window.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
+ <path fill="context-fill" d="M12.377 11.961c-1.651 0-2.793-1.98-4.377-1.98s-2.824 1.98-4.377 1.98c-2.037 0-3.541-1.924-3.566-5.221-.015-2.047.6-2.7 3.242-2.7S6.719 5.12 8 5.12s2.056-1.08 4.7-1.08 3.257.653 3.242 2.7c-.024 3.297-1.528 5.221-3.565 5.221zM4.6 6.56c-1.607.07-2.269 1.025-2.269 1.26s1.066.9 2.107.9S6.7 8.339 6.7 8a1.889 1.889 0 0 0-2.1-1.44zm6.808 0A1.889 1.889 0 0 0 9.3 8c0 .339 1.228.72 2.269.72s2.107-.665 2.107-.9-.664-1.191-2.276-1.26z"/>
+</svg>