1 # HG changeset patch |
1 # HG changeset patch |
2 # Parent 693f0baece29cc958a7d91b89fd12e3b89a502e3 |
2 # User msirringhaus@suse.de |
|
3 # Date 1559300151 -7200 |
|
4 # Fri May 31 12:55:51 2019 +0200 |
|
5 # Node ID 54d41b0033b8d649d842a1f862c6fed8b9874dec |
|
6 # Parent 4faaad3619f286bd6077754d8e59d339a5142b80 |
|
7 How to apply this patch: |
|
8 1. Import and apply it |
|
9 2. cp browser/base/content/browser.xul browser/base/content/browser-kde.xul |
|
10 3. Find editBookmarkPanelDoneButton |
|
11 4. Replace #ifndef with #ifdef in the line above (this hanges the button order from Gnome-style to KDE-style) |
|
12 5. hg qrefresh |
3 |
13 |
4 diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul |
|
5 new file mode 100644 |
|
6 --- /dev/null |
|
7 +++ b/browser/base/content/browser-kde.xul |
|
8 @@ -0,0 +1,1395 @@ |
|
9 +#filter substitution |
|
10 +<?xml version="1.0"?> |
|
11 +# -*- Mode: HTML -*- |
|
12 +# |
|
13 +# This Source Code Form is subject to the terms of the Mozilla Public |
|
14 +# License, v. 2.0. If a copy of the MPL was not distributed with this |
|
15 +# file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
16 + |
|
17 +<!-- The "global.css" stylesheet is imported first to allow other stylesheets to |
|
18 + override rules using selectors with the same specificity. This applies to |
|
19 + both "content" and "skin" packages, which bug 1385444 will unify later. --> |
|
20 +<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> |
|
21 + |
|
22 +<!-- While these stylesheets are defined in Toolkit, they are only used in the |
|
23 + main browser window, so we can load them here. Bug 1474241 is on file to |
|
24 + consider moving these widgets to the "browser" folder. --> |
|
25 +<?xml-stylesheet href="chrome://global/content/tabprompts.css" type="text/css"?> |
|
26 +<?xml-stylesheet href="chrome://global/skin/tabprompts.css" type="text/css"?> |
|
27 + |
|
28 +<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?> |
|
29 +<?xml-stylesheet href="chrome://browser/content/tabbrowser.css" type="text/css"?> |
|
30 +<?xml-stylesheet href="chrome://browser/content/downloads/downloads.css" type="text/css"?> |
|
31 +<?xml-stylesheet href="chrome://browser/content/places/places.css" type="text/css"?> |
|
32 +<?xml-stylesheet href="chrome://browser/content/usercontext/usercontext.css" type="text/css"?> |
|
33 +<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?> |
|
34 +<?xml-stylesheet href="chrome://browser/skin/controlcenter/panel.css" type="text/css"?> |
|
35 +<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUI.css" type="text/css"?> |
|
36 +<?xml-stylesheet href="chrome://browser/skin/downloads/downloads.css" type="text/css"?> |
|
37 +<?xml-stylesheet href="chrome://browser/skin/searchbar.css" type="text/css"?> |
|
38 +<?xml-stylesheet href="chrome://browser/skin/places/tree-icons.css" type="text/css"?> |
|
39 +<?xml-stylesheet href="chrome://browser/skin/places/editBookmark.css" type="text/css"?> |
|
40 +<?xml-stylesheet href="chrome://browser/skin/compacttheme.css" type="text/css" alternate="yes" title="Light/Dark"?> |
|
41 + |
|
42 +# All DTD information is stored in a separate file so that it can be shared by |
|
43 +# hiddenWindow.xul. |
|
44 +<!DOCTYPE window [ |
|
45 +#include browser-doctype.inc |
|
46 +]> |
|
47 + |
|
48 +<window id="main-window" |
|
49 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
|
50 + xmlns:svg="http://www.w3.org/2000/svg" |
|
51 + xmlns:html="http://www.w3.org/1999/xhtml" |
|
52 + xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" |
|
53 + xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" |
|
54 + title="&mainWindow.title;" |
|
55 + title_normal="&mainWindow.title;" |
|
56 +#ifdef XP_MACOSX |
|
57 + title_privatebrowsing="&mainWindow.title;&mainWindow.titlemodifiermenuseparator;&mainWindow.titlePrivateBrowsingSuffix;" |
|
58 + titledefault="&mainWindow.title;" |
|
59 + titlemodifier="" |
|
60 + titlemodifier_normal="" |
|
61 + titlemodifier_privatebrowsing="&mainWindow.titlePrivateBrowsingSuffix;" |
|
62 +#else |
|
63 + title_privatebrowsing="&mainWindow.titlemodifier; &mainWindow.titlePrivateBrowsingSuffix;" |
|
64 + titlemodifier="&mainWindow.titlemodifier;" |
|
65 + titlemodifier_normal="&mainWindow.titlemodifier;" |
|
66 + titlemodifier_privatebrowsing="&mainWindow.titlemodifier; &mainWindow.titlePrivateBrowsingSuffix;" |
|
67 +#endif |
|
68 +#ifdef XP_WIN |
|
69 + chromemargin="0,2,2,2" |
|
70 +#else |
|
71 + chromemargin="0,-1,-1,-1" |
|
72 +#endif |
|
73 + tabsintitlebar="true" |
|
74 + titlemenuseparator="&mainWindow.titlemodifiermenuseparator;" |
|
75 + windowtype="navigator:browser" |
|
76 + macanimationtype="document" |
|
77 + screenX="4" screenY="4" |
|
78 + fullscreenbutton="true" |
|
79 + sizemode="normal" |
|
80 + retargetdocumentfocus="urlbar" |
|
81 + persist="screenX screenY width height sizemode" |
|
82 +#ifdef BROWSER_XHTML |
|
83 + hidden="true" |
|
84 + mozpersist="" |
|
85 +#endif |
|
86 + > |
|
87 + |
|
88 +# All JS files which are needed by browser.xul and other top level windows to |
|
89 +# support MacOS specific features *must* go into the global-scripts.inc file so |
|
90 +# that they can be shared with macWindow.inc.xul. |
|
91 +#include global-scripts.inc |
|
92 + |
|
93 +<script type="application/javascript" |
|
94 +#ifdef BROWSER_XHTML |
|
95 +xmlns="http://www.w3.org/1999/xhtml" |
|
96 +#endif |
|
97 +> |
|
98 + Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this); |
|
99 + Services.scriptloader.loadSubScript("chrome://browser/content/browser-captivePortal.js", this); |
|
100 + Services.scriptloader.loadSubScript("chrome://browser/content/browser-compacttheme.js", this); |
|
101 + Services.scriptloader.loadSubScript("chrome://browser/content/browser-contentblocking.js", this); |
|
102 +#ifdef MOZ_DATA_REPORTING |
|
103 + Services.scriptloader.loadSubScript("chrome://browser/content/browser-data-submission-info-bar.js", this); |
|
104 +#endif |
|
105 +#ifndef MOZILLA_OFFICIAL |
|
106 + Services.scriptloader.loadSubScript("chrome://browser/content/browser-development-helpers.js", this); |
|
107 +#endif |
|
108 + Services.scriptloader.loadSubScript("chrome://browser/content/browser-media.js", this); |
|
109 + Services.scriptloader.loadSubScript("chrome://browser/content/browser-pageActions.js", this); |
|
110 + Services.scriptloader.loadSubScript("chrome://browser/content/browser-plugins.js", this); |
|
111 + Services.scriptloader.loadSubScript("chrome://browser/content/browser-sidebar.js", this); |
|
112 + Services.scriptloader.loadSubScript("chrome://browser/content/browser-tabsintitlebar.js", this); |
|
113 + Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this); |
|
114 + Services.scriptloader.loadSubScript("chrome://browser/content/search/searchbar.js", this); |
|
115 + |
|
116 + window.onload = gBrowserInit.onLoad.bind(gBrowserInit); |
|
117 + window.onunload = gBrowserInit.onUnload.bind(gBrowserInit); |
|
118 + window.onclose = WindowIsClosing; |
|
119 + |
|
120 +#ifdef BROWSER_XHTML |
|
121 + window.addEventListener("readystatechange", () => { |
|
122 + // We initially hide the window to prevent layouts during parse. This lets us |
|
123 + // avoid accidental XBL construction and better match browser.xul (see Bug 1497975). |
|
124 + gBrowserInit.onBeforeInitialXULLayout(); |
|
125 + document.documentElement.removeAttribute("hidden"); |
|
126 + }, { once: true, capture: true }); |
|
127 +#else |
|
128 + window.addEventListener("MozBeforeInitialXULLayout", |
|
129 + gBrowserInit.onBeforeInitialXULLayout.bind(gBrowserInit), { once: true }); |
|
130 +#endif |
|
131 + // The listener of DOMContentLoaded must be set on window, rather than |
|
132 + // document, because the window can go away before the event is fired. |
|
133 + // In that case, we don't want to initialize anything, otherwise we |
|
134 + // may be leaking things because they will never be destroyed after. |
|
135 + window.addEventListener("DOMContentLoaded", |
|
136 + gBrowserInit.onDOMContentLoaded.bind(gBrowserInit), { once: true }); |
|
137 +</script> |
|
138 + |
|
139 +# All sets except for popupsets (commands, keys, and stringbundles) |
|
140 +# *must* go into the browser-sets.inc file so that they can be shared with other |
|
141 +# top level windows in macWindow.inc.xul. |
|
142 +#include browser-sets.inc |
|
143 + |
|
144 + <popupset id="mainPopupSet"> |
|
145 + <menupopup id="tabContextMenu" |
|
146 + onpopupshowing="if (event.target == this) TabContextMenu.updateContextMenu(this);" |
|
147 + onpopuphidden="if (event.target == this) TabContextMenu.contextTab = null;"> |
|
148 + <menuitem id="context_reloadTab" label="&reloadTab.label;" accesskey="&reloadTab.accesskey;" |
|
149 + oncommand="gBrowser.reloadTab(TabContextMenu.contextTab);"/> |
|
150 + <menuitem id="context_reloadSelectedTabs" label="&reloadTabs.label;" hidden="true" |
|
151 + accesskey="&reloadTabs.accesskey;" |
|
152 + oncommand="gBrowser.reloadMultiSelectedTabs();"/> |
|
153 + <menuitem id="context_toggleMuteTab" oncommand="TabContextMenu.contextTab.toggleMuteAudio();"/> |
|
154 + <menuitem id="context_toggleMuteSelectedTabs" hidden="true" |
|
155 + oncommand="gBrowser.toggleMuteAudioOnMultiSelectedTabs(TabContextMenu.contextTab);"/> |
|
156 + <menuitem id="context_pinTab" label="&pinTab.label;" |
|
157 + accesskey="&pinTab.accesskey;" |
|
158 + oncommand="gBrowser.pinTab(TabContextMenu.contextTab);"/> |
|
159 + <menuitem id="context_unpinTab" label="&unpinTab.label;" hidden="true" |
|
160 + accesskey="&unpinTab.accesskey;" |
|
161 + oncommand="gBrowser.unpinTab(TabContextMenu.contextTab);"/> |
|
162 + <menuitem id="context_pinSelectedTabs" label="&pinSelectedTabs.label;" hidden="true" |
|
163 + accesskey="&pinSelectedTabs.accesskey;" |
|
164 + oncommand="gBrowser.pinMultiSelectedTabs();"/> |
|
165 + <menuitem id="context_unpinSelectedTabs" label="&unpinSelectedTabs.label;" hidden="true" |
|
166 + accesskey="&unpinSelectedTabs.accesskey;" |
|
167 + oncommand="gBrowser.unpinMultiSelectedTabs();"/> |
|
168 + <menuitem id="context_duplicateTab" label="&duplicateTab.label;" |
|
169 + accesskey="&duplicateTab.accesskey;" |
|
170 + oncommand="duplicateTabIn(TabContextMenu.contextTab, 'tab');"/> |
|
171 + <menuitem id="context_duplicateTabs" label="&duplicateTabs.label;" |
|
172 + accesskey="&duplicateTabs.accesskey;" |
|
173 + oncommand="TabContextMenu.duplicateSelectedTabs();"/> |
|
174 + <menuseparator/> |
|
175 + <menuitem id="context_selectAllTabs" label="&selectAllTabs.label;" accesskey="&selectAllTabs.accesskey;" |
|
176 + oncommand="gBrowser.selectAllTabs();"/> |
|
177 + <menuitem id="context_bookmarkSelectedTabs" |
|
178 + hidden="true" |
|
179 + label="&bookmarkSelectedTabs.label;" |
|
180 + accesskey="&bookmarkSelectedTabs.accesskey;" |
|
181 + oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.uniqueSelectedPages);"/> |
|
182 + <menuitem id="context_bookmarkTab" |
|
183 + label="&bookmarkTab.label;" |
|
184 + accesskey="&bookmarkTab.accesskey;" |
|
185 + oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.getUniquePages([TabContextMenu.contextTab]));"/> |
|
186 + <menu id="context_reopenInContainer" |
|
187 + label="&reopenInContainer.label;" |
|
188 + accesskey="&reopenInContainer.accesskey;" |
|
189 + hidden="true"> |
|
190 + <menupopup oncommand="TabContextMenu.reopenInContainer(event);" |
|
191 + onpopupshowing="TabContextMenu.createReopenInContainerMenu(event);"/> |
|
192 + </menu> |
|
193 + <menu id="context_moveTabOptions" |
|
194 + multiselectcontextlabel="&moveSelectedTabOptions.label;" |
|
195 + multiselectcontextaccesskey="&moveSelectedTabOptions.accesskey;" |
|
196 + nonmultiselectcontextlabel="&moveTabOptions.label;" |
|
197 + nonmultiselectcontextaccesskey="&moveTabOptions.accesskey;"> |
|
198 + <menupopup id="moveTabOptionsMenu"> |
|
199 + <menuitem id="context_moveToStart" |
|
200 + label="&moveToStart.label;" |
|
201 + accesskey="&moveToStart.accesskey;" |
|
202 + tbattr="tabbrowser-multiple" |
|
203 + oncommand="gBrowser.moveTabsToStart(TabContextMenu.contextTab);"/> |
|
204 + <menuitem id="context_moveToEnd" |
|
205 + label="&moveToEnd.label;" |
|
206 + accesskey="&moveToEnd.accesskey;" |
|
207 + tbattr="tabbrowser-multiple" |
|
208 + oncommand="gBrowser.moveTabsToEnd(TabContextMenu.contextTab);"/> |
|
209 + <menuitem id="context_openTabInWindow" label="&moveToNewWindow.label;" |
|
210 + accesskey="&moveToNewWindow.accesskey;" |
|
211 + tbattr="tabbrowser-multiple" |
|
212 + oncommand="gBrowser.replaceTabsWithWindow(TabContextMenu.contextTab);"/> |
|
213 + </menupopup> |
|
214 + </menu> |
|
215 + <menu id="context_sendTabToDevice" |
|
216 + class="sync-ui-item"> |
|
217 + <menupopup id="context_sendTabToDevicePopupMenu" |
|
218 + onpopupshowing="gSync.populateSendTabToDevicesMenu(event.target, TabContextMenu.contextTab.linkedBrowser.currentURI.spec, TabContextMenu.contextTab.linkedBrowser.contentTitle, TabContextMenu.contextTab.multiselected);"/> |
|
219 + </menu> |
|
220 + <menuseparator/> |
|
221 + <menuitem id="context_closeTabsToTheEnd" label="&closeTabsToTheEnd.label;" accesskey="&closeTabsToTheEnd.accesskey;" |
|
222 + oncommand="gBrowser.removeTabsToTheEndFrom(TabContextMenu.contextTab, {animate: true});"/> |
|
223 + <menuitem id="context_closeOtherTabs" label="&closeOtherTabs.label;" accesskey="&closeOtherTabs.accesskey;" |
|
224 + oncommand="gBrowser.removeAllTabsBut(TabContextMenu.contextTab);"/> |
|
225 + <menuitem id="context_undoCloseTab" |
|
226 + label="&undoCloseTab.label;" |
|
227 + accesskey="&undoCloseTab.accesskey;" |
|
228 + observes="History:UndoCloseTab"/> |
|
229 + <menuitem id="context_closeTab" label="&closeTab.label;" accesskey="&closeTab.accesskey;" |
|
230 + oncommand="gBrowser.removeTab(TabContextMenu.contextTab, { animate: true });"/> |
|
231 + <menuitem id="context_closeSelectedTabs" label="&closeTabs.label;" |
|
232 + hidden="true" accesskey="&closeTabs.accesskey;" |
|
233 + oncommand="gBrowser.removeMultiSelectedTabs();"/> |
|
234 + </menupopup> |
|
235 + |
|
236 + <!-- bug 415444/582485: event.stopPropagation is here for the cloned version |
|
237 + of this menupopup --> |
|
238 + <menupopup id="backForwardMenu" |
|
239 + onpopupshowing="return FillHistoryMenu(event.target);" |
|
240 + oncommand="gotoHistoryIndex(event); event.stopPropagation();" |
|
241 + onclick="checkForMiddleClick(this, event);"/> |
|
242 + <tooltip id="aHTMLTooltip" page="true"/> |
|
243 + <tooltip id="remoteBrowserTooltip"/> |
|
244 + |
|
245 + <!-- for search and content formfill/pw manager --> |
|
246 + |
|
247 + <panel type="autocomplete-richlistbox" |
|
248 + id="PopupAutoComplete" |
|
249 + role="group" |
|
250 + noautofocus="true" |
|
251 + hidden="true" |
|
252 + overflowpadding="4" |
|
253 + norolluponanchor="true" |
|
254 + nomaxresults="true" /> |
|
255 + |
|
256 + <!-- for search with one-off buttons --> |
|
257 + <panel type="autocomplete-richlistbox" |
|
258 + id="PopupSearchAutoComplete" |
|
259 + role="group" |
|
260 + noautofocus="true" |
|
261 + hidden="true" /> |
|
262 + |
|
263 + <!-- for url bar autocomplete --> |
|
264 + <panel type="autocomplete-richlistbox" |
|
265 + id="PopupAutoCompleteRichResult" |
|
266 + role="group" |
|
267 + noautofocus="true" |
|
268 + hidden="true" |
|
269 + flip="none" |
|
270 + level="parent" |
|
271 + overflowpadding="15" /> |
|
272 + |
|
273 + <!-- for url bar autocomplete --> |
|
274 + <panel id="urlbar-results" |
|
275 + role="group" |
|
276 + noautofocus="true" |
|
277 + hidden="true" |
|
278 + flip="none" |
|
279 + level="parent"> |
|
280 + <html:div class="urlbarView-body-outer"> |
|
281 + <html:div class="urlbarView-body-inner"> |
|
282 + <!-- TODO: add search suggestions notification --> |
|
283 + <html:div class="urlbarView-results"/> |
|
284 + </html:div> |
|
285 + </html:div> |
|
286 + <hbox class="search-one-offs" |
|
287 + compact="true" |
|
288 + includecurrentengine="true" |
|
289 + disabletab="true"/> |
|
290 + </panel> |
|
291 + |
|
292 + <!-- for date/time picker. consumeoutsideclicks is set to never, so that |
|
293 + clicks on the anchored input box are never consumed. --> |
|
294 + <panel id="DateTimePickerPanel" |
|
295 + type="arrow" |
|
296 + hidden="true" |
|
297 + orient="vertical" |
|
298 + noautofocus="true" |
|
299 + norolluponanchor="true" |
|
300 + consumeoutsideclicks="never" |
|
301 + level="parent" |
|
302 + tabspecific="true"> |
|
303 + </panel> |
|
304 + |
|
305 + <!-- for select dropdowns. The menupopup is what shows the list of options, |
|
306 + and the popuponly menulist makes things like the menuactive attributes |
|
307 + work correctly on the menupopup. ContentSelectDropdown expects the |
|
308 + popuponly menulist to be its immediate parent. --> |
|
309 + <menulist popuponly="true" id="ContentSelectDropdown" hidden="true"> |
|
310 + <menupopup rolluponmousewheel="true" |
|
311 + activateontab="true" position="after_start" |
|
312 + level="parent" |
|
313 +#ifdef XP_WIN |
|
314 + consumeoutsideclicks="false" ignorekeys="shortcuts" |
|
315 +#endif |
|
316 + /> |
|
317 + </menulist> |
|
318 + |
|
319 + <!-- for invalid form error message --> |
|
320 + <panel id="invalid-form-popup" type="arrow" orient="vertical" noautofocus="true" hidden="true" level="parent"> |
|
321 + <description/> |
|
322 + </panel> |
|
323 + |
|
324 + <panel id="editBookmarkPanel" |
|
325 + type="arrow" |
|
326 + orient="vertical" |
|
327 + ignorekeys="true" |
|
328 + hidden="true" |
|
329 + tabspecific="true" |
|
330 + aria-labelledby="editBookmarkPanelTitle"> |
|
331 + <box class="panel-header"> |
|
332 + <label id="editBookmarkPanelTitle"/> |
|
333 + </box> |
|
334 + <html:div id="editBookmarkPanelFaviconContainer"> |
|
335 + <html:img id="editBookmarkPanelFavicon"/> |
|
336 + </html:div> |
|
337 + <box id="editBookmarkPanelImage"/> |
|
338 +#include ../../components/places/content/editBookmarkPanel.inc.xul |
|
339 + <vbox id="editBookmarkPanelBottomContent" |
|
340 + flex="1"> |
|
341 + <checkbox id="editBookmarkPanel_showForNewBookmarks" |
|
342 + label="&editBookmark.showForNewBookmarks.label;" |
|
343 + accesskey="&editBookmark.showForNewBookmarks.accesskey;" |
|
344 + oncommand="StarUI.onShowForNewBookmarksCheckboxCommand();"/> |
|
345 + </vbox> |
|
346 + <hbox id="editBookmarkPanelBottomButtons" |
|
347 + class="panel-footer" |
|
348 + style="min-width: &editBookmark.panel.width;;"> |
|
349 +#ifdef XP_UNIX |
|
350 + <button id="editBookmarkPanelDoneButton" |
|
351 + class="editBookmarkPanelBottomButton" |
|
352 + label="&editBookmark.done.label;" |
|
353 + default="true" |
|
354 + oncommand="StarUI.panel.hidePopup();"/> |
|
355 + <button id="editBookmarkPanelRemoveButton" |
|
356 + class="editBookmarkPanelBottomButton" |
|
357 + oncommand="StarUI.removeBookmarkButtonCommand();"/> |
|
358 +#else |
|
359 + <button id="editBookmarkPanelRemoveButton" |
|
360 + class="editBookmarkPanelBottomButton" |
|
361 + oncommand="StarUI.removeBookmarkButtonCommand();"/> |
|
362 + <button id="editBookmarkPanelDoneButton" |
|
363 + class="editBookmarkPanelBottomButton" |
|
364 + label="&editBookmark.done.label;" |
|
365 + default="true" |
|
366 + oncommand="StarUI.panel.hidePopup();"/> |
|
367 +#endif |
|
368 + </hbox> |
|
369 + </panel> |
|
370 + |
|
371 + <!-- UI tour experience --> |
|
372 + <panel id="UITourTooltip" |
|
373 + type="arrow" |
|
374 + hidden="true" |
|
375 + noautofocus="true" |
|
376 + noautohide="true" |
|
377 + align="start" |
|
378 + orient="vertical" |
|
379 + role="alert"> |
|
380 + <vbox> |
|
381 + <hbox id="UITourTooltipBody"> |
|
382 + <image id="UITourTooltipIcon"/> |
|
383 + <vbox flex="1"> |
|
384 + <hbox id="UITourTooltipTitleContainer"> |
|
385 + <label id="UITourTooltipTitle" flex="1"/> |
|
386 + <toolbarbutton id="UITourTooltipClose" class="close-icon" |
|
387 + tooltiptext="&uiTour.infoPanel.close;"/> |
|
388 + </hbox> |
|
389 + <description id="UITourTooltipDescription" flex="1"/> |
|
390 + </vbox> |
|
391 + </hbox> |
|
392 + <hbox id="UITourTooltipButtons" flex="1" align="center"/> |
|
393 + </vbox> |
|
394 + </panel> |
|
395 + <!-- type="default" forces frames to be created so that the panel's size can be determined --> |
|
396 + <panel id="UITourHighlightContainer" |
|
397 + type="default" |
|
398 + hidden="true" |
|
399 + noautofocus="true" |
|
400 + noautohide="true" |
|
401 + flip="none" |
|
402 + consumeoutsideclicks="false" |
|
403 + mousethrough="always"> |
|
404 + <box id="UITourHighlight"></box> |
|
405 + </panel> |
|
406 + |
|
407 + <panel id="sidebarMenu-popup" |
|
408 + class="cui-widget-panel" |
|
409 + role="group" |
|
410 + type="arrow" |
|
411 + hidden="true" |
|
412 + flip="slide" |
|
413 + orient="vertical" |
|
414 + position="bottomcenter topleft"> |
|
415 + <toolbarbutton id="sidebar-switcher-bookmarks" |
|
416 + type="checkbox" |
|
417 + label="&bookmarksButton.label;" |
|
418 + class="subviewbutton subviewbutton-iconic" |
|
419 + key="viewBookmarksSidebarKb" |
|
420 + oncommand="SidebarUI.show('viewBookmarksSidebar');"/> |
|
421 + <toolbarbutton id="sidebar-switcher-history" |
|
422 + type="checkbox" |
|
423 + label="&historyButton.label;" |
|
424 + class="subviewbutton subviewbutton-iconic" |
|
425 + key="key_gotoHistory" |
|
426 + oncommand="SidebarUI.show('viewHistorySidebar');"/> |
|
427 + <toolbarbutton id="sidebar-switcher-tabs" |
|
428 + type="checkbox" |
|
429 + label="&syncedTabs.sidebar.label;" |
|
430 + class="subviewbutton subviewbutton-iconic sync-ui-item" |
|
431 + oncommand="SidebarUI.show('viewTabsSidebar');"/> |
|
432 + <toolbarseparator/> |
|
433 + <!-- Extension toolbarbuttons go here. --> |
|
434 + <toolbarseparator id="sidebar-extensions-separator"/> |
|
435 + <toolbarbutton id="sidebar-reverse-position" |
|
436 + class="subviewbutton" |
|
437 + oncommand="SidebarUI.reversePosition()"/> |
|
438 + <toolbarseparator/> |
|
439 + <toolbarbutton label="&sidebarMenuClose.label;" |
|
440 + class="subviewbutton" |
|
441 + oncommand="SidebarUI.hide()"/> |
|
442 + </panel> |
|
443 + |
|
444 + <menupopup id="toolbar-context-menu" |
|
445 + onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator')); ToolbarContextMenu.updateDownloadsAutoHide(this); ToolbarContextMenu.updateExtension(this)"> |
|
446 + <menuitem oncommand="ToolbarContextMenu.openAboutAddonsForContextAction(this.parentElement)" |
|
447 + accesskey="&customizeMenu.manageExtension.accesskey;" |
|
448 + label="&customizeMenu.manageExtension.label;" |
|
449 + contexttype="toolbaritem" |
|
450 + class="customize-context-manageExtension"/> |
|
451 + <menuitem oncommand="ToolbarContextMenu.removeExtensionForContextAction(this.parentElement)" |
|
452 + accesskey="&customizeMenu.removeExtension.accesskey;" |
|
453 + label="&customizeMenu.removeExtension.label;" |
|
454 + contexttype="toolbaritem" |
|
455 + class="customize-context-removeExtension"/> |
|
456 + <menuseparator/> |
|
457 + <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)" |
|
458 + accesskey="&customizeMenu.pinToOverflowMenu.accesskey;" |
|
459 + label="&customizeMenu.pinToOverflowMenu.label;" |
|
460 + contexttype="toolbaritem" |
|
461 + class="customize-context-moveToPanel"/> |
|
462 + <menuitem id="toolbar-context-autohide-downloads-button" |
|
463 + oncommand="ToolbarContextMenu.onDownloadsAutoHideChange(event);" |
|
464 + type="checkbox" |
|
465 + accesskey="&customizeMenu.autoHideDownloadsButton.accesskey;" |
|
466 + label="&customizeMenu.autoHideDownloadsButton.label;" |
|
467 + contexttype="toolbaritem"/> |
|
468 + <menuitem oncommand="gCustomizeMode.removeFromArea(document.popupNode)" |
|
469 + accesskey="&customizeMenu.removeFromToolbar.accesskey;" |
|
470 + label="&customizeMenu.removeFromToolbar.label;" |
|
471 + contexttype="toolbaritem" |
|
472 + class="customize-context-removeFromToolbar"/> |
|
473 + <menuitem id="toolbar-context-reloadSelectedTab" |
|
474 + contexttype="tabbar" |
|
475 + oncommand="gBrowser.reloadMultiSelectedTabs();" |
|
476 + label="&toolbarContextMenu.reloadSelectedTab.label;" |
|
477 + accesskey="&toolbarContextMenu.reloadSelectedTab.accesskey;"/> |
|
478 + <menuitem id="toolbar-context-reloadSelectedTabs" |
|
479 + contexttype="tabbar" |
|
480 + oncommand="gBrowser.reloadMultiSelectedTabs();" |
|
481 + label="&toolbarContextMenu.reloadSelectedTabs.label;" |
|
482 + accesskey="&toolbarContextMenu.reloadSelectedTabs.accesskey;"/> |
|
483 + <menuitem id="toolbar-context-bookmarkSelectedTab" |
|
484 + contexttype="tabbar" |
|
485 + oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.uniqueSelectedPages);" |
|
486 + label="&toolbarContextMenu.bookmarkSelectedTab.label;" |
|
487 + accesskey="&toolbarContextMenu.bookmarkSelectedTab.accesskey;"/> |
|
488 + <menuitem id="toolbar-context-bookmarkSelectedTabs" |
|
489 + contexttype="tabbar" |
|
490 + oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.uniqueSelectedPages);" |
|
491 + label="&toolbarContextMenu.bookmarkSelectedTabs.label;" |
|
492 + accesskey="&toolbarContextMenu.bookmarkSelectedTabs.accesskey;"/> |
|
493 + <menuitem id="toolbar-context-selectAllTabs" |
|
494 + contexttype="tabbar" |
|
495 + oncommand="gBrowser.selectAllTabs();" |
|
496 + label="&toolbarContextMenu.selectAllTabs.label;" |
|
497 + accesskey="&toolbarContextMenu.selectAllTabs.accesskey;"/> |
|
498 + <menuitem id="toolbar-context-undoCloseTab" |
|
499 + contexttype="tabbar" |
|
500 + label="&toolbarContextMenu.undoCloseTab.label;" |
|
501 + accesskey="&toolbarContextMenu.undoCloseTab.accesskey;" |
|
502 + observes="History:UndoCloseTab"/> |
|
503 + <menuseparator/> |
|
504 + <menuseparator id="viewToolbarsMenuSeparator"/> |
|
505 + <!-- XXXgijs: we're using oncommand handler here to avoid the event being |
|
506 + redirected to the command element, thus preventing |
|
507 + listeners on the menupopup or further up the tree from |
|
508 + seeing the command event pass by. The observes attribute is |
|
509 + here so that the menuitem is still disabled and re-enabled |
|
510 + correctly. --> |
|
511 + <menuitem oncommand="gCustomizeMode.enter()" |
|
512 + observes="cmd_CustomizeToolbars" |
|
513 + class="viewCustomizeToolbar" |
|
514 + label="&viewCustomizeToolbar.label;" |
|
515 + accesskey="&viewCustomizeToolbar.accesskey;"/> |
|
516 + </menupopup> |
|
517 + |
|
518 + <menupopup id="blockedPopupOptions" |
|
519 + onpopupshowing="gPopupBlockerObserver.fillPopupList(event);" |
|
520 + onpopuphiding="gPopupBlockerObserver.onPopupHiding(event);"> |
|
521 + <menuitem id="blockedPopupAllowSite" |
|
522 + accesskey="&allowPopups.accesskey;" |
|
523 + oncommand="gPopupBlockerObserver.toggleAllowPopupsForSite(event);"/> |
|
524 + <menuitem |
|
525 +#ifdef XP_WIN |
|
526 + label="&editPopupSettings.label;" |
|
527 +#else |
|
528 + label="&editPopupSettingsUnix.label;" |
|
529 +#endif |
|
530 + accesskey="&editPopupSettings.accesskey;" |
|
531 + oncommand="gPopupBlockerObserver.editPopupSettings();"/> |
|
532 + <menuitem id="blockedPopupDontShowMessage" |
|
533 + accesskey="&dontShowMessage.accesskey;" |
|
534 + type="checkbox" |
|
535 + oncommand="gPopupBlockerObserver.dontShowMessage();"/> |
|
536 + <menuseparator id="blockedPopupsSeparator"/> |
|
537 + </menupopup> |
|
538 + |
|
539 + <menupopup id="autohide-context" |
|
540 + onpopupshowing="FullScreen.getAutohide(this.firstChild);"> |
|
541 + <menuitem type="checkbox" label="&fullScreenAutohide.label;" |
|
542 + accesskey="&fullScreenAutohide.accesskey;" |
|
543 + oncommand="FullScreen.setAutohide();"/> |
|
544 + <menuseparator/> |
|
545 + <menuitem label="&fullScreenExit.label;" |
|
546 + accesskey="&fullScreenExit.accesskey;" |
|
547 + oncommand="BrowserFullScreen();"/> |
|
548 + </menupopup> |
|
549 + |
|
550 + <menupopup id="contentAreaContextMenu" pagemenu="#page-menu-separator" |
|
551 + onpopupshowing="if (event.target != this) |
|
552 + return true; |
|
553 + gContextMenu = new nsContextMenu(this, event.shiftKey); |
|
554 + if (gContextMenu.shouldDisplay) |
|
555 + updateEditUIVisibility(); |
|
556 + return gContextMenu.shouldDisplay;" |
|
557 + onpopuphiding="if (event.target != this) |
|
558 + return; |
|
559 + gContextMenu.hiding(); |
|
560 + gContextMenu = null; |
|
561 + updateEditUIVisibility();"> |
|
562 +#include browser-context.inc |
|
563 + </menupopup> |
|
564 + |
|
565 +#include ../../components/places/content/placesContextMenu.inc.xul |
|
566 + |
|
567 + <panel id="ctrlTab-panel" hidden="true" norestorefocus="true" level="top"> |
|
568 + <hbox id="ctrlTab-previews"/> |
|
569 + <hbox id="ctrlTab-showAll-container" pack="center"/> |
|
570 + </panel> |
|
571 + |
|
572 + <panel id="pageActionPanel" |
|
573 + class="cui-widget-panel" |
|
574 + role="group" |
|
575 + type="arrow" |
|
576 + hidden="true" |
|
577 + flip="slide" |
|
578 + photon="true" |
|
579 + position="bottomcenter topright" |
|
580 + tabspecific="true" |
|
581 + noautofocus="true" |
|
582 + copyURL-title="&pageAction.copyLink.label;" |
|
583 + emailLink-title="&emailPageCmd.label;" |
|
584 + sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;" |
|
585 + shareURL-title="&pageAction.shareUrl.label;" |
|
586 + shareMore-label="&pageAction.shareMore.label;"> |
|
587 + <panelmultiview id="pageActionPanelMultiView" |
|
588 + mainViewId="pageActionPanelMainView" |
|
589 + viewCacheId="appMenu-viewCache"> |
|
590 + <panelview id="pageActionPanelMainView" |
|
591 + context="pageActionContextMenu" |
|
592 + class="PanelUI-subView"> |
|
593 + <vbox class="panel-subview-body"/> |
|
594 + </panelview> |
|
595 + </panelmultiview> |
|
596 + </panel> |
|
597 + |
|
598 + <panel id="confirmation-hint" |
|
599 + role="alert" |
|
600 + type="arrow" |
|
601 + hidden="true" |
|
602 + flip="slide" |
|
603 + position="bottomcenter topright" |
|
604 + tabspecific="true" |
|
605 + noautofocus="true"> |
|
606 + <hbox id="confirmation-hint-checkmark-animation-container"> |
|
607 + <image id="confirmation-hint-checkmark-image"/> |
|
608 + </hbox> |
|
609 + <label id="confirmation-hint-message"/> |
|
610 + </panel> |
|
611 + |
|
612 + <menupopup id="pageActionContextMenu" |
|
613 + onpopupshowing="BrowserPageActions.onContextMenuShowing(event, this);"> |
|
614 + <menuitem class="pageActionContextMenuItem builtInUnpinned" |
|
615 + label="&pageAction.addToUrlbar.label;" |
|
616 + oncommand="BrowserPageActions.togglePinningForContextAction();"/> |
|
617 + <menuitem class="pageActionContextMenuItem builtInPinned" |
|
618 + label="&pageAction.removeFromUrlbar.label;" |
|
619 + oncommand="BrowserPageActions.togglePinningForContextAction();"/> |
|
620 + <menuitem class="pageActionContextMenuItem extensionUnpinned" |
|
621 + label="&pageAction.addToUrlbar.label;" |
|
622 + oncommand="BrowserPageActions.togglePinningForContextAction();"/> |
|
623 + <menuitem class="pageActionContextMenuItem extensionPinned" |
|
624 + label="&pageAction.removeFromUrlbar.label;" |
|
625 + oncommand="BrowserPageActions.togglePinningForContextAction();"/> |
|
626 + <menuseparator class="pageActionContextMenuItem extensionPinned extensionUnpinned"/> |
|
627 + <menuitem class="pageActionContextMenuItem extensionPinned extensionUnpinned" |
|
628 + label="&pageAction.manageExtension.label;" |
|
629 + oncommand="BrowserPageActions.openAboutAddonsForContextAction();"/> |
|
630 + </menupopup> |
|
631 + |
|
632 +#include ../../components/places/content/bookmarksHistoryTooltip.inc.xul |
|
633 + |
|
634 + <tooltip id="tabbrowser-tab-tooltip" onpopupshowing="gBrowser.createTooltip(event);"/> |
|
635 + |
|
636 + <tooltip id="back-button-tooltip"> |
|
637 + <description class="tooltip-label" value="&backButton.tooltip;"/> |
|
638 +#ifdef XP_MACOSX |
|
639 + <description class="tooltip-label" value="&backForwardButtonMenuMac.tooltip;"/> |
|
640 +#else |
|
641 + <description class="tooltip-label" value="&backForwardButtonMenu.tooltip;"/> |
|
642 +#endif |
|
643 + </tooltip> |
|
644 + |
|
645 + <tooltip id="forward-button-tooltip"> |
|
646 + <description class="tooltip-label" value="&forwardButton.tooltip;"/> |
|
647 +#ifdef XP_MACOSX |
|
648 + <description class="tooltip-label" value="&backForwardButtonMenuMac.tooltip;"/> |
|
649 +#else |
|
650 + <description class="tooltip-label" value="&backForwardButtonMenu.tooltip;"/> |
|
651 +#endif |
|
652 + </tooltip> |
|
653 + |
|
654 +#include popup-notifications.inc |
|
655 + |
|
656 +#include ../../components/customizableui/content/panelUI.inc.xul |
|
657 +#include ../../components/controlcenter/content/panel.inc.xul |
|
658 +#include ../../components/downloads/content/downloadsPanel.inc.xul |
|
659 +#include browser-allTabsMenu.inc.xul |
|
660 + |
|
661 + <hbox id="downloads-animation-container" mousethrough="always"> |
|
662 + <vbox id="downloads-notification-anchor" hidden="true"> |
|
663 + <vbox id="downloads-indicator-notification"/> |
|
664 + </vbox> |
|
665 + </hbox> |
|
666 + |
|
667 + <tooltip id="dynamic-shortcut-tooltip" |
|
668 + onpopupshowing="UpdateDynamicShortcutTooltipText(this);"/> |
|
669 + |
|
670 + <menupopup id="SyncedTabsSidebarContext"> |
|
671 + <menuitem label="&syncedTabs.context.open.label;" |
|
672 + accesskey="&syncedTabs.context.open.accesskey;" |
|
673 + id="syncedTabsOpenSelected" where="current"/> |
|
674 + <menuitem label="&syncedTabs.context.openInNewTab.label;" |
|
675 + accesskey="&syncedTabs.context.openInNewTab.accesskey;" |
|
676 + id="syncedTabsOpenSelectedInTab" where="tab"/> |
|
677 + <menuitem label="&syncedTabs.context.openInNewWindow.label;" |
|
678 + accesskey="&syncedTabs.context.openInNewWindow.accesskey;" |
|
679 + id="syncedTabsOpenSelectedInWindow" where="window"/> |
|
680 + <menuitem label="&syncedTabs.context.openInNewPrivateWindow.label;" |
|
681 + accesskey="&syncedTabs.context.openInNewPrivateWindow.accesskey;" |
|
682 + id="syncedTabsOpenSelectedInPrivateWindow" where="window" private="true"/> |
|
683 + <menuseparator/> |
|
684 + <menuitem label="&syncedTabs.context.bookmarkSingleTab.label;" |
|
685 + accesskey="&syncedTabs.context.bookmarkSingleTab.accesskey;" |
|
686 + id="syncedTabsBookmarkSelected"/> |
|
687 + <menuitem label="&syncedTabs.context.copy.label;" |
|
688 + accesskey="&syncedTabs.context.copy.accesskey;" |
|
689 + id="syncedTabsCopySelected"/> |
|
690 + <menuseparator/> |
|
691 + <menuitem label="&syncedTabs.context.openAllInTabs.label;" |
|
692 + accesskey="&syncedTabs.context.openAllInTabs.accesskey;" |
|
693 + id="syncedTabsOpenAllInTabs"/> |
|
694 + <menuitem label="&syncedTabs.context.managedevices.label;" |
|
695 + accesskey="&syncedTabs.context.managedevices.accesskey;" |
|
696 + id="syncedTabsManageDevices" |
|
697 + oncommand="gSync.openDevicesManagementPage('syncedtabs-sidebar');"/> |
|
698 + <menuitem label="&syncSyncNowItem.label;" |
|
699 + accesskey="&syncSyncNowItem.accesskey;" |
|
700 + id="syncedTabsRefresh"/> |
|
701 + </menupopup> |
|
702 + <menupopup id="SyncedTabsSidebarTabsFilterContext" |
|
703 + class="textbox-contextmenu"> |
|
704 + <menuitem label="&undoCmd.label;" |
|
705 + accesskey="&undoCmd.accesskey;" |
|
706 + cmd="cmd_undo"/> |
|
707 + <menuseparator/> |
|
708 + <menuitem label="&cutCmd.label;" |
|
709 + accesskey="&cutCmd.accesskey;" |
|
710 + cmd="cmd_cut"/> |
|
711 + <menuitem label="©Cmd.label;" |
|
712 + accesskey="©Cmd.accesskey;" |
|
713 + cmd="cmd_copy"/> |
|
714 + <menuitem label="&pasteCmd.label;" |
|
715 + accesskey="&pasteCmd.accesskey;" |
|
716 + cmd="cmd_paste"/> |
|
717 + <menuitem label="&deleteCmd.label;" |
|
718 + accesskey="&deleteCmd.accesskey;" |
|
719 + cmd="cmd_delete"/> |
|
720 + <menuseparator/> |
|
721 + <menuitem label="&selectAllCmd.label;" |
|
722 + accesskey="&selectAllCmd.accesskey;" |
|
723 + cmd="cmd_selectAll"/> |
|
724 + <menuseparator/> |
|
725 + <menuitem label="&syncSyncNowItem.label;" |
|
726 + accesskey="&syncSyncNowItem.accesskey;" |
|
727 + id="syncedTabsRefreshFilter"/> |
|
728 + </menupopup> |
|
729 + |
|
730 + <hbox id="statuspanel" inactive="true" layer="true"> |
|
731 + <hbox id="statuspanel-inner"> |
|
732 + <label id="statuspanel-label" |
|
733 + role="status" |
|
734 + aria-live="off" |
|
735 + flex="1" |
|
736 + crop="end"/> |
|
737 + </hbox> |
|
738 + </hbox> |
|
739 + </popupset> |
|
740 + <box id="appMenu-viewCache" hidden="true"/> |
|
741 + |
|
742 + <toolbox id="navigator-toolbox"> |
|
743 + |
|
744 + <vbox id="titlebar"> |
|
745 + <!-- Menu --> |
|
746 + <toolbar type="menubar" id="toolbar-menubar" |
|
747 + class="browser-toolbar chromeclass-menubar titlebar-color" |
|
748 + customizable="true" |
|
749 + mode="icons" |
|
750 +#ifdef MENUBAR_CAN_AUTOHIDE |
|
751 + toolbarname="&menubarCmd.label;" |
|
752 + accesskey="&menubarCmd.accesskey;" |
|
753 + autohide="true" |
|
754 +#endif |
|
755 + context="toolbar-context-menu"> |
|
756 + <toolbaritem id="menubar-items" align="center"> |
|
757 +# The entire main menubar is placed into browser-menubar.inc, so that it can be |
|
758 +# shared with other top level windows in macWindow.inc.xul. |
|
759 +#include browser-menubar.inc |
|
760 + </toolbaritem> |
|
761 + <spacer flex="1" skipintoolbarset="true" ordinal="1000"/> |
|
762 +#include titlebar-items.inc.xul |
|
763 + </toolbar> |
|
764 + |
|
765 + <toolbar id="TabsToolbar" |
|
766 + class="browser-toolbar titlebar-color" |
|
767 + fullscreentoolbar="true" |
|
768 + customizable="true" |
|
769 + customizationtarget="TabsToolbar-customization-target" |
|
770 + mode="icons" |
|
771 + aria-label="&tabsToolbar.label;" |
|
772 + context="toolbar-context-menu" |
|
773 + flex="1"> |
|
774 + <vbox flex="1" class="toolbar-items"> |
|
775 + <spacer flex="1000"/> |
|
776 + |
|
777 + <hbox id="TabsToolbar-customization-target" flex="1"> |
|
778 + <hbox class="titlebar-spacer" type="pre-tabs" |
|
779 + skipintoolbarset="true"/> |
|
780 + |
|
781 + <tabs id="tabbrowser-tabs" |
|
782 + flex="1" |
|
783 + setfocus="false" |
|
784 + tooltip="tabbrowser-tab-tooltip" |
|
785 + stopwatchid="FX_TAB_CLICK_MS"> |
|
786 + <tab class="tabbrowser-tab" selected="true" visuallyselected="true" fadein="true"/> |
|
787 + </tabs> |
|
788 + |
|
789 + <toolbarbutton id="new-tab-button" |
|
790 + class="toolbarbutton-1 chromeclass-toolbar-additional" |
|
791 + label="&tabCmd.label;" |
|
792 + command="cmd_newNavigatorTab" |
|
793 + onclick="checkForMiddleClick(this, event);" |
|
794 + tooltip="dynamic-shortcut-tooltip" |
|
795 + ondrop="newTabButtonObserver.onDrop(event)" |
|
796 + ondragover="newTabButtonObserver.onDragOver(event)" |
|
797 + ondragenter="newTabButtonObserver.onDragOver(event)" |
|
798 + ondragexit="newTabButtonObserver.onDragExit(event)" |
|
799 + cui-areatype="toolbar" |
|
800 + removable="true"/> |
|
801 + |
|
802 + <toolbarbutton id="alltabs-button" |
|
803 + class="toolbarbutton-1 chromeclass-toolbar-additional tabs-alltabs-button badged-button" |
|
804 + oncommand="gTabsPanel.showAllTabsPanel();" |
|
805 + label="&listAllTabs.label;" |
|
806 + tooltiptext="&listAllTabs.label;" |
|
807 + removable="false"/> |
|
808 + |
|
809 + <hbox class="titlebar-spacer" type="post-tabs" |
|
810 + ordinal="1000" |
|
811 + skipintoolbarset="true"/> |
|
812 + </hbox> |
|
813 + </vbox> |
|
814 + |
|
815 +#ifndef XP_MACOSX |
|
816 + <button class="accessibility-indicator" tooltiptext="&accessibilityIndicator.tooltip;" |
|
817 + ordinal="1000" |
|
818 + aria-live="polite" skipintoolbarset="true"/> |
|
819 + <hbox class="private-browsing-indicator" skipintoolbarset="true" |
|
820 + ordinal="1000"/> |
|
821 +#endif |
|
822 + |
|
823 +#include titlebar-items.inc.xul |
|
824 + |
|
825 +#ifdef XP_MACOSX |
|
826 + <!-- OS X does not natively support RTL for its titlebar items, so we prevent this secondary |
|
827 + buttonbox from reversing order in RTL by forcing an LTR direction. --> |
|
828 + <hbox id="titlebar-secondary-buttonbox" dir="ltr"> |
|
829 + <button class="accessibility-indicator" tooltiptext="&accessibilityIndicator.tooltip;" aria-live="polite"/> |
|
830 + <hbox class="private-browsing-indicator"/> |
|
831 + <hbox id="titlebar-fullscreen-button"/> |
|
832 + </hbox> |
|
833 +#endif |
|
834 + </toolbar> |
|
835 + |
|
836 + </vbox> |
|
837 + |
|
838 + <toolbar id="nav-bar" |
|
839 + class="browser-toolbar" |
|
840 + aria-label="&navbarCmd.label;" |
|
841 + fullscreentoolbar="true" mode="icons" customizable="true" |
|
842 + customizationtarget="nav-bar-customization-target" |
|
843 + overflowable="true" |
|
844 + overflowbutton="nav-bar-overflow-button" |
|
845 + overflowtarget="widget-overflow-list" |
|
846 + overflowpanel="widget-overflow" |
|
847 + context="toolbar-context-menu"> |
|
848 + |
|
849 + <hbox id="nav-bar-customization-target" flex="1"> |
|
850 + <toolbarbutton id="back-button" class="toolbarbutton-1 chromeclass-toolbar-additional" |
|
851 + label="&backCmd.label;" |
|
852 + removable="false" overflows="false" |
|
853 + keepbroadcastattributeswhencustomizing="true" |
|
854 + command="Browser:BackOrBackDuplicate" |
|
855 + onclick="checkForMiddleClick(this, event);" |
|
856 + tooltip="back-button-tooltip" |
|
857 + context="backForwardMenu"/> |
|
858 + <toolbarbutton id="forward-button" class="toolbarbutton-1 chromeclass-toolbar-additional" |
|
859 + label="&forwardCmd.label;" |
|
860 + removable="false" overflows="false" |
|
861 + keepbroadcastattributeswhencustomizing="true" |
|
862 + command="Browser:ForwardOrForwardDuplicate" |
|
863 + onclick="checkForMiddleClick(this, event);" |
|
864 + tooltip="forward-button-tooltip" |
|
865 + context="backForwardMenu"/> |
|
866 + <toolbaritem id="stop-reload-button" class="chromeclass-toolbar-additional" |
|
867 + title="&reloadCmd.label;" |
|
868 + removable="true" overflows="false"> |
|
869 + <toolbarbutton id="reload-button" class="toolbarbutton-1" |
|
870 + label="&reloadCmd.label;" |
|
871 + command="Browser:ReloadOrDuplicate" |
|
872 + onclick="checkForMiddleClick(this, event);" |
|
873 + tooltip="dynamic-shortcut-tooltip"> |
|
874 + <box class="toolbarbutton-animatable-box"> |
|
875 + <image class="toolbarbutton-animatable-image"/> |
|
876 + </box> |
|
877 + </toolbarbutton> |
|
878 + <toolbarbutton id="stop-button" class="toolbarbutton-1" |
|
879 + label="&stopCmd.label;" |
|
880 + command="Browser:Stop" |
|
881 + tooltip="dynamic-shortcut-tooltip"> |
|
882 + <box class="toolbarbutton-animatable-box"> |
|
883 + <image class="toolbarbutton-animatable-image"/> |
|
884 + </box> |
|
885 + </toolbarbutton> |
|
886 + </toolbaritem> |
|
887 + <toolbarbutton id="home-button" class="toolbarbutton-1 chromeclass-toolbar-additional" |
|
888 + removable="true" |
|
889 + label="&homeButton.label;" |
|
890 + ondragover="homeButtonObserver.onDragOver(event)" |
|
891 + ondragenter="homeButtonObserver.onDragOver(event)" |
|
892 + ondrop="homeButtonObserver.onDrop(event)" |
|
893 + ondragexit="homeButtonObserver.onDragExit(event)" |
|
894 + key="goHome" |
|
895 + onclick="BrowserHome(event);" |
|
896 + cui-areatype="toolbar" |
|
897 + tooltiptext="&homeButton.defaultPage.tooltip;"/> |
|
898 + <toolbarspring cui-areatype="toolbar" class="chromeclass-toolbar-additional"/> |
|
899 + <toolbaritem id="urlbar-container" flex="400" persist="width" |
|
900 + removable="false" |
|
901 + class="chromeclass-location" overflows="false"> |
|
902 + <textbox id="urlbar" flex="1" |
|
903 + placeholder="&urlbar.placeholder2;" |
|
904 + defaultPlaceholder="&urlbar.placeholder2;" |
|
905 + focused="true" |
|
906 + type="autocomplete" |
|
907 + autocompletesearch="unifiedcomplete" |
|
908 + autocompletesearchparam="enable-actions" |
|
909 + autocompletepopup="PopupAutoCompleteRichResult" |
|
910 + completeselectedindex="true" |
|
911 + tabscrolling="true" |
|
912 + newlines="stripsurroundingwhitespace" |
|
913 + ontextentered="this.handleCommand(param);" |
|
914 + ontextreverted="return this.handleRevert();" |
|
915 + pageproxystate="invalid"> |
|
916 + <!-- Use onclick instead of normal popup= syntax since the popup |
|
917 + code fires onmousedown, and hence eats our favicon drag events. --> |
|
918 + <box id="identity-box" role="button" |
|
919 + align="center" |
|
920 + aria-label="&urlbar.viewSiteInfo.label;" |
|
921 + onclick="gIdentityHandler.handleIdentityButtonEvent(event);" |
|
922 + onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);" |
|
923 + ondragstart="gIdentityHandler.onDragStart(event);"> |
|
924 + <image id="identity-icon" |
|
925 + consumeanchor="identity-box" |
|
926 + onclick="PageProxyClickHandler(event);"/> |
|
927 + <image id="sharing-icon" mousethrough="always"/> |
|
928 + <box id="tracking-protection-icon-box" animationsenabled="true"> |
|
929 + <image id="tracking-protection-icon"/> |
|
930 + <box id="tracking-protection-icon-animatable-box" flex="1"> |
|
931 + <image id="tracking-protection-icon-animatable-image" flex="1"/> |
|
932 + </box> |
|
933 + </box> |
|
934 + <box id="blocked-permissions-container" align="center"> |
|
935 + <image data-permission-id="geo" class="blocked-permission-icon geo-icon" role="button" |
|
936 + tooltiptext="&urlbar.geolocationBlocked.tooltip;"/> |
|
937 + <image data-permission-id="desktop-notification" class="blocked-permission-icon desktop-notification-icon" role="button" |
|
938 + tooltiptext="&urlbar.webNotificationsBlocked.tooltip;"/> |
|
939 + <image data-permission-id="camera" class="blocked-permission-icon camera-icon" role="button" |
|
940 + tooltiptext="&urlbar.cameraBlocked.tooltip;"/> |
|
941 + <image data-permission-id="microphone" class="blocked-permission-icon microphone-icon" role="button" |
|
942 + tooltiptext="&urlbar.microphoneBlocked.tooltip;"/> |
|
943 + <image data-permission-id="screen" class="blocked-permission-icon screen-icon" role="button" |
|
944 + tooltiptext="&urlbar.screenBlocked.tooltip;"/> |
|
945 + <image data-permission-id="persistent-storage" class="blocked-permission-icon persistent-storage-icon" role="button" |
|
946 + tooltiptext="&urlbar.persistentStorageBlocked.tooltip;"/> |
|
947 + <image data-permission-id="popup" class="blocked-permission-icon popup-icon" role="button" |
|
948 + tooltiptext="&urlbar.popupBlocked.tooltip;"/> |
|
949 + <image data-permission-id="autoplay-media" class="blocked-permission-icon autoplay-media-icon" role="button" |
|
950 + tooltiptext="&urlbar.autoplayMediaBlocked.tooltip;"/> |
|
951 + <image data-permission-id="canvas" class="blocked-permission-icon canvas-icon" role="button" |
|
952 + tooltiptext="&urlbar.canvasBlocked.tooltip;"/> |
|
953 + <image data-permission-id="plugin:flash" class="blocked-permission-icon plugin-icon" role="button" |
|
954 + tooltiptext="&urlbar.flashPluginBlocked.tooltip;"/> |
|
955 + <image data-permission-id="midi" class="blocked-permission-icon midi-icon" role="button" |
|
956 + tooltiptext="&urlbar.midiBlocked.tooltip;"/> |
|
957 + </box> |
|
958 + <box id="notification-popup-box" |
|
959 + hidden="true" |
|
960 + onmouseover="document.getElementById('identity-box').classList.add('no-hover');" |
|
961 + onmouseout="document.getElementById('identity-box').classList.remove('no-hover');" |
|
962 + align="center"> |
|
963 + <image id="default-notification-icon" class="notification-anchor-icon" role="button" |
|
964 + tooltiptext="&urlbar.defaultNotificationAnchor.tooltip;"/> |
|
965 + <image id="geo-notification-icon" class="notification-anchor-icon geo-icon" role="button" |
|
966 + tooltiptext="&urlbar.geolocationNotificationAnchor.tooltip;"/> |
|
967 + <image id="autoplay-media-notification-icon" class="notification-anchor-icon autoplay-media-icon" role="button" |
|
968 + tooltiptext="&urlbar.autoplayNotificationAnchor.tooltip;"/> |
|
969 + <image id="addons-notification-icon" class="notification-anchor-icon install-icon" role="button" |
|
970 + tooltiptext="&urlbar.addonsNotificationAnchor.tooltip;"/> |
|
971 + <image id="canvas-notification-icon" class="notification-anchor-icon" role="button" |
|
972 + tooltiptext="&urlbar.canvasNotificationAnchor.tooltip;"/> |
|
973 + <image id="indexedDB-notification-icon" class="notification-anchor-icon indexedDB-icon" role="button" |
|
974 + tooltiptext="&urlbar.indexedDBNotificationAnchor.tooltip;"/> |
|
975 + <image id="password-notification-icon" class="notification-anchor-icon login-icon" role="button" |
|
976 + tooltiptext="&urlbar.passwordNotificationAnchor.tooltip;"/> |
|
977 + <stack id="plugins-notification-icon" class="notification-anchor-icon" role="button" align="center" |
|
978 + tooltiptext="&urlbar.pluginsNotificationAnchor.tooltip;"> |
|
979 + <image class="plugin-icon" /> |
|
980 + <image id="plugin-icon-badge" /> |
|
981 + </stack> |
|
982 + <image id="web-notifications-notification-icon" class="notification-anchor-icon desktop-notification-icon" role="button" |
|
983 + tooltiptext="&urlbar.webNotificationAnchor.tooltip;"/> |
|
984 + <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon camera-icon" role="button" |
|
985 + tooltiptext="&urlbar.webRTCShareDevicesNotificationAnchor.tooltip;"/> |
|
986 + <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon microphone-icon" role="button" |
|
987 + tooltiptext="&urlbar.webRTCShareMicrophoneNotificationAnchor.tooltip;"/> |
|
988 + <image id="webRTC-shareScreen-notification-icon" class="notification-anchor-icon screen-icon" role="button" |
|
989 + tooltiptext="&urlbar.webRTCShareScreenNotificationAnchor.tooltip;"/> |
|
990 + <image id="servicesInstall-notification-icon" class="notification-anchor-icon service-icon" role="button" |
|
991 + tooltiptext="&urlbar.servicesNotificationAnchor.tooltip;"/> |
|
992 + <image id="translate-notification-icon" class="notification-anchor-icon translation-icon" role="button" |
|
993 + tooltiptext="&urlbar.translateNotificationAnchor.tooltip;"/> |
|
994 + <image id="translated-notification-icon" class="notification-anchor-icon translation-icon in-use" role="button" |
|
995 + tooltiptext="&urlbar.translatedNotificationAnchor.tooltip;"/> |
|
996 + <image id="eme-notification-icon" class="notification-anchor-icon drm-icon" role="button" |
|
997 + tooltiptext="&urlbar.emeNotificationAnchor.tooltip;"/> |
|
998 + <image id="persistent-storage-notification-icon" class="notification-anchor-icon persistent-storage-icon" role="button" |
|
999 + tooltiptext="&urlbar.persistentStorageNotificationAnchor.tooltip;"/> |
|
1000 + <image id="midi-notification-icon" class="notification-anchor-icon midi-icon" role="button" |
|
1001 + tooltiptext="&urlbar.midiNotificationAnchor.tooltip;"/> |
|
1002 + <image id="webauthn-notification-icon" class="notification-anchor-icon" role="button" |
|
1003 + tooltiptext="&urlbar.webAuthnAnchor.tooltip;"/> |
|
1004 + <image id="storage-access-notification-icon" class="notification-anchor-icon storage-access-icon" role="button" |
|
1005 + tooltiptext="&urlbar.storageAccessAnchor.tooltip;"/> |
|
1006 + </box> |
|
1007 + <image id="connection-icon"/> |
|
1008 + <image id="extension-icon"/> |
|
1009 + <image id="remote-control-icon" |
|
1010 + tooltiptext="&urlbar.remoteControlNotificationAnchor.tooltip;"/> |
|
1011 + <hbox id="identity-icon-labels"> |
|
1012 + <label id="identity-icon-label" class="plain" flex="1"/> |
|
1013 + <label id="identity-icon-country-label" class="plain"/> |
|
1014 + </hbox> |
|
1015 + </box> |
|
1016 + <box id="urlbar-display-box" align="center"> |
|
1017 + <label id="switchtab" class="urlbar-display urlbar-display-switchtab" value="&urlbar.switchToTab.label;"/> |
|
1018 + <label id="extension" class="urlbar-display urlbar-display-extension" value="&urlbar.extension.label;"/> |
|
1019 + </box> |
|
1020 + <hbox id="page-action-buttons" context="pageActionContextMenu"> |
|
1021 + <hbox id="contextual-feature-recommendation" role="button" hidden="true"> |
|
1022 + <hbox id="cfr-label-container"> |
|
1023 + <label id="cfr-label"/> |
|
1024 + </hbox> |
|
1025 + <image id="cfr-button" |
|
1026 + class="urlbar-icon urlbar-page-action" |
|
1027 + role="presentation"/> |
|
1028 + </hbox> |
|
1029 + <hbox id="userContext-icons" hidden="true"> |
|
1030 + <label id="userContext-label"/> |
|
1031 + <image id="userContext-indicator"/> |
|
1032 + </hbox> |
|
1033 + <image id="reader-mode-button" |
|
1034 + class="urlbar-icon urlbar-page-action" |
|
1035 + tooltip="dynamic-shortcut-tooltip" |
|
1036 + role="button" |
|
1037 + hidden="true" |
|
1038 + onclick="ReaderParent.buttonClick(event);"/> |
|
1039 + <toolbarbutton id="urlbar-zoom-button" |
|
1040 + onclick="FullZoom.reset();" |
|
1041 + tooltip="dynamic-shortcut-tooltip" |
|
1042 + hidden="true"/> |
|
1043 + <box id="pageActionSeparator" class="urlbar-page-action"/> |
|
1044 + <image id="pageActionButton" |
|
1045 + class="urlbar-icon urlbar-page-action" |
|
1046 + role="button" |
|
1047 + tooltiptext="&pageActionButton.tooltip;" |
|
1048 + onmousedown="BrowserPageActions.mainButtonClicked(event);"/> |
|
1049 + <hbox id="star-button-box" |
|
1050 + hidden="true" |
|
1051 + class="urlbar-icon-wrapper urlbar-page-action" |
|
1052 + onclick="BrowserPageActions.doCommandForAction(PageActions.actionForID('bookmark'), event, this);"> |
|
1053 + <image id="star-button" |
|
1054 + class="urlbar-icon" |
|
1055 + role="button"/> |
|
1056 + <hbox id="star-button-animatable-box"> |
|
1057 + <image id="star-button-animatable-image" |
|
1058 + role="presentation"/> |
|
1059 + </hbox> |
|
1060 + </hbox> |
|
1061 + </hbox> |
|
1062 + </textbox> |
|
1063 + </toolbaritem> |
|
1064 + |
|
1065 + <toolbarspring cui-areatype="toolbar" class="chromeclass-toolbar-additional"/> |
|
1066 + |
|
1067 + <!-- This is a placeholder for the Downloads Indicator. It is visible |
|
1068 + during the customization of the toolbar, in the palette, and before |
|
1069 + the Downloads Indicator overlay is loaded. --> |
|
1070 + <toolbarbutton id="downloads-button" |
|
1071 + class="toolbarbutton-1 chromeclass-toolbar-additional badged-button" |
|
1072 + key="key_openDownloads" |
|
1073 + onmousedown="DownloadsIndicatorView.onCommand(event);" |
|
1074 + ondrop="DownloadsIndicatorView.onDrop(event);" |
|
1075 + ondragover="DownloadsIndicatorView.onDragOver(event);" |
|
1076 + ondragenter="DownloadsIndicatorView.onDragOver(event);" |
|
1077 + label="&downloads.label;" |
|
1078 + removable="true" |
|
1079 + overflows="false" |
|
1080 + cui-areatype="toolbar" |
|
1081 + hidden="true" |
|
1082 + tooltip="dynamic-shortcut-tooltip" |
|
1083 + indicator="true"> |
|
1084 + <!-- The panel's anchor area is smaller than the outer button, but must |
|
1085 + always be visible and must not move or resize when the indicator |
|
1086 + state changes, otherwise the panel could change its position or lose |
|
1087 + its arrow unexpectedly. --> |
|
1088 + <stack id="downloads-indicator-anchor" |
|
1089 + consumeanchor="downloads-button"> |
|
1090 + <box id="downloads-indicator-icon"/> |
|
1091 + <stack id="downloads-indicator-progress-outer"> |
|
1092 + <box id="downloads-indicator-progress-inner"/> |
|
1093 + </stack> |
|
1094 + </stack> |
|
1095 + </toolbarbutton> |
|
1096 + |
|
1097 + <toolbarbutton id="library-button" class="toolbarbutton-1 chromeclass-toolbar-additional subviewbutton-nav" |
|
1098 + removable="true" |
|
1099 + onmousedown="PanelUI.showSubView('appMenu-libraryView', this, event);" |
|
1100 + closemenu="none" |
|
1101 + cui-areatype="toolbar" |
|
1102 + tooltiptext="&libraryButton.tooltip;" |
|
1103 + label="&places.library.title;"/> |
|
1104 + |
|
1105 + </hbox> |
|
1106 + |
|
1107 + <toolbarbutton id="nav-bar-overflow-button" |
|
1108 + class="toolbarbutton-1 chromeclass-toolbar-additional overflow-button" |
|
1109 + skipintoolbarset="true" |
|
1110 + tooltiptext="&navbarOverflow.label;"> |
|
1111 + <box class="toolbarbutton-animatable-box"> |
|
1112 + <image class="toolbarbutton-animatable-image"/> |
|
1113 + </box> |
|
1114 + </toolbarbutton> |
|
1115 + |
|
1116 + <toolbaritem id="PanelUI-button" |
|
1117 + removable="false"> |
|
1118 + <toolbarbutton id="PanelUI-menu-button" |
|
1119 + class="toolbarbutton-1 badged-button" |
|
1120 + consumeanchor="PanelUI-button" |
|
1121 + label="&brandShortName;" |
|
1122 + tooltiptext="&appmenu.tooltip;"/> |
|
1123 + </toolbaritem> |
|
1124 + |
|
1125 + <hbox id="window-controls" hidden="true" pack="end" skipintoolbarset="true" |
|
1126 + ordinal="1000"> |
|
1127 + <toolbarbutton id="minimize-button" |
|
1128 + tooltiptext="&fullScreenMinimize.tooltip;" |
|
1129 + oncommand="window.minimize();"/> |
|
1130 + |
|
1131 + <toolbarbutton id="restore-button" |
|
1132 +#ifdef XP_MACOSX |
|
1133 +# Prior to 10.7 there wasn't a native fullscreen button so we use #restore-button |
|
1134 +# to exit fullscreen and want it to behave like other toolbar buttons. |
|
1135 + class="toolbarbutton-1" |
|
1136 +#endif |
|
1137 + tooltiptext="&fullScreenRestore.tooltip;" |
|
1138 + oncommand="BrowserFullScreen();"/> |
|
1139 + |
|
1140 + <toolbarbutton id="close-button" |
|
1141 + tooltiptext="&fullScreenClose.tooltip;" |
|
1142 + oncommand="BrowserTryToCloseWindow();"/> |
|
1143 + </hbox> |
|
1144 + |
|
1145 + <box id="library-animatable-box" class="toolbarbutton-animatable-box"> |
|
1146 + <image class="toolbarbutton-animatable-image"/> |
|
1147 + </box> |
|
1148 + </toolbar> |
|
1149 + |
|
1150 + <toolbar id="PersonalToolbar" |
|
1151 + mode="icons" |
|
1152 + class="browser-toolbar chromeclass-directories" |
|
1153 + context="toolbar-context-menu" |
|
1154 + toolbarname="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;" |
|
1155 + collapsed="true" |
|
1156 + customizable="true"> |
|
1157 + <toolbaritem id="personal-bookmarks" |
|
1158 + title="&bookmarksToolbarItem.label;" |
|
1159 + cui-areatype="toolbar" |
|
1160 + removable="true"> |
|
1161 + <toolbarbutton id="bookmarks-toolbar-placeholder" |
|
1162 + class="bookmark-item" |
|
1163 + label="&bookmarksToolbarItem.label;"/> |
|
1164 + <toolbarbutton id="bookmarks-toolbar-button" |
|
1165 + class="toolbarbutton-1" |
|
1166 + flex="1" |
|
1167 + label="&bookmarksToolbarItem.label;" |
|
1168 + oncommand="PlacesToolbarHelper.onPlaceholderCommand();"/> |
|
1169 + <hbox flex="1" |
|
1170 + id="PlacesToolbar" |
|
1171 + context="placesContext" |
|
1172 + onmouseup="BookmarksEventHandler.onMouseUp(event);" |
|
1173 + onclick="BookmarksEventHandler.onClick(event, this._placesView);" |
|
1174 + oncommand="BookmarksEventHandler.onCommand(event);" |
|
1175 + tooltip="bhTooltip" |
|
1176 + popupsinherittooltip="true"> |
|
1177 + <hbox flex="1"> |
|
1178 + <hbox id="PlacesToolbarDropIndicatorHolder" align="center" collapsed="true"> |
|
1179 + <image id="PlacesToolbarDropIndicator" |
|
1180 + mousethrough="always" |
|
1181 + collapsed="true"/> |
|
1182 + </hbox> |
|
1183 + <scrollbox orient="horizontal" |
|
1184 + id="PlacesToolbarItems" |
|
1185 + flex="1"/> |
|
1186 + <toolbarbutton type="menu" |
|
1187 + id="PlacesChevron" |
|
1188 + class="toolbarbutton-1" |
|
1189 + mousethrough="never" |
|
1190 + collapsed="true" |
|
1191 + tooltiptext="&bookmarksToolbarChevron.tooltip;" |
|
1192 + onpopupshowing="document.getElementById('PlacesToolbar') |
|
1193 + ._placesView._onChevronPopupShowing(event);"> |
|
1194 + <menupopup id="PlacesChevronPopup" |
|
1195 + placespopup="true" |
|
1196 + tooltip="bhTooltip" popupsinherittooltip="true" |
|
1197 + context="placesContext"/> |
|
1198 + </toolbarbutton> |
|
1199 + </hbox> |
|
1200 + </hbox> |
|
1201 + </toolbaritem> |
|
1202 + </toolbar> |
|
1203 + |
|
1204 + <toolbarpalette id="BrowserToolbarPalette"> |
|
1205 + |
|
1206 + <toolbarbutton id="print-button" class="toolbarbutton-1 chromeclass-toolbar-additional" |
|
1207 +#ifdef XP_MACOSX |
|
1208 + command="cmd_print" |
|
1209 + tooltip="dynamic-shortcut-tooltip" |
|
1210 +#else |
|
1211 + command="cmd_printPreview" |
|
1212 + tooltiptext="&printButton.tooltip;" |
|
1213 +#endif |
|
1214 + label="&printButton.label;"/> |
|
1215 + |
|
1216 + |
|
1217 + <toolbarbutton id="new-window-button" class="toolbarbutton-1 chromeclass-toolbar-additional" |
|
1218 + label="&newNavigatorCmd.label;" |
|
1219 + command="cmd_newNavigator" |
|
1220 + tooltip="dynamic-shortcut-tooltip" |
|
1221 + ondrop="newWindowButtonObserver.onDrop(event)" |
|
1222 + ondragover="newWindowButtonObserver.onDragOver(event)" |
|
1223 + ondragenter="newWindowButtonObserver.onDragOver(event)" |
|
1224 + ondragexit="newWindowButtonObserver.onDragExit(event)"/> |
|
1225 + |
|
1226 + <toolbarbutton id="fullscreen-button" class="toolbarbutton-1 chromeclass-toolbar-additional" |
|
1227 + observes="View:FullScreen" |
|
1228 + type="checkbox" |
|
1229 + label="&fullScreenCmd.label;" |
|
1230 + tooltip="dynamic-shortcut-tooltip"/> |
|
1231 + |
|
1232 + <toolbarbutton id="bookmarks-menu-button" |
|
1233 + class="toolbarbutton-1 chromeclass-toolbar-additional subviewbutton-nav" |
|
1234 + type="menu" |
|
1235 + label="&bookmarksMenuButton2.label;" |
|
1236 + tooltip="dynamic-shortcut-tooltip" |
|
1237 + anchor="dropmarker" |
|
1238 + ondragenter="PlacesMenuDNDHandler.onDragEnter(event);" |
|
1239 + ondragover="PlacesMenuDNDHandler.onDragOver(event);" |
|
1240 + ondragleave="PlacesMenuDNDHandler.onDragLeave(event);" |
|
1241 + ondrop="PlacesMenuDNDHandler.onDrop(event);" |
|
1242 + oncommand="BookmarkingUI.onCommand(event);"> |
|
1243 + <menupopup id="BMB_bookmarksPopup" |
|
1244 + class="cui-widget-panel cui-widget-panelview cui-widget-panelWithFooter PanelUI-subView" |
|
1245 + placespopup="true" |
|
1246 + context="placesContext" |
|
1247 + openInTabs="children" |
|
1248 + side="top" |
|
1249 + onmouseup="BookmarksEventHandler.onMouseUp(event);" |
|
1250 + oncommand="BookmarksEventHandler.onCommand(event);" |
|
1251 + onclick="BookmarksEventHandler.onClick(event, this.parentNode._placesView);" |
|
1252 + onpopupshowing="BookmarkingUI.onPopupShowing(event); |
|
1253 + BookmarkingUI.attachPlacesView(event, this);" |
|
1254 + tooltip="bhTooltip" popupsinherittooltip="true"> |
|
1255 + <menuitem id="BMB_viewBookmarksSidebar" |
|
1256 + class="menuitem-iconic subviewbutton" |
|
1257 + label-show="&viewBookmarksSidebar2.label;" |
|
1258 + label-hide="&hideBookmarksSidebar.label;" |
|
1259 + oncommand="SidebarUI.toggle('viewBookmarksSidebar');"/> |
|
1260 + <!-- NB: temporary solution for bug 985024, this should go away soon. --> |
|
1261 + <menuitem id="BMB_bookmarksShowAllTop" |
|
1262 + class="menuitem-iconic subviewbutton" |
|
1263 + label="&showAllBookmarks2.label;" |
|
1264 + command="Browser:ShowAllBookmarks" |
|
1265 + key="manBookmarkKb"/> |
|
1266 + <menuseparator/> |
|
1267 + <menu id="BMB_bookmarksToolbar" |
|
1268 + class="menu-iconic bookmark-item subviewbutton" |
|
1269 + label="&personalbarCmd.label;" |
|
1270 + container="true"> |
|
1271 + <menupopup id="BMB_bookmarksToolbarPopup" |
|
1272 + placespopup="true" |
|
1273 + context="placesContext" |
|
1274 + onpopupshowing="if (!this.parentNode._placesView) |
|
1275 + new PlacesMenu(event, `place:parent=${PlacesUtils.bookmarks.toolbarGuid}`, |
|
1276 + PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);"> |
|
1277 + <menuitem id="BMB_viewBookmarksToolbar" |
|
1278 + class="menuitem-iconic subviewbutton" |
|
1279 + label-show="&viewBookmarksToolbar.label;" |
|
1280 + label-hide="&hideBookmarksToolbar.label;" |
|
1281 + oncommand="BookmarkingUI.toggleBookmarksToolbar();"/> |
|
1282 + <menuseparator/> |
|
1283 + <!-- Bookmarks toolbar items --> |
|
1284 + </menupopup> |
|
1285 + </menu> |
|
1286 + <menu id="BMB_unsortedBookmarks" |
|
1287 + class="menu-iconic bookmark-item subviewbutton" |
|
1288 + label="&bookmarksMenuButton.other.label;" |
|
1289 + container="true"> |
|
1290 + <menupopup id="BMB_unsortedBookmarksPopup" |
|
1291 + placespopup="true" |
|
1292 + context="placesContext" |
|
1293 + onpopupshowing="if (!this.parentNode._placesView) |
|
1294 + new PlacesMenu(event, `place:parent=${PlacesUtils.bookmarks.unfiledGuid}`, |
|
1295 + PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);"/> |
|
1296 + </menu> |
|
1297 + <menu id="BMB_mobileBookmarks" |
|
1298 + class="menu-iconic bookmark-item subviewbutton" |
|
1299 + label="&bookmarksMenuButton.mobile.label;" |
|
1300 + hidden="true" |
|
1301 + container="true"> |
|
1302 + <menupopup id="BMB_mobileBookmarksPopup" |
|
1303 + placespopup="true" |
|
1304 + context="placesContext" |
|
1305 + onpopupshowing="if (!this.parentNode._placesView) |
|
1306 + new PlacesMenu(event, `place:parent=${PlacesUtils.bookmarks.mobileGuid}`, |
|
1307 + PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);"/> |
|
1308 + </menu> |
|
1309 + |
|
1310 + <menuseparator/> |
|
1311 + <!-- Bookmarks menu items will go here --> |
|
1312 + <menuitem id="BMB_bookmarksShowAll" |
|
1313 + class="subviewbutton panel-subview-footer" |
|
1314 + label="&showAllBookmarks2.label;" |
|
1315 + command="Browser:ShowAllBookmarks" |
|
1316 + key="manBookmarkKb"/> |
|
1317 + </menupopup> |
|
1318 + </toolbarbutton> |
|
1319 + |
|
1320 + <toolbaritem id="search-container" |
|
1321 + class="chromeclass-toolbar-additional" |
|
1322 + title="&searchItem.title;" |
|
1323 + align="center" |
|
1324 + flex="100" |
|
1325 + persist="width"> |
|
1326 + <searchbar id="searchbar" flex="1"/> |
|
1327 + </toolbaritem> |
|
1328 + </toolbarpalette> |
|
1329 + </toolbox> |
|
1330 + |
|
1331 + <hbox id="fullscr-toggler" hidden="true"/> |
|
1332 + |
|
1333 + <deck id="content-deck" flex="1"> |
|
1334 + <hbox flex="1" id="browser"> |
|
1335 + <vbox id="browser-border-start" hidden="true" layer="true"/> |
|
1336 + <vbox id="sidebar-box" hidden="true" class="chromeclass-extrachrome"> |
|
1337 + <sidebarheader id="sidebar-header" align="center"> |
|
1338 + <toolbarbutton id="sidebar-switcher-target" flex="1" class="tabbable"> |
|
1339 + <image id="sidebar-icon" consumeanchor="sidebar-switcher-target"/> |
|
1340 + <label id="sidebar-title" crop="end" flex="1" control="sidebar"/> |
|
1341 + <image id="sidebar-switcher-arrow"/> |
|
1342 + </toolbarbutton> |
|
1343 + <image id="sidebar-throbber"/> |
|
1344 +# To ensure the button label's intrinsic width doesn't expand the sidebar |
|
1345 +# if the label is long, the button needs flex=1. |
|
1346 +# To ensure the button doesn't expand unnecessarily for short labels, the |
|
1347 +# spacer should significantly out-flex the button. |
|
1348 + <spacer flex="1000"/> |
|
1349 + <toolbarbutton id="sidebar-close" class="close-icon tabbable" tooltiptext="&sidebarCloseButton.tooltip;" oncommand="SidebarUI.hide();"/> |
|
1350 + </sidebarheader> |
|
1351 + <browser id="sidebar" flex="1" autoscroll="false" disablehistory="true" disablefullscreen="true" |
|
1352 + style="min-width: 14em; width: 18em; max-width: 36em;" tooltip="aHTMLTooltip"/> |
|
1353 + </vbox> |
|
1354 + |
|
1355 + <splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" hidden="true"/> |
|
1356 + <vbox id="appcontent" flex="1"> |
|
1357 + <!-- gHighPriorityNotificationBox will be added here lazily. --> |
|
1358 + <tabbox id="tabbrowser-tabbox" |
|
1359 + flex="1" tabcontainer="tabbrowser-tabs"> |
|
1360 + <tabpanels id="tabbrowser-tabpanels" |
|
1361 + flex="1" class="plain" selectedIndex="0"/> |
|
1362 + </tabbox> |
|
1363 + </vbox> |
|
1364 + <vbox id="browser-border-end" hidden="true" layer="true"/> |
|
1365 + </hbox> |
|
1366 +#include ../../components/customizableui/content/customizeMode.inc.xul |
|
1367 + </deck> |
|
1368 + |
|
1369 + <html:div id="fullscreen-warning" class="pointerlockfswarning" hidden="true"> |
|
1370 + <html:div class="pointerlockfswarning-domain-text"> |
|
1371 + &fullscreenWarning.beforeDomain.label; |
|
1372 + <html:span class="pointerlockfswarning-domain"/> |
|
1373 + &fullscreenWarning.afterDomain.label; |
|
1374 + </html:div> |
|
1375 + <html:div class="pointerlockfswarning-generic-text"> |
|
1376 + &fullscreenWarning.generic.label; |
|
1377 + </html:div> |
|
1378 + <html:button id="fullscreen-exit-button" |
|
1379 + onclick="FullScreen.exitDomFullScreen();"> |
|
1380 +#ifdef XP_MACOSX |
|
1381 + &exitDOMFullscreenMac.button; |
|
1382 +#else |
|
1383 + &exitDOMFullscreen.button; |
|
1384 +#endif |
|
1385 + </html:button> |
|
1386 + </html:div> |
|
1387 + |
|
1388 + <html:div id="pointerlock-warning" class="pointerlockfswarning" hidden="true"> |
|
1389 + <html:div class="pointerlockfswarning-domain-text"> |
|
1390 + &pointerlockWarning.beforeDomain.label; |
|
1391 + <html:span class="pointerlockfswarning-domain"/> |
|
1392 + &pointerlockWarning.afterDomain.label; |
|
1393 + </html:div> |
|
1394 + <html:div class="pointerlockfswarning-generic-text"> |
|
1395 + &pointerlockWarning.generic.label; |
|
1396 + </html:div> |
|
1397 + </html:div> |
|
1398 + |
|
1399 + <vbox id="browser-bottombox" layer="true"> |
|
1400 + <!-- gNotificationBox will be added here lazily. --> |
|
1401 + </vbox> |
|
1402 + |
|
1403 +</window> |
|
1404 diff --git a/browser/base/jar.mn b/browser/base/jar.mn |
|
1405 --- a/browser/base/jar.mn |
|
1406 +++ b/browser/base/jar.mn |
|
1407 @@ -28,16 +28,18 @@ browser.jar: |
|
1408 content/browser/aboutTabCrashed.js (content/aboutTabCrashed.js) |
|
1409 content/browser/aboutTabCrashed.xhtml (content/aboutTabCrashed.xhtml) |
|
1410 * content/browser/browser.css (content/browser.css) |
|
1411 content/browser/browser.js (content/browser.js) |
|
1412 #ifdef MOZ_BROWSER_XHTML |
|
1413 * content/browser/browser.xhtml (content/browser.xhtml) |
|
1414 #endif |
|
1415 * content/browser/browser.xul (content/browser.xul) |
|
1416 +* content/browser/browser-kde.xul (content/browser-kde.xul) |
|
1417 +% override chrome://browser/content/browser.xul chrome://browser/content/browser-kde.xul desktop=kde |
|
1418 content/browser/browser-addons.js (content/browser-addons.js) |
|
1419 content/browser/browser-allTabsMenu.js (content/browser-allTabsMenu.js) |
|
1420 content/browser/browser-captivePortal.js (content/browser-captivePortal.js) |
|
1421 content/browser/browser-ctrlTab.js (content/browser-ctrlTab.js) |
|
1422 content/browser/browser-customization.js (content/browser-customization.js) |
|
1423 content/browser/browser-data-submission-info-bar.js (content/browser-data-submission-info-bar.js) |
|
1424 content/browser/browser-compacttheme.js (content/browser-compacttheme.js) |
|
1425 content/browser/browser-contentblocking.js (content/browser-contentblocking.js) |
|
1426 diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp |
|
1427 --- a/browser/components/build/nsModule.cpp |
|
1428 +++ b/browser/components/build/nsModule.cpp |
|
1429 @@ -8,17 +8,17 @@ |
|
1430 #include "nsBrowserCompsCID.h" |
|
1431 #include "DirectoryProvider.h" |
|
1432 |
|
1433 #if defined(XP_WIN) |
|
1434 #include "nsWindowsShellService.h" |
|
1435 #elif defined(XP_MACOSX) |
|
1436 #include "nsMacShellService.h" |
|
1437 #elif defined(MOZ_WIDGET_GTK) |
|
1438 -#include "nsGNOMEShellService.h" |
|
1439 +#include "nsUnixShellService.h" |
|
1440 #endif |
|
1441 |
|
1442 #if defined(MOZ_WIDGET_COCOA) |
|
1443 #include "nsMacAttribution.h" |
|
1444 #endif |
|
1445 |
|
1446 #if defined(XP_WIN) |
|
1447 #include "nsIEHistoryEnumerator.h" |
|
1448 @@ -33,18 +33,16 @@ using namespace mozilla::browser; |
|
1449 |
|
1450 ///////////////////////////////////////////////////////////////////////////// |
|
1451 |
|
1452 NS_GENERIC_FACTORY_CONSTRUCTOR(DirectoryProvider) |
|
1453 #if defined(XP_WIN) |
|
1454 NS_GENERIC_FACTORY_CONSTRUCTOR(nsWindowsShellService) |
|
1455 #elif defined(XP_MACOSX) |
|
1456 NS_GENERIC_FACTORY_CONSTRUCTOR(nsMacShellService) |
|
1457 -#elif defined(MOZ_WIDGET_GTK) |
|
1458 -NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGNOMEShellService, Init) |
|
1459 #endif |
|
1460 |
|
1461 #if defined(MOZ_WIDGET_COCOA) |
|
1462 NS_GENERIC_FACTORY_CONSTRUCTOR(nsMacAttributionService) |
|
1463 #endif |
|
1464 |
|
1465 #if defined(XP_WIN) |
|
1466 NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator) |
|
1467 @@ -67,17 +65,17 @@ NS_DEFINE_NAMED_CID(NS_MACATTRIBUTIONSER |
|
1468 #endif |
|
1469 |
|
1470 static const mozilla::Module::CIDEntry kBrowserCIDs[] = { |
|
1471 // clang-format off |
|
1472 { &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor }, |
|
1473 #if defined(XP_WIN) |
|
1474 { &kNS_SHELLSERVICE_CID, false, nullptr, nsWindowsShellServiceConstructor }, |
|
1475 #elif defined(MOZ_WIDGET_GTK) |
|
1476 - { &kNS_SHELLSERVICE_CID, false, nullptr, nsGNOMEShellServiceConstructor }, |
|
1477 + { &kNS_SHELLSERVICE_CID, false, nullptr, nsUnixShellServiceConstructor }, |
|
1478 #endif |
|
1479 { &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, nullptr, AboutRedirector::Create }, |
|
1480 #if defined(XP_WIN) |
|
1481 { &kNS_WINIEHISTORYENUMERATOR_CID, false, nullptr, nsIEHistoryEnumeratorConstructor }, |
|
1482 #elif defined(XP_MACOSX) |
|
1483 { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor }, |
|
1484 #endif |
|
1485 #if defined(MOZ_WIDGET_COCOA) |
|
1486 diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js |
14 diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js |
1487 --- a/browser/components/preferences/in-content/main.js |
15 --- a/browser/components/preferences/in-content/main.js |
1488 +++ b/browser/components/preferences/in-content/main.js |
16 +++ b/browser/components/preferences/in-content/main.js |
1489 @@ -289,16 +289,23 @@ var gMainPane = { |
17 @@ -341,16 +341,23 @@ var gMainPane = { |
1490 this._backoffIndex++ : backoffTimes.length - 1]); |
18 }, backoffTimes[this._backoffIndex + 1 < backoffTimes.length ? this._backoffIndex++ : backoffTimes.length - 1]); |
1491 }; |
19 }; |
1492 |
20 |
1493 window.setTimeout(() => { |
21 window.setTimeout(() => { |
1494 window.requestIdleCallback(pollForDefaultBrowser); |
22 window.requestIdleCallback(pollForDefaultBrowser); |
1495 }, backoffTimes[this._backoffIndex]); |
23 }, backoffTimes[this._backoffIndex]); |