<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
   - Version: MPL 1.1/GPL 2.0/LGPL 2.1
   -
   - The contents of this file are subject to the Mozilla Public License Version
   - 1.1 (the "License"); you may not use this file except in compliance with
   - the License. You may obtain a copy of the License at
   - http://www.mozilla.org/MPL/
   -
   - Software distributed under the License is distributed on an "AS IS" basis,
   - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
   - for the specific language governing rights and limitations under the
   - License.
   -
   - The Original Code is Mozilla Communicator client code, released
   - March 31, 1998.
   -
   - The Initial Developer of the Original Code is
   - Netscape Communications Corporation.
   - Portions created by the Initial Developer are Copyright (C) 1998-1999
   - the Initial Developer. All Rights Reserved.
   -
   - Contributor(s):
   -   Blake Ross <blakeross@telocity.com>
   -
   - Alternatively, the contents of this file may be used under the terms of
   - either of the GNU General Public License Version 2 or later (the "GPL"),
   - or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
   - in which case the provisions of the GPL or the LGPL are applicable instead
   - of those above. If you wish to allow use of your version of this file only
   - under the terms of either the GPL or the LGPL, and not to allow others to
   - use your version of this file under the terms of the MPL, indicate your
   - decision by deleting the provisions above and replace them with the notice
   - and other provisions required by the GPL or the LGPL. If you do not delete
   - the provisions above, a recipient may use your version of this file under
   - the terms of any one of the MPL, the GPL or the LGPL.
   -
   - ***** END LICENSE BLOCK ***** -->
