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# NB: IF YOU ADD ITEMS TO THIS FILE, PLEASE UPDATE THE WHITELIST IN 7# BrowserUITelemetry.jsm. SEE BUG 991757 FOR DETAILS. 8 9 <menugroup id="context-navigation"> 10 <menuitem id="context-back" 11 class="menuitem-iconic" 12 tooltiptext="&backButton.tooltip;" 13 aria-label="&backCmd.label;" 14 command="Browser:BackOrBackDuplicate" 15 onclick="checkForMiddleClick(this, event);"/> 16 <menuitem id="context-forward" 17 class="menuitem-iconic" 18 tooltiptext="&forwardButton.tooltip;" 19 aria-label="&forwardCmd.label;" 20 command="Browser:ForwardOrForwardDuplicate" 21 onclick="checkForMiddleClick(this, event);"/> 22 <menuitem id="context-reload" 23 class="menuitem-iconic" 24 tooltiptext="&reloadButton.tooltip;" 25 aria-label="&reloadCmd.label;" 26 oncommand="gContextMenu.reload(event);" 27 onclick="checkForMiddleClick(this, event);"/> 28 <menuitem id="context-stop" 29 class="menuitem-iconic" 30 tooltiptext="&stopButton.tooltip;" 31 aria-label="&stopCmd.label;" 32 command="Browser:Stop"/> 33 <menuitem id="context-bookmarkpage" 34 class="menuitem-iconic" 35 observes="bookmarkThisPageBroadcaster" 36 aria-label="&bookmarkPageCmd2.label;" 37 oncommand="gContextMenu.bookmarkThisPage();"/> 38 </menugroup> 39 <menuseparator id="context-sep-navigation"/> 40 <menuseparator id="page-menu-separator"/> 41 <menuitem id="spell-no-suggestions" 42 disabled="true" 43 label="&spellNoSuggestions.label;"/> 44 <menuitem id="spell-add-to-dictionary" 45 label="&spellAddToDictionary.label;" 46 accesskey="&spellAddToDictionary.accesskey;" 47 oncommand="InlineSpellCheckerUI.addToDictionary();"/> 48 <menuitem id="spell-undo-add-to-dictionary" 49 label="&spellUndoAddToDictionary.label;" 50 accesskey="&spellUndoAddToDictionary.accesskey;" 51 oncommand="InlineSpellCheckerUI.undoAddToDictionary();" /> 52 <menuseparator id="spell-suggestions-separator"/> 53 <menuitem id="context-openlinkincurrent" 54 label="&openLinkCmdInCurrent.label;" 55 accesskey="&openLinkCmdInCurrent.accesskey;" 56 oncommand="gContextMenu.openLinkInCurrent();"/> 57# label and data-usercontextid are dynamically set. 58 <menuitem id="context-openlinkincontainertab" 59 accesskey="&openLinkCmdInTab.accesskey;" 60 oncommand="gContextMenu.openLinkInTab(event);"/> 61 <menuitem id="context-openlinkintab" 62 label="&openLinkCmdInTab.label;" 63 accesskey="&openLinkCmdInTab.accesskey;" 64 data-usercontextid="0" 65 oncommand="gContextMenu.openLinkInTab(event);"/> 66 67 <menu id="context-openlinkinusercontext-menu" 68 label="&openLinkCmdInContainerTab.label;" 69 accesskey="&openLinkCmdInContainerTab.accesskey;" 70 hidden="true"> 71 <menupopup oncommand="gContextMenu.openLinkInTab(event);" 72 onpopupshowing="return gContextMenu.createContainerMenu(event);" /> 73 </menu> 74 75 <menuitem id="context-openlink" 76 label="&openLinkCmd.label;" 77 accesskey="&openLinkCmd.accesskey;" 78 oncommand="gContextMenu.openLink();"/> 79 <menuitem id="context-openlinkprivate" 80 label="&openLinkInPrivateWindowCmd.label;" 81 accesskey="&openLinkInPrivateWindowCmd.accesskey;" 82 oncommand="gContextMenu.openLinkInPrivateWindow();"/> 83 <menuseparator id="context-sep-open"/> 84 <menuitem id="context-bookmarklink" 85 label="&bookmarkThisLinkCmd.label;" 86 accesskey="&bookmarkThisLinkCmd.accesskey;" 87 oncommand="gContextMenu.bookmarkLink();"/> 88 <menuitem id="context-sharelink" 89 label="&shareLink.label;" 90 accesskey="&shareLink.accesskey;" 91 oncommand="gContextMenu.shareLink();"/> 92 <menuitem id="context-savelink" 93 label="&saveLinkCmd.label;" 94 accesskey="&saveLinkCmd.accesskey;" 95 oncommand="gContextMenu.saveLink();"/> 96 <menuitem id="context-copyemail" 97 label="©EmailCmd.label;" 98 accesskey="©EmailCmd.accesskey;" 99 oncommand="gContextMenu.copyEmail();"/> 100 <menuitem id="context-copylink" 101 label="©LinkCmd.label;" 102 accesskey="©LinkCmd.accesskey;" 103 oncommand="gContextMenu.copyLink();"/> 104 <menuseparator id="context-sep-copylink"/> 105 <menuitem id="context-media-play" 106 label="&mediaPlay.label;" 107 accesskey="&mediaPlay.accesskey;" 108 oncommand="gContextMenu.mediaCommand('play');"/> 109 <menuitem id="context-media-pause" 110 label="&mediaPause.label;" 111 accesskey="&mediaPause.accesskey;" 112 oncommand="gContextMenu.mediaCommand('pause');"/> 113 <menuitem id="context-media-mute" 114 label="&mediaMute.label;" 115 accesskey="&mediaMute.accesskey;" 116 oncommand="gContextMenu.mediaCommand('mute');"/> 117 <menuitem id="context-media-unmute" 118 label="&mediaUnmute.label;" 119 accesskey="&mediaUnmute.accesskey;" 120 oncommand="gContextMenu.mediaCommand('unmute');"/> 121 <menu id="context-media-playbackrate" label="&mediaPlaybackRate2.label;" accesskey="&mediaPlaybackRate2.accesskey;"> 122 <menupopup> 123 <menuitem id="context-media-playbackrate-050x" 124 label="&mediaPlaybackRate050x2.label;" 125 accesskey="&mediaPlaybackRate050x2.accesskey;" 126 type="radio" 127 name="playbackrate" 128 oncommand="gContextMenu.mediaCommand('playbackRate', 0.5);"/> 129 <menuitem id="context-media-playbackrate-100x" 130 label="&mediaPlaybackRate100x2.label;" 131 accesskey="&mediaPlaybackRate100x2.accesskey;" 132 type="radio" 133 name="playbackrate" 134 checked="true" 135 oncommand="gContextMenu.mediaCommand('playbackRate', 1.0);"/> 136 <menuitem id="context-media-playbackrate-125x" 137 label="&mediaPlaybackRate125x2.label;" 138 accesskey="&mediaPlaybackRate125x2.accesskey;" 139 type="radio" 140 name="playbackrate" 141 oncommand="gContextMenu.mediaCommand('playbackRate', 1.25);"/> 142 <menuitem id="context-media-playbackrate-150x" 143 label="&mediaPlaybackRate150x2.label;" 144 accesskey="&mediaPlaybackRate150x2.accesskey;" 145 type="radio" 146 name="playbackrate" 147 oncommand="gContextMenu.mediaCommand('playbackRate', 1.5);"/> 148 <menuitem id="context-media-playbackrate-200x" 149 label="&mediaPlaybackRate200x2.label;" 150 accesskey="&mediaPlaybackRate200x2.accesskey;" 151 type="radio" 152 name="playbackrate" 153 oncommand="gContextMenu.mediaCommand('playbackRate', 2.0);"/> 154 </menupopup> 155 </menu> 156 <menuitem id="context-media-loop" 157 label="&mediaLoop.label;" 158 accesskey="&mediaLoop.accesskey;" 159 type="checkbox" 160 oncommand="gContextMenu.mediaCommand('loop');"/> 161 <menuitem id="context-media-showcontrols" 162 label="&mediaShowControls.label;" 163 accesskey="&mediaShowControls.accesskey;" 164 oncommand="gContextMenu.mediaCommand('showcontrols');"/> 165 <menuitem id="context-media-hidecontrols" 166 label="&mediaHideControls.label;" 167 accesskey="&mediaHideControls.accesskey;" 168 oncommand="gContextMenu.mediaCommand('hidecontrols');"/> 169 <menuitem id="context-video-fullscreen" 170 accesskey="&videoFullScreen.accesskey;" 171 label="&videoFullScreen.label;" 172 oncommand="gContextMenu.mediaCommand('fullscreen');"/> 173 <menuitem id="context-leave-dom-fullscreen" 174 accesskey="&leaveDOMFullScreen.accesskey;" 175 label="&leaveDOMFullScreen.label;" 176 oncommand="gContextMenu.leaveDOMFullScreen();"/> 177 <menuseparator id="context-media-sep-commands"/> 178 <menuitem id="context-reloadimage" 179 label="&reloadImageCmd.label;" 180 accesskey="&reloadImageCmd.accesskey;" 181 oncommand="gContextMenu.reloadImage();"/> 182 <menuitem id="context-viewimage" 183 label="&viewImageCmd.label;" 184 accesskey="&viewImageCmd.accesskey;" 185 oncommand="gContextMenu.viewMedia(event);" 186 onclick="checkForMiddleClick(this, event);"/> 187 <menuitem id="context-viewvideo" 188 label="&viewVideoCmd.label;" 189 accesskey="&viewVideoCmd.accesskey;" 190 oncommand="gContextMenu.viewMedia(event);" 191 onclick="checkForMiddleClick(this, event);"/> 192#ifdef CONTEXT_COPY_IMAGE_CONTENTS 193 <menuitem id="context-copyimage-contents" 194 label="©ImageContentsCmd.label;" 195 accesskey="©ImageContentsCmd.accesskey;" 196 oncommand="goDoCommand('cmd_copyImage');"/> 197#endif 198 <menuitem id="context-copyimage" 199 label="©ImageCmd.label;" 200 accesskey="©ImageCmd.accesskey;" 201 oncommand="gContextMenu.copyMediaLocation();"/> 202 <menuitem id="context-copyvideourl" 203 label="©VideoURLCmd.label;" 204 accesskey="©VideoURLCmd.accesskey;" 205 oncommand="gContextMenu.copyMediaLocation();"/> 206 <menuitem id="context-copyaudiourl" 207 label="©AudioURLCmd.label;" 208 accesskey="©AudioURLCmd.accesskey;" 209 oncommand="gContextMenu.copyMediaLocation();"/> 210 <menuseparator id="context-sep-copyimage"/> 211 <menuitem id="context-saveimage" 212 label="&saveImageCmd.label;" 213 accesskey="&saveImageCmd.accesskey;" 214 oncommand="gContextMenu.saveMedia();"/> 215 <menuitem id="context-shareimage" 216 label="&shareImage.label;" 217 accesskey="&shareImage.accesskey;" 218 oncommand="gContextMenu.shareImage();"/> 219 <menuitem id="context-sendimage" 220 label="&emailImageCmd.label;" 221 accesskey="&emailImageCmd.accesskey;" 222 oncommand="gContextMenu.sendMedia();"/> 223 <menuitem id="context-setDesktopBackground" 224 label="&setDesktopBackgroundCmd.label;" 225 accesskey="&setDesktopBackgroundCmd.accesskey;" 226 oncommand="gContextMenu.setDesktopBackground();"/> 227 <menuitem id="context-viewimageinfo" 228 label="&viewImageInfoCmd.label;" 229 accesskey="&viewImageInfoCmd.accesskey;" 230 oncommand="gContextMenu.viewImageInfo();"/> 231 <menuitem id="context-viewimagedesc" 232 label="&viewImageDescCmd.label;" 233 accesskey="&viewImageDescCmd.accesskey;" 234 oncommand="gContextMenu.viewImageDesc(event);" 235 onclick="checkForMiddleClick(this, event);"/> 236 <menuitem id="context-savevideo" 237 label="&saveVideoCmd.label;" 238 accesskey="&saveVideoCmd.accesskey;" 239 oncommand="gContextMenu.saveMedia();"/> 240 <menuitem id="context-sharevideo" 241 label="&shareVideo.label;" 242 accesskey="&shareVideo.accesskey;" 243 oncommand="gContextMenu.shareVideo();"/> 244 <menuitem id="context-saveaudio" 245 label="&saveAudioCmd.label;" 246 accesskey="&saveAudioCmd.accesskey;" 247 oncommand="gContextMenu.saveMedia();"/> 248 <menuitem id="context-video-saveimage" 249 accesskey="&videoSaveImage.accesskey;" 250 label="&videoSaveImage.label;" 251 oncommand="gContextMenu.saveVideoFrameAsImage();"/> 252 <menuitem id="context-sendvideo" 253 label="&emailVideoCmd.label;" 254 accesskey="&emailVideoCmd.accesskey;" 255 oncommand="gContextMenu.sendMedia();"/> 256 <menu id="context-castvideo" 257 label="&castVideoCmd.label;" 258 accesskey="&castVideoCmd.accesskey;"> 259 <menupopup id="context-castvideo-popup" onpopupshowing="gContextMenu.populateCastVideoMenu(this)"/> 260 </menu> 261 <menuitem id="context-sendaudio" 262 label="&emailAudioCmd.label;" 263 accesskey="&emailAudioCmd.accesskey;" 264 oncommand="gContextMenu.sendMedia();"/> 265 <menuitem id="context-ctp-play" 266 label="&playPluginCmd.label;" 267 accesskey="&playPluginCmd.accesskey;" 268 oncommand="gContextMenu.playPlugin();"/> 269 <menuitem id="context-ctp-hide" 270 label="&hidePluginCmd.label;" 271 accesskey="&hidePluginCmd.accesskey;" 272 oncommand="gContextMenu.hidePlugin();"/> 273 <menuseparator id="context-sep-ctp"/> 274 <menuitem id="context-sharepage" 275 label="&sharePageCmd.label;" 276 accesskey="&sharePageCmd.accesskey;" 277 oncommand="SocialShare.sharePage();"/> 278 <menuitem id="context-savepage" 279 label="&savePageCmd.label;" 280 accesskey="&savePageCmd.accesskey2;" 281 oncommand="gContextMenu.savePageAs();"/> 282 <menuseparator id="context-sep-sendpagetodevice" hidden="true"/> 283 <menu id="context-sendpagetodevice" 284 label="&sendPageToDevice.label;" 285 accesskey="&sendPageToDevice.accesskey;" 286 hidden="true"> 287 <menupopup id="context-sendpagetodevice-popup" 288 onpopupshowing="(() => { let browser = gBrowser || getPanelBrowser(); gFxAccounts.populateSendTabToDevicesMenu(event.target, browser.currentURI.spec, browser.contentTitle); })()"/> 289 </menu> 290 <menuseparator id="context-sep-viewbgimage"/> 291 <menuitem id="context-viewbgimage" 292 label="&viewBGImageCmd.label;" 293 accesskey="&viewBGImageCmd.accesskey;" 294 oncommand="gContextMenu.viewBGImage(event);" 295 onclick="checkForMiddleClick(this, event);"/> 296 <menuitem id="context-undo" 297 label="&undoCmd.label;" 298 accesskey="&undoCmd.accesskey;" 299 command="cmd_undo"/> 300 <menuseparator id="context-sep-undo"/> 301 <menuitem id="context-cut" 302 label="&cutCmd.label;" 303 accesskey="&cutCmd.accesskey;" 304 command="cmd_cut"/> 305 <menuitem id="context-copy" 306 label="©Cmd.label;" 307 accesskey="©Cmd.accesskey;" 308 command="cmd_copy"/> 309 <menuitem id="context-paste" 310 label="&pasteCmd.label;" 311 accesskey="&pasteCmd.accesskey;" 312 command="cmd_paste"/> 313 <menuitem id="context-delete" 314 label="&deleteCmd.label;" 315 accesskey="&deleteCmd.accesskey;" 316 command="cmd_delete"/> 317 <menuseparator id="context-sep-paste"/> 318 <menuitem id="context-selectall" 319 label="&selectAllCmd.label;" 320 accesskey="&selectAllCmd.accesskey;" 321 command="cmd_selectAll"/> 322 <menuseparator id="context-sep-selectall"/> 323 <menuitem id="context-keywordfield" 324 label="&keywordfield.label;" 325 accesskey="&keywordfield.accesskey;" 326 oncommand="AddKeywordForSearchField();"/> 327 <menuitem id="context-searchselect" 328 oncommand="BrowserSearch.loadSearchFromContext(this.searchTerms);"/> 329 <menuseparator id="context-sep-sendlinktodevice" hidden="true"/> 330 <menu id="context-sendlinktodevice" 331 label="&sendLinkToDevice.label;" 332 accesskey="&sendLinkToDevice.accesskey;" 333 hidden="true"> 334 <menupopup id="context-sendlinktodevice-popup" 335 onpopupshowing="gFxAccounts.populateSendTabToDevicesMenu(event.target, gContextMenu.linkURL, gContextMenu.linkTextStr);"/> 336 </menu> 337 <menuitem id="context-shareselect" 338 label="&shareSelect.label;" 339 accesskey="&shareSelect.accesskey;" 340 oncommand="gContextMenu.shareSelect();"/> 341 <menuseparator id="frame-sep"/> 342 <menu id="frame" label="&thisFrameMenu.label;" accesskey="&thisFrameMenu.accesskey;"> 343 <menupopup> 344 <menuitem id="context-showonlythisframe" 345 label="&showOnlyThisFrameCmd.label;" 346 accesskey="&showOnlyThisFrameCmd.accesskey;" 347 oncommand="gContextMenu.showOnlyThisFrame();"/> 348 <menuitem id="context-openframeintab" 349 label="&openFrameCmdInTab.label;" 350 accesskey="&openFrameCmdInTab.accesskey;" 351 oncommand="gContextMenu.openFrameInTab();"/> 352 <menuitem id="context-openframe" 353 label="&openFrameCmd.label;" 354 accesskey="&openFrameCmd.accesskey;" 355 oncommand="gContextMenu.openFrame();"/> 356 <menuseparator id="open-frame-sep"/> 357 <menuitem id="context-reloadframe" 358 label="&reloadFrameCmd.label;" 359 accesskey="&reloadFrameCmd.accesskey;" 360 oncommand="gContextMenu.reloadFrame();"/> 361 <menuseparator/> 362 <menuitem id="context-bookmarkframe" 363 label="&bookmarkThisFrameCmd.label;" 364 accesskey="&bookmarkThisFrameCmd.accesskey;" 365 oncommand="gContextMenu.addBookmarkForFrame();"/> 366 <menuitem id="context-saveframe" 367 label="&saveFrameCmd.label;" 368 accesskey="&saveFrameCmd.accesskey;" 369 oncommand="gContextMenu.saveFrame();"/> 370 <menuseparator/> 371 <menuitem id="context-printframe" 372 label="&printFrameCmd.label;" 373 accesskey="&printFrameCmd.accesskey;" 374 oncommand="gContextMenu.printFrame();"/> 375 <menuseparator/> 376 <menuitem id="context-viewframesource" 377 label="&viewFrameSourceCmd.label;" 378 accesskey="&viewFrameSourceCmd.accesskey;" 379 oncommand="gContextMenu.viewFrameSource();" 380 observes="isFrameImage"/> 381 <menuitem id="context-viewframeinfo" 382 label="&viewFrameInfoCmd.label;" 383 accesskey="&viewFrameInfoCmd.accesskey;" 384 oncommand="gContextMenu.viewFrameInfo();"/> 385 </menupopup> 386 </menu> 387 <menuitem id="context-viewpartialsource-selection" 388 label="&viewPartialSourceForSelectionCmd.label;" 389 accesskey="&viewPartialSourceCmd.accesskey;" 390 oncommand="gContextMenu.viewPartialSource('selection');" 391 observes="isImage"/> 392 <menuitem id="context-viewpartialsource-mathml" 393 label="&viewPartialSourceForMathMLCmd.label;" 394 accesskey="&viewPartialSourceCmd.accesskey;" 395 oncommand="gContextMenu.viewPartialSource('mathml');" 396 observes="isImage"/> 397 <menuseparator id="context-sep-viewsource"/> 398 <menuitem id="context-viewsource" 399 label="&viewPageSourceCmd.label;" 400 accesskey="&viewPageSourceCmd.accesskey;" 401 oncommand="BrowserViewSource(gContextMenu.browser);" 402 observes="canViewSource"/> 403 <menuitem id="context-viewinfo" 404 label="&viewPageInfoCmd.label;" 405 accesskey="&viewPageInfoCmd.accesskey;" 406 oncommand="gContextMenu.viewInfo();"/> 407 <menuseparator id="spell-separator"/> 408 <menuitem id="spell-check-enabled" 409 label="&spellCheckToggle.label;" 410 type="checkbox" 411 accesskey="&spellCheckToggle.accesskey;" 412 oncommand="InlineSpellCheckerUI.toggleEnabled(window);"/> 413 <menuitem id="spell-add-dictionaries-main" 414 label="&spellAddDictionaries.label;" 415 accesskey="&spellAddDictionaries.accesskey;" 416 oncommand="gContextMenu.addDictionaries();"/> 417 <menu id="spell-dictionaries" 418 label="&spellDictionaries.label;" 419 accesskey="&spellDictionaries.accesskey;"> 420 <menupopup id="spell-dictionaries-menu"> 421 <menuseparator id="spell-language-separator"/> 422 <menuitem id="spell-add-dictionaries" 423 label="&spellAddDictionaries.label;" 424 accesskey="&spellAddDictionaries.accesskey;" 425 oncommand="gContextMenu.addDictionaries();"/> 426 </menupopup> 427 </menu> 428 <menuseparator hidden="true" id="context-sep-bidi"/> 429 <menuitem hidden="true" id="context-bidi-text-direction-toggle" 430 label="&bidiSwitchTextDirectionItem.label;" 431 accesskey="&bidiSwitchTextDirectionItem.accesskey;" 432 command="cmd_switchTextDirection"/> 433 <menuitem hidden="true" id="context-bidi-page-direction-toggle" 434 label="&bidiSwitchPageDirectionItem.label;" 435 accesskey="&bidiSwitchPageDirectionItem.accesskey;" 436 oncommand="gContextMenu.switchPageDirection();"/> 437 <menuseparator id="fill-login-separator" hidden="true"/> 438 <menu id="fill-login" 439 label="&fillLoginMenu.label;" 440 label-login="&fillLoginMenu.label;" 441 label-password="&fillPasswordMenu.label;" 442 label-username="&fillUsernameMenu.label;" 443 accesskey="&fillLoginMenu.accesskey;" 444 accesskey-login="&fillLoginMenu.accesskey;" 445 accesskey-password="&fillPasswordMenu.accesskey;" 446 accesskey-username="&fillUsernameMenu.accesskey;" 447 hidden="true"> 448 <menupopup id="fill-login-popup"> 449 <menuitem id="fill-login-no-logins" 450 label="&noLoginSuggestions.label;" 451 disabled="true" 452 hidden="true"/> 453 <menuseparator id="saved-logins-separator"/> 454 <menuitem id="fill-login-saved-passwords" 455 label="&viewSavedLogins.label;" 456 oncommand="gContextMenu.openPasswordManager();"/> 457 </menupopup> 458 </menu> 459 <menuseparator id="inspect-separator" hidden="true"/> 460 <menuitem id="context-inspect" 461 hidden="true" 462 label="&inspectContextMenu.label;" 463 accesskey="&inspectContextMenu.accesskey;" 464 oncommand="gContextMenu.inspectNode();"/> 465 <menuseparator id="context-media-eme-separator" hidden="true"/> 466 <menuitem id="context-media-eme-learnmore" 467 class="menuitem-iconic" 468 hidden="true" 469 label="&emeLearnMoreContextMenu.label;" 470 accesskey="&emeLearnMoreContextMenu.accesskey;" 471 oncommand="gContextMenu.drmLearnMore(event);" 472 onclick="checkForMiddleClick(this, event);"/> 473