!import
1 <?xml version="1.0"?>
2
3 <bindings id="editorBindings"
4 xmlns="http://www.mozilla.org/xbl"
5 xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
6 xmlns:xbl="http://www.mozilla.org/xbl">
7
8 <binding id="editor">
9 <implementation type="application/javascript" implements="nsIAccessibleProvider">
constructor
10 <constructor>
11 <![CDATA[
12 // Make window editable immediately only
13 // if the "editortype" attribute is supplied
14 // This allows using same contentWindow for different editortypes,
15 // where the type is determined during the apps's window.onload handler.
16 if (this.editortype)
17 this.makeEditable(this.editortype, true);
18 ]]>
19 </constructor>
destructor
20 <destructor/>
21
22 <property name="accessibleType" readonly="true">
get_accessibleType
23 <getter>
24 <![CDATA[
25 return Components.interfaces.nsIAccessibleProvider.OuterDoc;
26 ]]>
27 </getter>
28 </property>
29
field__editorContentListener
30 <field name="_editorContentListener">
31 <![CDATA[
32 ({
QueryInterface
33 QueryInterface: function(iid)
34 {
35 if (iid.equals(Components.interfaces.nsIURIContentListener) ||
36 iid.equals(Components.interfaces.nsISupportsWeakReference) ||
37 iid.equals(Components.interfaces.nsISupports))
38 return this;
39
40 Components.returnCode = Components.results.NS_ERROR_NO_INTERFACE;
41 return null;
42 },
onStartURIOpen
43 onStartURIOpen: function(uri)
44 {
45 return false;
46 },
doContent
47 doContent: function(contentType, isContentPreferred, request, contentHandler)
48 {
49 return false;
50 },
isPreferred
51 isPreferred: function(contentType, desiredContentType)
52 {
53 return false;
54 },
canHandleContent
55 canHandleContent: function(contentType, isContentPreferred, desiredContentType)
56 {
57 return false;
58 },
59 loadCookie: null,
60 parentContentListener: null
61 })
62 ]]>
63 </field>
64 <method name="makeEditable">
65 <parameter name="editortype"/>
66 <parameter name="waitForUrlLoad"/>
makeEditable
67 <body>
68 <![CDATA[
69 this.editingSession.makeWindowEditable(this.contentWindow, editortype, waitForUrlLoad, true, false);
70 this.setAttribute("editortype", editortype);
71
72 this.docShell.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
73 .getInterface(Components.interfaces.nsIURIContentListener)
74 .parentContentListener = this._editorContentListener;
75 ]]>
76 </body>
77 </method>
78 <method name="getEditor">
79 <parameter name="containingWindow"/>
getEditor
80 <body>
81 <![CDATA[
82 return this.editingSession.getEditorForWindow(containingWindow);
83 ]]>
84 </body>
85 </method>
86 <method name="getHTMLEditor">
87 <parameter name="containingWindow"/>
getHTMLEditor
88 <body>
89 <![CDATA[
90 var editor = this.editingSession.getEditorForWindow(containingWindow);
91 return editor.QueryInterface(Components.interfaces.nsIHTMLEditor);
92 ]]>
93 </body>
94 </method>
get_editortype
set_editortype
95 <property name="editortype"
96 onget="return this.getAttribute('editortype');"
97 onset="this.setAttribute('editortype', val); return val;"/>
get_webNavigation
98 <property name="webNavigation"
99 onget="return this.docShell.QueryInterface(Components.interfaces.nsIWebNavigation);"
100 readonly="true"/>
get_contentDocument
101 <property name="contentDocument" readonly="true"
102 onget="return this.webNavigation.document;"/>
get_docShell
103 <property name="docShell"
104 onget="return this.boxObject.QueryInterface(Components.interfaces.nsIContainerBoxObject).docShell;"
105 readonly="true"/>
get_contentWindow
106 <property name="contentWindow"
107 readonly="true"
108 onget="return this.docShell.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIDOMWindow);"/>
get_webBrowserFind
109 <property name="webBrowserFind"
110 readonly="true"
111 onget="return this.docShell.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIWebBrowserFind);"/>
get_editingSession
112 <property name="editingSession"
113 readonly="true"
114 onget="return this.webNavigation.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIEditingSession);"/>
get_commandManager
115 <property name="commandManager"
116 readonly="true"
117 onget="return this.webNavigation.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsICommandManager);"/>
118 </implementation>
119 </binding>
120
121 </bindings>