<!DOCTYPE overlay SYSTEM "chrome://communicator/locale/contentAreaCommands.dtd" >
<overlay id="contentAreaContextOverlay"
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

  <!-- Context menu -->
  <script type="application/javascript">
    // Global variable that holds the nsContextMenu instance.
    var gContextMenu = null;
  </script>
  <script type="application/javascript" src="chrome://global/content/inlineSpellCheckUI.js"/>
  <script type="application/javascript" src="chrome://communicator/content/nsContextMenu.js"/>
  <script type="application/javascript" src="chrome://global/content/contentAreaUtils.js"/>

  <stringbundleset>
    <stringbundle id="contentAreaCommandsBundle"
                  src="chrome://communicator/locale/contentAreaCommands.properties"/>
  </stringbundleset>

  <popupset id="contentAreaContextSet">
    <!-- This is a generic context menu for a content area. It contains
         each and every possible menu choice.  The appropriate items are
         hidden/shown upon display, based on what the user has clicked-on.
     -->
    <menupopup id="contentAreaContextMenu"
               pagemenu="start"
               onpopupshowing="if (event.target != this) return true; gContextMenu = new nsContextMenu(this, gBrowser, event.shiftKey); return gContextMenu.shouldDisplay;"
               onpopuphiding="if (event.target == this) gContextMenu = null;">
      <menuseparator id="page-menu-separator"/>
      <menuitem id="popupwindow-reject"
                label="&popupWindowRejectCmd.label;"
                accesskey="&popupWindowRejectCmd.accesskey;"
                oncommand="gContextMenu.rejectPopupWindows(event.shiftKey);"/>
      <menuitem id="popupwindow-allow"
                label="&popupWindowAllowCmd.label;"
                accesskey="&popupWindowAllowCmd.accesskey;"
                oncommand="gContextMenu.allowPopupWindows();"/>
      <menuseparator id="context-sep-popup"/>

      <menuitem id="spell-no-suggestions"
                disabled="true"
                label="&spellNoSuggestions.label;"/>
      <menuseparator id="spell-add-separator"/>
      <menuitem id="spell-add-to-dictionary"
                label="&spellAddToDictionary.label;"
                accesskey="&spellAddToDictionary.accesskey;"
                oncommand="InlineSpellCheckerUI.addToDictionary();"/>
      <menuitem id="spell-ignore-word"
                label="&spellIgnoreWord.label;"
                accesskey="&spellIgnoreWord.accesskey;"
                oncommand="InlineSpellCheckerUI.ignoreWord();"/>
      <menuseparator id="spell-suggestions-separator"/>
      <menuitem id="context-openlinkintab"
                label="&openLinkCmdInTab.label;"
                accesskey="&openLinkCmdInTab.accesskey;"
                oncommand="gContextMenu.openLinkInTab(event);"/>
      <menuitem id="context-openlink"
                label="&openLinkCmd.label;"
                accesskey="&openLinkCmd.accesskey;"
                oncommand="gContextMenu.openLink();"/>
      <menuseparator id="context-sep-open"/>
      <menuitem id="context-bookmarklink"
                label="&bookmarkLinkCmd.label;"
                accesskey="&bookmarkLinkCmd.accesskey;"
                oncommand="gContextMenu.bookmarkLink();"/>
      <menuitem id="context-savelink"
                valueSaveAs="&saveLinkAsCmd.label;"
                valueSave="&saveLinkCmd.label;"
                accesskey="&saveLinkCmd.accesskey;"
                oncommand="gContextMenu.saveLink();"/>
      <menuitem id="context-copyemail"
                label="&copyEmailCmd.label;"
                accesskey="&copyEmailCmd.accesskey;"
                oncommand="gContextMenu.copyEmail();"/>
      <menuitem id="context-copylink"
                label="&copyLinkCmd.label;"
                accesskey="&copyLinkCmd.accesskey;"
                command="cmd_copyLink"/>
      <menuseparator id="context-sep-copylink"/>
      <menuitem id="context-media-play"
                label="&mediaPlay.label;"
                accesskey="&mediaPlay.accesskey;"
                oncommand="gContextMenu.mediaCommand('play');"/>
      <menuitem id="context-media-pause"
                label="&mediaPause.label;"
                accesskey="&mediaPause.accesskey;"
                oncommand="gContextMenu.mediaCommand('pause');"/>
      <menuitem id="context-media-mute"
                label="&mediaMute.label;"
                accesskey="&mediaMute.accesskey;"
                oncommand="gContextMenu.mediaCommand('mute');"/>
      <menuitem id="context-media-unmute"
                label="&mediaUnmute.label;"
                accesskey="&mediaUnmute.accesskey;"
                oncommand="gContextMenu.mediaCommand('unmute');"/>
      <menuitem id="context-media-showcontrols"
                label="&mediaShowControls.label;"
                accesskey="&mediaShowControls.accesskey;"
                oncommand="gContextMenu.mediaCommand('showcontrols');"/>
      <menuitem id="context-media-hidecontrols"
                label="&mediaHideControls.label;"
                accesskey="&mediaHideControls.accesskey;"
                oncommand="gContextMenu.mediaCommand('hidecontrols');"/>
      <menuitem id="context-video-showstats"
                label="&videoShowStats.label;"
                accesskey="&videoShowStats.accesskey;"
                oncommand="gContextMenu.mediaCommand('showstats');"/>
      <menuitem id="context-video-hidestats"
                label="&videoHideStats.label;"
                accesskey="&videoHideStats.accesskey;"
                oncommand="gContextMenu.mediaCommand('hidestats');"/>
      <menuitem id="context-video-fullscreen"
                label="&videoFullScreen.label;"
                accesskey="&videoFullScreen.accesskey;"
                oncommand="gContextMenu.fullScreenVideo();"/>
      <menuseparator id="context-media-sep-commands"/>
      <menuitem id="context-fitimage"
                type="checkbox"
                label="&fitImageCmd.label;"
                accesskey="&fitImageCmd.accesskey;"
                oncommand="gContextMenu.toggleImageSize();"/>
      <menuitem id="context-reloadimage"
                label="&reloadImageCmd.label;"
                accesskey="&reloadImageCmd.accesskey;"
                oncommand="gContextMenu.reloadImage();"/>
      <menuitem id="context-viewimage"
                label="&viewImageCmd.label;"
                accesskey="&viewImageCmd.accesskey;"
                oncommand="gContextMenu.viewMedia(event);"
                onclick="checkForMiddleClick(this, event);"/>
      <menuitem id="context-blockimage"
                oncommand="gContextMenu.toggleImageBlocking(true);"/>
      <menuitem id="context-unblockimage"
                oncommand="gContextMenu.toggleImageBlocking(false);"/>
      <menuitem id="context-copyimage"
                label="&copyImageCmd.label;"
                accesskey="&copyImageCmd.accesskey;"
                command="cmd_copyImage"/>
      <menuitem id="context-viewvideo"
                label="&viewVideoCmd.label;"
                accesskey="&viewVideoCmd.accesskey;"
                oncommand="gContextMenu.viewMedia(event);"
                onclick="checkForMiddleClick(this, event);"/>
      <menuitem id="context-copyvideourl"
                label="&copyVideoURLCmd.label;"
                accesskey="&copyVideoURLCmd.accesskey;"
                oncommand="gContextMenu.copyMediaLocation();"/>
      <menuitem id="context-copyaudiourl"
                label="&copyAudioURLCmd.label;"
                accesskey="&copyAudioURLCmd.accesskey;"
                oncommand="gContextMenu.copyMediaLocation();"/>
      <menuseparator id="context-sep-copyimage"/>
      <menuitem id="context-saveimage"
                valueSaveAs="&saveImageAsCmd.label;"
                valueSave="&saveImageCmd.label;"
                accesskey="&saveImageCmd.accesskey;"
                oncommand="gContextMenu.saveMedia();"/>
      <menuitem id="context-setWallpaper"
                label="&setWallpaperCmd.label;"
                accesskey="&setWallpaperCmd.accesskey;"
                oncommand="gContextMenu.setWallpaper();"/>
      <menuitem id="context-savevideo"
                label="&saveVideoCmd.label;"
                accesskey="&saveVideoCmd.accesskey;"
                oncommand="gContextMenu.saveMedia();"/>
      <menuitem id="context-saveaudio"
                label="&saveAudioCmd.label;"
                accesskey="&saveAudioCmd.accesskey;"
                oncommand="gContextMenu.saveMedia();"/>
      <menuitem id="context-video-saveimage"
                label="&videoSaveImage.label;"
                accesskey="&videoSaveImage.accesskey;"
                oncommand="gContextMenu.saveVideoFrameAsImage();"/>
      <menuseparator id="context-sep-image"/>
      <menuitem id="context-back"
                label="&goBackCmd.label;"
                accesskey="&goBackCmd.accesskey;"
                oncommand="BrowserBack(event)"
                onclick="checkForMiddleClick(this, event);"/>
      <menuitem id="context-forward"
                label="&goForwardCmd.label;"
                accesskey="&goForwardCmd.accesskey;"
                oncommand="BrowserForward(event)"
                onclick="checkForMiddleClick(this, event);"/>
      <menuitem id="context-reload"
                label="&reloadCmd.label;"
                accesskey="&reloadCmd.accesskey;"
                oncommand="BrowserReload(event);"
                onclick="checkForMiddleClick(this, event);"/>
      <menuitem id="context-stop"
                label="&stopCmd.label;"
                accesskey="&stopCmd.accesskey;"
                disabled="true"
                oncommand="BrowserStop();"/>
      <menuseparator id="context-sep-stop"/>
      <menuitem id="context-bookmarkpage"
                label="&bookmarkPageCmd.label;"
                accesskey="&bookmarkPageCmd.accesskey;"
                oncommand="gContextMenu.bookmarkThisPage();"/>
      <menuitem id="context-savepage"
                valueSaveAs="&savePageAsCmd.label;"
                valueSave="&savePageCmd.label;"
                accesskey="&savePageCmd.accesskey;"
                oncommand="saveDocument(window.content.document, true);"/>
      <menuseparator id="context-sep-viewbgimage"/>
      <menuitem id="context-viewbgimage"
                label="&viewBGImageCmd.label;"
                accesskey="&viewBGImageCmd.accesskey;"
                oncommand="gContextMenu.viewBGImage(event);"
                onclick="checkForMiddleClick(this, event);"/>
      <menuitem id="context-undo"/>
      <menuitem id="context-redo"/>
      <menuseparator id="context-sep-undo"/>
      <menuitem id="context-cut"/>
      <menuitem id="context-copy"/>
      <menuitem id="context-paste"/>
      <menuitem id="context-delete"/>
      <menuseparator id="context-sep-paste"/>
      <menuitem id="context-selectall"/>
      <menuseparator id="context-sep-selectall"/>
      <menuitem id="context-keywordfield"
                label="&keywordfield.label;"
                accesskey="&keywordfield.accesskey;"
                oncommand="AddKeywordForSearchField();"/>
      <menuitem id="context-searchselect"
                oncommand="BrowserSearch.loadSearch(gContextMenu.searchSelected(), true, event);"/>
      <menuseparator id="context-sep-properties"/>
      <menuitem id="context-viewpartialsource-selection"
                label="&viewPartialSourceForSelectionCmd.label;"
                accesskey="&viewPartialSourceCmd.accesskey;"
                oncommand="gContextMenu.viewPartialSource('selection');"/>
      <menuitem id="context-viewpartialsource-mathml"
                label="&viewPartialSourceForMathMLCmd.label;"
                accesskey="&viewPartialSourceCmd.accesskey;"
                oncommand="gContextMenu.viewPartialSource('mathml');"/>
      <menuitem id="context-viewsource"
                label="&viewPageSourceCmd.label;"
                accesskey="&viewPageSourceCmd.accesskey;"
                observes="isImage"
                oncommand="BrowserViewSourceOfDocument(content.document);"/>
      <menuitem id="context-viewinfo"
                label="&viewPageInfoCmd.label;"
                accesskey="&viewPageInfoCmd.accesskey;"
                oncommand="gContextMenu.viewInfo();"/>
      <menuitem id="context-metadata"
                label="&metadataCmd.label;"
                accesskey="&metadataCmd.accesskey;"
                oncommand="gContextMenu.showMetadata();"/>
      <menuseparator id="frame-sep"/>
      <menu id="frame" label="&thisFrameMenu.label;" accesskey="&thisFrameMenu.accesskey;">
        <menupopup id="frame_popup">
          <menuitem id="context-showonlythisframe"
                    label="&showOnlyThisFrameCmd.label;"
                    accesskey="&showOnlyThisFrameCmd.accesskey;"
                    oncommand="gContextMenu.showOnlyThisFrame();"/>
          <menuitem id="context-openframeintab"
                    label="&openFrameCmdInTab.label;"
                    accesskey="&openFrameCmdInTab.accesskey;"
                    oncommand="gContextMenu.openFrameInTab(event);"/>
          <menuitem id="context-openframe"
                    label="&openFrameCmd.label;"
                    accesskey="&openFrameCmd.accesskey;"
                    oncommand="gContextMenu.openFrame();"/>
          <menuseparator/>
          <menuitem id="context-reloadframe"
                    label="&reloadFrameCmd.label;"
                    accesskey="&reloadFrameCmd.accesskey;"
                    oncommand="gContextMenu.reloadFrame();"/>
          <menuseparator/>
          <menuitem id="context-bookmarkframe"
                    label="&bookmarkFrameCmd.label;"
                    accesskey="&bookmarkFrameCmd.accesskey;"
                    oncommand="gContextMenu.addBookmarkForFrame();"/>
          <menuitem id="context-saveframe"
                    valueSaveAs="&saveFrameAsCmd.label;"
                    valueSave="&saveFrameCmd.label;"
                    accesskey="&saveFrameCmd.accesskey;"
                    oncommand="saveDocument(gContextMenu.target.ownerDocument, true);"/>
          <menuseparator/>
          <menuitem id="context-viewframesource"
                    label="&viewFrameSourceCmd.label;"
                    accesskey="&viewFrameSourceCmd.accesskey;"
                    oncommand="gContextMenu.viewFrameSource();"/>
          <menuitem id="context-viewframeinfo"
                    label="&viewFrameInfoCmd.label;"
                    accesskey="&viewFrameInfoCmd.accesskey;"
                    oncommand="gContextMenu.viewFrameInfo();"/>
        </menupopup>
      </menu>
      <menuseparator id="spell-separator"/>
      <menuitem id="spell-check-enabled"
                label="&spellCheckEnable.label;"
                type="checkbox"
                accesskey="&spellCheckEnable.accesskey;"
                oncommand="InlineSpellCheckerUI.toggleEnabled();"/>
      <menuitem id="spell-add-dictionaries-main"
                label="&spellAddDictionaries.label;"
                accesskey="&spellAddDictionaries.accesskey;"
                oncommand="openDictionaryList();"/>
      <menu id="spell-dictionaries"
            label="&spellDictionaries.label;"
            accesskey="&spellDictionaries.accesskey;">
        <menupopup id="spell-dictionaries-menu">
          <menuseparator id="spell-language-separator"/>
          <menuitem id="spell-add-dictionaries"
                    label="&spellAddDictionaries.label;"
                    accesskey="&spellAddDictionaries.accesskey;"
                    oncommand="openDictionaryList();"/>
        </menupopup>
      </menu>
      <menuseparator hidden="true" id="context-sep-bidi"/>
      <menuitem hidden="true" id="context-bidi-text-direction-toggle"
                label="&bidiSwitchTextDirectionItem.label;"
                accesskey="&bidiSwitchTextDirectionItem.accesskey;"
                command="cmd_switchTextDirection"/>
      <menuitem hidden="true" id="context-bidi-page-direction-toggle"
                label="&bidiSwitchPageDirectionItem.label;"
                accesskey="&bidiSwitchPageDirectionItem.accesskey;"
                oncommand="SwitchDocumentDirection(window.content);"/>
    </menupopup>
  </popupset>
</overlay>
