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