1# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2# This Source Code Form is subject to the terms of the Mozilla Public
3# License, v. 2.0. If a copy of the MPL was not distributed with this
4# file, You can obtain one at http://mozilla.org/MPL/2.0/.
5
6      <menugroup id="context-navigation">
7        <menuitem id="context-back"
8                  data-l10n-id="main-context-menu-back"
9                  class="menuitem-iconic"
10                  command="Browser:BackOrBackDuplicate"
11                  onclick="checkForMiddleClick(this, event);"/>
12        <menuitem id="context-forward"
13                  data-l10n-id="main-context-menu-forward"
14                  class="menuitem-iconic"
15                  command="Browser:ForwardOrForwardDuplicate"
16                  onclick="checkForMiddleClick(this, event);"/>
17        <menuitem id="context-reload"
18                  class="menuitem-iconic"
19                  tooltip="dynamic-shortcut-tooltip"
20                  data-l10n-id="main-context-menu-reload"
21                  command="Browser:ReloadOrDuplicate"
22                  onclick="checkForMiddleClick(this, event);"/>
23        <menuitem id="context-stop"
24                  class="menuitem-iconic"
25                  tooltip="dynamic-shortcut-tooltip"
26                  data-l10n-id="main-context-menu-stop"
27                  command="Browser:Stop"/>
28        <menuitem id="context-bookmarkpage"
29                  class="menuitem-iconic"
30                  data-l10n-id="main-context-menu-bookmark-add"
31                  oncommand="gContextMenu.bookmarkThisPage();"/>
32      </menugroup>
33      <menuseparator id="context-sep-navigation"/>
34      <menuseparator id="page-menu-separator"/>
35      <menuitem id="spell-no-suggestions"
36                disabled="true"
37                label="&spellNoSuggestions.label;"/>
38      <menuitem id="spell-add-to-dictionary"
39                label="&spellAddToDictionary.label;"
40                accesskey="&spellAddToDictionary.accesskey;"
41                oncommand="InlineSpellCheckerUI.addToDictionary();"/>
42      <menuitem id="spell-undo-add-to-dictionary"
43                label="&spellUndoAddToDictionary.label;"
44                accesskey="&spellUndoAddToDictionary.accesskey;"
45                oncommand="InlineSpellCheckerUI.undoAddToDictionary();" />
46      <menuseparator id="spell-suggestions-separator"/>
47      <menuitem id="context-openlinkincurrent"
48                data-l10n-id="main-context-menu-open-link"
49                oncommand="gContextMenu.openLinkInCurrent();"/>
50# label and data-usercontextid are dynamically set.
51      <menuitem id="context-openlinkincontainertab"
52                accesskey="&openLinkCmdInTab.accesskey;"
53                oncommand="gContextMenu.openLinkInTab(event);"/>
54      <menuitem id="context-openlinkintab"
55                data-l10n-id="main-context-menu-open-link-new-tab"
56                data-usercontextid="0"
57                oncommand="gContextMenu.openLinkInTab(event);"/>
58
59      <menu id="context-openlinkinusercontext-menu"
60            data-l10n-id="main-context-menu-open-link-container-tab"
61            hidden="true">
62        <menupopup oncommand="gContextMenu.openLinkInTab(event);"
63                   onpopupshowing="return gContextMenu.createContainerMenu(event);" />
64      </menu>
65
66      <menuitem id="context-openlink"
67                data-l10n-id="main-context-menu-open-link-new-window"
68                oncommand="gContextMenu.openLink();"/>
69      <menuitem id="context-openlinkprivate"
70                data-l10n-id="main-context-menu-open-link-new-private-window"
71                oncommand="gContextMenu.openLinkInPrivateWindow();"/>
72      <menuseparator id="context-sep-open"/>
73      <menuitem id="context-bookmarklink"
74                data-l10n-id="main-context-menu-bookmark-this-link"
75                oncommand="gContextMenu.bookmarkLink();"/>
76      <menuitem id="context-savelink"
77                data-l10n-id="main-context-menu-save-link"
78                oncommand="gContextMenu.saveLink();"/>
79      <menuitem id="context-savelinktopocket"
80                data-l10n-id="main-context-menu-save-link-to-pocket"
81                oncommand= "Pocket.savePage(gContextMenu.browser, gContextMenu.linkURL);"/>
82      <menuitem id="context-copyemail"
83                data-l10n-id="main-context-menu-copy-email"
84                oncommand="gContextMenu.copyEmail();"/>
85      <menuitem id="context-copylink"
86                data-l10n-id="main-context-menu-copy-link"
87                oncommand="gContextMenu.copyLink();"/>
88      <menuseparator id="context-sep-copylink"/>
89      <menuitem id="context-media-play"
90                data-l10n-id="main-context-menu-media-play"
91                oncommand="gContextMenu.mediaCommand('play');"/>
92      <menuitem id="context-media-pause"
93                data-l10n-id="main-context-menu-media-pause"
94                oncommand="gContextMenu.mediaCommand('pause');"/>
95      <menuitem id="context-media-mute"
96                data-l10n-id="main-context-menu-media-mute"
97                oncommand="gContextMenu.mediaCommand('mute');"/>
98      <menuitem id="context-media-unmute"
99                data-l10n-id="main-context-menu-media-unmute"
100                oncommand="gContextMenu.mediaCommand('unmute');"/>
101      <menu id="context-media-playbackrate" data-l10n-id="main-context-menu-media-play-speed">
102        <menupopup>
103          <menuitem id="context-media-playbackrate-050x"
104                    data-l10n-id="main-context-menu-media-play-speed-slow"
105                    type="radio"
106                    name="playbackrate"
107                    oncommand="gContextMenu.mediaCommand('playbackRate', 0.5);"/>
108          <menuitem id="context-media-playbackrate-100x"
109                    data-l10n-id="main-context-menu-media-play-speed-normal"
110                    type="radio"
111                    name="playbackrate"
112                    checked="true"
113                    oncommand="gContextMenu.mediaCommand('playbackRate', 1.0);"/>
114          <menuitem id="context-media-playbackrate-125x"
115                    data-l10n-id="main-context-menu-media-play-speed-fast"
116                    type="radio"
117                    name="playbackrate"
118                    oncommand="gContextMenu.mediaCommand('playbackRate', 1.25);"/>
119          <menuitem id="context-media-playbackrate-150x"
120                    data-l10n-id="main-context-menu-media-play-speed-faster"
121                    type="radio"
122                    name="playbackrate"
123                    oncommand="gContextMenu.mediaCommand('playbackRate', 1.5);"/>
124          <menuitem id="context-media-playbackrate-200x"
125                    data-l10n-id="main-context-menu-media-play-speed-fastest"
126                    type="radio"
127                    name="playbackrate"
128                    oncommand="gContextMenu.mediaCommand('playbackRate', 2.0);"/>
129        </menupopup>
130      </menu>
131      <menuitem id="context-media-loop"
132                data-l10n-id="main-context-menu-media-loop"
133                type="checkbox"
134                oncommand="gContextMenu.mediaCommand('loop');"/>
135      <menuitem id="context-media-showcontrols"
136                data-l10n-id="main-context-menu-media-show-controls"
137                oncommand="gContextMenu.mediaCommand('showcontrols');"/>
138      <menuitem id="context-media-hidecontrols"
139                data-l10n-id="main-context-menu-media-hide-controls"
140                oncommand="gContextMenu.mediaCommand('hidecontrols');"/>
141      <menuitem id="context-video-fullscreen"
142                data-l10n-id="main-context-menu-media-video-fullscreen"
143                oncommand="gContextMenu.mediaCommand('fullscreen');"/>
144      <menuitem id="context-leave-dom-fullscreen"
145                data-l10n-id="main-context-menu-media-video-leave-fullscreen"
146                oncommand="gContextMenu.leaveDOMFullScreen();"/>
147      <menuitem id="context-video-pictureinpicture"
148                data-l10n-id="main-context-menu-media-pip"
149                type="checkbox"
150                oncommand="gContextMenu.mediaCommand('pictureinpicture');"/>
151      <menuseparator id="context-media-sep-commands"/>
152      <menuitem id="context-reloadimage"
153                data-l10n-id="main-context-menu-image-reload"
154                oncommand="gContextMenu.reloadImage();"/>
155      <menuitem id="context-viewimage"
156                data-l10n-id="main-context-menu-image-view"
157                oncommand="gContextMenu.viewMedia(event);"
158                onclick="checkForMiddleClick(this, event);"/>
159      <menuitem id="context-viewvideo"
160                data-l10n-id="main-context-menu-video-view"
161                oncommand="gContextMenu.viewMedia(event);"
162                onclick="checkForMiddleClick(this, event);"/>
163#ifdef CONTEXT_COPY_IMAGE_CONTENTS
164      <menuitem id="context-copyimage-contents"
165                data-l10n-id="main-context-menu-image-copy"
166                oncommand="goDoCommand('cmd_copyImage');"/>
167#endif
168      <menuitem id="context-copyimage"
169                data-l10n-id="main-context-menu-image-copy-location"
170                oncommand="gContextMenu.copyMediaLocation();"/>
171      <menuitem id="context-copyvideourl"
172                data-l10n-id="main-context-menu-video-copy-location"
173                oncommand="gContextMenu.copyMediaLocation();"/>
174      <menuitem id="context-copyaudiourl"
175                data-l10n-id="main-context-menu-audio-copy-location"
176                oncommand="gContextMenu.copyMediaLocation();"/>
177      <menuseparator id="context-sep-copyimage"/>
178      <menuitem id="context-saveimage"
179                data-l10n-id="main-context-menu-image-save-as"
180                oncommand="gContextMenu.saveMedia();"/>
181      <menuitem id="context-sendimage"
182                data-l10n-id="main-context-menu-image-email"
183                oncommand="gContextMenu.sendMedia();"/>
184      <menuitem id="context-setDesktopBackground"
185                data-l10n-id="main-context-menu-image-set-as-background"
186                oncommand="gContextMenu.setDesktopBackground();"/>
187      <menuitem id="context-viewimageinfo"
188                data-l10n-id="main-context-menu-image-info"
189                oncommand="gContextMenu.viewImageInfo();"/>
190      <menuitem id="context-viewimagedesc"
191                data-l10n-id="main-context-menu-image-desc"
192                oncommand="gContextMenu.viewImageDesc(event);"
193                onclick="checkForMiddleClick(this, event);"/>
194      <menuitem id="context-savevideo"
195                data-l10n-id="main-context-menu-video-save-as"
196                oncommand="gContextMenu.saveMedia();"/>
197      <menuitem id="context-saveaudio"
198                data-l10n-id="main-context-menu-audio-save-as"
199                oncommand="gContextMenu.saveMedia();"/>
200      <menuitem id="context-video-saveimage"
201                data-l10n-id="main-context-menu-video-image-save-as"
202                oncommand="gContextMenu.saveVideoFrameAsImage();"/>
203      <menuitem id="context-sendvideo"
204                data-l10n-id="main-context-menu-video-email"
205                oncommand="gContextMenu.sendMedia();"/>
206      <menuitem id="context-sendaudio"
207                data-l10n-id="main-context-menu-audio-email"
208                oncommand="gContextMenu.sendMedia();"/>
209      <menuitem id="context-ctp-play"
210                data-l10n-id="main-context-menu-plugin-play"
211                oncommand="gContextMenu.playPlugin();"/>
212      <menuitem id="context-ctp-hide"
213                data-l10n-id="main-context-menu-plugin-hide"
214                oncommand="gContextMenu.hidePlugin();"/>
215      <menuseparator id="context-sep-ctp"/>
216      <menuitem id="context-savepage"
217                data-l10n-id="main-context-menu-page-save"
218                oncommand="gContextMenu.savePageAs();"/>
219      <menuitem id="context-pocket"
220                data-l10n-id="main-context-menu-save-to-pocket"
221                oncommand="Pocket.savePage(gContextMenu.browser, gContextMenu.browser.currentURI.spec, gContextMenu.browser.contentTitle);"/>
222      <menuseparator id="context-sep-sendpagetodevice" class="sync-ui-item"
223                     hidden="true"/>
224      <menu id="context-sendpagetodevice"
225            class="sync-ui-item"
226            data-l10n-id="main-context-menu-send-to-device"
227            hidden="true">
228        <menupopup id="context-sendpagetodevice-popup"
229                   onpopupshowing="(() => { gSync.populateSendTabToDevicesMenu(event.target, gBrowser.currentURI.spec, gBrowser.contentTitle); })()"/>
230      </menu>
231      <menuseparator id="context-sep-viewbgimage"/>
232      <menuitem id="context-viewbgimage"
233                data-l10n-id="main-context-menu-view-background-image"
234                oncommand="gContextMenu.viewBGImage(event);"
235                onclick="checkForMiddleClick(this, event);"/>
236      <menu id="fill-login"
237            label="&fillLoginMenu.label;"
238            label-login="&fillLoginMenu.label;"
239            label-password="&fillPasswordMenu.label;"
240            label-username="&fillUsernameMenu.label;"
241            accesskey="&fillLoginMenu.accesskey;"
242            accesskey-login="&fillLoginMenu.accesskey;"
243            accesskey-password="&fillPasswordMenu.accesskey;"
244            accesskey-username="&fillUsernameMenu.accesskey;"
245            hidden="true">
246        <menupopup id="fill-login-popup">
247          <menuitem id="fill-login-no-logins"
248                    label="&noLoginSuggestions.label;"
249                    disabled="true"
250                    hidden="true"/>
251          <menuseparator id="saved-logins-separator"/>
252          <menuitem id="fill-login-saved-passwords"
253                    label="&viewSavedLogins.label;"
254                    oncommand="gContextMenu.openPasswordManager();"/>
255        </menupopup>
256      </menu>
257     <menuitem id="fill-login-generated-password"
258               data-l10n-id="main-context-menu-generate-new-password"
259               hidden="true"
260               oncommand="gContextMenu.useGeneratedPassword();"/>
261      <menuseparator id="fill-login-and-generated-password-separator"/>
262      <menuitem id="context-undo"
263                data-l10n-id="text-action-undo"
264                command="cmd_undo"/>
265      <menuseparator id="context-sep-undo"/>
266      <menuitem id="context-cut"
267                data-l10n-id="text-action-cut"
268                command="cmd_cut"/>
269      <menuitem id="context-copy"
270                data-l10n-id="text-action-copy"
271                command="cmd_copy"/>
272      <menuitem id="context-paste"
273                data-l10n-id="text-action-paste"
274                command="cmd_paste"/>
275      <menuitem id="context-delete"
276                data-l10n-id="text-action-delete"
277                command="cmd_delete"/>
278      <menuseparator id="context-sep-paste"/>
279      <menuitem id="context-selectall"
280                data-l10n-id="text-action-select-all"
281                command="cmd_selectAll"/>
282      <menuseparator id="context-sep-selectall"/>
283      <menuitem id="context-keywordfield"
284                data-l10n-id="main-context-menu-keyword"
285                oncommand="AddKeywordForSearchField();"/>
286      <menuitem id="context-searchselect"
287                oncommand="BrowserSearch.loadSearchFromContext(this.searchTerms, this.usePrivate, this.principal, this.csp);"/>
288      <menuitem id="context-searchselect-private"
289                oncommand="BrowserSearch.loadSearchFromContext(this.searchTerms, true, this.principal, this.csp);"/>
290      <menuseparator id="context-sep-sendlinktodevice" class="sync-ui-item"
291                     hidden="true"/>
292      <menu id="context-sendlinktodevice"
293            class="sync-ui-item"
294            data-l10n-id="main-context-menu-link-send-to-device"
295            hidden="true">
296        <menupopup id="context-sendlinktodevice-popup"
297                   onpopupshowing="gSync.populateSendTabToDevicesMenu(event.target, gContextMenu.linkURL, gContextMenu.linkTextStr);"/>
298      </menu>
299      <menuseparator id="frame-sep"/>
300      <menu id="frame" data-l10n-id="main-context-menu-frame">
301        <menupopup>
302          <menuitem id="context-showonlythisframe"
303                    data-l10n-id="main-context-menu-frame-show-this"
304                    oncommand="gContextMenu.showOnlyThisFrame();"/>
305          <menuitem id="context-openframeintab"
306                    data-l10n-id="main-context-menu-frame-open-tab"
307                    oncommand="gContextMenu.openFrameInTab();"/>
308          <menuitem id="context-openframe"
309                    data-l10n-id="main-context-menu-frame-open-window"
310                    oncommand="gContextMenu.openFrame();"/>
311          <menuseparator id="open-frame-sep"/>
312          <menuitem id="context-reloadframe"
313                    data-l10n-id="main-context-menu-frame-reload"
314                    oncommand="gContextMenu.reloadFrame(event);"/>
315          <menuseparator/>
316          <menuitem id="context-bookmarkframe"
317                    data-l10n-id="main-context-menu-frame-bookmark"
318                    oncommand="gContextMenu.addBookmarkForFrame();"/>
319          <menuitem id="context-saveframe"
320                    data-l10n-id="main-context-menu-frame-save-as"
321                    oncommand="gContextMenu.saveFrame();"/>
322          <menuseparator/>
323          <menuitem id="context-printframe"
324                    data-l10n-id="main-context-menu-frame-print"
325                    oncommand="gContextMenu.printFrame();"/>
326          <menuseparator/>
327          <menuitem id="context-viewframesource"
328                    data-l10n-id="main-context-menu-frame-view-source"
329                    oncommand="gContextMenu.viewFrameSource();"/>
330          <menuitem id="context-viewframeinfo"
331                    data-l10n-id="main-context-menu-frame-view-info"
332                    oncommand="gContextMenu.viewFrameInfo();"/>
333#ifdef NIGHTLY_BUILD
334          <menuitem id="context-frameOsPid"
335                    label="PID: Unknown"
336                    disabled="true"/>
337#endif
338        </menupopup>
339      </menu>
340      <menuitem id="context-viewpartialsource-selection"
341                data-l10n-id="main-context-menu-view-selection-source"
342                oncommand="gContextMenu.viewPartialSource();"/>
343      <menuseparator id="context-sep-viewsource"/>
344      <menuitem id="context-viewsource"
345                data-l10n-id="main-context-menu-view-page-source"
346                oncommand="BrowserViewSource(gContextMenu.browser);"/>
347      <menuitem id="context-viewinfo"
348                data-l10n-id="main-context-menu-view-page-info"
349                oncommand="gContextMenu.viewInfo();"/>
350      <menuseparator id="spell-separator"/>
351      <menuitem id="spell-check-enabled"
352                label="&spellCheckToggle.label;"
353                type="checkbox"
354                accesskey="&spellCheckToggle.accesskey;"
355                oncommand="InlineSpellCheckerUI.toggleEnabled(window);"/>
356      <menuitem id="spell-add-dictionaries-main"
357                label="&spellAddDictionaries.label;"
358                accesskey="&spellAddDictionaries.accesskey;"
359                oncommand="gContextMenu.addDictionaries();"/>
360      <menu id="spell-dictionaries"
361            label="&spellDictionaries.label;"
362            accesskey="&spellDictionaries.accesskey;">
363          <menupopup id="spell-dictionaries-menu">
364              <menuseparator id="spell-language-separator"/>
365              <menuitem id="spell-add-dictionaries"
366                        label="&spellAddDictionaries.label;"
367                        accesskey="&spellAddDictionaries.accesskey;"
368                        oncommand="gContextMenu.addDictionaries();"/>
369          </menupopup>
370      </menu>
371      <menuseparator hidden="true" id="context-sep-bidi"/>
372      <menuitem hidden="true" id="context-bidi-text-direction-toggle"
373                data-l10n-id="main-context-menu-bidi-switch-text"
374                command="cmd_switchTextDirection"/>
375      <menuitem hidden="true" id="context-bidi-page-direction-toggle"
376                data-l10n-id="main-context-menu-bidi-switch-page"
377                oncommand="gContextMenu.switchPageDirection();"/>
378      <menuseparator id="inspect-separator" hidden="true"/>
379      <menuitem id="context-inspect-a11y"
380                hidden="true"
381                data-l10n-id="main-context-menu-inspect-a11y-properties"
382                oncommand="gContextMenu.inspectA11Y();"/>
383      <menuitem id="context-inspect"
384                hidden="true"
385                data-l10n-id="main-context-menu-inspect-element"
386                oncommand="gContextMenu.inspectNode();"/>
387      <menuseparator id="context-media-eme-separator" hidden="true"/>
388      <menuitem id="context-media-eme-learnmore"
389                class="menuitem-iconic"
390                hidden="true"
391                data-l10n-id="main-context-menu-eme-learn-more"
392                oncommand="gContextMenu.drmLearnMore(event);"
393                onclick="checkForMiddleClick(this, event);"/>
394