toolkit/content/widgets/editor.xml

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 <?xml version="1.0"?>
     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/. -->
     7 <bindings id="editorBindings"
     8    xmlns="http://www.mozilla.org/xbl"
     9    xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    10    xmlns:xbl="http://www.mozilla.org/xbl">
    12   <binding id="editor" role="outerdoc">
    13     <implementation type="application/javascript">
    14       <constructor>
    15         <![CDATA[
    16           // Make window editable immediately only
    17           //   if the "editortype" attribute is supplied
    18           // This allows using same contentWindow for different editortypes,
    19           //   where the type is determined during the apps's window.onload handler.
    20           if (this.editortype)
    21             this.makeEditable(this.editortype, true);
    22         ]]>
    23       </constructor>
    24       <destructor/>
    26       <field name="_editorContentListener">
    27         <![CDATA[
    28           ({
    29             QueryInterface: function(iid)
    30             {
    31               if (iid.equals(Components.interfaces.nsIURIContentListener) ||
    32                   iid.equals(Components.interfaces.nsISupportsWeakReference) ||
    33                   iid.equals(Components.interfaces.nsISupports))
    34               return this;
    36               throw Components.results.NS_ERROR_NO_INTERFACE;
    37             },
    38             onStartURIOpen: function(uri)
    39             {
    40               return false;
    41             },
    42             doContent: function(contentType, isContentPreferred, request, contentHandler)
    43             {
    44               return false;
    45             },
    46             isPreferred: function(contentType, desiredContentType)
    47             {
    48               return false;
    49             },
    50             canHandleContent: function(contentType, isContentPreferred, desiredContentType)
    51             {
    52               return false;
    53             },
    54             loadCookie: null,
    55             parentContentListener: null
    56           })
    57         ]]>
    58       </field>
    59       <method name="makeEditable">
    60         <parameter name="editortype"/>
    61         <parameter name="waitForUrlLoad"/>
    62         <body>
    63         <![CDATA[
    64           this.editingSession.makeWindowEditable(this.contentWindow, editortype, waitForUrlLoad, true, false);
    65           this.setAttribute("editortype", editortype);
    67           this.docShell.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
    68               .getInterface(Components.interfaces.nsIURIContentListener)
    69               .parentContentListener = this._editorContentListener;
    70         ]]>
    71         </body>
    72       </method>
    73       <method name="getEditor">
    74         <parameter name="containingWindow"/>
    75         <body>
    76         <![CDATA[
    77           return this.editingSession.getEditorForWindow(containingWindow);
    78         ]]>
    79         </body>
    80       </method>
    81       <method name="getHTMLEditor">
    82         <parameter name="containingWindow"/>
    83         <body>
    84         <![CDATA[
    85           var editor = this.editingSession.getEditorForWindow(containingWindow);
    86           return editor.QueryInterface(Components.interfaces.nsIHTMLEditor);
    87         ]]>
    88         </body>
    89       </method>
    91       <field name="_finder">null</field>
    92       <property name="finder" readonly="true">
    93         <getter><![CDATA[
    94           if (!this._finder) {
    95             if (!this.docShell)
    96               return null;
    98             let Finder = Components.utils.import("resource://gre/modules/Finder.jsm", {}).Finder;
    99             this._finder = new Finder(this.docShell);
   100           }
   101           return this._finder;
   102         ]]></getter>
   103       </property>
   105       <field name="_fastFind">null</field>
   106       <property name="fastFind"
   107                 readonly="true">
   108         <getter>
   109         <![CDATA[
   110           if (!this._fastFind) {
   111             if (!("@mozilla.org/typeaheadfind;1" in Components.classes))
   112               return null;
   114             if (!this.docShell)
   115               return null;
   117             this._fastFind = Components.classes["@mozilla.org/typeaheadfind;1"]
   118                                        .createInstance(Components.interfaces.nsITypeAheadFind);
   119             this._fastFind.init(this.docShell);
   120           }
   121           return this._fastFind;
   122         ]]>
   123         </getter>
   124       </property>
   126       <field name="_lastSearchString">null</field>
   127       <field name="_lastSearchHighlight">false</field>
   129       <property name="editortype"
   130                 onget="return this.getAttribute('editortype');"
   131                 onset="this.setAttribute('editortype', val); return val;"/>
   132       <property name="webNavigation"
   133                 onget="return this.docShell.QueryInterface(Components.interfaces.nsIWebNavigation);"
   134                 readonly="true"/>
   135       <property name="contentDocument" readonly="true"
   136                 onget="return this.webNavigation.document;"/>
   137       <property name="docShell"
   138                 onget="return this.boxObject.QueryInterface(Components.interfaces.nsIContainerBoxObject).docShell;"
   139                 readonly="true"/>
   140       <property name="currentURI"
   141                 readonly="true"
   142                 onget="return this.webNavigation.currentURI;"/>
   143       <property name="contentWindow"
   144                 readonly="true"
   145                 onget="return this.docShell.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIDOMWindow);"/>
   146       <property name="webBrowserFind"
   147                 readonly="true"
   148                 onget="return this.docShell.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIWebBrowserFind);"/>
   149       <property name="markupDocumentViewer"
   150                 readonly="true"
   151                 onget="return this.docShell.contentViewer.QueryInterface(Components.interfaces.nsIMarkupDocumentViewer);"/>
   152       <property name="editingSession"
   153                 readonly="true"
   154                 onget="return this.webNavigation.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIEditingSession);"/>
   155       <property name="commandManager"
   156                 readonly="true"
   157                 onget="return this.webNavigation.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsICommandManager);"/>
   158       <property name="fullZoom"
   159                 onget="return this.markupDocumentViewer.fullZoom;"
   160                 onset="this.markupDocumentViewer.fullZoom = val;"/>
   161       <property name="textZoom"
   162                 onget="return this.markupDocumentViewer.textZoom;"
   163                 onset="this.markupDocumentViewer.textZoom = val;"/>
   164       <property name="isSyntheticDocument"
   165                 onget="return this.contentDocument.isSyntheticDocument;"
   166                 readonly="true"/>
   167     </implementation>
   168   </binding>
   170 </bindings>

mercurial