Source code

Revision control

Other Tools

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