OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // This file will be processed by the MIDL tool to | 5 // This file will be processed by the MIDL tool to |
6 // produce the type library (chrome_tab.tlb) and marshalling code. | 6 // produce the type library (chrome_tab.tlb) and marshalling code. |
7 | 7 |
8 #include "olectl.h" | 8 #include "olectl.h" |
9 import "oaidl.idl"; | 9 import "oaidl.idl"; |
10 import "ocidl.idl"; | 10 import "ocidl.idl"; |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 HRESULT postPrivateMessage([in] BSTR message, | 60 HRESULT postPrivateMessage([in] BSTR message, |
61 [in] BSTR origin, | 61 [in] BSTR origin, |
62 [in] BSTR target); | 62 [in] BSTR target); |
63 | 63 |
64 [propget, id(11)] | 64 [propget, id(11)] |
65 HRESULT useChromeNetwork([out, retval] VARIANT_BOOL* pVal); | 65 HRESULT useChromeNetwork([out, retval] VARIANT_BOOL* pVal); |
66 [propput, id(11)] | 66 [propput, id(11)] |
67 HRESULT useChromeNetwork([in] VARIANT_BOOL newVal); | 67 HRESULT useChromeNetwork([in] VARIANT_BOOL newVal); |
68 | 68 |
69 [id(12), hidden] | 69 [id(12), hidden] |
70 // This method is available only when the control is in privileged mode. | 70 // Deprecated. Returns E_NOTIMPL. |
71 HRESULT installExtension([in] BSTR crx_path); | 71 HRESULT installExtension([in] BSTR crx_path); |
72 | 72 |
73 [id(13), hidden] | 73 [id(13), hidden] |
74 // This method is available only when the control is in privileged mode. | 74 // Deprecated. Returns E_NOTIMPL. |
75 HRESULT loadExtension([in] BSTR extension_path); | 75 HRESULT loadExtension([in] BSTR extension_path); |
76 | 76 |
77 [id(14), hidden] | 77 [id(14), hidden] |
78 // This method is available only when the control is in privileged mode. | 78 // Deprecated. Returns E_NOTIMPL. |
79 HRESULT getEnabledExtensions(); | 79 HRESULT getEnabledExtensions(); |
80 | 80 |
81 [id(15)] | 81 [id(15)] |
82 // This method bootstraps the BHO if it is not already loaded. | 82 // This method bootstraps the BHO if it is not already loaded. |
83 HRESULT registerBhoIfNeeded(); | 83 HRESULT registerBhoIfNeeded(); |
84 }; | 84 }; |
85 | 85 |
86 [ | 86 [ |
87 object, | 87 object, |
88 uuid(851bedec-4b2c-4959-abc0-a53403117257), | 88 uuid(E98FDFD9-312B-444a-A640-8E88F3CC08B8), |
89 local, // This interface should never be marshaled. | |
90 hidden, | |
91 ] | |
92 // Internal implementation interface. Not intended as an API. May change | |
93 // frequently, don't treat this as frozen. | |
94 interface IChromeFrameInternal : IUnknown { | |
95 // This method is available only when the control is in privileged mode. | |
96 HRESULT getSessionId([out, retval] int* session_id); | |
97 }; | |
98 | |
99 [ | |
100 object, | |
101 uuid(B1B52A4D-B22E-489f-8CCD-1CF9166FA90E), | |
102 oleautomation, | 89 oleautomation, |
103 nonextensible, | 90 nonextensible, |
104 hidden, | 91 hidden, |
105 ] | 92 ] |
106 // Internal implementation interface. Not intended as an API. May change | 93 // Internal implementation interface. Not intended as an API. May change |
107 // frequently, don't treat this as frozen. | 94 // frequently, don't treat this as frozen. |
108 interface IChromeFramePrivileged : IUnknown { | 95 interface IChromeFramePrivileged : IUnknown { |
109 // If the host returns false for wants_privileged, the control | 96 // If the host returns false for wants_privileged, the control |
110 // won't enable privileged mode. | 97 // won't enable privileged mode. |
111 HRESULT GetWantsPrivileged([out] boolean *wants_privileged); | 98 HRESULT GetWantsPrivileged([out] boolean *wants_privileged); |
112 // The profile name we want to use. | 99 // The profile name we want to use. |
113 HRESULT GetChromeProfileName([out] BSTR *profile_name); | 100 HRESULT GetChromeProfileName([out] BSTR *profile_name); |
114 // The comma-separated list of extension API functions you wish to automate. | |
115 // Return S_FALSE to leave the default, which is to not automate any | |
116 // functions. | |
117 HRESULT GetExtensionApisToAutomate([out] BSTR *extension_apis); | |
118 // Called when an automation version mismatch occurs. Returns S_OK if | 101 // Called when an automation version mismatch occurs. Returns S_OK if |
119 // a dialog should be showed to the user by this CF instance, S_FALSE if | 102 // a dialog should be showed to the user by this CF instance, S_FALSE if |
120 // not. | 103 // not. |
121 HRESULT ShouldShowVersionMismatchDialog(); | 104 HRESULT ShouldShowVersionMismatchDialog(); |
122 }; | 105 }; |
123 | 106 |
124 // Expose this service to the ChromeFrame control to trigger privileged | 107 // Expose this service to the ChromeFrame control to trigger privileged |
125 // mode. If the control is in privileged mode, it will forward messages | 108 // mode. If the control is in privileged mode, it will forward messages |
126 // to the onmessage handler irrespective of origin. | 109 // to the onmessage handler irrespective of origin. |
127 cpp_quote("#define SID_ChromeFramePrivileged __uuidof(IChromeFramePrivileged)") | 110 cpp_quote("#define SID_ChromeFramePrivileged __uuidof(IChromeFramePrivileged)") |
128 | 111 |
129 typedef enum { | 112 typedef enum { |
130 CF_EVENT_DISPID_ONLOAD = 1, | 113 CF_EVENT_DISPID_ONLOAD = 1, |
131 CF_EVENT_DISPID_ONLOADERROR, | 114 CF_EVENT_DISPID_ONLOADERROR, |
132 CF_EVENT_DISPID_ONMESSAGE, | 115 CF_EVENT_DISPID_ONMESSAGE, |
133 CF_EVENT_DISPID_ONPRIVATEMESSAGE, | 116 CF_EVENT_DISPID_ONPRIVATEMESSAGE, |
134 CF_EVENT_DISPID_ONEXTENSIONREADY, | |
135 CF_EVENT_DISPID_ONGETENABLEDEXTENSIONSCOMPLETE, | |
136 CF_EVENT_DISPID_ONCHANNELERROR, | 117 CF_EVENT_DISPID_ONCHANNELERROR, |
137 CF_EVENT_DISPID_ONCLOSE, | 118 CF_EVENT_DISPID_ONCLOSE, |
138 CF_EVENT_DISPID_ONREADYSTATECHANGED = DISPID_READYSTATECHANGE, | 119 CF_EVENT_DISPID_ONREADYSTATECHANGED = DISPID_READYSTATECHANGE, |
139 } ChromeFrameEventDispId; | 120 } ChromeFrameEventDispId; |
140 | 121 |
141 [ | 122 [ |
142 uuid(6F2664E1-FF6E-488A-BCD1-F4CA6001DFCC), | 123 uuid(6F2664E1-FF6E-488A-BCD1-F4CA6001DFCC), |
143 version(1.0), | 124 version(1.0), |
144 helpstring("ChromeTab 1.0 Type Library") | 125 helpstring("ChromeTab 1.0 Type Library") |
145 ] | 126 ] |
(...skipping 15 matching lines...) Expand all Loading... |
161 [id(CF_EVENT_DISPID_ONMESSAGE)] | 142 [id(CF_EVENT_DISPID_ONMESSAGE)] |
162 void onmessage([in] IDispatch* event); | 143 void onmessage([in] IDispatch* event); |
163 | 144 |
164 [id(CF_EVENT_DISPID_ONREADYSTATECHANGED)] | 145 [id(CF_EVENT_DISPID_ONREADYSTATECHANGED)] |
165 void onreadystatechanged(); | 146 void onreadystatechanged(); |
166 | 147 |
167 [id(CF_EVENT_DISPID_ONPRIVATEMESSAGE)] | 148 [id(CF_EVENT_DISPID_ONPRIVATEMESSAGE)] |
168 // This event is only fired when the control is in privileged mode. | 149 // This event is only fired when the control is in privileged mode. |
169 void onprivatemessage([in] IDispatch* event, [in] BSTR target); | 150 void onprivatemessage([in] IDispatch* event, [in] BSTR target); |
170 | 151 |
171 [id(CF_EVENT_DISPID_ONEXTENSIONREADY)] | |
172 // This event is only fired when the control is in privileged mode. | |
173 // response is one of AutomationMsg_ExtensionResponseValues. | |
174 void onextensionready([in] BSTR path, [in] long response); | |
175 | |
176 [id(CF_EVENT_DISPID_ONGETENABLEDEXTENSIONSCOMPLETE)] | |
177 // This event is only fired when the control is in privileged mode. | |
178 // extension_paths is an array of BSTRs of the base directories of | |
179 // enabled extensions. | |
180 void ongetenabledextensionscomplete([in] SAFEARRAY(BSTR) extension_paths); | |
181 | |
182 [id(CF_EVENT_DISPID_ONCHANNELERROR)] | 152 [id(CF_EVENT_DISPID_ONCHANNELERROR)] |
183 // This event is fired when there is an error in communication channel with | 153 // This event is fired when there is an error in communication channel with |
184 // Chrome and Automation must be reconnected to continue. | 154 // Chrome and Automation must be reconnected to continue. |
185 void onchannelerror(); | 155 void onchannelerror(); |
186 | 156 |
187 [id(CF_EVENT_DISPID_ONCLOSE)] | 157 [id(CF_EVENT_DISPID_ONCLOSE)] |
188 // This event is fired when the script inside the page wants to close it. | 158 // This event is fired when the script inside the page wants to close it. |
189 // This is just a notification, there is no way to prevent the script from | 159 // This is just a notification, there is no way to prevent the script from |
190 // closing. | 160 // closing. |
191 void onclose(); | 161 void onclose(); |
(...skipping 18 matching lines...) Expand all Loading... |
210 coclass ChromeFrame { | 180 coclass ChromeFrame { |
211 [default] interface IChromeFrame; | 181 [default] interface IChromeFrame; |
212 [default, source] dispinterface DIChromeFrameEvents; | 182 [default, source] dispinterface DIChromeFrameEvents; |
213 }; | 183 }; |
214 | 184 |
215 [uuid(ECB3C477-1A0A-44bd-BB57-78F9EFE34FA7)] | 185 [uuid(ECB3C477-1A0A-44bd-BB57-78F9EFE34FA7)] |
216 coclass ChromeFrameBHO { | 186 coclass ChromeFrameBHO { |
217 [default] interface IUnknown; | 187 [default] interface IUnknown; |
218 }; | 188 }; |
219 }; | 189 }; |
OLD | NEW |