mshtml.idl: Moved IHTMLDOMNode2 dispinterface declaration to macro.
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004-2007 Jacek Caban for CodeWeavers
3  * Copyright 2008      Konstantin Kondratyuk (Etersoft)
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18  */
19
20 #include <mshtmdid.h>
21 #include <mshtmcid.h>
22 #include <olectl.h>
23
24 import "ocidl.idl";
25 import "dimm.idl";
26 import "shtypes.idl";
27
28 cpp_quote("#include <olectl.h>")
29
30 cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
31 cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
32 cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
33 cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
34 cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
35
36 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
37 cpp_quote("#undef FindText")
38 cpp_quote("#endif")
39
40 typedef enum {
41     POINTER_GRAVITY_Left,
42     POINTER_GRAVITY_Right,
43     POINTER_GRAVITY_Max = 2147483647
44 } POINTER_GRAVITY;
45
46 typedef enum {
47     CONTEXT_TYPE_None,
48     CONTEXT_TYPE_Text,
49     CONTEXT_TYPE_EnterScope,
50     CONTEXT_TYPE_ExitScope,
51     CONTEXT_TYPE_NoScope,
52     MARKUP_CONTEXT_TYPE_Max = 2147483647
53 } MARKUP_CONTEXT_TYPE;
54
55 typedef enum {
56     ELEM_ADJ_BeforeBegin,
57     ELEM_ADJ_AfterBegin,
58     ELEM_ADJ_BeforeEnd,
59     ELEM_ADJ_AfterEnd,
60     ELEMENT_ADJACENCY_Max = 2147483647
61 } ELEMENT_ADJACENCY;
62
63 typedef enum {
64     MOVEUNIT_PREVCHAR,
65     MOVEUNIT_NEXTCHAR,
66     MOVEUNIT_PREVCLUSTERBEG,
67     MOVEUNIT_NEXTCLUSTERBEG,
68     MOVEUNIT_PREVCLUSTEREND,
69     MOVEUNIT_NEXTCLUSTEREND,
70     MOVEUNIT_PREVWORDBEG,
71     MOVEUNIT_NEXTWORDBEG,
72     MOVEUNIT_PREVWORDEND,
73     MOVEUNIT_NEXTWORDEND,
74     MOVEUNIT_PREVPROOFWORD,
75     MOVEUNIT_NEXTPROOFWORD,
76     MOVEUNIT_NEXTURLBEG,
77     MOVEUNIT_PREVURLBEG,
78     MOVEUNIT_NEXTURLEND,
79     MOVEUNIT_PREVURLEND,
80     MOVEUNIT_PREVSENTENCE,
81     MOVEUNIT_NEXTSENTENCE,
82     MOVEUNIT_PREVBLOCK,
83     MOVEUNIT_NEXTBLOCK,
84     MOVEUNIT_ACTION_Max = 2147483647
85 } MOVEUNIT_ACTION;
86
87 typedef enum _SELECTION_TYPE {
88     SELECTION_TYPE_None,
89     SELECTION_TYPE_Caret,
90     SELECTION_TYPE_Text,
91     SELECTION_TYPE_Control,
92     SELECTION_TYPE_Max = 2147483647
93 } SELECTION_TYPE;
94
95 [
96     odl,
97     oleautomation,
98     dual,
99     uuid(3051049b-98b5-11cf-bb82-00aa00bdce0b)
100 ]
101 interface IHTMLDOMConstructor : IDispatch
102 {
103     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
104     HRESULT constructor([retval, out] IDispatch* * p);
105
106     HRESULT LookupGetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
107
108     HRESULT LookupSetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
109
110     HRESULT DefineGetter([in] BSTR propname, [in] VARIANT* pdispHandler);
111
112     HRESULT DefineSetter([in] BSTR propname, [in] VARIANT* pdispHandler);
113 }
114
115 interface IHTMLDocument2;
116 interface IHTMLStyleSheetsCollection;
117 interface IHTMLFrameBase;
118
119 /*****************************************************************************
120  *    IHTMLFiltersCollection interface
121  */
122 [
123     odl,
124     oleautomation,
125     dual,
126     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
127 ]
128 interface IHTMLFiltersCollection : IDispatch
129 {
130     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
131     HRESULT length([retval, out] LONG *p);
132
133     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
134     HRESULT _newEnum([retval, out] IUnknown **p);
135
136     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
137     HRESULT item(
138         [in] VARIANT *pvarIndex,
139         [retval, out] VARIANT *pvarResult);
140 }
141
142 [
143     version(4.0),
144     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
145 ]
146 library MSHTML
147 {
148
149 importlib("stdole2.tlb");
150
151 /*****************************************************************************
152  *    IHTMLStyle interface
153  */
154 [
155     odl,
156     oleautomation,
157     dual,
158     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
159 ]
160 interface IHTMLStyle : IDispatch
161 {
162     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
163     HRESULT fontFamily([in] BSTR v);
164
165     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
166     HRESULT fontFamily([retval, out] BSTR *p);
167
168     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
169     HRESULT fontStyle([in] BSTR v);
170
171     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
172     HRESULT fontStyle([retval, out] BSTR *p);
173
174     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
175     HRESULT fontVariant([in] BSTR v);
176
177     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
178     HRESULT fontVariant([retval, out] BSTR *p);
179
180     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
181     HRESULT fontWeight([in] BSTR v);
182
183     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
184     HRESULT fontWeight([retval, out] BSTR *p);
185
186     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
187     HRESULT fontSize([in] VARIANT v);
188
189     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
190     HRESULT fontSize([retval, out] VARIANT *p);
191
192     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
193     HRESULT font([in] BSTR v);
194
195     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
196     HRESULT font([retval, out] BSTR *p);
197
198     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
199     HRESULT color([in] VARIANT v);
200
201     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
202     HRESULT color([retval, out] VARIANT *p);
203
204     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
205     HRESULT background([in] BSTR v);
206
207     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
208     HRESULT background([retval, out] BSTR *p);
209
210     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
211     HRESULT backgroundColor([in] VARIANT v);
212
213     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
214     HRESULT backgroundColor([retval, out] VARIANT *p);
215
216     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
217     HRESULT backgroundImage([in] BSTR v);
218
219     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
220     HRESULT backgroundImage([retval, out] BSTR *p);
221
222     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
223     HRESULT backgroundRepeat([in] BSTR v);
224
225     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
226     HRESULT backgroundRepeat([retval, out] BSTR *p);
227
228     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
229     HRESULT backgroundAttachment([in] BSTR v);
230
231     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
232     HRESULT backgroundAttachment([retval, out] BSTR *p);
233
234     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
235     HRESULT backgroundPosition([in] BSTR v);
236
237     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
238     HRESULT backgroundPosition([retval, out] BSTR *p);
239
240     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
241     HRESULT backgroundPositionX([in] VARIANT v);
242
243     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
244     HRESULT backgroundPositionX([retval, out] VARIANT *p);
245
246     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
247     HRESULT backgroundPositionY([in] VARIANT v);
248
249     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
250     HRESULT backgroundPositionY([retval, out] VARIANT *p);
251
252     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
253     HRESULT wordSpacing([in] VARIANT v);
254
255     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
256     HRESULT wordSpacing([retval, out] VARIANT *p);
257
258     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
259     HRESULT letterSpacing([in] VARIANT v);
260
261     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
262     HRESULT letterSpacing([retval, out] VARIANT *p);
263
264     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
265     HRESULT textDecoration([in] BSTR v);
266
267     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
268     HRESULT textDecoration([retval, out] BSTR *p);
269
270     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
271     HRESULT textDecorationNone([in] VARIANT_BOOL v);
272
273     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
274     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
275
276     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
277     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
278
279     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
280     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
281
282     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
283     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
284
285     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
286     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
287
288     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
289     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
290
291     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
292     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
293
294     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
295     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
296
297     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
298     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
299
300     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
301     HRESULT verticalAlign([in] VARIANT v);
302
303     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
304     HRESULT verticalAlign([retval, out] VARIANT *p);
305
306     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
307     HRESULT textTransform([in] BSTR v);
308
309     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
310     HRESULT textTransform([retval, out] BSTR *p);
311
312     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
313     HRESULT textAlign([in] BSTR v);
314
315     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
316     HRESULT textAlign([retval, out] BSTR *p);
317
318     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
319     HRESULT textIndent([in] VARIANT v);
320
321     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
322     HRESULT textIndent([retval, out] VARIANT *p);
323
324     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
325     HRESULT lineHeight([in] VARIANT v);
326
327     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
328     HRESULT lineHeight([retval, out] VARIANT *p);
329
330     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
331     HRESULT marginTop([in] VARIANT v);
332
333     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
334     HRESULT marginTop([retval, out] VARIANT *p);
335
336     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
337     HRESULT marginRight([in] VARIANT v);
338
339     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
340     HRESULT marginRight([retval, out] VARIANT *p);
341
342     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
343     HRESULT marginBottom([in] VARIANT v);
344
345     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
346     HRESULT marginBottom([retval, out] VARIANT *p);
347
348     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
349     HRESULT marginLeft([in] VARIANT v);
350
351     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
352     HRESULT marginLeft([retval, out] VARIANT *p);
353
354     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
355     HRESULT margin([in] BSTR v);
356
357     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
358     HRESULT margin([retval, out] BSTR *p);
359
360     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
361     HRESULT paddingTop([in] VARIANT v);
362
363     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
364     HRESULT paddingTop([retval, out] VARIANT *p);
365
366     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
367     HRESULT paddingRight([in] VARIANT v);
368
369     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
370     HRESULT paddingRight([retval, out] VARIANT *p);
371
372     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
373     HRESULT paddingBottom([in] VARIANT v);
374
375     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
376     HRESULT paddingBottom([retval, out] VARIANT *p);
377
378     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
379     HRESULT paddingLeft([in] VARIANT v);
380
381     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
382     HRESULT paddingLeft([retval, out] VARIANT *p);
383
384     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
385     HRESULT padding([in] BSTR v);
386
387     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
388     HRESULT padding([retval, out] BSTR *p);
389
390     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
391     HRESULT border([in] BSTR v);
392
393     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
394     HRESULT border([retval, out] BSTR *p);
395
396     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
397     HRESULT borderTop([in] BSTR v);
398
399     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
400     HRESULT borderTop([retval, out] BSTR *p);
401
402     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
403     HRESULT borderRight([in] BSTR v);
404
405     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
406     HRESULT borderRight([retval, out] BSTR *p);
407
408     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
409     HRESULT borderBottom([in] BSTR v);
410
411     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
412     HRESULT borderBottom([retval, out] BSTR *p);
413
414     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
415     HRESULT borderLeft([in] BSTR v);
416
417     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
418     HRESULT borderLeft([retval, out] BSTR *p);
419
420     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
421     HRESULT borderColor([in] BSTR v);
422
423     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
424     HRESULT borderColor([retval, out] BSTR *p);
425
426     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
427     HRESULT borderTopColor([in] VARIANT v);
428
429     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
430     HRESULT borderTopColor([retval, out] VARIANT *p);
431
432     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
433     HRESULT borderRightColor([in] VARIANT v);
434
435     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
436     HRESULT borderRightColor([retval, out] VARIANT *p);
437
438     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
439     HRESULT borderBottomColor([in] VARIANT v);
440
441     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
442     HRESULT borderBottomColor([retval, out] VARIANT *p);
443
444     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
445     HRESULT borderLeftColor([in] VARIANT v);
446
447     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
448     HRESULT borderLeftColor([retval, out] VARIANT *p);
449
450     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
451     HRESULT borderWidth([in] BSTR v);
452
453     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
454     HRESULT borderWidth([retval, out] BSTR *p);
455
456     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
457     HRESULT borderTopWidth([in] VARIANT v);
458
459     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
460     HRESULT borderTopWidth([retval, out] VARIANT *p);
461
462     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
463     HRESULT borderRightWidth([in] VARIANT v);
464
465     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
466     HRESULT borderRightWidth([retval, out] VARIANT *p);
467
468     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
469     HRESULT borderBottomWidth([in] VARIANT v);
470
471     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
472     HRESULT borderBottomWidth([retval, out] VARIANT *p);
473
474     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
475     HRESULT borderLeftWidth([in] VARIANT v);
476
477     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
478     HRESULT borderLeftWidth([retval, out] VARIANT *p);
479
480     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
481     HRESULT borderStyle([in] BSTR v);
482
483     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
484     HRESULT borderStyle([retval, out] BSTR *p);
485
486     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
487     HRESULT borderTopStyle([in] BSTR v);
488
489     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
490     HRESULT borderTopStyle([retval, out] BSTR *p);
491
492     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
493     HRESULT borderRightStyle([in] BSTR v);
494
495     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
496     HRESULT borderRightStyle([retval, out] BSTR *p);
497
498     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
499     HRESULT borderBottomStyle([in] BSTR v);
500
501     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
502     HRESULT borderBottomStyle([retval, out] BSTR *p);
503
504     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
505     HRESULT borderLeftStyle([in] BSTR v);
506
507     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
508     HRESULT borderLeftStyle([retval, out] BSTR *p);
509
510     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
511     HRESULT width([in] VARIANT v);
512
513     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
514     HRESULT width([retval, out] VARIANT *p);
515
516     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
517     HRESULT height([in] VARIANT v);
518
519     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
520     HRESULT height([retval, out] VARIANT *p);
521
522     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
523     HRESULT styleFloat([in] BSTR v);
524
525     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
526     HRESULT styleFloat([retval, out] BSTR *p);
527
528     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
529     HRESULT clear([in] BSTR v);
530
531     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
532     HRESULT clear([retval, out] BSTR *p);
533
534     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
535     HRESULT display([in] BSTR v);
536
537     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
538     HRESULT display([retval, out] BSTR *p);
539
540     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
541     HRESULT visibility([in] BSTR v);
542
543     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
544     HRESULT visibility([retval, out] BSTR *p);
545
546     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
547     HRESULT listStyleType([in] BSTR v);
548
549     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
550     HRESULT listStyleType([retval, out] BSTR *p);
551
552     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
553     HRESULT listStylePosition([in] BSTR v);
554
555     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
556     HRESULT listStylePosition([retval, out] BSTR *p);
557
558     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
559     HRESULT listStyleImage([in] BSTR v);
560
561     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
562     HRESULT listStyleImage([retval, out] BSTR *p);
563
564     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
565     HRESULT listStyle([in] BSTR v);
566
567     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
568     HRESULT listStyle([retval, out] BSTR *p);
569
570     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
571     HRESULT whiteSpace([in] BSTR v);
572
573     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
574     HRESULT whiteSpace([retval, out] BSTR *p);
575
576     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
577     HRESULT top([in] VARIANT v);
578
579     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
580     HRESULT top([retval, out] VARIANT *p);
581
582     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
583     HRESULT left([in] VARIANT v);
584
585     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
586     HRESULT left([retval, out] VARIANT *p);
587
588     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
589     HRESULT position([retval, out] BSTR *p);
590
591     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
592     HRESULT zIndex([in] VARIANT v);
593
594     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
595     HRESULT zIndex([retval, out] VARIANT *p);
596
597     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
598     HRESULT overflow([in] BSTR v);
599
600     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
601     HRESULT overflow([retval, out] BSTR *p);
602
603     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
604     HRESULT pageBreakBefore([in] BSTR v);
605
606     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
607     HRESULT pageBreakBefore([retval, out] BSTR *p);
608
609     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
610     HRESULT pageBreakAfter([in] BSTR v);
611
612     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
613     HRESULT pageBreakAfter([retval, out] BSTR *p);
614
615     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
616     HRESULT cssText([in] BSTR v);
617
618     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
619     HRESULT cssText([retval, out] BSTR *p);
620
621     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
622     HRESULT pixelTop([in] LONG v);
623
624     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
625     HRESULT pixelTop([retval, out] LONG *p);
626
627     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
628     HRESULT pixelLeft([in] LONG v);
629
630     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
631     HRESULT pixelLeft([retval, out] LONG *p);
632
633     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
634     HRESULT pixelWidth([in] LONG v);
635
636     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
637     HRESULT pixelWidth([retval, out] LONG *p);
638
639     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
640     HRESULT pixelHeight([in] LONG v);
641
642     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
643     HRESULT pixelHeight([retval, out] LONG *p);
644
645     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
646     HRESULT posTop([in] float v);
647
648     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
649     HRESULT posTop([retval, out] float *p);
650
651     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
652     HRESULT posLeft([in] float v);
653
654     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
655     HRESULT posLeft([retval, out] float *p);
656
657     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
658     HRESULT posWidth([in] float v);
659
660     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
661     HRESULT posWidth([retval, out] float *p);
662
663     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
664     HRESULT posHeight([in] float v);
665
666     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
667     HRESULT posHeight([retval, out] float *p);
668
669     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
670     HRESULT cursor([in] BSTR v);
671
672     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
673     HRESULT cursor([retval, out] BSTR *p);
674
675     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
676     HRESULT clip([in] BSTR v);
677
678     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
679     HRESULT clip([retval, out] BSTR *p);
680
681     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
682     HRESULT filter([in] BSTR v);
683
684     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
685     HRESULT filter([retval, out] BSTR *p);
686
687     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
688     HRESULT setAttribute(
689         [in] BSTR strAttributeName,
690         [in] VARIANT AttributeValue,
691         [defaultvalue(1), in] LONG lFlags);
692
693     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
694     HRESULT getAttribute(
695         [in] BSTR strAttributeName,
696         [defaultvalue(0), in] LONG lFlags,
697         [retval, out] VARIANT *AttributeValue);
698
699     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
700     HRESULT removeAttribute(
701         [in] BSTR strAttributeName,
702         [defaultvalue(1), in]
703         LONG lFlags,
704         [retval, out] VARIANT_BOOL *pfSuccess);
705
706     [id(DISPID_IHTMLSTYLE_TOSTRING)]
707     HRESULT toString([retval, out] BSTR *String);
708 }
709
710 /*****************************************************************************
711  *    IHTMLStyle2 interface
712  */
713 [
714     odl,
715     oleautomation,
716     dual,
717     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
718 ]
719 interface IHTMLStyle2 : IDispatch
720 {
721     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
722     HRESULT tableLayout([in] BSTR v);
723
724     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
725     HRESULT tableLayout([out, retval] BSTR *p);
726
727     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
728     HRESULT borderCollapse([in] BSTR v);
729
730     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
731     HRESULT borderCollapse([out, retval] BSTR *p);
732
733     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
734     HRESULT direction([in] BSTR v);
735
736     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
737     HRESULT direction([out, retval] BSTR *p);
738
739     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
740     HRESULT behavior([in] BSTR v);
741
742     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
743     HRESULT behavior([out, retval] BSTR *p);
744
745     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
746     HRESULT setExpression(
747             [in] BSTR propname,
748             [in] BSTR expression,
749             [in, defaultvalue("")] BSTR language);
750
751     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
752     HRESULT getExpression(
753             [in] BSTR propname,
754             [out, retval] VARIANT *expression);
755
756     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
757     HRESULT removeExpression(
758             [in] BSTR propname,
759             [out, retval] VARIANT_BOOL *pfSuccess);
760
761     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
762     HRESULT position([in] BSTR v);
763
764     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
765     HRESULT position([out, retval] BSTR *p);
766
767     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
768     HRESULT unicodeBidi([in] BSTR v);
769
770     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
771     HRESULT unicodeBidi([out, retval] BSTR *p);
772
773     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
774     HRESULT bottom([in] VARIANT v);
775
776     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
777     HRESULT bottom([out, retval] VARIANT *p);
778
779     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
780     HRESULT right([in] VARIANT v);
781
782     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
783     HRESULT right([out, retval] VARIANT *p);
784
785     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
786     HRESULT pixelBottom([in] LONG v);
787
788     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
789     HRESULT pixelBottom([out, retval] LONG *p);
790
791     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
792     HRESULT pixelRight([in] LONG v);
793
794     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
795     HRESULT pixelRight([out, retval] LONG *p);
796
797     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
798     HRESULT posBottom([in] float v);
799
800     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
801     HRESULT posBottom([out, retval] float *p);
802
803     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
804     HRESULT posRight([in] float v);
805
806     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
807     HRESULT posRight([out, retval] float *p);
808
809     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
810     HRESULT imeMode([in] BSTR v);
811
812     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
813     HRESULT imeMode([out, retval] BSTR *p);
814
815     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
816     HRESULT rubyAlign([in] BSTR v);
817
818     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
819     HRESULT rubyAlign([out, retval] BSTR *p);
820
821     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
822     HRESULT rubyPosition([in] BSTR v);
823
824     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
825     HRESULT rubyPosition([out, retval] BSTR *p);
826
827     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
828     HRESULT rubyOverhang([in] BSTR v);
829
830     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
831     HRESULT rubyOverhang([out, retval] BSTR *p);
832
833     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
834     HRESULT layoutGridChar([in] VARIANT v);
835
836     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
837     HRESULT layoutGridChar([out, retval] VARIANT *p);
838
839     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
840     HRESULT layoutGridLine([in] VARIANT v);
841
842     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
843     HRESULT layoutGridLine([out, retval] VARIANT *p);
844
845     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
846     HRESULT layoutGridMode([in] BSTR v);
847
848     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
849     HRESULT layoutGridMode([out, retval] BSTR *p);
850
851     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
852     HRESULT layoutGridType([in] BSTR v);
853
854     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
855     HRESULT layoutGridType([out, retval] BSTR *p);
856
857     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
858     HRESULT layoutGrid([in] BSTR v);
859
860     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
861     HRESULT layoutGrid([out, retval] BSTR *p);
862
863     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
864     HRESULT wordBreak([in] BSTR v);
865
866     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
867     HRESULT wordBreak([out, retval] BSTR *p);
868
869     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
870     HRESULT lineBreak([in] BSTR v);
871
872     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
873     HRESULT lineBreak([out, retval] BSTR *p);
874
875     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
876     HRESULT textJustify([in] BSTR v);
877
878     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
879     HRESULT textJustify([out, retval] BSTR *p);
880
881     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
882     HRESULT textJustifyTrim([in] BSTR v);
883
884     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
885     HRESULT textJustifyTrim([out, retval] BSTR *p);
886
887     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
888     HRESULT textKashida([in] VARIANT v);
889
890     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
891     HRESULT textKashida([out, retval] VARIANT *p);
892
893     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
894     HRESULT textAutospace([in] BSTR v);
895
896     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
897     HRESULT textAutospace([out, retval] BSTR *p);
898
899     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
900     HRESULT overflowX([in] BSTR v);
901
902     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
903     HRESULT overflowX([out, retval] BSTR *p);
904
905     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
906     HRESULT overflowY([in] BSTR v);
907
908     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
909     HRESULT overflowY([out, retval] BSTR *p);
910
911     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
912     HRESULT accelerator([in] BSTR v);
913
914     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
915     HRESULT accelerator([out, retval] BSTR *p);
916 }
917
918 /*****************************************************************************
919  *    IHTMLRuleStyle interface
920  */
921 [
922     odl,
923     oleautomation,
924     dual,
925     uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
926 ]
927 interface IHTMLRuleStyle : IDispatch
928 {
929     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
930     HRESULT fontFamily([in] BSTR v);
931
932     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
933     HRESULT fontFamily([retval, out] BSTR *p);
934
935     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
936     HRESULT fontStyle([in] BSTR v);
937
938     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
939     HRESULT fontStyle([retval, out] BSTR *p);
940
941     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
942     HRESULT fontVariant([in] BSTR v);
943
944     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
945     HRESULT fontVariant([retval, out] BSTR *p);
946
947     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
948     HRESULT fontWeight([in] BSTR v);
949
950     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
951     HRESULT fontWeight([retval, out] BSTR *p);
952
953     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
954     HRESULT fontSize([in] VARIANT v);
955
956     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
957     HRESULT fontSize([retval, out] VARIANT *p);
958
959     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
960     HRESULT font([in] BSTR v);
961
962     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
963     HRESULT font([retval, out] BSTR *p);
964
965     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
966     HRESULT color([in] VARIANT v);
967
968     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
969     HRESULT color([retval, out] VARIANT *p);
970
971     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
972     HRESULT background([in] BSTR v);
973
974     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
975     HRESULT background([retval, out] BSTR *p);
976
977     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
978     HRESULT backgroundColor([in] VARIANT v);
979
980     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
981     HRESULT backgroundColor([retval, out] VARIANT *p);
982
983     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
984     HRESULT backgroundImage([in] BSTR v);
985
986     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
987     HRESULT backgroundImage([retval, out] BSTR *p);
988
989     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
990     HRESULT backgroundRepeat([in] BSTR v);
991
992     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
993     HRESULT backgroundRepeat([retval, out] BSTR *p);
994
995     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
996     HRESULT backgroundAttachment([in] BSTR v);
997
998     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
999     HRESULT backgroundAttachment([retval, out] BSTR *p);
1000
1001     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1002     HRESULT backgroundPosition([in] BSTR v);
1003
1004     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1005     HRESULT backgroundPosition([retval, out] BSTR *p);
1006
1007     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1008     HRESULT backgroundPositionX([in] VARIANT v);
1009
1010     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1011     HRESULT backgroundPositionX([retval, out] VARIANT *p);
1012
1013     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1014     HRESULT backgroundPositionY([in] VARIANT v);
1015
1016     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1017     HRESULT backgroundPositionY([retval, out] VARIANT *p);
1018
1019     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1020     HRESULT wordSpacing([in] VARIANT v);
1021
1022     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1023     HRESULT wordSpacing([retval, out] VARIANT *p);
1024
1025     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1026     HRESULT letterSpacing([in] VARIANT v);
1027
1028     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1029     HRESULT letterSpacing([retval, out] VARIANT *p);
1030
1031     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1032     HRESULT textDecoration([in] BSTR v);
1033
1034     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1035     HRESULT textDecoration([retval, out] BSTR *p);
1036
1037     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1038     HRESULT textDecorationNone([in] VARIANT_BOOL v);
1039
1040     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1041     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1042
1043     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1044     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1045
1046     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1047     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1048
1049     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1050     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1051
1052     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1053     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1054
1055     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1056     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1057
1058     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1059     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1060
1061     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1062     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1063
1064     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1065     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1066
1067     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1068     HRESULT verticalAlign([in] VARIANT v);
1069
1070     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1071     HRESULT verticalAlign([retval, out] VARIANT *p);
1072
1073     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1074     HRESULT textTransform([in] BSTR v);
1075
1076     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1077     HRESULT textTransform([retval, out] BSTR *p);
1078
1079     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1080     HRESULT textAlign([in] BSTR v);
1081
1082     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1083     HRESULT textAlign([retval, out] BSTR *p);
1084
1085     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1086     HRESULT textIndent([in] VARIANT v);
1087
1088     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1089     HRESULT textIndent([retval, out] VARIANT *p);
1090
1091     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1092     HRESULT lineHeight([in] VARIANT v);
1093
1094     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1095     HRESULT lineHeight([retval, out] VARIANT *p);
1096
1097     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1098     HRESULT marginTop([in] VARIANT v);
1099
1100     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1101     HRESULT marginTop([retval, out] VARIANT *p);
1102
1103     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1104     HRESULT marginRight([in] VARIANT v);
1105
1106     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1107     HRESULT marginRight([retval, out] VARIANT *p);
1108
1109     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1110     HRESULT marginBottom([in] VARIANT v);
1111
1112     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1113     HRESULT marginBottom([retval, out] VARIANT *p);
1114
1115     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1116     HRESULT marginLeft([in] VARIANT v);
1117
1118     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1119     HRESULT marginLeft([retval, out] VARIANT *p);
1120
1121     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1122     HRESULT margin([in] BSTR v);
1123
1124     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1125     HRESULT margin([retval, out] BSTR *p);
1126
1127     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1128     HRESULT paddingTop([in] VARIANT v);
1129
1130     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1131     HRESULT paddingTop([retval, out] VARIANT *p);
1132
1133     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1134     HRESULT paddingRight([in] VARIANT v);
1135
1136     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1137     HRESULT paddingRight([retval, out] VARIANT *p);
1138
1139     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1140     HRESULT paddingBottom([in] VARIANT v);
1141
1142     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1143     HRESULT paddingBottom([retval, out] VARIANT *p);
1144
1145     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1146     HRESULT paddingLeft([in] VARIANT v);
1147
1148     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1149     HRESULT paddingLeft([retval, out] VARIANT *p);
1150
1151     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1152     HRESULT padding([in] BSTR v);
1153
1154     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1155     HRESULT padding([retval, out] BSTR *p);
1156
1157     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1158     HRESULT border([in] BSTR v);
1159
1160     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1161     HRESULT border([retval, out] BSTR *p);
1162
1163     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1164     HRESULT borderTop([in] BSTR v);
1165
1166     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1167     HRESULT borderTop([retval, out] BSTR *p);
1168
1169     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1170     HRESULT borderRight([in] BSTR v);
1171
1172     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1173     HRESULT borderRight([retval, out] BSTR *p);
1174
1175     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1176     HRESULT borderBottom([in] BSTR v);
1177
1178     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1179     HRESULT borderBottom([retval, out] BSTR *p);
1180
1181     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1182     HRESULT borderLeft([in] BSTR v);
1183
1184     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1185     HRESULT borderLeft([retval, out] BSTR *p);
1186
1187     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1188     HRESULT borderColor([in] BSTR v);
1189
1190     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1191     HRESULT borderColor([retval, out] BSTR *p);
1192
1193     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1194     HRESULT borderTopColor([in] VARIANT v);
1195
1196     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1197     HRESULT borderTopColor([retval, out] VARIANT *p);
1198
1199     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1200     HRESULT borderRightColor([in] VARIANT v);
1201
1202     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1203     HRESULT borderRightColor([retval, out] VARIANT *p);
1204
1205     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1206     HRESULT borderBottomColor([in] VARIANT v);
1207
1208     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1209     HRESULT borderBottomColor([retval, out] VARIANT *p);
1210
1211     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1212     HRESULT borderLeftColor([in] VARIANT v);
1213
1214     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1215     HRESULT borderLeftColor([retval, out] VARIANT *p);
1216
1217     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1218     HRESULT borderWidth([in] BSTR v);
1219
1220     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1221     HRESULT borderWidth([retval, out] BSTR *p);
1222
1223     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1224     HRESULT borderTopWidth([in] VARIANT v);
1225
1226     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1227     HRESULT borderTopWidth([retval, out] VARIANT *p);
1228
1229     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1230     HRESULT borderRightWidth([in] VARIANT v);
1231
1232     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1233     HRESULT borderRightWidth([retval, out] VARIANT *p);
1234
1235     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1236     HRESULT borderBottomWidth([in] VARIANT v);
1237
1238     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1239     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1240
1241     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1242     HRESULT borderLeftWidth([in] VARIANT v);
1243
1244     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1245     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1246
1247     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1248     HRESULT borderStyle([in] BSTR v);
1249
1250     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1251     HRESULT borderStyle([retval, out] BSTR *p);
1252
1253     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1254     HRESULT borderTopStyle([in] BSTR v);
1255
1256     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1257     HRESULT borderTopStyle([retval, out] BSTR *p);
1258
1259     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1260     HRESULT borderRightStyle([in] BSTR v);
1261
1262     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1263     HRESULT borderRightStyle([retval, out] BSTR *p);
1264
1265     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1266     HRESULT borderBottomStyle([in] BSTR v);
1267
1268     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1269     HRESULT borderBottomStyle([retval, out] BSTR *p);
1270
1271     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1272     HRESULT borderLeftStyle([in] BSTR v);
1273
1274     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1275     HRESULT borderLeftStyle([retval, out] BSTR *p);
1276
1277     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1278     HRESULT width([in] VARIANT v);
1279
1280     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1281     HRESULT width([retval, out] VARIANT *p);
1282
1283     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1284     HRESULT height([in] VARIANT v);
1285
1286     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1287     HRESULT height([retval, out] VARIANT *p);
1288
1289     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1290     HRESULT styleFloat([in] BSTR v);
1291
1292     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1293     HRESULT styleFloat([retval, out] BSTR *p);
1294
1295     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1296     HRESULT clear([in] BSTR v);
1297
1298     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1299     HRESULT clear([retval, out] BSTR *p);
1300
1301     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1302     HRESULT display([in] BSTR v);
1303
1304     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1305     HRESULT display([retval, out] BSTR *p);
1306
1307     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1308     HRESULT visibility([in] BSTR v);
1309
1310     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1311     HRESULT visibility([retval, out] BSTR *p);
1312
1313     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1314     HRESULT listStyleType([in] BSTR v);
1315
1316     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1317     HRESULT listStyleType([retval, out] BSTR *p);
1318
1319     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1320     HRESULT listStylePosition([in] BSTR v);
1321
1322     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1323     HRESULT listStylePosition([retval, out] BSTR *p);
1324
1325     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1326     HRESULT listStyleImage([in] BSTR v);
1327
1328     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1329     HRESULT listStyleImage([retval, out] BSTR *p);
1330
1331     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1332     HRESULT listStyle([in] BSTR v);
1333
1334     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1335     HRESULT listStyle([retval, out] BSTR *p);
1336
1337     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1338     HRESULT whiteSpace([in] BSTR v);
1339
1340     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1341     HRESULT whiteSpace([retval, out] BSTR *p);
1342
1343     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1344     HRESULT top([in] VARIANT v);
1345
1346     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1347     HRESULT top([retval, out] VARIANT *p);
1348
1349     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1350     HRESULT left([in] VARIANT v);
1351
1352     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1353     HRESULT left([retval, out] VARIANT *p);
1354
1355     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1356     HRESULT position([retval, out] BSTR *p);
1357
1358     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1359     HRESULT zIndex([in] VARIANT v);
1360
1361     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1362     HRESULT zIndex([retval, out] VARIANT *p);
1363
1364     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1365     HRESULT overflow([in] BSTR v);
1366
1367     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1368     HRESULT overflow([retval, out] BSTR *p);
1369
1370     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1371     HRESULT pageBreakBefore([in] BSTR v);
1372
1373     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1374     HRESULT pageBreakBefore([retval, out] BSTR *p);
1375
1376     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1377     HRESULT pageBreakAfter([in] BSTR v);
1378
1379     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1380     HRESULT pageBreakAfter([retval, out] BSTR *p);
1381
1382     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1383     HRESULT cssText([in] BSTR v);
1384
1385     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1386     HRESULT cssText([retval, out] BSTR *p);
1387
1388     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1389     HRESULT cursor([in] BSTR v);
1390
1391     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1392     HRESULT cursor([retval, out] BSTR *p);
1393
1394     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1395     HRESULT clip([in] BSTR v);
1396
1397     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1398     HRESULT clip([retval, out] BSTR *p);
1399
1400     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1401     HRESULT filter([in] BSTR v);
1402
1403     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1404     HRESULT filter([retval, out] BSTR *p);
1405
1406     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1407     HRESULT setAttribute(
1408         [in] BSTR strAttributeName,
1409         [in] VARIANT AttributeValue,
1410         [defaultvalue(1), in] LONG lFlags);
1411
1412     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1413     HRESULT getAttribute(
1414         [in] BSTR strAttributeName,
1415         [defaultvalue(0), in] LONG lFlags,
1416         [retval, out] VARIANT *AttributeValue);
1417
1418     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1419     HRESULT removeAttribute(
1420         [in] BSTR strAttributeName,
1421         [defaultvalue(1), in] LONG lFlags,
1422         [retval, out] VARIANT_BOOL *pfSuccess);
1423 }
1424
1425 /*****************************************************************************
1426  *    DispHTMLStyle dispinterface
1427  */
1428 [
1429     hidden,
1430     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1431 ]
1432 dispinterface DispHTMLStyle
1433 {
1434 properties:
1435 methods:
1436     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1437     void fontFamily(BSTR v);
1438
1439     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1440     BSTR fontFamily();
1441
1442     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1443     void fontStyle(BSTR v);
1444
1445     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1446     BSTR fontStyle();
1447
1448     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1449     void fontVariant(BSTR v);
1450
1451     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1452     BSTR fontVariant();
1453
1454     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1455     void fontWeight(BSTR v);
1456
1457     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1458     BSTR fontWeight();
1459
1460     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1461     void fontSize(VARIANT v);
1462
1463     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1464     VARIANT fontSize();
1465
1466     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1467     void font(BSTR v);
1468
1469     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1470     BSTR font();
1471
1472     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1473     void color(VARIANT v);
1474
1475     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1476     VARIANT color();
1477
1478     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1479     void background(BSTR v);
1480
1481     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1482     BSTR background();
1483
1484     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1485     void backgroundColor(VARIANT v);
1486
1487     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1488     VARIANT backgroundColor();
1489
1490     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1491     void backgroundImage(BSTR v);
1492
1493     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1494     BSTR backgroundImage();
1495
1496     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1497     void backgroundRepeat(BSTR v);
1498
1499     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1500     BSTR backgroundRepeat();
1501
1502     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1503     void backgroundAttachment(BSTR v);
1504
1505     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1506     BSTR backgroundAttachment();
1507
1508     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1509     void backgroundPosition(BSTR v);
1510
1511     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1512     BSTR backgroundPosition();
1513
1514     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1515     void backgroundPositionX(VARIANT v);
1516
1517     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1518     VARIANT backgroundPositionX();
1519
1520     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1521     void backgroundPositionY(VARIANT v);
1522
1523     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1524     VARIANT backgroundPositionY();
1525
1526     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1527     void wordSpacing(VARIANT v);
1528
1529     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1530     VARIANT wordSpacing();
1531
1532     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1533     void letterSpacing(VARIANT v);
1534
1535     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1536     VARIANT letterSpacing();
1537
1538     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1539     void textDecoration(BSTR v);
1540
1541     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1542     BSTR textDecoration();
1543
1544     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1545     void textDecorationNone(VARIANT_BOOL v);
1546
1547     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1548     VARIANT_BOOL textDecorationNone();
1549
1550     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1551     void textDecorationUnderline(VARIANT_BOOL v);
1552
1553     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1554     VARIANT_BOOL textDecorationUnderline();
1555
1556     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1557     void textDecorationOverline(VARIANT_BOOL v);
1558
1559     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1560     VARIANT_BOOL textDecorationOverline();
1561
1562     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1563     void textDecorationLineThrough(VARIANT_BOOL v);
1564
1565     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1566     VARIANT_BOOL textDecorationLineThrough();
1567
1568     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1569     void textDecorationBlink(VARIANT_BOOL v);
1570
1571     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1572     VARIANT_BOOL textDecorationBlink();
1573
1574     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1575     void verticalAlign(VARIANT v);
1576
1577     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1578     VARIANT verticalAlign();
1579
1580     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1581     void textTransform(BSTR v);
1582
1583     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1584     BSTR textTransform();
1585
1586     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1587     void textAlign(BSTR v);
1588
1589     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1590     BSTR textAlign();
1591
1592     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1593     void textIndent(VARIANT v);
1594
1595     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1596     VARIANT textIndent();
1597
1598     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1599     void lineHeight(VARIANT v);
1600
1601     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1602     VARIANT lineHeight();
1603
1604     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1605     void marginTop(VARIANT v);
1606
1607     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1608     VARIANT marginTop();
1609
1610     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1611     void marginRight(VARIANT v);
1612
1613     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1614     VARIANT marginRight();
1615
1616     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1617     void marginBottom(VARIANT v);
1618
1619     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1620     VARIANT marginBottom();
1621
1622     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1623     void marginLeft(VARIANT v);
1624
1625     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1626     VARIANT marginLeft();
1627
1628     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1629     void margin(BSTR v);
1630
1631     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1632     BSTR margin();
1633
1634     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1635     void paddingTop(VARIANT v);
1636
1637     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1638     VARIANT paddingTop();
1639
1640     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1641     void paddingRight(VARIANT v);
1642
1643     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1644     VARIANT paddingRight();
1645
1646     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1647     void paddingBottom(VARIANT v);
1648
1649     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1650     VARIANT paddingBottom();
1651
1652     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1653     void paddingLeft(VARIANT v);
1654
1655     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1656     VARIANT paddingLeft();
1657
1658     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1659     void padding(BSTR v);
1660
1661     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1662     BSTR padding();
1663
1664     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1665     void border(BSTR v);
1666
1667     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1668     BSTR border();
1669
1670     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1671     void borderTop(BSTR v);
1672
1673     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1674     BSTR borderTop();
1675
1676     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1677     void borderRight(BSTR v);
1678
1679     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1680     BSTR borderRight();
1681
1682     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1683     void borderBottom(BSTR v);
1684
1685     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1686     BSTR borderBottom();
1687
1688     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1689     void borderLeft(BSTR v);
1690
1691     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1692     BSTR borderLeft();
1693
1694     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1695     void borderColor(BSTR v);
1696
1697     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1698     BSTR borderColor();
1699
1700     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1701     void borderTopColor(VARIANT v);
1702
1703     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1704     VARIANT borderTopColor();
1705
1706     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1707     void borderRightColor(VARIANT v);
1708
1709     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1710     VARIANT borderRightColor();
1711
1712     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1713     void borderBottomColor(VARIANT v);
1714
1715     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1716     VARIANT borderBottomColor();
1717
1718     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1719     void borderLeftColor(VARIANT v);
1720
1721     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1722     VARIANT borderLeftColor();
1723
1724     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1725     void borderWidth(BSTR v);
1726
1727     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1728     BSTR borderWidth();
1729
1730     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1731     void borderTopWidth(VARIANT v);
1732
1733     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1734     VARIANT borderTopWidth();
1735
1736     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1737     void borderRightWidth(VARIANT v);
1738
1739     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1740     VARIANT borderRightWidth();
1741
1742     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1743     void borderBottomWidth(VARIANT v);
1744
1745     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1746     VARIANT borderBottomWidth();
1747
1748     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1749     void borderLeftWidth(VARIANT v);
1750
1751     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1752     VARIANT borderLeftWidth();
1753
1754     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1755     void borderStyle(BSTR v);
1756
1757     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1758     BSTR borderStyle();
1759
1760     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1761     void borderTopStyle(BSTR v);
1762
1763     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1764     BSTR borderTopStyle();
1765
1766     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1767     void borderRightStyle(BSTR v);
1768
1769     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1770     BSTR borderRightStyle();
1771
1772     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1773     void borderBottomStyle(BSTR v);
1774
1775     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1776     BSTR borderBottomStyle();
1777
1778     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1779     void borderLeftStyle(BSTR v);
1780
1781     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1782     BSTR borderLeftStyle();
1783
1784     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1785     void width(VARIANT v);
1786
1787     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1788     VARIANT width();
1789
1790     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1791     void height(VARIANT v);
1792
1793     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1794     VARIANT height();
1795
1796     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1797     void styleFloat(BSTR v);
1798
1799     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1800     BSTR styleFloat();
1801
1802     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1803     void clear(BSTR v);
1804
1805     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1806     BSTR clear();
1807
1808     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1809     void display(BSTR v);
1810
1811     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1812     BSTR display();
1813
1814     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1815     void visibility(BSTR v);
1816
1817     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1818     BSTR visibility();
1819
1820     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1821     void listStyleType(BSTR v);
1822
1823     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1824     BSTR listStyleType();
1825
1826     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1827     void listStylePosition(BSTR v);
1828
1829     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1830     BSTR listStylePosition();
1831
1832     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1833     void listStyleImage(BSTR v);
1834
1835     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1836     BSTR listStyleImage();
1837
1838     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1839     void listStyle(BSTR v);
1840
1841     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1842     BSTR listStyle();
1843
1844     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1845     void whiteSpace(BSTR v);
1846
1847     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1848     BSTR whiteSpace();
1849
1850     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1851     void top(VARIANT v);
1852
1853     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1854     VARIANT top();
1855
1856     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1857     void left(VARIANT v);
1858
1859     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1860     VARIANT left();
1861
1862     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1863     void zIndex(VARIANT v);
1864
1865     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1866     VARIANT zIndex();
1867
1868     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1869     void overflow(BSTR v);
1870
1871     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1872     BSTR overflow();
1873
1874     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1875     void pageBreakBefore(BSTR v);
1876
1877     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1878     BSTR pageBreakBefore();
1879
1880     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1881     void pageBreakAfter(BSTR v);
1882
1883     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1884     BSTR pageBreakAfter();
1885
1886     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1887     void cssText(BSTR v);
1888
1889     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1890     BSTR cssText();
1891
1892     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1893     void pixelTop(LONG v);
1894
1895     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1896     LONG pixelTop();
1897
1898     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1899     void pixelLeft(LONG v);
1900
1901     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1902     LONG pixelLeft();
1903
1904     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1905     void pixelWidth(LONG v);
1906
1907     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1908     LONG pixelWidth();
1909
1910     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1911     void pixelHeight(LONG v);
1912
1913     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1914     LONG pixelHeight();
1915
1916     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1917     void posTop(float v);
1918
1919     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1920     float posTop();
1921
1922     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1923     void posLeft(float v);
1924
1925     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1926     float posLeft();
1927
1928     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1929     void posWidth(float v);
1930
1931     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1932     float posWidth();
1933
1934     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1935     void posHeight(float v);
1936
1937     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1938     float posHeight();
1939
1940     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1941     void cursor(BSTR v);
1942
1943     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1944     BSTR cursor();
1945
1946     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1947     void clip(BSTR v);
1948
1949     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1950     BSTR clip();
1951
1952     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1953     void filter(BSTR v);
1954
1955     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1956     BSTR filter();
1957
1958     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1959     void setAttribute(
1960             [in] BSTR strAttributeName,
1961             [in] VARIANT AttributeValue,
1962             [in, defaultvalue(1)] LONG lFlags);
1963
1964     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1965     VARIANT getAttribute(
1966             [in] BSTR strAttributeName,
1967             [in, defaultvalue(0)] LONG lFlags);
1968
1969     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1970     VARIANT_BOOL removeAttribute(
1971             [in] BSTR strAttributeName,
1972             [in, defaultvalue(1)] LONG lFlags);
1973
1974     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1975     BSTR toString();
1976
1977     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1978     void tableLayout(BSTR v);
1979
1980     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1981     BSTR tableLayout();
1982
1983     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1984     void borderCollapse(BSTR v);
1985
1986     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1987     BSTR borderCollapse();
1988
1989     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1990     void direction(BSTR v);
1991
1992     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1993     BSTR direction();
1994
1995     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1996     void behavior(BSTR v);
1997
1998     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1999     BSTR behavior();
2000
2001     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
2002     void setExpression(
2003             [in] BSTR propname,
2004             [in] BSTR expression,
2005             [in, defaultvalue("")] BSTR language);
2006
2007     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
2008     VARIANT getExpression([in] BSTR propname);
2009
2010     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
2011     VARIANT_BOOL removeExpression([in] BSTR propname);
2012
2013     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2014     void position(BSTR v);
2015
2016     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2017     BSTR position();
2018
2019     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2020     void unicodeBidi(BSTR v);
2021
2022     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2023     BSTR unicodeBidi();
2024
2025     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2026     void bottom(VARIANT v);
2027
2028     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2029     VARIANT bottom();
2030
2031     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2032     void right(VARIANT v);
2033
2034     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2035     VARIANT right();
2036
2037     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2038     void pixelBottom(LONG v);
2039
2040     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2041     LONG pixelBottom();
2042
2043     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2044     void pixelRight(LONG v);
2045
2046     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2047     LONG pixelRight();
2048
2049     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2050     void posBottom(float v);
2051
2052     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2053     float posBottom();
2054
2055     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2056     void posRight(float v);
2057
2058     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2059     float posRight();
2060
2061     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2062     void imeMode(BSTR v);
2063
2064     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2065     BSTR imeMode();
2066
2067     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2068     void rubyAlign(BSTR v);
2069
2070     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2071     BSTR rubyAlign();
2072
2073     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2074     void rubyPosition(BSTR v);
2075
2076     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2077     BSTR rubyPosition();
2078
2079     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2080     void rubyOverhang(BSTR v);
2081
2082     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2083     BSTR rubyOverhang();
2084
2085     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2086     void layoutGridChar(VARIANT v);
2087
2088     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2089     VARIANT layoutGridChar();
2090
2091     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2092     void layoutGridLine(VARIANT v);
2093
2094     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2095     VARIANT layoutGridLine();
2096
2097     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2098     void layoutGridMode(BSTR v);
2099
2100     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2101     BSTR layoutGridMode();
2102
2103     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2104     void layoutGridType(BSTR v);
2105
2106     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2107     BSTR layoutGridType();
2108
2109     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2110     void layoutGrid(BSTR v);
2111
2112     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2113     BSTR layoutGrid();
2114
2115     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2116     void wordBreak(BSTR v);
2117
2118     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2119     BSTR wordBreak();
2120
2121     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2122     void lineBreak(BSTR v);
2123
2124     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2125     BSTR lineBreak();
2126
2127     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2128     void textJustify(BSTR v);
2129
2130     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2131     BSTR textJustify();
2132
2133     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2134     void textJustifyTrim(BSTR v);
2135
2136     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2137     BSTR textJustifyTrim();
2138
2139     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2140     void textKashida(VARIANT v);
2141
2142     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2143     VARIANT textKashida();
2144
2145     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2146     void textAutospace(BSTR v);
2147
2148     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2149     BSTR textAutospace();
2150
2151     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2152     void overflowX(BSTR v);
2153
2154     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2155     BSTR overflowX();
2156
2157     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2158     void overflowY(BSTR v);
2159
2160     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2161     BSTR overflowY();
2162
2163     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2164     void accelerator(BSTR v);
2165
2166     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2167     BSTR accelerator();
2168
2169     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2170     void layoutFlow(BSTR v);
2171
2172     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2173     BSTR layoutFlow();
2174
2175     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2176     void zoom(VARIANT v);
2177
2178     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2179     VARIANT zoom();
2180
2181     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2182     void wordWrap(BSTR v);
2183
2184     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2185     BSTR wordWrap();
2186
2187     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2188     void textUnderlinePosition(BSTR v);
2189
2190     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2191     BSTR textUnderlinePosition();
2192
2193     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2194     void scrollbarBaseColor(VARIANT v);
2195
2196     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2197     VARIANT scrollbarBaseColor();
2198
2199     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2200     void scrollbarFaceColor(VARIANT v);
2201
2202     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2203     VARIANT scrollbarFaceColor();
2204
2205     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2206     void scrollbar3dLightColor(VARIANT v);
2207
2208     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2209     VARIANT scrollbar3dLightColor();
2210
2211     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2212     void scrollbarShadowColor(VARIANT v);
2213
2214     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2215     VARIANT scrollbarShadowColor();
2216
2217     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2218     void scrollbarHighlightColor(VARIANT v);
2219
2220     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2221     VARIANT scrollbarHighlightColor();
2222
2223     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2224     void scrollbarDarkShadowColor(VARIANT v);
2225
2226     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2227     VARIANT scrollbarDarkShadowColor();
2228
2229     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2230     void scrollbarArrowColor(VARIANT v);
2231
2232     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2233     VARIANT scrollbarArrowColor();
2234
2235     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2236     void scrollbarTrackColor(VARIANT v);
2237
2238     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2239     VARIANT scrollbarTrackColor();
2240
2241     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2242     void writingMode(BSTR v);
2243
2244     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2245     BSTR writingMode();
2246
2247     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2248     void textAlignLast(BSTR v);
2249
2250     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2251     BSTR textAlignLast();
2252
2253     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2254     void textKashidaSpace(VARIANT v);
2255
2256     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2257     VARIANT textKashidaSpace();
2258
2259     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2260     void textOverflow(BSTR v);
2261
2262     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2263     BSTR textOverflow();
2264
2265     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2266     void minHeight(VARIANT v);
2267
2268     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2269     VARIANT minHeight();
2270 }
2271
2272 [
2273     odl,
2274     oleautomation,
2275     dual,
2276     uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2277 ]
2278 interface IHTMLStyle3 : IDispatch
2279 {
2280     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2281     HRESULT layoutFlow([in] BSTR v);
2282
2283     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2284     HRESULT layoutFlow([retval, out] BSTR * p);
2285
2286     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2287     HRESULT zoom([in] VARIANT v);
2288
2289     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2290     HRESULT zoom([retval, out] VARIANT * p);
2291
2292     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2293     HRESULT wordWrap([in] BSTR v);
2294
2295     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2296     HRESULT wordWrap([retval, out] BSTR * p);
2297
2298     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2299     HRESULT textUnderlinePosition([in] BSTR v);
2300
2301     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2302     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2303
2304     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2305     HRESULT scrollbarBaseColor([in] VARIANT v);
2306
2307     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2308     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2309
2310     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2311     HRESULT scrollbarFaceColor([in] VARIANT v);
2312
2313     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2314     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2315
2316     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2317     HRESULT scrollbar3dLightColor([in] VARIANT v);
2318
2319     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2320     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2321
2322     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2323     HRESULT scrollbarShadowColor([in] VARIANT v);
2324
2325     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2326     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2327
2328     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2329     HRESULT scrollbarHighlightColor([in] VARIANT v);
2330
2331     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2332     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2333
2334     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2335     HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2336
2337     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2338     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2339
2340     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2341     HRESULT scrollbarArrowColor([in] VARIANT v);
2342
2343     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2344     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2345
2346     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2347     HRESULT scrollbarTrackColor([in] VARIANT v);
2348
2349     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2350     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2351
2352     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2353     HRESULT writingMode([in] BSTR v);
2354
2355     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2356     HRESULT writingMode([retval, out] BSTR * p);
2357
2358     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2359     HRESULT textAlignLast([in] BSTR v);
2360
2361     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2362     HRESULT textAlignLast([retval, out] BSTR * p);
2363
2364     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2365     HRESULT textKashidaSpace([in] VARIANT v);
2366
2367     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2368     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2369 }
2370
2371 /*****************************************************************************
2372  *    IHTMLSytyle4 interface
2373  */
2374 [
2375     odl,
2376     oleautomation,
2377     dual,
2378     uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2379 ]
2380 interface IHTMLStyle4 : IDispatch
2381 {
2382     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2383     HRESULT textOverflow([in] BSTR v);
2384
2385     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2386     HRESULT textOverflow([retval, out] BSTR * p);
2387
2388     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2389     HRESULT minHeight([in] VARIANT v);
2390
2391     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2392     HRESULT minHeight([retval, out] VARIANT * p);
2393 }
2394
2395 [
2396     noncreatable,
2397     uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2398 ]
2399 coclass HTMLStyle
2400 {
2401     [default] dispinterface DispHTMLStyle;
2402     interface IHTMLStyle;
2403     interface IHTMLStyle2;
2404     interface IHTMLStyle3;
2405     interface IHTMLStyle4;
2406     /* interface IHTMLStyle5; */
2407 }
2408
2409 /*****************************************************************************
2410  *    IHTMLRenderStyle interface
2411  */
2412 [
2413     odl,
2414     oleautomation,
2415     dual,
2416     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2417 ]
2418 interface IHTMLRenderStyle : IDispatch
2419 {
2420     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2421     HRESULT textLineThroughStyle([in] BSTR v);
2422
2423     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2424     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2425
2426     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2427     HRESULT textUnderlineStyle([in] BSTR v);
2428
2429     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2430     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2431
2432     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2433     HRESULT textEffect([in] BSTR v);
2434
2435     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2436     HRESULT textEffect([retval, out] BSTR *p);
2437
2438     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2439     HRESULT textColor([in] VARIANT v);
2440
2441     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2442     HRESULT textColor([retval, out] VARIANT *p);
2443
2444     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2445     HRESULT textBackgroundColor([in] VARIANT v);
2446
2447     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2448     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2449
2450     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2451     HRESULT textDecorationColor([in] VARIANT v);
2452
2453     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2454     HRESULT textDecorationColor([retval, out] VARIANT *p);
2455
2456     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2457     HRESULT renderingPriority([in] LONG v);
2458
2459     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2460     HRESULT renderingPriority([retval, out] LONG *p);
2461
2462     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2463     HRESULT defaultTextSelection([in] BSTR v);
2464
2465     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2466     HRESULT defaultTextSelection([retval, out] BSTR *p);
2467
2468     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2469     HRESULT textDecoration([in] BSTR v);
2470
2471     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2472     HRESULT textDecoration([retval, out] BSTR *p);
2473 }
2474
2475 /*****************************************************************************
2476  *    IHTMLCurrentStyle interface
2477  */
2478 [
2479     odl,
2480     oleautomation,
2481     dual,
2482     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2483 ]
2484 interface IHTMLCurrentStyle : IDispatch
2485 {
2486     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2487     HRESULT position([retval, out] BSTR *p);
2488
2489     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2490     HRESULT styleFloat([retval, out] BSTR *p);
2491
2492     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2493     HRESULT color([retval, out] VARIANT *p);
2494
2495     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2496     HRESULT backgroundColor([retval, out] VARIANT *p);
2497
2498     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2499     HRESULT fontFamily([retval, out] BSTR *p);
2500
2501     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2502     HRESULT fontStyle([retval, out] BSTR *p);
2503
2504     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2505     HRESULT fontVariant([retval, out] BSTR *p);
2506
2507     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2508     HRESULT fontWeight([retval, out] VARIANT *p);
2509
2510     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2511     HRESULT fontSize([retval, out] VARIANT *p);
2512
2513     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2514     HRESULT backgroundImage([retval, out] BSTR *p);
2515
2516     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2517     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2518
2519     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2520     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2521
2522     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2523     HRESULT backgroundRepeat([retval, out] BSTR *p);
2524
2525     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2526     HRESULT borderLeftColor([retval, out] VARIANT *p);
2527
2528     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2529     HRESULT borderTopColor([retval, out] VARIANT *p);
2530
2531     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2532     HRESULT borderRightColor([retval, out] VARIANT *p);
2533
2534     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2535     HRESULT borderBottomColor([retval, out] VARIANT *p);
2536
2537     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2538     HRESULT borderTopStyle([retval, out] BSTR *p);
2539
2540     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2541     HRESULT borderRightStyle([retval, out] BSTR *p);
2542
2543     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2544     HRESULT borderBottomStyle([retval, out] BSTR *p);
2545
2546     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2547     HRESULT borderLeftStyle([retval, out] BSTR *p);
2548
2549     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2550     HRESULT borderTopWidth([retval, out] VARIANT *p);
2551
2552     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2553     HRESULT borderRightWidth([retval, out] VARIANT *p);
2554
2555     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2556     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2557
2558     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2559     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2560
2561     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2562     HRESULT left([retval, out] VARIANT *p);
2563
2564     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2565     HRESULT top([retval, out] VARIANT *p);
2566
2567     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2568     HRESULT width([retval, out] VARIANT *p);
2569
2570     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2571     HRESULT height([retval, out] VARIANT *p);
2572
2573     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2574     HRESULT paddingLeft([retval, out] VARIANT *p);
2575
2576     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2577     HRESULT paddingTop([retval, out] VARIANT *p);
2578
2579     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2580     HRESULT paddingRight([retval, out] VARIANT *p);
2581
2582     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2583     HRESULT paddingBottom([retval, out] VARIANT *p);
2584
2585     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2586     HRESULT textAlign([retval, out] BSTR *p);
2587
2588     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2589     HRESULT textDecoration([retval, out] BSTR *p);
2590
2591     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2592     HRESULT display([retval, out] BSTR *p);
2593
2594     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2595     HRESULT visibility([retval, out] BSTR *p);
2596
2597     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2598     HRESULT zIndex([retval, out] VARIANT *p);
2599
2600     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2601     HRESULT letterSpacing([retval, out] VARIANT *p);
2602
2603     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2604     HRESULT lineHeight([retval, out] VARIANT *p);
2605
2606     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2607     HRESULT textIndent([retval, out] VARIANT *p);
2608
2609     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2610     HRESULT verticalAlign([retval, out] VARIANT *p);
2611
2612     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2613     HRESULT backgroundAttachment([retval, out] BSTR *p);
2614
2615     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2616     HRESULT marginTop([retval, out] VARIANT *p);
2617
2618     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2619     HRESULT marginRight([retval, out] VARIANT *p);
2620
2621     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2622     HRESULT marginBottom([retval, out] VARIANT *p);
2623
2624     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2625     HRESULT marginLeft([retval, out] VARIANT *p);
2626
2627     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2628     HRESULT clear([retval, out] BSTR *p);
2629
2630     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2631     HRESULT listStyleType([retval, out] BSTR *p);
2632
2633     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2634     HRESULT listStylePosition([retval, out] BSTR *p);
2635
2636     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2637     HRESULT listStyleImage([retval, out] BSTR *p);
2638
2639     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2640     HRESULT clipTop([retval, out] VARIANT *p);
2641
2642     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2643     HRESULT clipRight([retval, out] VARIANT *p);
2644
2645     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2646     HRESULT clipBottom([retval, out] VARIANT *p);
2647
2648     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2649     HRESULT clipLeft([retval, out] VARIANT *p);
2650
2651     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2652     HRESULT overflow([retval, out] BSTR *p);
2653
2654     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2655     HRESULT pageBreakBefore([retval, out] BSTR *p);
2656
2657     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2658     HRESULT pageBreakAfter([retval, out] BSTR *p);
2659
2660     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2661     HRESULT cursor([retval, out] BSTR *p);
2662
2663     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2664     HRESULT tableLayout([retval, out] BSTR *p);
2665
2666     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2667     HRESULT borderCollapse([retval, out] BSTR *p);
2668
2669     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2670     HRESULT direction([retval, out] BSTR *p);
2671
2672     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2673     HRESULT behavior([retval, out] BSTR *p);
2674
2675     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2676     HRESULT getAttribute(
2677         [in] BSTR strAttributeName,
2678         [defaultvalue(0), in] LONG lFlags,
2679         [retval, out] VARIANT *AttributeValue);
2680
2681     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2682     HRESULT unicodeBidi([retval, out] BSTR *p);
2683
2684     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2685     HRESULT right([retval, out] VARIANT *p);
2686
2687     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2688     HRESULT bottom([retval, out] VARIANT *p);
2689
2690     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2691     HRESULT imeMode([retval, out] BSTR *p);
2692
2693     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2694     HRESULT rubyAlign([retval, out] BSTR *p);
2695
2696     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2697     HRESULT rubyPosition([retval, out] BSTR *p);
2698
2699     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2700     HRESULT rubyOverhang([retval, out] BSTR *p);
2701
2702     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2703     HRESULT textAutospace([retval, out] BSTR *p);
2704
2705     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2706     HRESULT lineBreak([retval, out] BSTR *p);
2707
2708     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2709     HRESULT wordBreak([retval, out] BSTR *p);
2710
2711     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2712     HRESULT textJustify([retval, out] BSTR *p);
2713
2714     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2715     HRESULT textJustifyTrim([retval, out] BSTR *p);
2716
2717     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2718     HRESULT textKashida([retval, out] VARIANT *p);
2719
2720     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2721     HRESULT blockDirection([retval, out] BSTR *p);
2722
2723     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2724     HRESULT layoutGridChar([retval, out] VARIANT *p);
2725
2726     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
2727     HRESULT layoutGridLine([retval, out] VARIANT *p);
2728
2729     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
2730     HRESULT layoutGridMode([retval, out] BSTR *p);
2731
2732     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
2733     HRESULT layoutGridType([retval, out] BSTR *p);
2734
2735     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
2736     HRESULT borderStyle([retval, out] BSTR *p);
2737
2738     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
2739     HRESULT borderColor([retval, out] BSTR *p);
2740
2741     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
2742     HRESULT borderWidth([retval, out] BSTR *p);
2743
2744     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
2745     HRESULT padding([retval, out] BSTR *p);
2746
2747     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
2748     HRESULT margin([retval, out] BSTR *p);
2749
2750     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
2751     HRESULT accelerator([retval, out] BSTR *p);
2752
2753     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
2754     HRESULT overflowX([retval, out] BSTR *p);
2755
2756     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
2757     HRESULT overflowY([retval, out] BSTR *p);
2758
2759     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
2760     HRESULT textTransform([retval, out] BSTR *p);
2761 }
2762
2763 /*****************************************************************************
2764  *    IHTMLCurrentStyle2 interface
2765  */
2766 [
2767     odl,
2768     oleautomation,
2769     dual,
2770     uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
2771 ]
2772 interface IHTMLCurrentStyle2 : IDispatch
2773 {
2774     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
2775     HRESULT layoutFlow([retval, out] BSTR * p);
2776
2777     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
2778     HRESULT wordWrap([retval, out] BSTR * p);
2779
2780     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
2781     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2782
2783     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
2784     HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
2785
2786     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
2787     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2788
2789     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
2790     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2791
2792     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2793     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2794
2795     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2796     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2797
2798     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2799     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2800
2801     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2802     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2803
2804     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
2805     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2806
2807     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
2808     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2809
2810     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
2811     HRESULT writingMode([retval, out] BSTR * p);
2812
2813     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
2814     HRESULT zoom([retval, out] VARIANT * p);
2815
2816     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
2817     HRESULT filter([retval, out] BSTR * p);
2818
2819     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
2820     HRESULT textAlignLast([retval, out] BSTR * p);
2821
2822     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
2823     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2824
2825     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
2826     HRESULT isBlock([retval, out] VARIANT_BOOL * p);
2827 }
2828
2829 /*****************************************************************************
2830  *    IHTMLCurrentStyle3 interface
2831  */
2832 [
2833     odl,
2834     oleautomation,
2835     dual,
2836     uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
2837 ]
2838 interface IHTMLCurrentStyle3 : IDispatch
2839 {
2840     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
2841     HRESULT textOverflow([retval, out] BSTR * p);
2842
2843     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
2844     HRESULT minHeight([retval, out] VARIANT * p);
2845
2846     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
2847     HRESULT wordSpacing([retval, out] VARIANT * p);
2848
2849     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
2850     HRESULT whiteSpace([retval, out] BSTR * p);
2851 }
2852
2853 /*****************************************************************************
2854  *    IHTMLCurrentStyle4 interface
2855  */
2856 [
2857     odl,
2858     oleautomation,
2859     dual,
2860     uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
2861 ]
2862 interface IHTMLCurrentStyle4 : IDispatch
2863 {
2864     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
2865     HRESULT msInterpolationMode([retval, out] BSTR * p);
2866
2867     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
2868     HRESULT maxHeight([retval, out] VARIANT * p);
2869
2870     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
2871     HRESULT minWidth([retval, out] VARIANT * p);
2872
2873     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
2874     HRESULT maxWidth([retval, out] VARIANT * p);
2875 };
2876
2877 /*****************************************************************************
2878  *    DispHTMLCurrentStyle dispinterface
2879  */
2880 [
2881     hidden,
2882     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
2883 ]
2884 dispinterface DispHTMLCurrentStyle
2885 {
2886 properties:
2887 methods:
2888     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2889     BSTR position();
2890
2891     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2892     BSTR styleFloat();
2893
2894     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2895     VARIANT color();
2896
2897     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2898     VARIANT backgroundColor();
2899
2900     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2901     BSTR fontFamily();
2902
2903     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2904     BSTR fontStyle();
2905
2906     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2907     BSTR fontVariant();
2908
2909     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2910     VARIANT fontWeight();
2911
2912     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2913     VARIANT fontSize();
2914
2915     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2916     BSTR backgroundImage();
2917
2918     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2919     VARIANT backgroundPositionX();
2920
2921     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2922     VARIANT backgroundPositionY();
2923
2924     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2925     BSTR backgroundRepeat();
2926
2927     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2928     VARIANT borderLeftColor();
2929
2930     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2931     VARIANT borderTopColor();
2932
2933     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2934     VARIANT borderRightColor();
2935
2936     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2937     VARIANT borderBottomColor();
2938
2939     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2940     BSTR borderTopStyle();
2941
2942     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2943     BSTR borderRightStyle();
2944
2945     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2946     BSTR borderBottomStyle();
2947
2948     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2949     BSTR borderLeftStyle();
2950
2951     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2952     VARIANT borderTopWidth();
2953
2954     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2955     VARIANT borderRightWidth();
2956
2957     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2958     VARIANT borderBottomWidth();
2959
2960     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2961     VARIANT borderLeftWidth();
2962
2963     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2964     VARIANT left();
2965
2966     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2967     VARIANT top();
2968
2969     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2970     VARIANT width();
2971
2972     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2973     VARIANT height();
2974
2975     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2976     VARIANT paddingLeft();
2977
2978     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2979     VARIANT paddingTop();
2980
2981     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2982     VARIANT paddingRight();
2983
2984     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2985     VARIANT paddingBottom();
2986
2987     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2988     BSTR textAlign();
2989
2990     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2991     BSTR textDecoration();
2992
2993     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2994     BSTR display();
2995
2996     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2997     BSTR visibility();
2998
2999     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
3000     VARIANT zIndex();
3001
3002     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
3003     VARIANT letterSpacing();
3004
3005     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
3006     VARIANT lineHeight();
3007
3008     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
3009     VARIANT textIndent();
3010
3011     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
3012     VARIANT verticalAlign();
3013
3014     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
3015     BSTR backgroundAttachment();
3016
3017     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
3018     VARIANT marginTop();
3019
3020     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3021     VARIANT marginRight();
3022
3023     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3024     VARIANT marginBottom();
3025
3026     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3027     VARIANT marginLeft();
3028
3029     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3030     BSTR clear();
3031
3032     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3033     BSTR listStyleType();
3034
3035     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3036     BSTR listStylePosition();
3037
3038     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3039     BSTR listStyleImage();
3040
3041     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3042     VARIANT clipTop();
3043
3044     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3045     VARIANT clipRight();
3046
3047     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3048     VARIANT clipBottom();
3049
3050     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3051     VARIANT clipLeft();
3052
3053     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3054     BSTR overflow();
3055
3056     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3057     BSTR pageBreakBefore();
3058
3059     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3060     BSTR pageBreakAfter();
3061
3062     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3063     BSTR cursor();
3064
3065     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3066     BSTR tableLayout();
3067
3068     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3069     BSTR borderCollapse();
3070
3071     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3072     BSTR direction();
3073
3074     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3075     BSTR behavior();
3076
3077     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3078     VARIANT getAttribute(
3079             [in] BSTR strAttributeName,
3080             [in, defaultvalue(0)] LONG lFlags);
3081
3082     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3083     BSTR unicodeBidi();
3084
3085     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3086     VARIANT right();
3087
3088     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3089     VARIANT bottom();
3090
3091     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3092     BSTR imeMode();
3093
3094     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3095     BSTR rubyAlign();
3096
3097     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3098     BSTR rubyPosition();
3099
3100     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3101     BSTR rubyOverhang();
3102
3103     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3104     BSTR textAutospace();
3105
3106     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3107     BSTR lineBreak();
3108
3109     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3110     BSTR wordBreak();
3111
3112     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3113     BSTR textJustify();
3114
3115     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3116     BSTR textJustifyTrim();
3117
3118     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3119     VARIANT textKashida();
3120
3121     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3122     BSTR blockDirection();
3123
3124     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3125     VARIANT layoutGridChar();
3126
3127     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3128     VARIANT layoutGridLine();
3129
3130     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3131     BSTR layoutGridMode();
3132
3133     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3134     BSTR layoutGridType();
3135
3136     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3137     BSTR borderStyle();
3138
3139     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3140     BSTR borderColor();
3141
3142     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3143     BSTR borderWidth();
3144
3145     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3146     BSTR padding();
3147
3148     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3149     BSTR margin();
3150
3151     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3152     BSTR accelerator();
3153
3154     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3155     BSTR overflowX();
3156
3157     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3158     BSTR overflowY();
3159
3160     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3161     BSTR textTransform();
3162
3163     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3164     BSTR layoutFlow();
3165
3166     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3167     BSTR wordWrap();
3168
3169     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3170     BSTR textUnderlinePosition();
3171
3172     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3173     VARIANT_BOOL hasLayout();
3174
3175     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3176     VARIANT scrollbarBaseColor();
3177
3178     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3179     VARIANT scrollbarFaceColor();
3180
3181     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3182     VARIANT scrollbar3dLightColor();
3183
3184     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3185     VARIANT scrollbarShadowColor();
3186
3187     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3188     VARIANT scrollbarHighlightColor();
3189
3190     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3191     VARIANT scrollbarDarkShadowColor();
3192
3193     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3194     VARIANT scrollbarArrowColor();
3195
3196     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3197     VARIANT scrollbarTrackColor();
3198
3199     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3200     BSTR writingMode();
3201
3202     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3203     VARIANT zoom();
3204
3205     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3206     BSTR filter();
3207
3208     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3209     BSTR textAlignLast();
3210
3211     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3212     VARIANT textKashidaSpace();
3213
3214     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3215     VARIANT_BOOL isBlock();
3216
3217     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3218     BSTR textOverflow();
3219
3220     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3221     VARIANT minHeight();
3222
3223     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3224     VARIANT wordSpacing();
3225
3226     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3227     BSTR whiteSpace();
3228
3229     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3230     BSTR msInterpolationMode();
3231
3232     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3233     VARIANT maxHeight();
3234
3235     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3236     VARIANT minWidth();
3237
3238     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3239     VARIANT maxWidth();
3240 }
3241
3242 [
3243     noncreatable,
3244     uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3245 ]
3246 coclass HTMLCurrentStyle
3247 {
3248     [default] dispinterface DispHTMLCurrentStyle;
3249     interface IHTMLCurrentStyle;
3250     interface IHTMLCurrentStyle2;
3251     interface IHTMLCurrentStyle3;
3252     interface IHTMLCurrentStyle4;
3253 }
3254
3255 /*****************************************************************************
3256  *    IHTMLRect interface
3257  */
3258 [
3259     odl,
3260     oleautomation,
3261     dual,
3262     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3263 ]
3264 interface IHTMLRect : IDispatch
3265 {
3266     [propput, id(DISPID_IHTMLRECT_LEFT)]
3267     HRESULT left([in] LONG v);
3268
3269     [propget, id(DISPID_IHTMLRECT_LEFT)]
3270     HRESULT left([retval, out] LONG *p);
3271
3272     [propput, id(DISPID_IHTMLRECT_TOP)]
3273     HRESULT top([in] LONG v);
3274
3275     [propget, id(DISPID_IHTMLRECT_TOP)]
3276     HRESULT top([retval, out] LONG *p);
3277
3278     [propput, id(DISPID_IHTMLRECT_RIGHT)]
3279     HRESULT right([in] LONG v);
3280
3281     [propget, id(DISPID_IHTMLRECT_RIGHT)]
3282     HRESULT right([retval, out] LONG *p);
3283
3284     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3285     HRESULT bottom([in] LONG v);
3286
3287     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3288     HRESULT bottom([retval, out] LONG *p);
3289 }
3290
3291 /*****************************************************************************
3292  *    IHTMLRectCollection interface
3293  */
3294 [
3295     odl,
3296     oleautomation,
3297     dual,
3298     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3299 ]
3300 interface IHTMLRectCollection : IDispatch
3301 {
3302     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3303     HRESULT length([retval, out] LONG *p);
3304
3305     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3306     HRESULT _newEnum([retval, out] IUnknown **p);
3307
3308     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3309     HRESULT item(
3310         [in] VARIANT *pvarIndex,
3311         [retval, out] VARIANT *pvarResult);
3312 }
3313
3314 /*****************************************************************************
3315  *    IHTMLDOMNode interface
3316  */
3317 [
3318     odl,
3319     oleautomation,
3320     dual,
3321     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3322 ]
3323 interface IHTMLDOMNode : IDispatch
3324 {
3325     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3326     HRESULT nodeType([retval, out] LONG *p);
3327
3328     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3329     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3330
3331     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3332     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3333
3334     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3335     HRESULT childNodes([retval, out] IDispatch **p);
3336
3337     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3338     HRESULT attributes([retval, out] IDispatch **p);
3339
3340     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3341     HRESULT insertBefore(
3342         [in] IHTMLDOMNode *newChild,
3343         [optional, in] VARIANT refChild,
3344         [retval, out] IHTMLDOMNode **node);
3345
3346     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3347     HRESULT removeChild(
3348         [in] IHTMLDOMNode *oldChild,
3349         [retval, out] IHTMLDOMNode **node);
3350
3351     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3352     HRESULT replaceChild(
3353         [in] IHTMLDOMNode *newChild,
3354         [in] IHTMLDOMNode *oldChild,
3355         [retval, out] IHTMLDOMNode **node);
3356
3357     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3358     HRESULT cloneNode(
3359         [in] VARIANT_BOOL fDeep,
3360         [retval, out] IHTMLDOMNode **clonedNode);
3361
3362     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3363     HRESULT removeNode(
3364         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3365         [retval, out] IHTMLDOMNode **removed);
3366
3367     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3368     HRESULT swapNode(
3369         [in] IHTMLDOMNode *otherNode,
3370         [retval, out] IHTMLDOMNode **swappedNode);
3371
3372     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3373     HRESULT replaceNode(
3374         [in] IHTMLDOMNode *replacement,
3375         [retval, out] IHTMLDOMNode **replaced);
3376
3377     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3378     HRESULT appendChild(
3379         [in] IHTMLDOMNode *newChild,
3380         [retval, out] IHTMLDOMNode **node);
3381
3382     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3383     HRESULT nodeName([retval, out] BSTR *p);
3384
3385     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3386     HRESULT nodeValue([in] VARIANT v);
3387
3388     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3389     HRESULT nodeValue([retval, out] VARIANT *p);
3390
3391     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3392     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3393
3394     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3395     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3396
3397     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3398     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3399
3400     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3401     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3402 }
3403
3404 #define WINE_IHTMLDOMNODE_DISPINTERFACE_DECL                            \
3405     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]                         \
3406     LONG nodeType();                                                    \
3407                                                                         \
3408     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]                       \
3409     IHTMLDOMNode* parentNode();                                         \
3410                                                                         \
3411     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]                             \
3412     VARIANT_BOOL hasChildNodes();                                       \
3413                                                                         \
3414     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]                       \
3415     IDispatch* childNodes();                                            \
3416                                                                         \
3417     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]                       \
3418     IDispatch* attributes();                                            \
3419                                                                         \
3420     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]                              \
3421     IHTMLDOMNode* insertBefore(                                         \
3422             [in] IHTMLDOMNode* newChild,                                \
3423             [optional, in] VARIANT refChild);                           \
3424                                                                         \
3425     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]                               \
3426     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);             \
3427                                                                         \
3428     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]                              \
3429     IHTMLDOMNode* replaceChild(                                         \
3430         [in] IHTMLDOMNode* newChild,                                    \
3431         [in] IHTMLDOMNode* oldChild);                                   \
3432                                                                         \
3433     [id(DISPID_IHTMLDOMNODE_CLONENODE)]                                 \
3434     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);                   \
3435                                                                         \
3436     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]                                \
3437     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep); \
3438                                                                         \
3439     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]                                  \
3440     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);               \
3441                                                                         \
3442     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]                               \
3443     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);          \
3444                                                                         \
3445     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]                               \
3446     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);             \
3447                                                                         \
3448     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]                         \
3449     BSTR nodeName();                                                    \
3450                                                                         \
3451     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3452     void nodeValue(VARIANT v);                                          \
3453                                                                         \
3454     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3455     VARIANT nodeValue();                                                \
3456                                                                         \
3457     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]                       \
3458     IHTMLDOMNode* firstChild();                                         \
3459                                                                         \
3460     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]                        \
3461     IHTMLDOMNode* lastChild();                                          \
3462                                                                         \
3463     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]                  \
3464     IHTMLDOMNode* previousSibling();                                    \
3465                                                                         \
3466     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]                      \
3467     IHTMLDOMNode* nextSibling()
3468
3469 /*****************************************************************************
3470  *    IHTMLDOMNode2 interface
3471  */
3472 [
3473     odl,
3474     oleautomation,
3475     dual,
3476     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3477 ]
3478 interface IHTMLDOMNode2 : IDispatch
3479 {
3480     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3481     HRESULT ownerDocument([retval, out] IDispatch **p);
3482 }
3483
3484 #define WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL           \
3485     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]   \
3486     IDispatch *ownerDocument()
3487
3488 /*****************************************************************************
3489  *    IHTMLDOMAttribute interface
3490  */
3491 [
3492     odl,
3493     oleautomation,
3494     dual,
3495     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3496 ]
3497 interface IHTMLDOMAttribute : IDispatch
3498 {
3499     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3500     HRESULT nodeName([retval, out] BSTR *p);
3501
3502     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3503     HRESULT nodeValue([in] VARIANT v);
3504
3505     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3506     HRESULT nodeValue([retval, out] VARIANT *p);
3507
3508     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3509     HRESULT specified([retval, out] VARIANT_BOOL *p);
3510 }
3511
3512 /*****************************************************************************
3513  *    IHTMLDOMAttribute2 interface
3514  */
3515 [
3516     odl,
3517     oleautomation,
3518     dual,
3519     uuid(3050f810-98b5-11cf-bb82-00aa00bdce0b)
3520 ]
3521 interface IHTMLDOMAttribute2 : IDispatch
3522 {
3523     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3524     HRESULT name([retval, out] BSTR *p);
3525
3526     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3527     HRESULT value([in] BSTR v);
3528
3529     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3530     HRESULT value([retval, out] BSTR *p);
3531
3532     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3533     HRESULT expando([retval, out] VARIANT_BOOL *p);
3534
3535     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3536     HRESULT nodeType([retval, out] long *p);
3537
3538     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3539     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3540
3541     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
3542     HRESULT childNodes([retval, out] IDispatch **p);
3543
3544     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
3545     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3546
3547     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
3548     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3549
3550     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
3551     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3552
3553     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
3554     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3555
3556     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
3557     HRESULT attributes([retval, out] IDispatch **p);
3558
3559     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
3560     HRESULT ownerDocument([retval, out] IDispatch **p);
3561
3562     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
3563     HRESULT insertBefore(
3564             [in] IHTMLDOMNode *newChild,
3565             [optional, in] VARIANT refChild,
3566             [retval, out] IHTMLDOMNode **node);
3567
3568     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
3569     HRESULT replaceChild(
3570             [in] IHTMLDOMNode *newChild,
3571             [in] IHTMLDOMNode *oldChild,
3572             [retval, out] IHTMLDOMNode **node);
3573
3574     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
3575     HRESULT removeChild(
3576             [in] IHTMLDOMNode *oldChild,
3577             [retval, out] IHTMLDOMNode **node);
3578
3579     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
3580     HRESULT appendChild(
3581             [in] IHTMLDOMNode *newChild,
3582             [retval, out] IHTMLDOMNode **node);
3583
3584     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
3585     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3586
3587     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
3588     HRESULT cloneNode(
3589             [in] VARIANT_BOOL fDeep,
3590             [retval, out] IHTMLDOMAttribute **clonedNode);
3591 }
3592
3593 /*****************************************************************************
3594  *    IHTMLDOMTextNode interface
3595  */
3596 [
3597     odl,
3598     oleautomation,
3599     dual,
3600     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3601 ]
3602 interface IHTMLDOMTextNode : IDispatch
3603 {
3604     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3605     HRESULT data([in] BSTR v);
3606
3607     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3608     HRESULT data([out, retval] BSTR *p);
3609
3610     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3611     HRESULT toString([out, retval] BSTR *String);
3612
3613     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3614     HRESULT length([out, retval] LONG *p);
3615
3616     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3617     HRESULT splitText(
3618             [in] LONG offset,
3619             [out, retval] IHTMLDOMNode **pRetNode);
3620 }
3621
3622 /*****************************************************************************
3623  *    IHTMLDOMTextNode2 interface
3624  */
3625 [
3626     odl,
3627     oleautomation,
3628     dual,
3629     uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
3630 ]
3631 interface IHTMLDOMTextNode2 : IDispatch
3632 {
3633     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3634     HRESULT substringData([in] LONG offset,[in] LONG Count,[retval, out] BSTR* pbstrsubString);
3635
3636     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3637     HRESULT appendData([in] BSTR bstrstring);
3638
3639     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3640     HRESULT insertData([in] LONG offset,[in] BSTR bstrstring);
3641
3642     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3643     HRESULT deleteData([in] LONG offset,[in] LONG Count);
3644
3645     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3646     HRESULT replaceData([in] LONG offset,[in] LONG Count,[in] BSTR bstrstring);
3647 }
3648
3649 [
3650     noncreatable,
3651     uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
3652 ]
3653 coclass HTMLDOMTextNode
3654 {
3655     [default]           dispinterface DispHTMLDOMTextNode;
3656                         interface IHTMLDOMTextNode;
3657                         interface IHTMLDOMTextNode2;
3658                         interface IHTMLDOMNode;
3659                         interface IHTMLDOMNode2;
3660 }
3661
3662 /*****************************************************************************
3663  *    IHTMLDOMImplementation interface
3664  */
3665 [
3666     odl,
3667     oleautomation,
3668     dual,
3669     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3670 ]
3671 interface IHTMLDOMImplementation : IDispatch
3672 {
3673     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3674     HRESULT hasFeature(
3675         [in] BSTR bstrfeature,
3676         [optional, in] VARIANT version,
3677         [retval, out] VARIANT_BOOL *pfHasFeature);
3678 }
3679
3680 /*****************************************************************************
3681  *    DispHTMLDOMTextNode dispinterface
3682  */
3683 [
3684     hidden,
3685     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
3686 ]
3687 dispinterface DispHTMLDOMTextNode
3688 {
3689 properties:
3690 methods:
3691     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3692     void data(BSTR v);
3693
3694     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3695     BSTR data();
3696
3697     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3698     BSTR toString();
3699
3700     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3701     LONG length();
3702
3703     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3704     IHTMLDOMNode *splitText([in] LONG offset);
3705
3706     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3707     BSTR substringData(
3708             [in] LONG offset,
3709             [in] LONG Count);
3710
3711     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3712     void appendData([in] BSTR bstrstring);
3713
3714     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3715     void insertData(
3716             [in] LONG offset,
3717             [in] BSTR bstrstring);
3718
3719     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3720     void deleteData(
3721             [in] LONG offset,
3722             [in] LONG Count);
3723
3724     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3725     void replaceData(
3726             [in] LONG offset,
3727             [in] LONG Count,
3728             [in] BSTR bstrstring);
3729
3730     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
3731     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
3732 }
3733
3734 /*****************************************************************************
3735  *    IHTMLAttributeCollection3 interface
3736  */
3737 [
3738     odl,
3739     oleautomation,
3740     dual,
3741     uuid(30510469-98b5-11cf-bb82-00aa00bdce0b)
3742 ]
3743 interface IHTMLAttributeCollection3 : IDispatch
3744 {
3745     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
3746     HRESULT getNamedItem(
3747             [in] BSTR bstrName,
3748             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3749
3750     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
3751     HRESULT setNamedItem(
3752             [in] IHTMLDOMAttribute *pNodeIn,
3753             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3754
3755     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
3756     HRESULT removeNamedItem(
3757             [in] BSTR bstrName,
3758             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3759
3760     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
3761     HRESULT item(
3762             [in] long index,
3763             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3764
3765     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
3766     HRESULT length([retval, out] long *p);
3767 }
3768
3769 /*****************************************************************************
3770  *    IHTMLDOMChildrenCollection interface
3771  */
3772 [
3773     odl,
3774     oleautomation,
3775     dual,
3776     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
3777 ]
3778 interface IHTMLDOMChildrenCollection : IDispatch
3779 {
3780     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3781     HRESULT length([out, retval] LONG *p);
3782
3783     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3784     HRESULT _newEnum([out, retval] IUnknown **p);
3785
3786     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3787     HRESULT item(
3788             [in] LONG index,
3789             [out, retval] IDispatch **ppItem);
3790 }
3791
3792 /*****************************************************************************
3793  *    DispDOMChildrenCollection dispinterface
3794  */
3795 [
3796     hidden,
3797     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
3798 ]
3799 dispinterface DispDOMChildrenCollection
3800 {
3801 properties:
3802 methods:
3803     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3804     LONG length();
3805
3806     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3807     IUnknown *_newEnum();
3808
3809     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3810     IDispatch *item([in] LONG index);
3811 }
3812
3813 interface IHTMLElementCollection;
3814
3815 /*****************************************************************************
3816  *    IHTMLElement interface
3817  */
3818 [
3819     odl,
3820     dual,
3821     oleautomation,
3822     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
3823 ]
3824 interface IHTMLElement : IDispatch
3825 {
3826     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3827     HRESULT setAttribute(
3828         [in] BSTR strAttributeName,
3829         [in] VARIANT AttributeValue,
3830         [defaultvalue(1), in] LONG lFlags);
3831
3832     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3833     HRESULT getAttribute(
3834         [in] BSTR strAttributeName,
3835         [defaultvalue(0), in] LONG lFlags,
3836         [retval, out] VARIANT *AttributeValue);
3837
3838     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3839     HRESULT removeAttribute(
3840         [in] BSTR strAttributeName,
3841         [defaultvalue(1), in] LONG lFlags,
3842         [retval, out] VARIANT_BOOL *pfSuccess);
3843
3844     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3845     HRESULT className([in] BSTR v);
3846
3847     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3848     HRESULT className([retval, out] BSTR *p);
3849
3850     [propput, id(DISPID_IHTMLELEMENT_ID)]
3851     HRESULT id([in] BSTR v);
3852
3853     [propget, id(DISPID_IHTMLELEMENT_ID)]
3854     HRESULT id([retval, out] BSTR *p);
3855
3856     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
3857     HRESULT tagName([retval, out] BSTR *p);
3858
3859     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
3860     HRESULT parentElement([retval, out] IHTMLElement **p);
3861
3862     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
3863     HRESULT style([retval, out] IHTMLStyle **p);
3864
3865     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
3866     HRESULT onhelp([in] VARIANT v);
3867
3868     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
3869     HRESULT onhelp([retval, out] VARIANT *p);
3870
3871     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
3872     HRESULT onclick([in] VARIANT v);
3873
3874     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
3875     HRESULT onclick([retval, out] VARIANT *p);
3876
3877     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3878     HRESULT ondblclick([in] VARIANT v);
3879
3880     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3881     HRESULT ondblclick([retval, out] VARIANT *p);
3882
3883     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3884     HRESULT onkeydown([in] VARIANT v);
3885
3886     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3887     HRESULT onkeydown([retval, out] VARIANT *p);
3888
3889     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3890     HRESULT onkeyup([in] VARIANT v);
3891
3892     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3893     HRESULT onkeyup([retval, out] VARIANT *p);
3894
3895     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3896     HRESULT onkeypress([in] VARIANT v);
3897
3898     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3899     HRESULT onkeypress([retval, out] VARIANT *p);
3900
3901     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3902     HRESULT onmouseout([in] VARIANT v);
3903
3904     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3905     HRESULT onmouseout([retval, out] VARIANT *p);
3906
3907     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3908     HRESULT onmouseover([in] VARIANT v);
3909
3910     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3911     HRESULT onmouseover([retval, out] VARIANT *p);
3912
3913     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3914     HRESULT onmousemove([in] VARIANT v);
3915
3916     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3917     HRESULT onmousemove([retval, out] VARIANT *p);
3918
3919     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3920     HRESULT onmousedown([in] VARIANT v);
3921
3922     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3923     HRESULT onmousedown([retval, out] VARIANT *p);
3924
3925     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3926     HRESULT onmouseup([in] VARIANT v);
3927
3928     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3929     HRESULT onmouseup([retval, out] VARIANT *p);
3930
3931     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
3932     HRESULT document([retval, out] IDispatch **p);
3933
3934     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
3935     HRESULT title([in] BSTR v);
3936
3937     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
3938     HRESULT title([retval, out] BSTR *p);
3939
3940     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3941     HRESULT language([in] BSTR v);
3942
3943     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3944     HRESULT language([retval, out] BSTR *p);
3945
3946     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3947     HRESULT onselectstart([in] VARIANT v);
3948
3949     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3950     HRESULT onselectstart([retval, out] VARIANT *p);
3951
3952     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
3953     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
3954
3955     [id(DISPID_IHTMLELEMENT_CONTAINS)]
3956     HRESULT contains(
3957         [in] IHTMLElement *pChild,
3958         [retval, out] VARIANT_BOOL *pfResult);
3959
3960     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
3961     HRESULT sourceIndex([retval, out] LONG *p);
3962
3963     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
3964     HRESULT recordNumber([retval, out] VARIANT *p);
3965
3966     [propput, id(DISPID_IHTMLELEMENT_LANG)]
3967     HRESULT lang([in] BSTR v);
3968
3969     [propget, id(DISPID_IHTMLELEMENT_LANG)]
3970     HRESULT lang([retval, out] BSTR *p);
3971
3972     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
3973     HRESULT offsetLeft([retval, out] LONG *p);
3974
3975     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
3976     HRESULT offsetTop([retval, out] LONG *p);
3977
3978     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
3979     HRESULT offsetWidth([retval, out] LONG *p);
3980
3981     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
3982     HRESULT offsetHeight([retval, out] LONG *p);
3983
3984     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
3985     HRESULT offsetParent([retval, out] IHTMLElement **p);
3986
3987     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
3988     HRESULT innerHTML([in] BSTR v);
3989
3990     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
3991     HRESULT innerHTML([retval, out] BSTR *p);
3992
3993     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3994     HRESULT innerText([in] BSTR v);
3995
3996     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3997     HRESULT innerText([retval, out] BSTR *p);
3998
3999     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4000     HRESULT outerHTML([in] BSTR v);
4001
4002     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4003     HRESULT outerHTML([retval, out] BSTR *p);
4004
4005     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4006     HRESULT outerText([in] BSTR v);
4007
4008     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4009     HRESULT outerText([retval, out] BSTR *p);
4010
4011     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4012     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
4013
4014     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4015     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
4016
4017     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4018     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
4019
4020     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4021     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
4022
4023     [id(DISPID_IHTMLELEMENT_CLICK)]
4024     HRESULT click();
4025
4026     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4027     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
4028
4029     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4030     HRESULT ondragstart([in] VARIANT v);
4031
4032     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4033     HRESULT ondragstart([retval, out] VARIANT *p);
4034
4035     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4036     HRESULT toString([retval, out] BSTR *String);
4037
4038     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4039     HRESULT onbeforeupdate([in] VARIANT v);
4040
4041     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4042     HRESULT onbeforeupdate([retval, out] VARIANT *p);
4043
4044     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4045     HRESULT onafterupdate([in] VARIANT v);
4046
4047     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4048     HRESULT onafterupdate([retval, out] VARIANT *p);
4049
4050     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4051     HRESULT onerrorupdate([in] VARIANT v);
4052
4053     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4054     HRESULT onerrorupdate([retval, out] VARIANT *p);
4055
4056     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4057     HRESULT onrowexit([in] VARIANT v);
4058
4059     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4060     HRESULT onrowexit([retval, out] VARIANT *p);
4061
4062     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4063     HRESULT onrowenter([in] VARIANT v);
4064
4065     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4066     HRESULT onrowenter([retval, out] VARIANT *p);
4067
4068     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4069     HRESULT ondatasetchanged([in] VARIANT v);
4070
4071     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4072     HRESULT ondatasetchanged([retval, out] VARIANT *p);
4073
4074     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4075     HRESULT ondataavailable([in] VARIANT v);
4076
4077     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4078     HRESULT ondataavailable([retval, out] VARIANT *p);
4079
4080     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4081     HRESULT ondatasetcomplete([in] VARIANT v);
4082
4083     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4084     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
4085
4086     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4087     HRESULT onfilterchange([in] VARIANT v);
4088
4089     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4090     HRESULT onfilterchange([retval, out] VARIANT *p);
4091
4092     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4093     HRESULT children([retval, out] IDispatch **p);
4094
4095     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4096     HRESULT all([retval, out] IDispatch **p);
4097 }
4098
4099 #define WINE_IHTMLELEMENT_DISPINTERFACE_DECL                            \
4100     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]                              \
4101     void setAttribute(                                                  \
4102         [in] BSTR strAttributeName,                                     \
4103         [in] VARIANT AttValue,                                          \
4104         [defaultvalue(1), in] LONG lFlags);                             \
4105                                                                         \
4106     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]                              \
4107     VARIANT getAttribute(                                               \
4108         [in] BSTR strAttributeName,                                     \
4109         [defaultvalue(0), in] LONG lFlags);                             \
4110                                                                         \
4111     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]                           \
4112     VARIANT_BOOL removeAttribute(                                       \
4113         [in] BSTR strAttributeName,                                     \
4114         [defaultvalue(1), in] LONG lFlags);                             \
4115                                                                         \
4116     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4117     void className(BSTR v);                                             \
4118                                                                         \
4119     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4120     BSTR className();                                                   \
4121                                                                         \
4122     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4123     void id(BSTR v);                                                    \
4124                                                                         \
4125     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4126     BSTR id();                                                          \
4127                                                                         \
4128     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]                          \
4129     BSTR tagName();                                                     \
4130                                                                         \
4131     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]                    \
4132     IHTMLElement *parentElement();                                      \
4133                                                                         \
4134     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]              \
4135     IHTMLStyle *style();                                                \
4136                                                                         \
4137     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4138     void onhelp(VARIANT v);                                             \
4139                                                                         \
4140     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4141     VARIANT onhelp();                                                   \
4142                                                                         \
4143     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4144     void onclick(VARIANT v);                                            \
4145                                                                         \
4146     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4147     VARIANT onclick();                                                  \
4148                                                                         \
4149     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4150     void ondblclick(VARIANT v);                                         \
4151                                                                         \
4152     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4153     VARIANT ondblclick();                                               \
4154                                                                         \
4155     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4156     void onkeydown(VARIANT v);                                          \
4157                                                                         \
4158     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4159     VARIANT onkeydown();                                                \
4160                                                                         \
4161     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4162     void onkeyup(VARIANT v);                                            \
4163                                                                         \
4164     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4165     VARIANT onkeyup();                                                  \
4166                                                                         \
4167     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4168     void onkeypress(VARIANT v);                                         \
4169                                                                         \
4170     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4171     VARIANT onkeypress();                                               \
4172                                                                         \
4173     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4174     void onmouseout(VARIANT v);                                         \
4175                                                                         \
4176     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4177     VARIANT onmouseout();                                               \
4178                                                                         \
4179     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4180     void onmouseover(VARIANT v);                                        \
4181                                                                         \
4182     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4183     VARIANT onmouseover();                                              \
4184                                                                         \
4185     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4186     void onmousemove(VARIANT v);                                        \
4187                                                                         \
4188     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4189     VARIANT onmousemove();                                              \
4190                                                                         \
4191     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4192     void onmousedown(VARIANT v);                                        \
4193                                                                         \
4194     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4195     VARIANT onmousedown();                                              \
4196                                                                         \
4197     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4198     void onmouseup(VARIANT v);                                          \
4199                                                                         \
4200     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4201     VARIANT onmouseup();                                                \
4202                                                                         \
4203     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();  \
4204                                                                         \
4205     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4206     void title(BSTR v);                                                 \
4207                                                                         \
4208     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4209     BSTR title();                                                       \
4210                                                                         \
4211     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4212     void language(BSTR v);                                              \
4213                                                                         \
4214     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4215     BSTR language();                                                    \
4216                                                                         \
4217     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4218     void onselectstart(VARIANT v);                                      \
4219                                                                         \
4220     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4221     VARIANT onselectstart();                                            \
4222                                                                         \
4223     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]                            \
4224     void scrollIntoView([optional, in] VARIANT varargStart);            \
4225                                                                         \
4226     [id(DISPID_IHTMLELEMENT_CONTAINS)]                                  \
4227     VARIANT_BOOL contains([in] IHTMLElement* pChild);                   \
4228                                                                         \
4229     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]            \
4230     LONG sourceIndex();                                                 \
4231                                                                         \
4232     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]                     \
4233     VARIANT recordNumber();                                             \
4234                                                                         \
4235     [propput, id(DISPID_IHTMLELEMENT_LANG)]                             \
4236     void lang(BSTR v);                                                  \
4237                                                                         \
4238     [propget, id(DISPID_IHTMLELEMENT_LANG)]                             \
4239     BSTR lang();                                                        \
4240                                                                         \
4241     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]                       \
4242     LONG offsetLeft();                                                  \
4243                                                                         \
4244     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]                        \
4245     LONG offsetTop();                                                   \
4246                                                                         \
4247     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]                      \
4248     LONG offsetWidth();                                                 \
4249                                                                         \
4250     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]                     \
4251     LONG offsetHeight();                                                \
4252                                                                         \
4253     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]                     \
4254     IHTMLElement* offsetParent();                                       \
4255                                                                         \
4256     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4257     void innerHTML(BSTR v);                                             \
4258                                                                         \
4259     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4260     BSTR innerHTML();                                                   \
4261                                                                         \
4262     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4263     void innerText(BSTR v);                                             \
4264                                                                         \
4265     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4266     BSTR innerText();                                                   \
4267                                                                         \
4268     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4269     void outerHTML(BSTR v);                                             \
4270                                                                         \
4271     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4272     BSTR outerHTML();                                                   \
4273                                                                         \
4274     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4275     void outerText(BSTR v);                                             \
4276                                                                         \
4277     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4278     BSTR outerText();                                                   \
4279                                                                         \
4280     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]                        \
4281     void insertAdjacentHTML(                                            \
4282         [in] BSTR where,                                                \
4283         [in] BSTR html);                                                \
4284                                                                         \
4285     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]                        \
4286     void insertAdjacentText(                                            \
4287         [in] BSTR where,                                                \
4288         [in] BSTR text);                                                \
4289                                                                         \
4290     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]                   \
4291     IHTMLElement* parentTextEdit();                                     \
4292                                                                         \
4293     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]                       \
4294     VARIANT_BOOL isTextEdit();                                          \
4295                                                                         \
4296     [id(DISPID_IHTMLELEMENT_CLICK)]                                     \
4297     void click();                                                       \
4298                                                                         \
4299     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]                          \
4300     IHTMLFiltersCollection* filters();                                  \
4301                                                                         \
4302     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4303     void ondragstart(VARIANT v);                                        \
4304                                                                         \
4305     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4306     VARIANT ondragstart();                                              \
4307                                                                         \
4308     [id(DISPID_IHTMLELEMENT_TOSTRING)]                                  \
4309     BSTR toString();                                                    \
4310                                                                         \
4311     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4312     void onbeforeupdate(VARIANT v);                                     \
4313                                                                         \
4314     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4315     VARIANT onbeforeupdate();                                           \
4316                                                                         \
4317     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4318     void onafterupdate(VARIANT v);                                      \
4319                                                                         \
4320     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4321     VARIANT onafterupdate();                                            \
4322                                                                         \
4323     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4324     void onerrorupdate(VARIANT v);                                      \
4325                                                                         \
4326     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4327     VARIANT onerrorupdate();                                            \
4328                                                                         \
4329     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4330     void onrowexit(VARIANT v);                                          \
4331                                                                         \
4332     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4333     VARIANT onrowexit();                                                \
4334                                                                         \
4335     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4336     void onrowenter(VARIANT v);                                         \
4337                                                                         \
4338     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4339     VARIANT onrowenter();                                               \
4340                                                                         \
4341     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4342     void ondatasetchanged(VARIANT v);                                   \
4343                                                                         \
4344     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4345     VARIANT ondatasetchanged();                                         \
4346                                                                         \
4347     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4348     void ondataavailable(VARIANT v);                                    \
4349                                                                         \
4350     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4351     VARIANT ondataavailable();                                          \
4352                                                                         \
4353     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4354     void ondatasetcomplete(VARIANT v);                                  \
4355                                                                         \
4356     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4357     VARIANT ondatasetcomplete();                                        \
4358                                                                         \
4359     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4360     void onfilterchange(VARIANT v);                                     \
4361                                                                         \
4362     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4363     VARIANT onfilterchange();                                           \
4364                                                                         \
4365     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]                         \
4366     IDispatch* children();                                              \
4367                                                                         \
4368     [propget, id(DISPID_IHTMLELEMENT_ALL)]                              \
4369     IDispatch* all()
4370
4371 /*****************************************************************************
4372  *    IHTMLElement2 interface
4373  */
4374 [
4375     odl,
4376     oleautomation,
4377     dual,
4378     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
4379 ]
4380 interface IHTMLElement2 : IDispatch
4381 {
4382     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4383     HRESULT scopeName([retval, out] BSTR *p);
4384
4385     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4386     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
4387
4388     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4389     HRESULT releaseCapture();
4390
4391     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4392     HRESULT onlosecapture([in] VARIANT v);
4393
4394     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4395     HRESULT onlosecapture([retval, out] VARIANT *p);
4396
4397     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4398     HRESULT componentFromPoint(
4399         [in] LONG x,
4400         [in] LONG y,
4401         [retval, out] BSTR *component);
4402
4403     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4404     HRESULT doScroll([optional, in] VARIANT component);
4405
4406     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4407     HRESULT onscroll([in] VARIANT v);
4408
4409     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4410     HRESULT onscroll([retval, out] VARIANT *p);
4411
4412     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4413     HRESULT ondrag([in] VARIANT v);
4414
4415     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4416     HRESULT ondrag([retval, out] VARIANT *p);
4417
4418     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4419     HRESULT ondragend([in] VARIANT v);
4420
4421     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4422     HRESULT ondragend([retval, out] VARIANT *p);
4423
4424     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4425     HRESULT ondragenter([in] VARIANT v);
4426
4427     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4428     HRESULT ondragenter([retval, out] VARIANT *p);
4429
4430     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4431     HRESULT ondragover([in] VARIANT v);
4432
4433     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4434     HRESULT ondragover([retval, out] VARIANT *p);
4435
4436     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4437     HRESULT ondragleave([in] VARIANT v);
4438
4439     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4440     HRESULT ondragleave([retval, out] VARIANT *p);
4441
4442     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4443     HRESULT ondrop([in] VARIANT v);
4444
4445     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4446     HRESULT ondrop([retval, out] VARIANT *p);
4447
4448     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4449     HRESULT onbeforecut([in] VARIANT v);
4450
4451     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4452     HRESULT onbeforecut([retval, out] VARIANT *p);
4453
4454     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4455     HRESULT oncut([in] VARIANT v);
4456
4457     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4458     HRESULT oncut([retval, out] VARIANT *p);
4459
4460     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4461     HRESULT onbeforecopy([in] VARIANT v);
4462
4463     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4464     HRESULT onbeforecopy([retval, out] VARIANT *p);
4465
4466     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4467     HRESULT oncopy([in] VARIANT v);
4468
4469     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4470     HRESULT oncopy([retval, out] VARIANT *p);
4471
4472     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4473     HRESULT onbeforepaste([in] VARIANT v);
4474
4475     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4476     HRESULT onbeforepaste([retval, out] VARIANT *p);
4477
4478     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4479     HRESULT onpaste([in] VARIANT v);
4480
4481     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4482     HRESULT onpaste([retval, out] VARIANT *p);
4483
4484     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4485     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
4486
4487     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4488     HRESULT onpropertychange([in] VARIANT v);
4489
4490     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4491     HRESULT onpropertychange([retval, out] VARIANT *p);
4492
4493     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4494     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
4495
4496     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4497     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
4498
4499     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4500     HRESULT setExpression(
4501         [in] BSTR propname,
4502         [in] BSTR expression,
4503         [defaultvalue(""), in] BSTR language);
4504
4505     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4506     HRESULT getExpression(
4507         [in] BSTR propname,
4508         [retval, out] VARIANT *expression);
4509
4510     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4511     HRESULT removeExpression(
4512         [in] BSTR propname,
4513         [retval, out] VARIANT_BOOL *pfSuccess);
4514
4515     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4516     HRESULT tabIndex([in] short v);
4517
4518     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4519     HRESULT tabIndex([retval, out] short *p);
4520
4521     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4522     HRESULT focus();
4523
4524     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4525     HRESULT accessKey([in] BSTR v);
4526
4527     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4528     HRESULT accessKey([retval, out] BSTR *p);
4529
4530     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4531     HRESULT onblur([in] VARIANT v);
4532
4533     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4534     HRESULT onblur([retval, out] VARIANT *p);
4535
4536     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4537     HRESULT onfocus([in] VARIANT v);
4538
4539     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4540     HRESULT onfocus([retval, out] VARIANT *p);
4541
4542     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4543     HRESULT onresize([in] VARIANT v);
4544
4545     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4546     HRESULT onresize([retval, out] VARIANT *p);
4547
4548     [id(DISPID_IHTMLELEMENT2_BLUR)]
4549     HRESULT blur();
4550
4551     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4552     HRESULT addFilter([in] IUnknown *pUnk);
4553
4554     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4555     HRESULT removeFilter([in] IUnknown *pUnk);
4556
4557     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4558     HRESULT clientHeight([retval, out] LONG *p);
4559
4560     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4561     HRESULT clientWidth([retval, out] LONG *p);
4562
4563     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4564     HRESULT clientTop([retval, out] LONG *p);
4565
4566     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4567     HRESULT clientLeft([retval, out] LONG *p);
4568
4569     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4570     HRESULT attachEvent(
4571         [in] BSTR event,
4572         [in] IDispatch *pDisp,
4573         [retval, out] VARIANT_BOOL *pfResult);
4574
4575     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4576     HRESULT detachEvent(
4577         [in] BSTR event,
4578         [in] IDispatch *pDisp);
4579
4580     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4581     HRESULT readyState([retval, out] VARIANT *p);
4582
4583     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4584     HRESULT onreadystatechange([in] VARIANT v);
4585
4586     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4587     HRESULT onreadystatechange([retval, out] VARIANT *p);
4588
4589     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4590     HRESULT onrowsdelete([in] VARIANT v);
4591
4592     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4593     HRESULT onrowsdelete([retval, out] VARIANT *p);
4594
4595     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4596     HRESULT onrowsinserted([in] VARIANT v);
4597
4598     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4599     HRESULT onrowsinserted([retval, out] VARIANT *p);
4600
4601     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4602     HRESULT oncellchange([in] VARIANT v);
4603
4604     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4605     HRESULT oncellchange([retval, out] VARIANT *p);
4606
4607     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4608     HRESULT dir([in] BSTR v);
4609
4610     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4611     HRESULT dir([retval, out] BSTR *p);
4612
4613     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
4614     HRESULT createControlRange([retval, out] IDispatch **range);
4615
4616     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
4617     HRESULT scrollHeight([retval, out] LONG *p);
4618
4619     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
4620     HRESULT scrollWidth([retval, out] LONG *p);
4621
4622     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4623     HRESULT scrollTop([in] LONG v);
4624
4625     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4626     HRESULT scrollTop([retval, out] LONG *p);
4627
4628     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4629     HRESULT scrollLeft([in] LONG v);
4630
4631     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4632     HRESULT scrollLeft([retval, out] LONG *p);
4633
4634     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
4635     HRESULT clearAttributes();
4636
4637     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
4638     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
4639
4640     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4641     HRESULT oncontextmenu([in] VARIANT v);
4642
4643     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4644     HRESULT oncontextmenu([retval, out] VARIANT *p);
4645
4646     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
4647     HRESULT insertAdjacentElement(
4648         [in] BSTR where,
4649         [in] IHTMLElement *insertedElement,
4650         [retval, out] IHTMLElement **inserted);
4651
4652     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
4653     HRESULT applyElement(
4654         [in] IHTMLElement *apply,
4655         [in] BSTR where,
4656         [retval, out] IHTMLElement **applied);
4657
4658     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
4659     HRESULT getAdjacentText(
4660         [in] BSTR where,
4661         [retval, out] BSTR *text);
4662
4663     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
4664     HRESULT replaceAdjacentText(
4665         [in] BSTR where,
4666         [in] BSTR newText,
4667         [retval, out] BSTR *oldText);
4668
4669     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
4670     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
4671
4672     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
4673     HRESULT addBehavior(
4674         [in] BSTR bstrUrl,
4675         [optional, in] VARIANT *pvarFactory,
4676         [retval, out] LONG *pCookie);
4677
4678     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
4679     HRESULT removeBehavior(
4680         [in] LONG cookie,
4681         [retval, out] VARIANT_BOOL *pfResult);
4682
4683     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
4684     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
4685
4686     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
4687     HRESULT behaviorUrns([retval, out] IDispatch **p);
4688
4689     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
4690     HRESULT tagUrn([in] BSTR v);
4691
4692     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
4693     HRESULT tagUrn([retval, out] BSTR *p);
4694
4695     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4696     HRESULT onbeforeeditfocus([in] VARIANT v);
4697
4698     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4699     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
4700
4701     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
4702     HRESULT readyStateValue([retval, out] LONG *p);
4703
4704     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
4705     HRESULT getElementsByTagName(
4706         [in] BSTR v,
4707         [retval, out] IHTMLElementCollection **pelColl);
4708 }
4709
4710 #define WINE_IHTMLELEMENT2_DISPINTERFACE_DECL                           \
4711     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]                       \
4712     BSTR scopeName();                                                   \
4713                                                                         \
4714     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]                               \
4715     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture); \
4716                                                                         \
4717     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]                           \
4718     void releaseCapture();                                              \
4719                                                                         \
4720     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
4721     void onlosecapture(VARIANT v);                                      \
4722                                                                         \
4723     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
4724     VARIANT onlosecapture();                                            \
4725                                                                         \
4726     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]                       \
4727     BSTR componentFromPoint([in] LONG x,[in] LONG y);                   \
4728                                                                         \
4729     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]                                 \
4730     void doScroll([optional, in] VARIANT component);                    \
4731                                                                         \
4732     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
4733     void onscroll(VARIANT v);                                           \
4734                                                                         \
4735     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
4736     VARIANT onscroll();                                                 \
4737                                                                         \
4738     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
4739     void ondrag(VARIANT v);                                             \
4740                                                                         \
4741     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
4742     VARIANT ondrag();                                                   \
4743                                                                         \
4744     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
4745     void ondragend(VARIANT v);                                          \
4746                                                                         \
4747     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
4748     VARIANT ondragend();                                                \
4749                                                                         \
4750     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
4751     void ondragenter(VARIANT v);                                        \
4752                                                                         \
4753     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
4754     VARIANT ondragenter();                                              \
4755                                                                         \
4756     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
4757     void ondragover(VARIANT v);                                         \
4758                                                                         \
4759     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
4760     VARIANT ondragover();                                               \
4761                                                                         \
4762     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
4763     void ondragleave(VARIANT v);                                        \
4764                                                                         \
4765     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
4766     VARIANT ondragleave();                                              \
4767                                                                         \
4768     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
4769     void ondrop(VARIANT v);                                             \
4770                                                                         \
4771     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
4772     VARIANT ondrop();                                                   \
4773                                                                         \
4774     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
4775     void onbeforecut(VARIANT v);                                        \
4776                                                                         \
4777     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
4778     VARIANT onbeforecut();                                              \
4779                                                                         \
4780     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
4781     void oncut(VARIANT v);                                              \
4782                                                                         \
4783     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
4784     VARIANT oncut();                                                    \
4785                                                                         \
4786     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
4787     void onbeforecopy(VARIANT v);                                       \
4788                                                                         \
4789     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
4790     VARIANT onbeforecopy();                                             \
4791                                                                         \
4792     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
4793     void oncopy(VARIANT v);                                             \
4794                                                                         \
4795     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
4796     VARIANT oncopy();                                                   \
4797                                                                         \
4798     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
4799     void onbeforepaste(VARIANT v);                                      \
4800                                                                         \
4801     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
4802     VARIANT onbeforepaste();                                            \
4803                                                                         \
4804     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
4805     void onpaste(VARIANT v);                                            \
4806                                                                         \
4807     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
4808     VARIANT onpaste();                                                  \
4809                                                                         \
4810     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]      \
4811     IHTMLCurrentStyle* currentStyle();                                  \
4812                                                                         \
4813     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
4814     void onpropertychange(VARIANT v);                                   \
4815                                                                         \
4816     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
4817     VARIANT onpropertychange();                                         \
4818                                                                         \
4819     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]                           \
4820     IHTMLRectCollection* getClientRects();                              \
4821                                                                         \
4822     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]                    \
4823     IHTMLRect* getBoundingClientRect();                                 \
4824                                                                         \
4825     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]                            \
4826     void setExpression(                                                 \
4827         [in] BSTR propname,                                             \
4828         [in] BSTR expr,                                                 \
4829         [defaultvalue(""), in] BSTR lang);                              \
4830                                                                         \
4831     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]                            \
4832     VARIANT getExpression([in] BSTR propname);                          \
4833                                                                         \
4834     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]                         \
4835     VARIANT_BOOL removeExpression([in] BSTR propname);                  \
4836                                                                         \
4837     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
4838     void tabIndex(short v);                                             \
4839                                                                         \
4840     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
4841     short tabIndex();                                                   \
4842                                                                         \
4843     [id(DISPID_IHTMLELEMENT2_FOCUS)]                                    \
4844     void focus();                                                       \
4845                                                                         \
4846     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
4847     void accessKey(BSTR v);                                             \
4848                                                                         \
4849     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
4850     BSTR accessKey();                                                   \
4851                                                                         \
4852     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
4853     void onblur(VARIANT v);                                             \
4854                                                                         \
4855     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
4856     VARIANT onblur();                                                   \
4857                                                                         \
4858     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
4859     void onfocus(VARIANT v);                                            \
4860                                                                         \
4861     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
4862     VARIANT onfocus();                                                  \
4863                                                                         \
4864     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
4865     void onresize(VARIANT v);                                           \
4866                                                                         \
4867     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
4868     VARIANT onresize();                                                 \
4869                                                                         \
4870     [id(DISPID_IHTMLELEMENT2_BLUR)]                                     \
4871     void blur();                                                        \
4872                                                                         \
4873     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]                                \
4874     void addFilter([in] IUnknown* pUnk);                                \
4875                                                                         \
4876     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]                             \
4877     void removeFilter([in] IUnknown* pUnk);                             \
4878                                                                         \
4879     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] \
4880     LONG clientHeight();                                                \
4881                                                                         \
4882     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] \
4883     LONG clientWidth();                                                 \
4884                                                                         \
4885     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] \
4886     LONG clientTop();                                                   \
4887                                                                         \
4888     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] \
4889     LONG clientLeft();                                                  \
4890                                                                         \
4891     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]                              \
4892     VARIANT_BOOL attachEvent(                                           \
4893             [in] BSTR event,                                            \
4894             [in] IDispatch* pDisp);                                     \
4895                                                                         \
4896     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]                              \
4897     void detachEvent(                                                   \
4898             [in] BSTR event,                                            \
4899             [in] IDispatch* pDisp);                                     \
4900                                                                         \
4901     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState(); \
4902                                                                         \
4903     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
4904     void onreadystatechange(VARIANT v);                                 \
4905                                                                         \
4906     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
4907     VARIANT onreadystatechange();                                       \
4908                                                                         \
4909     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
4910     void onrowsdelete(VARIANT v);                                       \
4911                                                                         \
4912     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
4913     VARIANT onrowsdelete();                                             \
4914                                                                         \
4915     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
4916     void onrowsinserted(VARIANT v);                                     \
4917                                                                         \
4918     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
4919     VARIANT onrowsinserted();                                           \
4920                                                                         \
4921     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
4922     void oncellchange(VARIANT v);                                       \
4923                                                                         \
4924     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
4925     VARIANT oncellchange();                                             \
4926                                                                         \
4927     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
4928     void dir(BSTR v);                                                   \
4929                                                                         \
4930     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
4931     BSTR dir();                                                         \
4932                                                                         \
4933     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]                       \
4934     IDispatch* createControlRange();                                    \
4935                                                                         \
4936     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] \
4937     LONG scrollHeight();                                                \
4938                                                                         \
4939     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] \
4940     LONG scrollWidth();                                                 \
4941                                                                         \
4942     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
4943     void scrollTop(LONG v);                                             \
4944                                                                         \
4945     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
4946     LONG scrollTop();                                                   \
4947                                                                         \
4948     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
4949     void scrollLeft(LONG v);                                            \
4950                                                                         \
4951     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
4952     LONG scrollLeft();                                                  \
4953                                                                         \
4954     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]                          \
4955     void clearAttributes();                                             \
4956                                                                         \
4957     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
4958     void oncontextmenu(VARIANT v);                                      \
4959                                                                         \
4960     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
4961     VARIANT oncontextmenu();                                            \
4962                                                                         \
4963     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]                    \
4964     IHTMLElement* insertAdjacentElement(                                \
4965         [in] BSTR where,                                                \
4966         [in] IHTMLElement* insertedElement);                            \
4967                                                                         \
4968     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]                             \
4969     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where); \
4970                                                                         \
4971     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]                          \
4972     BSTR getAdjacentText([in] BSTR where);                              \
4973                                                                         \
4974     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]                      \
4975     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);        \
4976                                                                         \
4977     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]                 \
4978     VARIANT_BOOL canHaveChildren();                                     \
4979                                                                         \
4980     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]                              \
4981     LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory); \
4982                                                                         \
4983     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]                           \
4984     VARIANT_BOOL removeBehavior([in] LONG cookie);                      \
4985                                                                         \
4986     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]      \
4987     IHTMLStyle* runtimeStyle();                                         \
4988                                                                         \
4989     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]                    \
4990     IDispatch* behaviorUrns();                                          \
4991                                                                         \
4992     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
4993     void tagUrn(BSTR v);                                                \
4994                                                                         \
4995     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
4996     BSTR tagUrn();                                                      \
4997                                                                         \
4998     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
4999     void onbeforeeditfocus(VARIANT v);                                  \
5000                                                                         \
5001     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5002     VARIANT onbeforeeditfocus();                                        \
5003                                                                         \
5004     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] \
5005     LONG readyStateValue();                                             \
5006                                                                         \
5007     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]                     \
5008     IHTMLElementCollection* getElementsByTagName([in] BSTR v)
5009
5010 /*****************************************************************************
5011  *    IHTMLElement3 interface
5012  */
5013 [
5014     odl,
5015     oleautomation,
5016     dual,
5017     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
5018 ]
5019 interface IHTMLElement3 : IDispatch
5020 {
5021     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
5022     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
5023
5024     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5025     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
5026
5027     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5028     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
5029
5030     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5031     HRESULT onlayoutcomplete([in] VARIANT v);
5032
5033     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5034     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
5035
5036     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5037     HRESULT onpage([in] VARIANT v);
5038
5039     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5040     HRESULT onpage([retval, out] VARIANT * p);
5041
5042     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5043     HRESULT inflateBlock([in] VARIANT_BOOL v);
5044
5045     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5046     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
5047
5048     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5049     HRESULT onbeforedeactivate([in] VARIANT v);
5050
5051     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5052     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
5053
5054     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
5055
5056     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5057     HRESULT contentEditable([in] BSTR v);
5058
5059     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5060     HRESULT contentEditable([retval, out] BSTR * p);
5061
5062     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5063     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
5064
5065     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5066     HRESULT hideFocus([in] VARIANT_BOOL v);
5067
5068     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5069     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
5070
5071     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5072     HRESULT disabled([in] VARIANT_BOOL v);
5073
5074     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5075     HRESULT disabled([retval, out] VARIANT_BOOL * p);
5076
5077     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5078     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
5079
5080     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5081     HRESULT onmove([in] VARIANT v);
5082
5083     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5084     HRESULT onmove([retval, out] VARIANT * p);
5085
5086     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5087     HRESULT oncontrolselect([in] VARIANT v);
5088
5089     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5090     HRESULT oncontrolselect([retval, out] VARIANT * p);
5091
5092     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5093     HRESULT fireEvent(
5094         [in] BSTR bstrEventName,
5095         [optional, in] VARIANT* pvarEventObject,
5096         [retval, out] VARIANT_BOOL* pfCancelled);
5097
5098     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5099     HRESULT onresizestart([in] VARIANT v);
5100
5101     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5102     HRESULT onresizestart([retval, out] VARIANT * p);
5103
5104     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5105     HRESULT onresizeend([in] VARIANT v);
5106
5107     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5108     HRESULT onresizeend([retval, out] VARIANT * p);
5109
5110     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5111     HRESULT onmovestart([in] VARIANT v);
5112
5113     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5114     HRESULT onmovestart([retval, out] VARIANT * p);
5115
5116     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5117     HRESULT onmoveend([in] VARIANT v);
5118
5119     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5120     HRESULT onmoveend([retval, out] VARIANT * p);
5121
5122     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5123     HRESULT onmouseenter([in] VARIANT v);
5124
5125     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5126     HRESULT onmouseenter([retval, out] VARIANT * p);
5127
5128     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5129     HRESULT onmouseleave([in] VARIANT v);
5130
5131     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5132     HRESULT onmouseleave([retval, out] VARIANT * p);
5133
5134     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5135     HRESULT onactivate([in] VARIANT v);
5136
5137     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5138     HRESULT onactivate([retval, out] VARIANT * p);
5139
5140     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5141     HRESULT ondeactivate([in] VARIANT v);
5142
5143     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5144     HRESULT ondeactivate([retval, out] VARIANT * p);
5145
5146     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
5147     VARIANT_BOOL* pfRet);
5148
5149     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5150     HRESULT glyphMode([retval, out] LONG * p);
5151 }
5152
5153 #define WINE_IHTMLELEMENT3_DISPINTERFACE_DECL                           \
5154                                                                         \
5155     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]                          \
5156     void mergeAttributes(                                               \
5157             [in] IHTMLElement* mergeThis,                               \
5158             [optional, in] VARIANT* pvarFlags);                         \
5159                                                                         \
5160     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]                     \
5161     VARIANT_BOOL isMultiLine();                                         \
5162                                                                         \
5163     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]                     \
5164     VARIANT_BOOL canHaveHTML();                                         \
5165                                                                         \
5166     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5167     void onlayoutcomplete(VARIANT v);                                   \
5168                                                                         \
5169     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5170     VARIANT onlayoutcomplete();                                         \
5171                                                                         \
5172     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5173     void onpage(VARIANT v);                                             \
5174                                                                         \
5175     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5176     VARIANT onpage();                                                   \
5177                                                                         \
5178     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5179     void inflateBlock(VARIANT_BOOL v);                                  \
5180                                                                         \
5181     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5182     VARIANT_BOOL inflateBlock();                                        \
5183                                                                         \
5184     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5185     void onbeforedeactivate(VARIANT v);                                 \
5186                                                                         \
5187     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5188     VARIANT onbeforedeactivate();                                       \
5189                                                                         \
5190     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]                                \
5191     void setActive();                                                   \
5192                                                                         \
5193     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5194     void contentEditable(BSTR v);                                       \
5195                                                                         \
5196     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5197     BSTR contentEditable();                                             \
5198                                                                         \
5199     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]               \
5200     VARIANT_BOOL isContentEditable();                                   \
5201                                                                         \
5202     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5203     void hideFocus(VARIANT_BOOL v);                                     \
5204                                                                         \
5205     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5206     VARIANT_BOOL hideFocus();                                           \
5207                                                                         \
5208     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5209     void disabled(VARIANT_BOOL v);                                      \
5210                                                                         \
5211     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5212     VARIANT_BOOL disabled();                                            \
5213                                                                         \
5214     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]                      \
5215     VARIANT_BOOL isDisabled();                                          \
5216                                                                         \
5217     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5218     void onmove(VARIANT v);                                             \
5219                                                                         \
5220     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5221     VARIANT onmove();                                                   \
5222                                                                         \
5223     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5224     void oncontrolselect(VARIANT v);                                    \
5225                                                                         \
5226     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5227     VARIANT oncontrolselect();                                          \
5228                                                                         \
5229     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]                                \
5230     VARIANT_BOOL fireEvent(                                             \
5231         [in] BSTR bstrEventName,                                        \
5232         [optional, in] VARIANT* pvarEventObject);                       \
5233                                                                         \
5234     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5235     void onresizestart(VARIANT v);                                      \
5236                                                                         \
5237     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5238     VARIANT onresizestart();                                            \
5239                                                                         \
5240     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5241     void onresizeend(VARIANT v);                                        \
5242                                                                         \
5243     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5244     VARIANT onresizeend();                                              \
5245                                                                         \
5246     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5247     void onmovestart(VARIANT v);                                        \
5248                                                                         \
5249     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5250     VARIANT onmovestart();                                              \
5251                                                                         \
5252     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5253     void onmoveend(VARIANT v);                                          \
5254                                                                         \
5255     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5256     VARIANT onmoveend();                                                \
5257                                                                         \
5258     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5259     void onmouseenter(VARIANT v);                                       \
5260                                                                         \
5261     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5262     VARIANT onmouseenter();                                             \
5263                                                                         \
5264     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5265     void onmouseleave(VARIANT v);                                       \
5266                                                                         \
5267     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5268     VARIANT onmouseleave();                                             \
5269                                                                         \
5270     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5271     void onactivate(VARIANT v);                                         \
5272                                                                         \
5273     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5274     VARIANT onactivate();                                               \
5275                                                                         \
5276     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5277     void ondeactivate(VARIANT v);                                       \
5278                                                                         \
5279     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5280     VARIANT ondeactivate();                                             \
5281                                                                         \
5282     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]                                 \
5283     VARIANT_BOOL dragDrop();                                            \
5284                                                                         \
5285     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] \
5286     LONG glyphMode()
5287
5288 /*****************************************************************************
5289  *    IHTMLElement4 interface
5290  */
5291 [
5292     odl,
5293     oleautomation,
5294     dual,
5295     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
5296 ]
5297 interface IHTMLElement4 : IDispatch
5298 {
5299     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5300     HRESULT onmousewheel([in] VARIANT v);
5301
5302     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5303     HRESULT onmousewheel([retval, out] VARIANT * p);
5304
5305     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5306     HRESULT normalize();
5307
5308     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5309     HRESULT getAttributeNode([in] BSTR bstrname,
5310         [retval, out] IHTMLDOMAttribute** ppAttribute);
5311
5312     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5313     HRESULT setAttributeNode(
5314         [in] IHTMLDOMAttribute* pattr,
5315         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5316
5317     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5318     HRESULT removeAttributeNode(
5319         [in] IHTMLDOMAttribute* pattr,
5320         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5321
5322     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5323     HRESULT onbeforeactivate([in] VARIANT v);
5324
5325     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5326     HRESULT onbeforeactivate([retval, out] VARIANT * p);
5327
5328     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5329     HRESULT onfocusin([in] VARIANT v);
5330
5331     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5332     HRESULT onfocusin([retval, out] VARIANT * p);
5333
5334     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5335     HRESULT onfocusout([in] VARIANT v);
5336
5337     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5338     HRESULT onfocusout([retval, out] VARIANT * p);
5339 }
5340
5341 #define WINE_IHTMLELEMENT4_DISPINTERFACE_DECL                           \
5342     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5343     void onmousewheel(VARIANT v);                                       \
5344                                                                         \
5345     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5346     VARIANT onmousewheel();                                             \
5347                                                                         \
5348     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]                                \
5349     void normalize();                                                   \
5350                                                                         \
5351     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]                         \
5352     IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);            \
5353                                                                         \
5354     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]                         \
5355     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr); \
5356                                                                         \
5357     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]                      \
5358     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr); \
5359                                                                         \
5360     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5361     void onbeforeactivate(VARIANT v);                                   \
5362                                                                         \
5363     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5364     VARIANT onbeforeactivate();                                         \
5365                                                                         \
5366     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5367     void onfocusin(VARIANT v);                                          \
5368                                                                         \
5369     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5370     VARIANT onfocusin();                                                \
5371                                                                         \
5372     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5373     void onfocusout(VARIANT v);                                         \
5374                                                                         \
5375     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5376     VARIANT onfocusout()
5377
5378 /*****************************************************************************
5379  *    IHTMLUniqueName interface
5380  */
5381 [
5382     odl,
5383     oleautomation,
5384     dual,
5385     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
5386 ]
5387 interface IHTMLUniqueName : IDispatch
5388 {
5389     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5390     HRESULT uniqueNumber([retval, out] LONG * p);
5391
5392     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5393     HRESULT uniqueID([retval, out] BSTR * p);
5394 }
5395
5396 #define WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL                 \
5397     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]  \
5398     LONG uniqueNumber();                                        \
5399                                                                 \
5400     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]      \
5401     BSTR uniqueID()
5402
5403 /*****************************************************************************
5404  *    IHTMLGenericElement interface
5405  */
5406 [
5407     odl,
5408     oleautomation,
5409     dual,
5410     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
5411 ]
5412 interface IHTMLGenericElement : IDispatch
5413 {
5414     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5415     HRESULT recordset([out, retval] IDispatch **p);
5416
5417     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5418     HRESULT namedRecordset(
5419             [in] BSTR dataMember,
5420             [in, optional] VARIANT *hierarchy,
5421             [out, retval] IDispatch **ppRecordset);
5422 }
5423
5424 /*****************************************************************************
5425  *    DispHTMLGenericElement dispinterface
5426  */
5427 [
5428     hidden,
5429     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
5430 ]
5431 dispinterface DispHTMLGenericElement
5432 {
5433 properties:
5434 methods:
5435     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;
5436     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;
5437     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;
5438     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
5439     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
5440     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
5441     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
5442
5443     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5444     IDispatch *recordset();
5445
5446     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5447     IDispatch *namedRecordset(
5448             [in] BSTR dataMember,
5449             [in, optional] VARIANT *hierarchy);
5450 }
5451
5452 /*****************************************************************************
5453  *    IHTMLStyleSheetRule interface
5454  */
5455 [
5456     odl,
5457     oleautomation,
5458     dual,
5459     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
5460 ]
5461 interface IHTMLStyleSheetRule : IDispatch
5462 {
5463     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5464     HRESULT selectorText([in] BSTR v);
5465
5466     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5467     HRESULT selectorText([retval, out] BSTR *p);
5468
5469     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
5470     HRESULT style([retval, out] IHTMLRuleStyle **p);
5471
5472     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5473     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5474 }
5475
5476 [
5477     hidden,
5478     uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b)
5479 ]
5480 dispinterface DispHTMLStyleSheetRule
5481 {
5482 properties:
5483 methods:
5484     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5485     void selectorText(BSTR v);
5486
5487     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5488     BSTR selectorText();
5489
5490     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable]
5491     IHTMLRuleStyle* style();
5492
5493     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5494     VARIANT_BOOL readOnly();
5495
5496     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
5497     IDispatch* constructor();
5498 }
5499
5500 [
5501     noncreatable,
5502     uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b)
5503 ]
5504 coclass HTMLStyleSheetRule
5505 {
5506     [default]           dispinterface DispHTMLStyleSheetRule;
5507                         interface IHTMLStyleSheetRule;
5508                         interface IHTMLDOMConstructor;
5509 }
5510
5511 /*****************************************************************************
5512  *    IHTMLStyleSheetRulesCollection interface
5513  */
5514 [
5515     odl,
5516     oleautomation,
5517     dual,
5518     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
5519 ]
5520 interface IHTMLStyleSheetRulesCollection : IDispatch
5521 {
5522     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5523     HRESULT length([retval, out] LONG *p);
5524
5525     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5526     HRESULT item(
5527         [in] LONG index,
5528         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
5529 }
5530
5531 [
5532     hidden,
5533     uuid(3050f52f-98b5-11cf-bb82-00aa00bdce0b)
5534 ]
5535 dispinterface DispHTMLStyleSheetRulesCollection
5536 {
5537 properties:
5538 methods:
5539     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5540     long length();
5541
5542     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5543     IHTMLStyleSheetRule* item([in] long index);
5544
5545     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
5546     IDispatch* constructor();
5547 }
5548
5549 [
5550     noncreatable,
5551     uuid(3050f3cd-98b5-11cf-bb82-00aa00bdce0b)
5552 ]
5553 coclass HTMLStyleSheetRulesCollection
5554 {
5555     [default]           dispinterface DispHTMLStyleSheetRulesCollection;
5556                         interface IHTMLStyleSheetRulesCollection;
5557                         interface IHTMLDOMConstructor;
5558 }
5559
5560 [
5561     odl,
5562     oleautomation,
5563     dual,
5564     uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
5565 ]
5566 interface IHTMLStyleSheetPage : IDispatch
5567 {
5568     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
5569     HRESULT selector([retval, out] BSTR *p);
5570
5571     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
5572     HRESULT pseudoClass([retval, out] BSTR *p);
5573 }
5574
5575 [
5576     hidden,
5577     uuid(3050f540-98b5-11cf-bb82-00aa00bdce0b)
5578 ]
5579 dispinterface DispHTMLStyleSheetPage
5580 {
5581 properties:
5582 methods:
5583     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
5584     BSTR selector();
5585
5586     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
5587     BSTR pseudoClass();
5588
5589     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
5590     IDispatch* constructor();
5591 }
5592 [
5593     noncreatable,
5594     uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b)
5595 ]
5596 coclass HTMLStyleSheetPage
5597 {
5598     [default]           dispinterface DispHTMLStyleSheetPage;
5599                         interface IHTMLStyleSheetPage;
5600                         interface IHTMLDOMConstructor;
5601 };
5602
5603 [
5604     odl,
5605     oleautomation,
5606     dual,
5607     uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
5608 ]
5609 interface IHTMLStyleSheetPagesCollection : IDispatch
5610 {
5611     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
5612     HRESULT length([retval, out] LONG *p);
5613
5614     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
5615     HRESULT item(
5616         [in] LONG index,
5617         [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
5618 }
5619
5620 [
5621     hidden,
5622     uuid(3050f543-98b5-11cf-bb82-00aa00bdce0b)
5623 ]
5624 dispinterface DispHTMLStyleSheetPagesCollection
5625 {
5626 properties:
5627 methods:
5628     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
5629     long length();
5630
5631     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
5632     IHTMLStyleSheetPage* item([in] long index);
5633
5634     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
5635     IDispatch* constructor();
5636 }
5637
5638 [
5639     noncreatable,
5640     uuid(3050f7f1-98b5-11cf-bb82-00aa00bdce0b)
5641 ]
5642 coclass HTMLStyleSheetPagesCollection
5643 {
5644     [default]           dispinterface DispHTMLStyleSheetPagesCollection;
5645                         interface IHTMLStyleSheetPagesCollection;
5646                         interface IHTMLDOMConstructor;
5647 }
5648
5649 /*****************************************************************************
5650  *    IHTMLStyleSheet interface
5651  */
5652 [
5653     odl,
5654     oleautomation,
5655     dual,
5656     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
5657 ]
5658 interface IHTMLStyleSheet : IDispatch
5659 {
5660     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5661     HRESULT title([in] BSTR v);
5662
5663     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5664     HRESULT title([retval, out] BSTR *p);
5665
5666     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
5667     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
5668
5669     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
5670     HRESULT owningElement([retval, out] IHTMLElement **p);
5671
5672     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5673     HRESULT disabled([in] VARIANT_BOOL v);
5674
5675     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5676     HRESULT disabled([retval, out] VARIANT_BOOL *p);
5677
5678     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
5679     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5680
5681     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
5682     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
5683
5684     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
5685     HRESULT href([in] BSTR v);
5686
5687     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
5688     HRESULT href([retval, out] BSTR *p);
5689
5690     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
5691     HRESULT type([retval, out] BSTR *p);
5692
5693     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
5694     HRESULT id([retval, out] BSTR *p);
5695
5696     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
5697     HRESULT addImport(
5698         [in] BSTR bstrURL,
5699         [defaultvalue(-1), in] LONG lIndex,
5700         [retval, out] LONG *plIndex);
5701
5702     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
5703     HRESULT addRule(
5704         [in] BSTR bstrSelector,
5705         [in] BSTR bstrStyle,
5706         [defaultvalue(-1), in] LONG lIndex,
5707         [retval, out] LONG *plNewIndex);
5708
5709     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
5710     HRESULT removeImport([in] LONG lIndex);
5711
5712     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
5713     HRESULT removeRule([in] LONG lIndex);
5714
5715     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5716     HRESULT media([in] BSTR v);
5717
5718     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5719     HRESULT media([retval, out] BSTR *p);
5720
5721     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5722     HRESULT cssText([in] BSTR v);
5723
5724     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5725     HRESULT cssText([retval, out] BSTR *p);
5726
5727     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
5728     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
5729 }
5730
5731 /*****************************************************************************
5732  *    IHTMLStyleSheet2 interface
5733  */
5734 [
5735     odl,
5736     oleautomation,
5737     dual,
5738     uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
5739 ]
5740 interface IHTMLStyleSheet2 : IDispatch
5741 {
5742     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
5743     HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
5744
5745     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
5746     HRESULT addPageRule(
5747         [in] BSTR bstrSelector,
5748         [in] BSTR bstrStyle,
5749         [defaultvalue(-1), in] LONG lIndex,
5750         [retval, out] LONG *plNewIndex);
5751 }
5752
5753 [
5754     hidden,
5755     uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
5756 ]
5757 dispinterface DispHTMLStyleSheet
5758 {
5759 properties:
5760 methods:
5761     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5762     void title(BSTR v);
5763
5764     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5765     BSTR title();
5766
5767     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
5768     IHTMLStyleSheet* parentStyleSheet();
5769
5770     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
5771     IHTMLElement* owningElement();
5772
5773     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5774     void disabled(VARIANT_BOOL v);
5775
5776     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5777     VARIANT_BOOL disabled();
5778
5779     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
5780     VARIANT_BOOL readOnly();
5781
5782     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
5783     IHTMLStyleSheetsCollection* imports();
5784
5785     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
5786     void href(BSTR v);
5787
5788     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
5789     BSTR href();
5790
5791     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
5792     BSTR type();
5793
5794     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
5795     BSTR id();
5796
5797     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
5798     LONG addImport(
5799         [in] BSTR bstrURL,
5800         [defaultvalue(-1), in] LONG lIndex);
5801
5802     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
5803     LONG addRule(
5804         [in] BSTR bstrSelector,
5805         [in] BSTR bstrStyle,
5806         [defaultvalue(-1), in] LONG lIndex);
5807
5808     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
5809     void removeImport([in] LONG lIndex);
5810
5811     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
5812     void removeRule([in] LONG lIndex);
5813
5814     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5815     void media(BSTR v);
5816
5817     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5818     BSTR media();
5819
5820     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5821     void cssText(BSTR v);
5822
5823     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5824     BSTR cssText();
5825
5826     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
5827     IHTMLStyleSheetRulesCollection* rules();
5828
5829     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
5830     IHTMLStyleSheetPagesCollection* pages();
5831
5832     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
5833     LONG addPageRule(
5834         [in] BSTR bstrSelector,
5835         [in] BSTR bstrStyle,
5836         [defaultvalue(-1), in] LONG lIndex);
5837 }
5838
5839 [
5840     noncreatable,
5841     uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
5842 ]
5843 coclass HTMLStyleSheet
5844 {
5845     [default]           dispinterface DispHTMLStyleSheet;
5846                         interface IHTMLStyleSheet;
5847                         interface IHTMLStyleSheet2;
5848 }
5849
5850 /*****************************************************************************
5851  *    IHTMLStyleSheetsCollection interface
5852  */
5853 [
5854     odl,
5855     oleautomation,
5856     dual,
5857     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
5858 ]
5859 interface IHTMLStyleSheetsCollection : IDispatch
5860 {
5861     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
5862     HRESULT length([retval, out] LONG *p);
5863
5864     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
5865     HRESULT _newEnum([retval, out] IUnknown **p);
5866
5867     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
5868     HRESULT item(
5869         [in] VARIANT *pvarIndex,
5870         [retval, out] VARIANT *pvarResult);
5871 }
5872
5873 /*****************************************************************************
5874  *    IHTMLTxtRange interface
5875  */
5876 [
5877     odl,
5878     oleautomation,
5879     dual,
5880     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
5881 ]
5882 interface IHTMLTxtRange : IDispatch
5883 {
5884     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
5885     HRESULT htmlText([retval, out] BSTR *p);
5886
5887     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
5888     HRESULT text([in] BSTR v);
5889
5890     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
5891     HRESULT text([retval, out] BSTR *p);
5892
5893     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
5894     HRESULT parentElement([retval, out] IHTMLElement **parent);
5895
5896     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
5897     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
5898
5899     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
5900     HRESULT inRange(
5901         [in] IHTMLTxtRange *Range,
5902         [retval, out] VARIANT_BOOL *InRange);
5903
5904     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
5905     HRESULT isEqual(
5906         [in] IHTMLTxtRange *Range,
5907         [retval, out] VARIANT_BOOL *IsEqual);
5908
5909     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
5910     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
5911
5912     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
5913     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
5914
5915     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
5916     HRESULT expand(
5917         [in] BSTR Unit,
5918         [retval, out] VARIANT_BOOL *Success);
5919
5920     [id(DISPID_IHTMLTXTRANGE_MOVE)]
5921     HRESULT move(
5922         [in] BSTR Unit,
5923         [defaultvalue(1), in] LONG Count,
5924         [retval, out] LONG *ActualCount);
5925
5926     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
5927     HRESULT moveStart(
5928         [in] BSTR Unit,
5929         [defaultvalue(1), in] LONG Count,
5930         [retval, out] LONG *ActualCount);
5931
5932     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
5933     HRESULT moveEnd(
5934         [in] BSTR Unit,
5935         [defaultvalue(1), in] LONG Count,
5936         [retval, out] LONG *ActualCount);
5937
5938     [id(DISPID_IHTMLTXTRANGE_SELECT)]
5939     HRESULT select();
5940
5941     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
5942     HRESULT pasteHTML([in] BSTR html);
5943
5944     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
5945     HRESULT moveToElementText([in] IHTMLElement *element);
5946
5947     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
5948     HRESULT setEndPoint(
5949         [in] BSTR how,
5950         [in] IHTMLTxtRange *SourceRange);
5951
5952     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
5953     HRESULT compareEndPoints(
5954         [in] BSTR how,
5955         [in] IHTMLTxtRange *SourceRange,
5956         [retval, out] LONG *ret);
5957
5958     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
5959     HRESULT findText(
5960         [in] BSTR String,
5961         [defaultvalue(1073741823), in] LONG count,
5962         [defaultvalue(0), in] LONG Flags,
5963         [retval, out] VARIANT_BOOL *Success);
5964
5965     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
5966     HRESULT moveToPoint(
5967         [in] LONG x,
5968         [in] LONG y);
5969
5970     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
5971     HRESULT getBookmark([retval, out] BSTR *Boolmark);
5972
5973     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
5974     HRESULT moveToBookmark(
5975         [in] BSTR Bookmark,
5976         [retval, out] VARIANT_BOOL *Success);
5977
5978     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
5979     HRESULT queryCommandSupported(
5980         [in] BSTR cmdID,
5981         [retval, out] VARIANT_BOOL *pfRet);
5982
5983     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
5984     HRESULT queryCommandEnabled(
5985         [in] BSTR cmdID,
5986         [retval, out] VARIANT_BOOL *pfRet);
5987
5988     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
5989     HRESULT queryCommandState(
5990         [in] BSTR cmdID,
5991         [retval, out] VARIANT_BOOL *pfRet);
5992
5993     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
5994     HRESULT queryCommandIndeterm(
5995         [in] BSTR cmdID,
5996         [retval, out] VARIANT_BOOL *pfRet);
5997
5998     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
5999     HRESULT queryCommandText(
6000         [in] BSTR cmdID,
6001         [retval, out] BSTR *pcmdText);
6002
6003     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
6004     HRESULT queryCommandValue(
6005         [in] BSTR cmdID,
6006         [retval, out] VARIANT *pcmdValue);
6007
6008     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
6009     HRESULT execCommand(
6010         [in] BSTR cmdID,
6011         [defaultvalue(0), in] VARIANT_BOOL showUI,
6012         [optional, in] VARIANT value,
6013         [retval, out] VARIANT_BOOL *pfRet);
6014
6015     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
6016     HRESULT execCommandShowHelp(
6017         [in] BSTR cmdID,
6018         [retval, out] VARIANT_BOOL *pfRet);
6019 }
6020
6021 [
6022     noncreatable,
6023     uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
6024 ]
6025 coclass HTMLStyleSheetsCollection
6026 {
6027     [default]           interface IHTMLStyleSheetsCollection;
6028 }
6029
6030 /*****************************************************************************
6031  *    IHTMLFormElement interface
6032  */
6033 [
6034     odl,
6035     oleautomation,
6036     dual,
6037     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
6038 ]
6039 interface IHTMLFormElement : IDispatch
6040 {
6041     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6042     HRESULT action([in] BSTR v);
6043
6044     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6045     HRESULT action([retval, out] BSTR *p);
6046
6047     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
6048     HRESULT dir([in] BSTR v);
6049
6050     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
6051     HRESULT dir([retval, out] BSTR *p);
6052
6053     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6054     HRESULT encoding([in] BSTR v);
6055
6056     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6057     HRESULT encoding([retval, out] BSTR *p);
6058
6059     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6060     HRESULT method([in] BSTR v);
6061
6062     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6063     HRESULT method([retval, out] BSTR *p);
6064
6065     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6066     HRESULT elements([retval, out] IDispatch **p);
6067
6068     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6069     HRESULT target([in] BSTR v);
6070
6071     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6072     HRESULT target([retval, out] BSTR *p);
6073
6074     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6075     HRESULT name([in] BSTR v);
6076
6077     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6078     HRESULT name([retval, out] BSTR *p);
6079
6080     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6081     HRESULT onsubmit([in] VARIANT v);
6082
6083     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6084     HRESULT onsubmit([retval, out] VARIANT *p);
6085
6086     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6087     HRESULT onreset([in] VARIANT v);
6088
6089     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6090     HRESULT onreset([retval, out] VARIANT *p);
6091
6092     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6093     HRESULT submit();
6094
6095     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6096     HRESULT reset();
6097
6098     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6099     HRESULT length([in] LONG v);
6100
6101     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6102     HRESULT length([retval, out] LONG *p);
6103
6104     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
6105     HRESULT _newEnum([retval, out] IUnknown **p);
6106
6107     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6108     HRESULT item(
6109         [optional, in] VARIANT name,
6110         [optional, in] VARIANT index,
6111         [retval, out] IDispatch **pdisp);
6112
6113     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6114     HRESULT tags(
6115         [in] VARIANT tagName,
6116         [retval, out] IDispatch **pdisp);
6117 }
6118
6119 /*****************************************************************************
6120  *    IHTMLTextContainer interface
6121  */
6122 [
6123     odl,
6124     oleautomation,
6125     dual,
6126     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
6127 ]
6128 interface IHTMLTextContainer : IDispatch
6129 {
6130     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
6131     HRESULT createControlRange([retval, out] IDispatch **range);
6132
6133     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
6134     HRESULT scrollHeight([retval, out] LONG *p);
6135
6136     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
6137     HRESULT scrollWidth([retval, out] LONG *p);
6138
6139     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
6140     HRESULT scrollTop([in] LONG v);
6141
6142     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
6143     HRESULT scrollTop([retval, out] LONG *p);
6144
6145     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
6146     HRESULT scrollLeft([in] LONG v);
6147
6148     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
6149     HRESULT scrollLeft([retval, out] LONG *p);
6150
6151     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
6152     HRESULT onscroll([in] VARIANT v);
6153
6154     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
6155     HRESULT onscroll([retval, out] VARIANT *p);
6156 }
6157
6158 /*****************************************************************************
6159  *    IHTMLImgElement interface
6160  */
6161 [
6162     odl,
6163     oleautomation,
6164     dual,
6165     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
6166 ]
6167 interface IHTMLImgElement : IDispatch
6168 {
6169     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
6170     HRESULT isMap([in] VARIANT_BOOL v);
6171
6172     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
6173     HRESULT isMap([retval, out] VARIANT_BOOL *p);
6174
6175     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
6176     HRESULT useMap([in] BSTR v);
6177
6178     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
6179     HRESULT useMap([retval, out] BSTR *p);
6180
6181     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
6182     HRESULT mimeType([retval, out] BSTR *p);
6183
6184     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
6185     HRESULT fileSize([retval, out] BSTR *p);
6186
6187     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
6188     HRESULT fileCreatedDate([retval, out] BSTR *p);
6189
6190     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
6191     HRESULT fileModifiedDate([retval, out] BSTR *p);
6192
6193     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
6194     HRESULT fileUpdatedDate([retval, out] BSTR *p);
6195
6196     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
6197     HRESULT protocol([retval, out] BSTR *p);
6198
6199     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
6200     HRESULT href([retval, out] BSTR *p);
6201
6202     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
6203     HRESULT nameProp([retval, out] BSTR *p);
6204
6205     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
6206     HRESULT border([in] VARIANT v);
6207
6208     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
6209     HRESULT border([retval, out] VARIANT *p);
6210
6211     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
6212     HRESULT vspace([in] LONG v);
6213
6214     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
6215     HRESULT vspace([retval, out] LONG *p);
6216
6217     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
6218     HRESULT hspace([in] LONG v);
6219
6220     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
6221     HRESULT hspace([retval, out] LONG *p);
6222
6223     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
6224     HRESULT alt([in] BSTR v);
6225
6226     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
6227     HRESULT alt([retval, out] BSTR *p);
6228
6229     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
6230     HRESULT src([in] BSTR v);
6231
6232     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
6233     HRESULT src([retval, out] BSTR *p);
6234
6235     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
6236     HRESULT lowsrc([in] BSTR v);
6237
6238     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
6239     HRESULT lowsrc([retval, out] BSTR *p);
6240
6241     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
6242     HRESULT vrml([in] BSTR v);
6243
6244     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
6245     HRESULT vrml([retval, out] BSTR *p);
6246
6247     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
6248     HRESULT dynsrc([in] BSTR v);
6249
6250     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
6251     HRESULT dynsrc([retval, out] BSTR *p);
6252
6253     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
6254     HRESULT readyState([retval, out] BSTR *p);
6255
6256     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
6257     HRESULT complete([retval, out] VARIANT_BOOL *p);
6258
6259     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
6260     HRESULT loop([in] VARIANT v);
6261
6262     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
6263     HRESULT loop([retval, out] VARIANT *p);
6264
6265     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
6266     HRESULT align([in] BSTR v);
6267
6268     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
6269     HRESULT align([retval, out] BSTR *p);
6270
6271     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
6272     HRESULT onload([in] VARIANT v);
6273
6274     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
6275     HRESULT onload([retval, out] VARIANT *p);
6276
6277     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
6278     HRESULT onerror([in] VARIANT v);
6279
6280     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
6281     HRESULT onerror([retval, out] VARIANT *p);
6282
6283     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
6284     HRESULT onabort([in] VARIANT v);
6285
6286     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
6287     HRESULT onabort([retval, out] VARIANT *p);
6288
6289     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
6290     HRESULT name([in] BSTR v);
6291
6292     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
6293     HRESULT name([retval, out] BSTR *p);
6294
6295     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6296     HRESULT width([in] LONG v);
6297
6298     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6299     HRESULT width([retval, out] LONG *p);
6300
6301     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6302     HRESULT height([in] LONG v);
6303
6304     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6305     HRESULT height([retval, out] LONG *p);
6306
6307     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
6308     HRESULT start([in] BSTR v);
6309
6310     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
6311     HRESULT start([retval, out] BSTR *p);
6312 }
6313
6314 /*****************************************************************************
6315  *    IHTMLImageElementFactory interface
6316  */
6317 [
6318     odl,
6319     oleautomation,
6320     dual,
6321     uuid(3050F38E-98B5-11CF-BB82-00AAA0BDCE0B)
6322 ]
6323 interface IHTMLImageElementFactory : IDispatch
6324 {
6325     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
6326     HRESULT create(
6327         [optional, in] VARIANT width,
6328         [optional, in] VARIANT height,
6329         [retval, out]  IHTMLImgElement **elem);
6330 }
6331
6332 /*****************************************************************************
6333  *    DispHTMLImg interface
6334  */
6335 [
6336     hidden,
6337     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
6338 ]
6339 dispinterface DispHTMLImg
6340 {
6341 properties:
6342 methods:
6343     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;
6344     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;
6345     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;
6346     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
6347     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
6348     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
6349     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
6350
6351     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6352     void dataFld(BSTR v);
6353
6354     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6355     BSTR dataFld();
6356
6357     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6358     void dataSrc(BSTR v);
6359
6360     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6361     BSTR dataSrc();
6362
6363     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6364     void dataFormatAs(BSTR v);
6365
6366     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6367     BSTR dataFormatAs();
6368
6369     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6370     void isMap(VARIANT_BOOL v);
6371
6372     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6373     VARIANT_BOOL isMap();
6374
6375     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6376     void useMap(BSTR v);
6377
6378     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6379     BSTR useMap();
6380
6381     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
6382     BSTR mimeType();
6383
6384     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
6385     BSTR fileSize();
6386
6387     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
6388     BSTR fileCreatedDate();
6389
6390     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
6391     BSTR fileModifiedDate();
6392
6393     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
6394     BSTR fileUpdatedDate();
6395
6396     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
6397     BSTR protocol();
6398
6399     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
6400     BSTR href();
6401
6402     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
6403     BSTR nameProp();
6404
6405     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
6406     void border(VARIANT v);
6407
6408     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
6409     VARIANT border();
6410
6411     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
6412     void vspace(LONG v);
6413
6414     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
6415     LONG vspace();
6416
6417     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
6418     void hspace(LONG v);
6419
6420     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
6421     LONG hspace();
6422
6423     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
6424     void alt(BSTR v);
6425
6426     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
6427     BSTR alt();
6428
6429     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
6430     void src(BSTR v);
6431
6432     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
6433     BSTR src();
6434
6435     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
6436     void lowsrc(BSTR v);
6437
6438     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
6439     BSTR lowsrc();
6440
6441     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
6442     void vrml(BSTR v);
6443
6444     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
6445     BSTR vrml();
6446
6447     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
6448     void dynsrc(BSTR v);
6449
6450     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
6451     BSTR dynsrc();
6452
6453     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
6454     VARIANT_BOOL complete();
6455
6456     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
6457     void loop(VARIANT v);
6458
6459     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
6460     VARIANT loop();
6461
6462     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
6463     void align(BSTR v);
6464
6465     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
6466     BSTR align();
6467
6468     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
6469     void onload(VARIANT v);
6470
6471     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
6472     VARIANT onload();
6473
6474     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
6475     void onerror(VARIANT v);
6476
6477     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
6478     VARIANT onerror();
6479
6480     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
6481     void onabort(VARIANT v);
6482
6483     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
6484     VARIANT onabort();
6485
6486     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
6487     void name(BSTR v);
6488
6489     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
6490     BSTR name();
6491
6492     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6493     void width(LONG v);
6494
6495     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6496     LONG width();
6497
6498     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6499     void height(LONG v);
6500
6501     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6502     LONG height();
6503
6504     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
6505     void start(BSTR v);
6506
6507     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
6508     BSTR start();
6509
6510     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
6511     void longDesc(BSTR v);
6512
6513     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
6514     BSTR longDesc();
6515 }
6516
6517 [
6518     odl,
6519     oleautomation,
6520     dual,
6521     uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
6522 ]
6523 interface IHTMLDatabinding : IDispatch
6524 {
6525     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6526     HRESULT dataFld([in] BSTR v);
6527
6528     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6529     HRESULT dataFld([retval, out] BSTR * p);
6530
6531     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6532     HRESULT dataSrc([in] BSTR v);
6533
6534     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6535     HRESULT dataSrc([retval, out] BSTR * p);
6536
6537     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6538     HRESULT dataFormatAs([in] BSTR v);
6539
6540     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6541     HRESULT dataFormatAs([retval, out] BSTR * p);
6542 };
6543
6544 /*****************************************************************************
6545  *    IHTMLControlElement interface
6546  */
6547 [
6548     odl,
6549     oleautomation,
6550     dual,
6551     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
6552 ]
6553 interface IHTMLControlElement : IDispatch
6554 {
6555     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
6556     HRESULT tabIndex([in] short v);
6557
6558     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
6559     HRESULT tabIndex([retval, out] short * p);
6560
6561     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
6562     HRESULT focus();
6563
6564     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
6565     HRESULT accessKey([in] BSTR v);
6566
6567     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
6568     HRESULT accessKey([retval, out] BSTR * p);
6569
6570     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
6571     HRESULT onblur([in] VARIANT v);
6572
6573     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
6574     HRESULT onblur([retval, out] VARIANT * p);
6575
6576     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
6577     HRESULT onfocus([in] VARIANT v);
6578
6579     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
6580     HRESULT onfocus([retval, out] VARIANT * p);
6581
6582     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
6583     HRESULT onresize([in] VARIANT v);
6584
6585     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
6586     HRESULT onresize([retval, out] VARIANT * p);
6587
6588     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
6589     HRESULT blur();
6590
6591     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
6592     HRESULT addFilter([in] IUnknown* pUnk);
6593
6594     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
6595     HRESULT removeFilter([in] IUnknown* pUnk);
6596
6597     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
6598     HRESULT clientHeight([retval, out] LONG * p);
6599
6600     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
6601     HRESULT clientWidth([retval, out] LONG * p);
6602
6603     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
6604     HRESULT clientTop([retval, out] LONG * p);
6605
6606     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
6607     HRESULT clientLeft([retval, out] LONG * p);
6608 };
6609
6610 /*****************************************************************************
6611  *    IHTMLBodyElement interface
6612  */
6613 [
6614     odl,
6615     oleautomation,
6616     dual,
6617     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
6618 ]
6619 interface IHTMLBodyElement : IDispatch
6620 {
6621     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
6622     HRESULT background([in] BSTR v);
6623
6624     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
6625     HRESULT background([retval, out] BSTR *p);
6626
6627     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
6628     HRESULT bgProperties([in] BSTR v);
6629
6630     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
6631     HRESULT bgProperties([retval, out] BSTR *p);
6632
6633     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
6634     HRESULT leftMargin([in] VARIANT v);
6635
6636     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
6637     HRESULT leftMargin([retval, out] VARIANT *p);
6638
6639     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
6640     HRESULT topMargin([in] VARIANT v);
6641
6642     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
6643     HRESULT topMargin([retval, out] VARIANT *p);
6644
6645     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
6646     HRESULT rightMargin([in] VARIANT v);
6647
6648     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
6649     HRESULT rightMargin([retval, out] VARIANT *p);
6650
6651     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
6652     HRESULT bottomMargin([in] VARIANT v);
6653
6654     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
6655     HRESULT bottomMargin([retval, out] VARIANT *p);
6656
6657     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
6658     HRESULT noWrap([in] VARIANT_BOOL v);
6659
6660     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
6661     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
6662
6663     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
6664     HRESULT bgColor([in] VARIANT v);
6665
6666     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
6667     HRESULT bgColor([retval, out] VARIANT *p);
6668
6669     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
6670     HRESULT text([in] VARIANT v);
6671
6672     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
6673     HRESULT text([retval, out] VARIANT *p);
6674
6675     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
6676     HRESULT link([in] VARIANT v);
6677
6678     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
6679     HRESULT link([retval, out] VARIANT *p);
6680
6681     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
6682     HRESULT vLink([in] VARIANT v);
6683
6684     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
6685     HRESULT vLink([retval, out] VARIANT *p);
6686
6687     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
6688     HRESULT aLink([in] VARIANT v);
6689
6690     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
6691     HRESULT aLink([retval, out] VARIANT *p);
6692
6693     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
6694     HRESULT onload([in] VARIANT v);
6695
6696     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
6697     HRESULT onload([retval, out] VARIANT *p);
6698
6699     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
6700     HRESULT onunload([in] VARIANT v);
6701
6702     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
6703     HRESULT onunload([retval, out] VARIANT *p);
6704
6705     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
6706     HRESULT scroll([in] BSTR v);
6707
6708     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
6709     HRESULT scroll([retval, out] BSTR *p);
6710
6711     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
6712     HRESULT onselect([in] VARIANT v);
6713
6714     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
6715     HRESULT onselect([retval, out] VARIANT *p);
6716
6717     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
6718     HRESULT onbeforeunload([in] VARIANT v);
6719
6720     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
6721     HRESULT onbeforeunload([retval, out] VARIANT *p);
6722
6723     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
6724     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
6725 }
6726
6727 /*****************************************************************************
6728  *    IHTMLBodyElement2 interface
6729  */
6730 [
6731     odl,
6732     oleautomation,
6733     dual,
6734     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
6735 ]
6736 interface IHTMLBodyElement2 : IDispatch
6737 {
6738     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
6739     HRESULT onbeforeprint([in] VARIANT v);
6740
6741     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
6742     HRESULT onbeforeprint([retval, out] VARIANT *p);
6743
6744     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
6745     HRESULT onafterprint([in] VARIANT v);
6746
6747     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
6748     HRESULT onafterprint([retval, out] VARIANT *p);
6749 }
6750
6751 [
6752     hidden,
6753     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
6754 ]
6755 dispinterface DispHTMLBody
6756 {
6757 properties:
6758 methods:
6759     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;
6760     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;
6761     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;
6762     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
6763     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
6764     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
6765     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
6766
6767     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
6768     void background(BSTR v);
6769
6770     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
6771     BSTR background();
6772
6773     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
6774     void bgProperties(BSTR v);
6775
6776     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
6777     BSTR bgProperties();
6778
6779     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
6780     void leftMargin(VARIANT v);
6781
6782     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
6783     VARIANT leftMargin();
6784
6785     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
6786     void topMargin(VARIANT v);
6787
6788     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
6789     VARIANT topMargin();
6790
6791     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
6792     void rightMargin(VARIANT v);
6793
6794     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
6795     VARIANT rightMargin();
6796
6797     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
6798     void bottomMargin(VARIANT v);
6799
6800     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
6801     VARIANT bottomMargin();
6802
6803     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
6804     void noWrap(VARIANT_BOOL v);
6805
6806     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
6807     VARIANT_BOOL noWrap();
6808
6809     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
6810     void bgColor(VARIANT v);
6811
6812     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
6813     VARIANT bgColor();
6814
6815     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
6816     void text(VARIANT v);
6817
6818     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
6819     VARIANT text();
6820
6821     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
6822     void link(VARIANT v);
6823
6824     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
6825     VARIANT link();
6826
6827     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
6828     void vLink(VARIANT v);
6829
6830     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
6831     VARIANT vLink();
6832
6833     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
6834     void aLink(VARIANT v);
6835
6836     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
6837     VARIANT aLink();
6838
6839     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
6840     void onload(VARIANT v);
6841
6842     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
6843     VARIANT onload();
6844
6845     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
6846     void onunload(VARIANT v);
6847
6848     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
6849     VARIANT onunload();
6850
6851     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
6852     void scroll(BSTR v);
6853
6854     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
6855     BSTR scroll();
6856
6857     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
6858     void onselect(VARIANT v);
6859
6860     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
6861     VARIANT onselect();
6862
6863     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
6864     void onbeforeunload(VARIANT v);
6865
6866     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
6867     VARIANT onbeforeunload();
6868
6869     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
6870     IHTMLTxtRange* createTextRange();
6871
6872     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
6873     void onbeforeprint(VARIANT v);
6874
6875     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
6876     VARIANT onbeforeprint();
6877
6878     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
6879     void onafterprint(VARIANT v);
6880
6881     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
6882     VARIANT onafterprint();
6883 };
6884
6885 [
6886     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
6887 ]
6888 coclass HTMLBody
6889 {
6890     [default]           dispinterface DispHTMLBody;
6891     [source, default]   dispinterface HTMLTextContainerEvents;
6892     [source]            dispinterface HTMLTextContainerEvents2;
6893                         interface IHTMLElement;
6894                         interface IHTMLElement2;
6895                         interface IHTMLElement3;
6896                         interface IHTMLElement4;
6897                         interface IHTMLUniqueName;
6898                         interface IHTMLDOMNode;
6899                         interface IHTMLDOMNode2;
6900                         interface IHTMLControlElement;
6901                         interface IHTMLTextContainer;
6902                         interface IHTMLBodyElement;
6903                         interface IHTMLBodyElement2;
6904 };
6905
6906 /*****************************************************************************
6907  *    IHTMLAnchorElement interface
6908  */
6909 [
6910     odl,
6911     oleautomation,
6912     dual,
6913     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
6914 ]
6915 interface IHTMLAnchorElement : IDispatch
6916 {
6917     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
6918     HRESULT href([in] BSTR v);
6919
6920     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
6921     HRESULT href([retval, out] BSTR *p);
6922
6923     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
6924     HRESULT target([in] BSTR v);
6925
6926     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
6927     HRESULT target([retval, out] BSTR *p);
6928
6929     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
6930     HRESULT rel([in] BSTR v);
6931
6932     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
6933     HRESULT rel([retval, out] BSTR *p);
6934
6935     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
6936     HRESULT rev([in] BSTR v);
6937
6938     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
6939     HRESULT rev([retval, out] BSTR *p);
6940
6941     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
6942     HRESULT urn([in] BSTR v);
6943
6944     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
6945     HRESULT urn([retval, out] BSTR *p);
6946
6947     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
6948     HRESULT Methods([in] BSTR v);
6949
6950     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
6951     HRESULT Methods([retval, out] BSTR *p);
6952
6953     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
6954     HRESULT name([in] BSTR v);
6955
6956     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
6957     HRESULT name([retval, out] BSTR *p);
6958
6959     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
6960     HRESULT host([in] BSTR v);
6961
6962     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
6963     HRESULT host([retval, out] BSTR *p);
6964
6965     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
6966     HRESULT hostname([in] BSTR v);
6967
6968     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
6969     HRESULT hostname([retval, out] BSTR *p);
6970
6971     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
6972     HRESULT pathname([in] BSTR v);
6973
6974     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
6975     HRESULT pathname([retval, out] BSTR *p);
6976
6977     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
6978     HRESULT port([in] BSTR v);
6979
6980     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
6981     HRESULT port([retval, out] BSTR *p);
6982
6983     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
6984     HRESULT protocol([in] BSTR v);
6985
6986     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
6987     HRESULT protocol([retval, out] BSTR *p);
6988
6989     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
6990     HRESULT search([in] BSTR v);
6991
6992     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
6993     HRESULT search([retval, out] BSTR *p);
6994
6995     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
6996     HRESULT hash([in] BSTR v);
6997
6998     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
6999     HRESULT hash([retval, out] BSTR *p);
7000
7001     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7002     HRESULT onblur([in] VARIANT v);
7003
7004     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7005     HRESULT onblur([retval, out] VARIANT *p);
7006
7007     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7008     HRESULT onfocus([in] VARIANT v);
7009
7010     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7011     HRESULT onfocus([retval, out] VARIANT *p);
7012
7013     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7014     HRESULT accessKey([in] BSTR v);
7015
7016     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7017     HRESULT accessKey([retval, out] BSTR *p);
7018
7019     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
7020     HRESULT protocolLong([retval, out] BSTR *p);
7021
7022     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
7023     HRESULT mimeType([retval, out] BSTR *p);
7024
7025     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
7026     HRESULT nameProp([retval, out] BSTR *p);
7027
7028     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7029     HRESULT tabIndex([in] short v);
7030
7031     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7032     HRESULT tabIndex([retval, out] short *p);
7033
7034     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
7035     HRESULT focus();
7036
7037     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
7038     HRESULT blur();
7039 }
7040
7041 /*****************************************************************************
7042  *    DispHTMLAnchorElement dispinterface
7043  */
7044 [
7045     hidden,
7046     uuid(3050f502-98b5-11cf-bb82-00aa00bdce0b)
7047 ]
7048 dispinterface DispHTMLAnchorElement
7049 {
7050 properties:
7051 methods:
7052     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;
7053     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;
7054     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;
7055     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
7056     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
7057     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
7058     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
7059
7060     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7061     void dataFld(BSTR v);
7062
7063     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7064     BSTR dataFld();
7065
7066     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
7067     void dataSrc(BSTR v);
7068
7069     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
7070     BSTR dataSrc();
7071
7072     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7073     void dataFormatAs(BSTR v);
7074
7075     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7076     BSTR dataFormatAs();
7077
7078     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)]
7079     IHTMLDOMAttribute2 *ie8_getAttributeNode([in] BSTR bstrname);
7080
7081     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)]
7082     IHTMLDOMAttribute2 *ie8_setAttributeNode([in] IHTMLDOMAttribute2 *pattr);
7083
7084     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)]
7085     IHTMLDOMAttribute2 *ie8_removeAttributeNode([in] IHTMLDOMAttribute2 *pattr);
7086
7087     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)]
7088     VARIANT_BOOL hasAttribute([in] BSTR name);
7089
7090     [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]
7091     void role(BSTR v);
7092
7093     [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]
7094     BSTR role();
7095
7096     [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable]
7097     void ariaBusy(BSTR v);
7098
7099     [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable]
7100     BSTR ariaBusy();
7101
7102     [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable]
7103     void ariaChecked(BSTR v);
7104
7105     [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable]
7106     BSTR ariaChecked();
7107
7108     [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable]
7109     void ariaDisabled(BSTR v);
7110
7111     [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable]
7112     BSTR ariaDisabled();
7113
7114     [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable]
7115     void ariaExpanded(BSTR v);
7116
7117     [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable]
7118     BSTR ariaExpanded();
7119
7120     [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable]
7121     void ariaHaspopup(BSTR v);
7122
7123     [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable]
7124     BSTR ariaHaspopup();
7125
7126     [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable]
7127     void ariaHidden(BSTR v);
7128
7129     [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable]
7130     BSTR ariaHidden();
7131
7132     [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable]
7133     void ariaInvalid(BSTR v);
7134
7135     [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable]
7136     BSTR ariaInvalid();
7137
7138     [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable]
7139     void ariaMultiselectable(BSTR v);
7140
7141     [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable]
7142     BSTR ariaMultiselectable();
7143
7144     [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable]
7145     void ariaPressed(BSTR v);
7146
7147     [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable]
7148     BSTR ariaPressed();
7149
7150     [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable]
7151     void ariaReadonly(BSTR v);
7152
7153     [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable]
7154     BSTR ariaReadonly();
7155
7156     [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable]
7157     void ariaRequired(BSTR v);
7158
7159     [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable]
7160     BSTR ariaRequired();
7161
7162     [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable]
7163     void ariaSecret(BSTR v);
7164
7165     [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable]
7166     BSTR ariaSecret();
7167
7168     [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable]
7169     void ariaSelected(BSTR v);
7170
7171     [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable]
7172     BSTR ariaSelected();
7173
7174     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)]
7175     VARIANT ie8_getAttribute([in] BSTR strAttributeName);
7176
7177     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)]
7178     void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
7179
7180     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)]
7181     VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
7182
7183     [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)]
7184     IHTMLAttributeCollection3 *ie8_attributes();
7185
7186     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable]
7187     void ariaValuenow(BSTR v);
7188
7189     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable]
7190     BSTR ariaValuenow();
7191
7192     [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable]
7193     void ariaPosinset(short v);
7194
7195     [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable]
7196     short ariaPosinset();
7197
7198     [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable]
7199     void ariaSetsize(short v);
7200
7201     [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable]
7202     short ariaSetsize();
7203
7204     [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]
7205     void ariaLevel(short v);
7206
7207     [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]
7208     short ariaLevel();
7209
7210     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable]
7211     void ariaValuemin(BSTR v);
7212
7213     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable]
7214     BSTR ariaValuemin();
7215
7216     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable]
7217     void ariaValuemax(BSTR v);
7218
7219     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable]
7220     BSTR ariaValuemax();
7221
7222     [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable]
7223     void ariaControls(BSTR v);
7224
7225     [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable]
7226     BSTR ariaControls();
7227
7228     [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable]
7229     void ariaDescribedby(BSTR v);
7230
7231     [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable]
7232     BSTR ariaDescribedby();
7233
7234     [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable]
7235     void ariaFlowto(BSTR v);
7236
7237     [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable]
7238     BSTR ariaFlowto();
7239
7240     [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable]
7241     void ariaLabelledby(BSTR v);
7242
7243     [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable]
7244     BSTR ariaLabelledby();
7245
7246     [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable]
7247     void ariaActivedescendant(BSTR v);
7248
7249     [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable]
7250     BSTR ariaActivedescendant();
7251
7252     [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable]
7253     void ariaOwns(BSTR v);
7254
7255     [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable]
7256     BSTR ariaOwns();
7257
7258     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)]
7259     VARIANT_BOOL hasAttributes();
7260
7261     [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable]
7262     void ariaLive(BSTR v);
7263
7264     [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable]
7265     BSTR ariaLive();
7266
7267     [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable]
7268     void ariaRelevant(BSTR v);
7269
7270     [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable]
7271     BSTR ariaRelevant();
7272
7273     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)]
7274     IHTMLElement *querySelector([in] BSTR v);
7275
7276     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)]
7277     IHTMLDOMChildrenCollection *querySelectorAll([in] BSTR v);
7278
7279     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
7280     IDispatch *constructor();
7281
7282     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7283     void href(BSTR v);
7284
7285     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7286     BSTR href();
7287
7288     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7289     void target(BSTR v);
7290
7291     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7292     BSTR target();
7293
7294     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7295     void rel(BSTR v);
7296
7297     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7298     BSTR rel();
7299
7300     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7301     void rev(BSTR v);
7302
7303     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7304     BSTR rev();
7305
7306     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7307     void urn(BSTR v);
7308
7309     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7310     BSTR urn();
7311
7312     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7313     void Methods(BSTR v);
7314
7315     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7316     BSTR Methods();
7317
7318     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7319     void name(BSTR v);
7320
7321     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7322     BSTR name();
7323
7324     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7325     void host(BSTR v);
7326
7327     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7328     BSTR host();
7329
7330     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7331     void hostname(BSTR v);
7332
7333     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7334     BSTR hostname();
7335
7336     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7337     void pathname(BSTR v);
7338
7339     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7340     BSTR pathname();
7341
7342     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7343     void port(BSTR v);
7344
7345     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7346     BSTR port();
7347
7348     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7349     void protocol(BSTR v);
7350
7351     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7352     BSTR protocol();
7353
7354     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7355     void search(BSTR v);
7356
7357     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7358     BSTR search();
7359
7360     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7361     void hash(BSTR v);
7362
7363     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7364     BSTR hash();
7365
7366     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
7367     BSTR protocolLong();
7368
7369     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
7370     BSTR mimeType();
7371
7372     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
7373     BSTR nameProp();
7374
7375     [propput, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
7376     void charset(BSTR v);
7377
7378     [propget, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
7379     BSTR charset();
7380
7381     [propput, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
7382     void coords(BSTR v);
7383
7384     [propget, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
7385     BSTR coords();
7386
7387     [propput, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
7388     void hreflang(BSTR v);
7389
7390     [propget, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
7391     BSTR hreflang();
7392
7393     [propput, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
7394     void shape(BSTR v);
7395
7396     [propget, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
7397     BSTR shape();
7398
7399     [propput, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
7400     void type(BSTR v);
7401
7402     [propget, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
7403     BSTR type();
7404
7405     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
7406     void ie8_shape(BSTR v);
7407
7408     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
7409     BSTR ie8_shape();
7410
7411     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
7412     void ie8_coords(BSTR v);
7413
7414     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
7415     BSTR ie8_coords();
7416
7417     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
7418     void ie8_href(BSTR v);
7419
7420     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
7421     BSTR ie8_href();
7422 }
7423
7424 /*****************************************************************************
7425  *    IHTMLElementCollection interface
7426  */
7427 [
7428     odl,
7429     oleautomation,
7430     dual,
7431     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
7432 ]
7433 interface IHTMLElementCollection : IDispatch
7434 {
7435     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
7436     HRESULT toString([retval, out] BSTR *String);
7437
7438     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7439     HRESULT length([in] LONG v);
7440
7441     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7442     HRESULT length([retval, out] LONG *p);
7443
7444     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
7445     HRESULT _newEnum([retval, out] IUnknown **p);
7446
7447     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
7448     HRESULT item(
7449         [optional, in] VARIANT name,
7450         [optional, in] VARIANT index,
7451         [retval,  out] IDispatch **pdisp);
7452
7453     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
7454     HRESULT tags(
7455         [in] VARIANT tagName,
7456         [retval, out] IDispatch **pdisp);
7457 }
7458
7459 /*****************************************************************************
7460  *    DispHTMLElementCollection dispinterface
7461  */
7462 [
7463     hidden,
7464     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
7465 ]
7466 dispinterface DispHTMLElementCollection
7467 {
7468 properties:
7469 methods:
7470     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
7471     BSTR toString();
7472
7473     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7474     void length(LONG v);
7475
7476     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7477     LONG length();
7478
7479     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
7480     IUnknown *_newEnum();
7481
7482     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
7483     IDispatch *item(
7484             [in, optional] VARIANT name,
7485             [in, optional] VARIANT index);
7486
7487     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
7488     IDispatch *tags(
7489             [in] VARIANT tagName);
7490
7491     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
7492     IDispatch *urns([in] VARIANT urn);
7493
7494     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
7495     IDispatch *namedItem([in] BSTR name);
7496 }
7497
7498 /*****************************************************************************
7499  *    IHTMLSelectElement interface
7500  */
7501 [
7502     odl,
7503     oleautomation,
7504     dual,
7505     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
7506 ]
7507 interface IHTMLSelectElement : IDispatch
7508 {
7509     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7510     HRESULT size([in] LONG v);
7511
7512     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7513     HRESULT size([retval, out] LONG *p);
7514
7515     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7516     HRESULT multiple([in] VARIANT_BOOL v);
7517
7518     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7519     HRESULT multiple([retval, out] VARIANT_BOOL *p);
7520
7521     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7522     HRESULT name([in] BSTR v);
7523
7524     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7525     HRESULT name([retval, out] BSTR *p);
7526
7527     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
7528     HRESULT options([retval, out] IDispatch **p);
7529
7530     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
7531     HRESULT onchange([in] VARIANT v);
7532
7533     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
7534     HRESULT onchange([retval, out] VARIANT *p);
7535
7536     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
7537     HRESULT selectedIndex([in] LONG v);
7538
7539     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
7540     HRESULT selectedIndex([retval, out] LONG *p);
7541
7542     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
7543     HRESULT type([retval, out] BSTR *p);
7544
7545     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
7546     HRESULT value([in] BSTR v);
7547
7548     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
7549     HRESULT value([retval, out] BSTR *p);
7550
7551     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
7552     HRESULT disabled([in] VARIANT_BOOL v);
7553
7554     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
7555     HRESULT disabled([retval, out] VARIANT_BOOL *p);
7556
7557     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
7558     HRESULT form([retval, out] IHTMLFormElement **p);
7559
7560     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
7561     HRESULT add(
7562         [in] IHTMLElement *element,
7563         [optional, in] VARIANT before);
7564
7565     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
7566     HRESULT remove([defaultvalue(-1), in] LONG index);
7567
7568     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
7569     HRESULT length([in] LONG v);
7570
7571     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
7572     HRESULT length([retval, out] LONG *p);
7573
7574     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
7575     HRESULT _newEnum([retval, out] IUnknown **p);
7576
7577     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
7578     HRESULT item(
7579         [optional, in] VARIANT name,
7580         [optional, in] VARIANT index,
7581         [retval, out] IDispatch **pdisp);
7582
7583     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
7584     HRESULT tags(
7585         [in] VARIANT tagName,
7586         [retval, out] IDispatch **pdisp);
7587 }
7588
7589 /*****************************************************************************
7590  *    DispHTMLSelectElement dispinterface
7591  */
7592 [
7593     hidden,
7594     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
7595 ]
7596 dispinterface DispHTMLSelectElement
7597 {
7598 properties:
7599 methods:
7600     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;
7601     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;
7602     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;
7603     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
7604     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
7605     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
7606     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
7607
7608     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7609     void dataFld(BSTR v);
7610
7611     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7612     BSTR dataFld();
7613
7614     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
7615     void dataSrc(BSTR v);
7616
7617     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
7618     BSTR dataSrc();
7619
7620     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7621     void dataFormatAs(BSTR v);
7622
7623     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7624     BSTR dataFormatAs();
7625
7626     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7627     void size(LONG v);
7628
7629     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7630     LONG size();
7631
7632     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7633     void multiple(VARIANT_BOOL v);
7634
7635     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7636     VARIANT_BOOL multiple();
7637
7638     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7639     void name(BSTR v);
7640
7641     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7642     BSTR name();
7643
7644     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
7645     IDispatch *options();
7646
7647     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
7648     void onchange(VARIANT v);
7649
7650     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
7651     VARIANT onchange();
7652
7653     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
7654     void selectedIndex(LONG v);
7655
7656     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
7657     LONG selectedIndex();
7658
7659     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
7660     BSTR type();
7661
7662     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
7663     void value(BSTR v);
7664
7665     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
7666     BSTR value();
7667
7668     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
7669     IHTMLFormElement *form();
7670
7671     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
7672     void add(
7673             [in] IHTMLElement *element,
7674             [in, optional] VARIANT before);
7675
7676     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
7677     void remove([in, defaultvalue(-1)] LONG index);
7678
7679     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
7680     void length(LONG v);
7681
7682     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
7683     LONG length();
7684
7685     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
7686     IUnknown *_newEnum();
7687
7688     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
7689     IDispatch *item(
7690             [in, optional] VARIANT name,
7691             [in, optional] VARIANT index);
7692
7693     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
7694     IDispatch *tags([in] VARIANT tagName);
7695
7696     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
7697     IDispatch *urns([in] VARIANT urn);
7698
7699     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
7700     IDispatch *namedItem([in] BSTR name);
7701 }
7702
7703 /*****************************************************************************
7704  *    IHTMLSelectionObject interface
7705  */
7706 [
7707     odl,
7708     oleautomation,
7709     dual,
7710     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
7711 ]
7712 interface IHTMLSelectionObject : IDispatch
7713 {
7714     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
7715     HRESULT createRange([retval, out] IDispatch **range);
7716
7717     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
7718     HRESULT empty();
7719
7720     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
7721     HRESULT clear();
7722
7723     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
7724     HRESULT type([retval, out] BSTR *p);
7725 }
7726
7727 /*****************************************************************************
7728  *    IHTMLOptionElement interface
7729  */
7730 [
7731     odl,
7732     oleautomation,
7733     dual,
7734     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
7735 ]
7736 interface IHTMLOptionElement : IDispatch
7737 {
7738     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
7739     HRESULT selected([in] VARIANT_BOOL v);
7740
7741     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
7742     HRESULT selected([retval, out] VARIANT_BOOL *p);
7743
7744     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
7745     HRESULT value([in] BSTR v);
7746
7747     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
7748     HRESULT value([retval, out] BSTR *p);
7749
7750     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
7751     HRESULT defaultSelected([in] VARIANT_BOOL v);
7752
7753     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
7754     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
7755
7756     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
7757     HRESULT index([in] LONG v);
7758
7759     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
7760     HRESULT index([retval, out] LONG *p);
7761
7762     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
7763     HRESULT text([in] BSTR v);
7764
7765     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
7766     HRESULT text([retval, out] BSTR *p);
7767
7768     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
7769     HRESULT form([retval, out] IHTMLFormElement **p);
7770 }
7771
7772 [
7773     odl,
7774     oleautomation,
7775     dual,
7776     uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
7777 ]
7778 interface IHTMLOptionElement3 : IDispatch
7779 {
7780     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
7781     HRESULT label([in] BSTR v);
7782
7783     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
7784     HRESULT label([retval, out] BSTR * p);
7785 }
7786
7787 /*****************************************************************************
7788  *    IHTMLOptionElementFactory interface
7789  */
7790 [
7791     odl,
7792     oleautomation,
7793     dual,
7794     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
7795 ]
7796 interface IHTMLOptionElementFactory : IDispatch
7797 {
7798     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
7799     HRESULT create(
7800         [optional, in] VARIANT text,
7801         [optional, in] VARIANT value,
7802         [optional, in] VARIANT defaultselected,
7803         [optional, in] VARIANT selected,
7804         [retval, out] IHTMLOptionElement **optelem);
7805 }
7806
7807 /*****************************************************************************
7808  *    DispHTMLOptionElement dispinterface
7809  */
7810 [
7811     hidden,
7812     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
7813 ]
7814 dispinterface DispHTMLOptionElement
7815 {
7816 properties:
7817 methods:
7818     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;
7819     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;
7820     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;
7821     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
7822     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
7823     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
7824     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
7825
7826     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7827     void dataFld(BSTR v);
7828
7829     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7830     BSTR dataFld();
7831
7832     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
7833     void dataSrc(BSTR v);
7834
7835     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
7836     BSTR dataSrc();
7837
7838     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7839     void dataFormatAs(BSTR v);
7840
7841     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7842     BSTR dataFormatAs();
7843
7844     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
7845     void selected(VARIANT_BOOL v);
7846
7847     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
7848     VARIANT_BOOL selected();
7849
7850     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
7851     void value(BSTR v);
7852
7853     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
7854     BSTR value();
7855
7856     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
7857     void defaultSelected(VARIANT_BOOL v);
7858
7859     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
7860     VARIANT_BOOL defaultSelected();
7861
7862     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
7863     void index(LONG v);
7864
7865     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
7866     LONG index();
7867
7868     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
7869     void text(BSTR v);
7870
7871     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
7872     BSTR text();
7873
7874     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
7875     IHTMLFormElement *form();
7876
7877     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
7878     void label(BSTR v);
7879
7880     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
7881     BSTR label();
7882 }
7883
7884 [
7885     noncreatable,
7886     uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
7887 ]
7888 coclass HTMLOptionElement
7889 {
7890     [default]           dispinterface DispHTMLOptionElement;
7891     [source, default]   dispinterface HTMLElementEvents;
7892     [source]            dispinterface HTMLElementEvents2;
7893                         interface IHTMLElement;
7894                         interface IHTMLElement2;
7895                         interface IHTMLElement3;
7896                         interface IHTMLElement4;
7897                         interface IHTMLUniqueName;
7898                         interface IHTMLDOMNode;
7899                         interface IHTMLDOMNode2;
7900                         interface IHTMLDatabinding;
7901                         interface IHTMLOptionElement;
7902                         interface IHTMLOptionElement3;
7903 }
7904
7905 /*****************************************************************************
7906  *    IHTMLInputElement interface
7907  */
7908 [
7909     odl,
7910     oleautomation,
7911     dual,
7912     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
7913 ]
7914 interface IHTMLInputElement : IDispatch
7915 {
7916     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
7917     HRESULT type([in] BSTR v);
7918
7919     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
7920     HRESULT type([retval, out] BSTR *p);
7921
7922     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
7923     HRESULT value([in] BSTR v);
7924
7925     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
7926     HRESULT value([retval, out] BSTR *p);
7927
7928     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
7929     HRESULT name([in] BSTR v);
7930
7931     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
7932     HRESULT name([retval, out] BSTR *p);
7933
7934     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
7935     HRESULT status([in] VARIANT_BOOL v);
7936
7937     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
7938     HRESULT status([retval, out] VARIANT_BOOL *p);
7939
7940     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
7941     HRESULT disabled([in] VARIANT_BOOL v);
7942
7943     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
7944     HRESULT disabled([retval, out] VARIANT_BOOL *p);
7945
7946     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
7947     HRESULT form([retval, out] IHTMLFormElement **p);
7948
7949     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
7950     HRESULT size([in] LONG v);
7951
7952     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
7953     HRESULT size([retval, out] LONG *p);
7954
7955     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
7956     HRESULT maxLength([in] LONG v);
7957
7958     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
7959     HRESULT maxLength([retval, out] LONG *p);
7960
7961     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
7962     HRESULT select();
7963
7964     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
7965     HRESULT onchange([in] VARIANT v);
7966
7967     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
7968     HRESULT onchange([retval, out] VARIANT *p);
7969
7970     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
7971     HRESULT onselect([in] VARIANT v);
7972
7973     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
7974     HRESULT onselect([retval, out] VARIANT *p);
7975
7976     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
7977     HRESULT defaultValue([in] BSTR v);
7978
7979     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
7980     HRESULT defaultValue([retval, out] BSTR *p);
7981
7982     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
7983     HRESULT readOnly([in] VARIANT_BOOL v);
7984
7985     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
7986     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
7987
7988     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
7989     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7990
7991     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
7992     HRESULT indeterminate([in] VARIANT_BOOL v);
7993
7994     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
7995     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
7996
7997     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
7998     HRESULT defaultChecked([in] VARIANT_BOOL v);
7999
8000     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8001     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
8002
8003     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8004     HRESULT checked([in] VARIANT_BOOL v);
8005
8006     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8007     HRESULT checked([retval, out] VARIANT_BOOL *p);
8008
8009     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8010     HRESULT border([in] VARIANT v);
8011
8012     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8013     HRESULT border([retval, out] VARIANT *p);
8014
8015     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8016     HRESULT vspace([in] LONG v);
8017
8018     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8019     HRESULT vspace([retval, out] LONG *p);
8020
8021     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8022     HRESULT hspace([in] LONG v);
8023
8024     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8025     HRESULT hspace([retval, out] LONG *p);
8026
8027     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8028     HRESULT alt([in] BSTR v);
8029
8030     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8031     HRESULT alt([retval, out] BSTR *p);
8032
8033     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8034     HRESULT src([in] BSTR v);
8035
8036     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8037     HRESULT src([retval, out] BSTR *p);
8038
8039     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8040     HRESULT lowsrc([in] BSTR v);
8041
8042     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8043     HRESULT lowsrc([retval, out] BSTR *p);
8044
8045     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8046     HRESULT vrml([in] BSTR v);
8047
8048     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8049     HRESULT vrml([retval, out] BSTR *p);
8050
8051     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8052     HRESULT dynsrc([in] BSTR v);
8053
8054     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8055     HRESULT dynsrc([retval, out] BSTR *p);
8056
8057     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
8058     HRESULT readyState([retval, out] BSTR *p);
8059
8060     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
8061     HRESULT complete([retval, out] VARIANT_BOOL *p);
8062
8063     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8064     HRESULT loop([in] VARIANT v);
8065
8066     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8067     HRESULT loop([retval, out] VARIANT *p);
8068
8069     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8070     HRESULT align([in] BSTR v);
8071
8072     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8073     HRESULT align([retval, out] BSTR *p);
8074
8075     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8076     HRESULT onload([in] VARIANT v);
8077
8078     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8079     HRESULT onload([retval, out] VARIANT *p);
8080
8081     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8082     HRESULT onerror([in] VARIANT v);
8083
8084     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8085     HRESULT onerror([retval, out] VARIANT *p);
8086
8087     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8088     HRESULT onabort([in] VARIANT v);
8089
8090     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8091     HRESULT onabort([retval, out] VARIANT *p);
8092
8093     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8094     HRESULT width([in] LONG v);
8095
8096     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8097     HRESULT width([retval, out] LONG *p);
8098
8099     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8100     HRESULT height([in] LONG v);
8101
8102     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8103     HRESULT height([retval, out] LONG *p);
8104
8105     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8106     HRESULT start([in] BSTR v);
8107
8108     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8109     HRESULT start([retval, out] BSTR *p);
8110 }
8111
8112 /*****************************************************************************
8113  *    IHTMLInputTextElement interface
8114  */
8115 [
8116     odl,
8117     oleautomation,
8118     dual,
8119     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
8120 ]
8121 interface IHTMLInputTextElement : IDispatch
8122 {
8123     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
8124     HRESULT type([retval, out] BSTR *p);
8125
8126     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
8127     HRESULT value([in] BSTR v);
8128
8129     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
8130     HRESULT value([retval, out] BSTR *p);
8131
8132     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
8133     HRESULT name([in] BSTR v);
8134
8135     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
8136     HRESULT name([retval, out] BSTR *p);
8137
8138     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
8139     HRESULT status([in] VARIANT v);
8140
8141     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
8142     HRESULT status([retval, out] VARIANT *p);
8143
8144     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
8145     HRESULT disabled([in] VARIANT_BOOL v);
8146
8147     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
8148     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8149
8150     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
8151     HRESULT form([retval, out] IHTMLFormElement **p);
8152
8153     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8154     HRESULT defaultValue([in] BSTR v);
8155
8156     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8157     HRESULT defaultValue([retval, out] BSTR *p);
8158
8159     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
8160     HRESULT size([in] LONG v);
8161
8162     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
8163     HRESULT size([retval, out] LONG *p);
8164
8165     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
8166     HRESULT maxLength([in] LONG v);
8167
8168     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
8169     HRESULT maxLength([retval, out] LONG *p);
8170
8171     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
8172     HRESULT select();
8173
8174     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
8175     HRESULT onchange([in] VARIANT v);
8176
8177     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
8178     HRESULT onchange([retval, out] VARIANT *p);
8179
8180     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
8181     HRESULT onselect([in] VARIANT v);
8182
8183     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
8184     HRESULT onselect([retval, out] VARIANT *p);
8185
8186     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
8187     HRESULT readOnly([in] VARIANT_BOOL v);
8188
8189     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
8190     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8191
8192     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
8193     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8194 }
8195
8196 [
8197     hidden,
8198     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
8199 ]
8200 dispinterface DispHTMLInputElement
8201 {
8202 properties:
8203 methods:
8204     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;
8205     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;
8206     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;
8207     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
8208     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
8209     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
8210     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
8211
8212     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
8213     void dataFld(BSTR v);
8214
8215     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
8216     BSTR dataFld();
8217
8218     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
8219     void dataSrc(BSTR v);
8220
8221     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
8222     BSTR dataSrc();
8223
8224     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
8225     void dataFormatAs(BSTR v);
8226
8227     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
8228     BSTR dataFormatAs();
8229
8230     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8231     void type(BSTR v);
8232
8233     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8234     BSTR type();
8235
8236     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8237     void value(BSTR v);
8238
8239     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8240     BSTR value();
8241
8242     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8243     void name(BSTR v);
8244
8245     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8246     BSTR name();
8247
8248     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8249     void status(VARIANT_BOOL v);
8250
8251     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8252     VARIANT_BOOL status();
8253
8254     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8255     IHTMLFormElement *form();
8256
8257     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8258     void size(LONG v);
8259
8260     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8261     LONG size();
8262
8263     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8264     void maxLength(LONG v);
8265
8266     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8267     LONG maxLength();
8268
8269     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8270     void select();
8271
8272     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8273     void onchange(VARIANT v);
8274
8275     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8276     VARIANT onchange();
8277
8278     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8279     void onselect(VARIANT v);
8280
8281     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8282     VARIANT onselect();
8283
8284     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8285     void defaultValue(BSTR v);
8286
8287     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8288     BSTR defaultValue();
8289
8290     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8291     void readOnly(VARIANT_BOOL v);
8292
8293     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8294     VARIANT_BOOL readOnly();
8295
8296     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8297     IHTMLTxtRange *createTextRange();
8298
8299     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8300     void indeterminate(VARIANT_BOOL v);
8301
8302     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8303     VARIANT_BOOL indeterminate();
8304
8305     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8306     void defaultChecked(VARIANT_BOOL v);
8307
8308     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8309     VARIANT_BOOL defaultChecked();
8310
8311     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8312     void checked(VARIANT_BOOL v);
8313
8314     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8315     VARIANT_BOOL checked();
8316
8317     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8318     void border(VARIANT v);
8319
8320     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8321     VARIANT border();
8322
8323     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8324     void vspace(LONG v);
8325
8326     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8327     LONG vspace();
8328
8329     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8330     void hspace(LONG v);
8331
8332     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8333     LONG hspace();
8334
8335     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8336     void alt(BSTR v);
8337
8338     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8339     BSTR alt();
8340
8341     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8342     void src(BSTR v);
8343
8344     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8345     BSTR src();
8346
8347     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8348     void lowsrc(BSTR v);
8349
8350     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8351     BSTR lowsrc();
8352
8353     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8354     void vrml(BSTR v);
8355
8356     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8357     BSTR vrml();
8358
8359     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8360     void dynsrc(BSTR v);
8361
8362     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8363     BSTR dynsrc();
8364
8365     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
8366     VARIANT_BOOL complete();
8367
8368     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8369     void loop(VARIANT v);
8370
8371     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8372     VARIANT loop();
8373
8374     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8375     void align(BSTR v);
8376
8377     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8378     BSTR align();
8379
8380     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8381     void onload(VARIANT v);
8382
8383     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8384     VARIANT onload();
8385
8386     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8387     void onerror(VARIANT v);
8388
8389     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8390     VARIANT onerror();
8391
8392     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8393     void onabort(VARIANT v);
8394
8395     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8396     VARIANT onabort();
8397
8398     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8399     void width(LONG v);
8400
8401     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8402     LONG width();
8403
8404     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8405     void height(LONG v);
8406
8407     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8408     LONG height();
8409
8410     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8411     void start(BSTR v);
8412
8413     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8414     BSTR start();
8415
8416     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
8417     void accept(BSTR v);
8418
8419     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
8420     BSTR accept();
8421
8422     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
8423     void useMap(BSTR v);
8424
8425     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
8426     BSTR useMap();
8427 }
8428
8429 /*****************************************************************************
8430  *    IHTMLTextAreaElement interface
8431  */
8432 [
8433     odl,
8434     oleautomation,
8435     dual,
8436     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
8437 ]
8438 interface IHTMLTextAreaElement : IDispatch
8439 {
8440     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
8441     HRESULT type([retval, out] BSTR *p);
8442
8443     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
8444     HRESULT value([in] BSTR v);
8445
8446     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
8447     HRESULT value([retval, out] BSTR *p);
8448
8449     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
8450     HRESULT name([in] BSTR v);
8451
8452     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
8453     HRESULT name([retval, out] BSTR *p);
8454
8455     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
8456     HRESULT status([in] VARIANT v);
8457
8458     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
8459     HRESULT status([retval, out] VARIANT *p);
8460
8461     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
8462     HRESULT disabled([in] VARIANT_BOOL v);
8463
8464     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
8465     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8466
8467     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
8468     HRESULT form([retval, out] IHTMLFormElement **p);
8469
8470     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8471     HRESULT defaultValue([in] BSTR v);
8472
8473     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8474     HRESULT defaultValue([retval, out] BSTR *p);
8475
8476     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
8477     HRESULT select();
8478
8479     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
8480     HRESULT onchange([in] VARIANT v);
8481
8482     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
8483     HRESULT onchange([retval, out] VARIANT *p);
8484
8485     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
8486     HRESULT onselect([in] VARIANT v);
8487
8488     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
8489     HRESULT onselect([retval, out] VARIANT *p);
8490
8491     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
8492     HRESULT readOnly([in] VARIANT_BOOL v);
8493
8494     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
8495     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8496
8497     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
8498     HRESULT rows([in] LONG v);
8499
8500     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
8501     HRESULT rows([retval, out] LONG *p);
8502
8503     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
8504     HRESULT cols([in] LONG v);
8505
8506     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
8507     HRESULT cols([retval, out] LONG *p);
8508
8509     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
8510     HRESULT wrap([in] BSTR v);
8511
8512     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
8513     HRESULT wrap([retval, out] BSTR *p);
8514
8515     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
8516     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8517 }
8518
8519 /*****************************************************************************
8520  *    DispHTMLUnknownElement interface
8521  */
8522 [
8523     hidden,
8524     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
8525 ]
8526 dispinterface DispHTMLUnknownElement
8527 {
8528 properties:
8529 methods:
8530     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;
8531     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;
8532     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;
8533     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
8534     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
8535     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
8536     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
8537 }
8538
8539 /*****************************************************************************
8540  *    IOmHistory interface
8541  */
8542 [
8543     odl,
8544     oleautomation,
8545     dual,
8546     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
8547 ]
8548 interface IOmHistory : IDispatch
8549 {
8550     [propget, id(DISPID_IOMHISTORY_LENGTH)]
8551     HRESULT length([retval, out] short *p);
8552
8553     [id(DISPID_IOMHISTORY_BACK)]
8554     HRESULT back([optional, in] VARIANT *pvargdistance);
8555
8556     [id(DISPID_IOMHISTORY_FORWARD)]
8557     HRESULT forward([optional, in] VARIANT *pvargdistance);
8558
8559     [id(DISPID_IOMHISTORY_GO)]
8560     HRESULT go([optional, in] VARIANT *pvargdistance);
8561 }
8562
8563 [
8564     noncreatable,
8565     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
8566 ]
8567 coclass HTMLHistory
8568 {
8569     [default]           interface IOmHistory;
8570 }
8571
8572 /*****************************************************************************
8573  *    IHTMLMimeTypesCollection interface
8574  */
8575 [
8576     odl,
8577     oleautomation,
8578     dual,
8579     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
8580 ]
8581 interface IHTMLMimeTypesCollection : IDispatch
8582 {
8583     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
8584     HRESULT length([retval, out] LONG *p);
8585 }
8586
8587 [
8588     noncreatable,
8589     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
8590 ]
8591 coclass CMimeTypes
8592 {
8593     [default]           interface IHTMLMimeTypesCollection;
8594 }
8595
8596 /*****************************************************************************
8597  *    IHTMLPluginsCollection interface
8598  */
8599 [
8600     odl,
8601     oleautomation,
8602     dual,
8603     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
8604 ]
8605 interface IHTMLPluginsCollection : IDispatch
8606 {
8607     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
8608     HRESULT length([retval, out] LONG *p);
8609
8610     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
8611     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
8612 }
8613
8614 [
8615     noncreatable,
8616     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
8617 ]
8618 coclass CPlugins
8619 {
8620     [default]           interface IHTMLPluginsCollection;
8621 }
8622
8623 /*****************************************************************************
8624  *    IHTMLOpsProfile interface
8625  */
8626 [
8627     odl,
8628     oleautomation,
8629     dual,
8630     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
8631 ]
8632 interface IHTMLOpsProfile : IDispatch
8633 {
8634     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
8635     HRESULT addRequest(
8636         [in] BSTR name,
8637         [optional, in] VARIANT reserved,
8638         [retval, out] VARIANT_BOOL *success);
8639
8640     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
8641     HRESULT clearRequest();
8642
8643     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
8644     HRESULT doRequest(
8645         [in] VARIANT usage,
8646         [optional, in] VARIANT fname,
8647         [optional, in] VARIANT domain,
8648         [optional, in] VARIANT path,
8649         [optional, in] VARIANT expire,
8650         [optional, in] VARIANT reserved);
8651
8652     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
8653     HRESULT getAttribute(
8654         [in] BSTR name,
8655         [retval, out] BSTR *value);
8656
8657     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
8658     HRESULT setAttribute(
8659         [in] BSTR name,
8660         [in] BSTR value,
8661         [optional, in] VARIANT prefs,
8662         [retval, out] VARIANT_BOOL *success);
8663
8664     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
8665     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
8666
8667     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
8668     HRESULT addReadRequest(
8669         [in] BSTR name,
8670         [optional, in] VARIANT reserved,
8671         [retval, out] VARIANT_BOOL *success);
8672
8673     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
8674     HRESULT doReadRequest(
8675         [in] VARIANT usage,
8676         [optional, in] VARIANT fname,
8677         [optional, in] VARIANT domain,
8678         [optional, in] VARIANT path,
8679         [optional, in] VARIANT expire,
8680         [optional, in] VARIANT reserved);
8681
8682     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
8683     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
8684 }
8685
8686 [
8687     noncreatable,
8688     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
8689 ]
8690 coclass COpsProfile
8691 {
8692     [default]           interface IHTMLOpsProfile;
8693 }
8694
8695 /*****************************************************************************
8696  *    IOmNavigator interface
8697  */
8698 [
8699     odl,
8700     oleautomation,
8701     dual,
8702     uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
8703 ]
8704 interface IOmNavigator : IDispatch
8705 {
8706     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
8707     HRESULT appCodeName([retval, out] BSTR *p);
8708
8709     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
8710     HRESULT appName([retval, out] BSTR *p);
8711
8712     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
8713     HRESULT appVersion([retval, out] BSTR *p);
8714
8715     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
8716     HRESULT userAgent([retval, out] BSTR *p);
8717
8718     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
8719     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
8720
8721     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
8722     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
8723
8724     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
8725     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
8726
8727     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
8728     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
8729
8730     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
8731     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
8732
8733     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
8734     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
8735
8736     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
8737     HRESULT toString([retval, out] BSTR *String);
8738
8739     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
8740     HRESULT cpuClass([retval, out] BSTR *p);
8741
8742     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
8743     HRESULT systemLanguage([retval, out] BSTR *p);
8744
8745     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
8746     HRESULT browserLanguage([retval, out] BSTR *p);
8747
8748     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
8749     HRESULT userLanguage([retval, out] BSTR *p);
8750
8751     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
8752     HRESULT platform([retval, out] BSTR *p);
8753
8754     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
8755     HRESULT appMinorVersion([retval, out] BSTR *p);
8756
8757     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
8758     HRESULT connectionSpeed([retval, out] LONG *p);
8759
8760     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
8761     HRESULT onLine([retval, out] VARIANT_BOOL *p);
8762
8763     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
8764     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
8765 }
8766
8767 /*****************************************************************************
8768  *    DispHTMLNavigator dispinterface
8769  */
8770 [
8771     hidden,
8772     uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
8773 ]
8774 dispinterface DispHTMLNavigator
8775 {
8776 properties:
8777 methods:
8778     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
8779     BSTR appCodeName();
8780
8781     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
8782     BSTR appName();
8783
8784     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
8785     BSTR appVersion();
8786
8787     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
8788     BSTR userAgent();
8789
8790     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
8791     VARIANT_BOOL javaEnabled();
8792
8793     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
8794     VARIANT_BOOL taintEnabled();
8795
8796     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
8797     IHTMLMimeTypesCollection *mimeTypes();
8798
8799     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
8800     IHTMLPluginsCollection *plugins();
8801
8802     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
8803     VARIANT_BOOL cookieEnabled();
8804
8805     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
8806     IHTMLOpsProfile *opsProfile();
8807
8808     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
8809     BSTR toString();
8810
8811     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
8812     BSTR cpuClass();
8813
8814     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
8815     BSTR systemLanguage();
8816
8817     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
8818     BSTR browserLanguage();
8819
8820     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
8821     BSTR userLanguage();
8822
8823     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
8824     BSTR platform();
8825
8826     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
8827     BSTR appMinorVersion();
8828
8829     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
8830     LONG connectionSpeed();
8831
8832     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
8833     VARIANT_BOOL onLine();
8834
8835     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
8836     IHTMLOpsProfile *userProfile();
8837
8838     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
8839     IDispatch *constructor();
8840 }
8841
8842 [
8843     noncreatable,
8844     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
8845 ]
8846 coclass HTMLNavigator
8847 {
8848     [default]  dispinterface DispHTMLNavigator;
8849                interface IOmNavigator;
8850 }
8851
8852 /*****************************************************************************
8853  *    IHTMLLocation interface
8854  */
8855 [
8856     odl,
8857     oleautomation,
8858     dual,
8859     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
8860 ]
8861 interface IHTMLLocation : IDispatch
8862 {
8863     [propput, id(DISPID_IHTMLLOCATION_HREF)]
8864     HRESULT href([in] BSTR v);
8865
8866     [propget, id(DISPID_IHTMLLOCATION_HREF)]
8867     HRESULT href([retval, out] BSTR *p);
8868
8869     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
8870     HRESULT protocol([in] BSTR v);
8871
8872     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
8873     HRESULT protocol([retval, out] BSTR *p);
8874
8875     [propput, id(DISPID_IHTMLLOCATION_HOST)]
8876     HRESULT host([in] BSTR v);
8877
8878     [propget, id(DISPID_IHTMLLOCATION_HOST)]
8879     HRESULT host([retval, out] BSTR *p);
8880
8881     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
8882     HRESULT hostname([in] BSTR v);
8883
8884     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
8885     HRESULT hostname([retval, out] BSTR *p);
8886
8887     [propput, id(DISPID_IHTMLLOCATION_PORT)]
8888     HRESULT port([in] BSTR v);
8889
8890     [propget, id(DISPID_IHTMLLOCATION_PORT)]
8891     HRESULT port([retval, out] BSTR *p);
8892
8893     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
8894     HRESULT pathname([in] BSTR v);
8895
8896     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
8897     HRESULT pathname([retval, out] BSTR *p);
8898
8899     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
8900     HRESULT search([in] BSTR v);
8901
8902     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
8903     HRESULT search([retval, out] BSTR *p);
8904
8905     [propput, id(DISPID_IHTMLLOCATION_HASH)]
8906     HRESULT hash([in] BSTR v);
8907
8908     [propget, id(DISPID_IHTMLLOCATION_HASH)]
8909     HRESULT hash([retval, out] BSTR *p);
8910
8911     [id(DISPID_IHTMLLOCATION_RELOAD)]
8912     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
8913
8914     [id(DISPID_IHTMLLOCATION_REPLACE)]
8915     HRESULT replace([in] BSTR bstr);
8916
8917     [id(DISPID_IHTMLLOCATION_ASSIGN)]
8918     HRESULT assign([in] BSTR bstr);
8919
8920     [id(DISPID_IHTMLLOCATION_TOSTRING)]
8921     HRESULT toString([retval, out] BSTR *String);
8922 }
8923
8924 /*****************************************************************************
8925  *    DispHTMLLocation dispinterface
8926  */
8927 [
8928     hidden,
8929     uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
8930 ]
8931 dispinterface DispHTMLLocation
8932 {
8933 properties:
8934 methods:
8935     [propput, id(DISPID_IHTMLLOCATION_HREF)]
8936     void href(BSTR v);
8937
8938     [propget, id(DISPID_IHTMLLOCATION_HREF)]
8939     BSTR href();
8940
8941     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
8942     void protocol(BSTR v);
8943
8944     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
8945     BSTR protocol();
8946
8947     [propput, id(DISPID_IHTMLLOCATION_HOST)]
8948     void host(BSTR v);
8949
8950     [propget, id(DISPID_IHTMLLOCATION_HOST)]
8951     BSTR host();
8952
8953     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
8954     void hostname(BSTR v);
8955
8956     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
8957     BSTR hostname();
8958
8959     [propput, id(DISPID_IHTMLLOCATION_PORT)]
8960     void port(BSTR v);
8961
8962     [propget, id(DISPID_IHTMLLOCATION_PORT)]
8963     BSTR port();
8964
8965     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
8966     void pathname(BSTR v);
8967
8968     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
8969     BSTR pathname();
8970
8971     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
8972     void search(BSTR v);
8973
8974     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
8975     BSTR search();
8976
8977     [propput, id(DISPID_IHTMLLOCATION_HASH)]
8978     void hash(BSTR v);
8979
8980     [propget, id(DISPID_IHTMLLOCATION_HASH)]
8981     BSTR hash();
8982
8983     [id(DISPID_IHTMLLOCATION_RELOAD)]
8984     void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
8985
8986     [id(DISPID_IHTMLLOCATION_REPLACE)]
8987     void replace([in] BSTR bstr);
8988
8989     [id(DISPID_IHTMLLOCATION_ASSIGN)]
8990     void assign([in] BSTR bstr);
8991
8992     [id(DISPID_IHTMLLOCATION_TOSTRING)]
8993     BSTR toString();
8994
8995     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
8996     IDispatch *constructor();
8997 }
8998
8999 [
9000     noncreatable,
9001     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
9002 ]
9003 coclass HTMLLocation
9004 {
9005     [default]  dispinterface DispHTMLLocation;
9006                interface IHTMLLocation;
9007 }
9008
9009 [
9010     odl,
9011     oleautomation,
9012     dual,
9013     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
9014 ]
9015 interface IHTMLBookmarkCollection : IDispatch
9016 {
9017     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
9018     HRESULT length([out, retval] LONG *p);
9019
9020     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
9021     HRESULT _newEnum([out, retval] IUnknown **p);
9022
9023     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
9024     HRESULT item(
9025             [in] LONG index,
9026             [out, retval] VARIANT *pVarBookmark);
9027 }
9028
9029 /*****************************************************************************
9030  *    IHTMLDataTransfer interface
9031  */
9032 [
9033     odl,
9034     oleautomation,
9035     dual,
9036     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
9037 ]
9038 interface IHTMLDataTransfer : IDispatch
9039 {
9040     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
9041     HRESULT setData(
9042             [in] BSTR format,
9043             [in] VARIANT *data,
9044             [out, retval] VARIANT_BOOL *pret);
9045
9046     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
9047     HRESULT getData(
9048             [in] BSTR format,
9049             [out, retval] VARIANT *pvarRet);
9050
9051     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
9052     HRESULT clearData(
9053             [in] BSTR format,
9054             [out, retval] VARIANT_BOOL *pret);
9055
9056     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
9057     HRESULT dropEffect([in] BSTR v);
9058
9059     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
9060     HRESULT dropEffect([out, retval] BSTR *p);
9061
9062     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
9063     HRESULT effectAllowed([in] BSTR v);
9064
9065     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
9066     HRESULT effectAllowed([out, retval] BSTR *p);
9067 }
9068
9069 /*****************************************************************************
9070  *    IHTMLEventObj interface
9071  */
9072 [
9073     odl,
9074     oleautomation,
9075     dual,
9076     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
9077 ]
9078 interface IHTMLEventObj : IDispatch
9079 {
9080     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
9081     HRESULT srcElement([retval, out] IHTMLElement **p);
9082
9083     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
9084     HRESULT altKey([retval, out] VARIANT_BOOL *p);
9085
9086     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
9087     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
9088
9089     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
9090     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
9091
9092     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9093     HRESULT returnValue([in] VARIANT v);
9094
9095     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9096     HRESULT returnValue([retval, out] VARIANT *p);
9097
9098     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9099     HRESULT cancelBubble([in] VARIANT_BOOL v);
9100
9101     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9102     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
9103
9104     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
9105     HRESULT fromElement([retval, out] IHTMLElement **p);
9106
9107     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
9108     HRESULT toElement([retval, out] IHTMLElement **p);
9109
9110     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9111     HRESULT keyCode([in] LONG v);
9112
9113     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9114     HRESULT keyCode([retval, out] LONG *p);
9115
9116     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
9117     HRESULT button([retval, out] LONG *p);
9118
9119     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
9120     HRESULT type([retval, out] BSTR *p);
9121
9122     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
9123     HRESULT qualifier([retval, out] BSTR *p);
9124
9125     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
9126     HRESULT reason([retval, out] LONG *p);
9127
9128     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
9129     HRESULT x([retval, out] LONG *p);
9130
9131     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
9132     HRESULT y([retval, out] LONG *p);
9133
9134     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
9135     HRESULT clientX([retval, out] LONG *p);
9136
9137     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
9138     HRESULT clientY([retval, out] LONG *p);
9139
9140     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
9141     HRESULT offsetX([retval, out] LONG *p);
9142
9143     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
9144     HRESULT offsetY([retval, out] LONG *p);
9145
9146     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
9147     HRESULT screenX([retval, out] LONG *p);
9148
9149     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
9150     HRESULT screenY([retval, out] LONG *p);
9151
9152     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
9153     HRESULT srcFilter([retval, out] IDispatch **p);
9154 }
9155
9156 /*****************************************************************************
9157  *    DispCEventObj dispinterface
9158  */
9159 [
9160     hidden,
9161     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
9162 ]
9163 dispinterface DispCEventObj
9164 {
9165 properties:
9166 methods:
9167     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9168     void returnValue(VARIANT v);
9169
9170     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9171     VARIANT returnValue();
9172
9173     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9174     void cancelBubble(VARIANT_BOOL v);
9175
9176     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9177     VARIANT_BOOL cancelBubble();
9178
9179     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9180     void keyCode(LONG v);
9181
9182     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9183     LONG keyCode();
9184
9185     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
9186     void setAttribute(
9187             [in] BSTR strAttributeName,
9188             [in] VARIANT AttributeValue,
9189             [in, defaultvalue(1)] LONG lFlags);
9190
9191     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
9192     VARIANT getAttribute(
9193             [in] BSTR strAttributeName,
9194             [in, defaultvalue(0)] LONG lFlags);
9195
9196     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
9197     VARIANT_BOOL removeAttribute(
9198             [in] BSTR strAttributeName,
9199             [in, defaultvalue(1)] LONG lFlags);
9200
9201     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
9202     void propertyName(BSTR v);
9203
9204     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
9205     BSTR propertyName();
9206
9207     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
9208     void bookmarks(IHTMLBookmarkCollection *v);
9209
9210     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
9211     IHTMLBookmarkCollection *bookmarks();
9212
9213     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
9214     void recordset(IDispatch *v);
9215
9216     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
9217     IDispatch *recordset();
9218
9219     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
9220     void dataFld(BSTR v);
9221
9222     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
9223     BSTR dataFld();
9224
9225     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
9226     void boundElements(IHTMLElementCollection *v);
9227
9228     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
9229     IHTMLElementCollection *boundElements();
9230
9231     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
9232     void repeat(VARIANT_BOOL v);
9233
9234     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
9235     VARIANT_BOOL repeat();
9236
9237     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
9238     void srcUrn(BSTR v);
9239
9240     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
9241     BSTR srcUrn();
9242
9243     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
9244     void srcElement(IHTMLElement *v);
9245
9246     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
9247     IHTMLElement *srcElement();
9248
9249     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
9250     void altKey(VARIANT_BOOL v);
9251
9252     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
9253     VARIANT_BOOL altKey();
9254
9255     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
9256     void ctrlKey(VARIANT_BOOL v);
9257
9258     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
9259     VARIANT_BOOL ctrlKey();
9260
9261     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
9262     void shiftKey(VARIANT_BOOL v);
9263
9264     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
9265     VARIANT_BOOL shiftKey();
9266
9267     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
9268     void fromElement(IHTMLElement *v);
9269
9270     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
9271     IHTMLElement *fromElement();
9272
9273     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
9274     void toElement(IHTMLElement *v);
9275
9276     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
9277     IHTMLElement *toElement();
9278
9279     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
9280     void button(LONG v);
9281
9282     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
9283     LONG button();
9284
9285     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
9286     void type(BSTR v);
9287
9288     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
9289     BSTR type();
9290
9291     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
9292     void qualifier(BSTR v);
9293
9294     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
9295     BSTR qualifier();
9296
9297     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
9298     void reason(LONG v);
9299
9300     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
9301     LONG reason();
9302
9303     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
9304     void x(LONG v);
9305
9306     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
9307     LONG x();
9308
9309     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
9310     void y(LONG v);
9311
9312     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
9313     LONG y();
9314
9315     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
9316     void clientX(LONG v);
9317
9318     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
9319     LONG clientX();
9320
9321     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
9322     void clientY(LONG v);
9323
9324     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
9325     LONG clientY();
9326     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
9327     void offsetX(LONG v);
9328
9329     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
9330     LONG offsetX();
9331
9332     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
9333     void offsetY(LONG v);
9334
9335     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
9336     LONG offsetY();
9337
9338     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
9339     void screenX(LONG v);
9340
9341     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
9342     LONG screenX();
9343
9344     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
9345     void screenY(LONG v);
9346
9347     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
9348     LONG screenY();
9349
9350     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
9351     void srcFilter(IDispatch *v);
9352
9353     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
9354     IDispatch *srcFilter();
9355
9356     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
9357     IHTMLDataTransfer *dataTransfer();
9358
9359     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
9360     VARIANT_BOOL contentOverflow();
9361
9362     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
9363     void shiftLeft(VARIANT_BOOL v);
9364
9365     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
9366     VARIANT_BOOL shiftLeft();
9367
9368     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
9369     void altLeft(VARIANT_BOOL v);
9370
9371     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
9372     VARIANT_BOOL altLeft();
9373
9374     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
9375     void ctrlLeft(VARIANT_BOOL v);
9376
9377     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
9378     VARIANT_BOOL ctrlLeft();
9379
9380     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
9381     LONG_PTR imeCompositionChange();
9382
9383     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
9384     LONG_PTR imeNotifyCommand();
9385
9386     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
9387     LONG_PTR imeNotifyData();
9388
9389     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
9390     LONG_PTR imeRequest();
9391
9392     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
9393     LONG_PTR imeRequestData();
9394
9395     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
9396     LONG_PTR keyboardLayout();
9397
9398     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
9399     LONG behaviorCookie();
9400
9401     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
9402     LONG behaviorPart();
9403
9404     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
9405     BSTR nextPage();
9406
9407     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
9408     LONG wheelDelta();
9409 }
9410
9411 /*****************************************************************************
9412  *    IHTMLFramesCollection2 interface
9413  */
9414 [
9415     odl,
9416     oleautomation,
9417     dual,
9418     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
9419 ]
9420 interface IHTMLFramesCollection2 : IDispatch
9421 {
9422     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
9423     HRESULT item(
9424         [in] VARIANT *pvarIndex,
9425         [retval, out] VARIANT *pvarResult);
9426
9427     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
9428     HRESULT length([retval, out] LONG *p);
9429 }
9430
9431 /*****************************************************************************
9432  *    IHTMLScreen interface
9433  */
9434 [
9435     odl,
9436     oleautomation,
9437     dual,
9438     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
9439 ]
9440 interface IHTMLScreen : IDispatch
9441 {
9442     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
9443     HRESULT colorDepth([retval, out] LONG *p);
9444
9445     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
9446     HRESULT bufferDepth([in] LONG v);
9447
9448     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
9449     HRESULT bufferDepth([retval, out] LONG *p);
9450
9451     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
9452     HRESULT width([retval, out] LONG *p);
9453
9454     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
9455     HRESULT height([retval, out] LONG *p);
9456
9457     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
9458     HRESULT updateInterval([in] LONG v);
9459
9460     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
9461     HRESULT updateInterval([retval, out] LONG *p);
9462
9463     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
9464     HRESULT availHeight([retval, out] LONG *p);
9465
9466     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
9467     HRESULT availWidth([retval, out] LONG *p);
9468
9469     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
9470     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
9471 }
9472
9473 /*****************************************************************************
9474  *    IHTMLWindow2 interface
9475  */
9476 [
9477     odl,
9478     oleautomation,
9479     dual,
9480     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
9481 ]
9482 interface IHTMLWindow2 : IHTMLFramesCollection2
9483 {
9484     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
9485     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
9486
9487     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
9488     HRESULT defaultStatus([in] BSTR v);
9489
9490     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
9491     HRESULT defaultStatus([retval, out] BSTR *p);
9492
9493     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
9494     HRESULT status([in] BSTR v);
9495
9496     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
9497     HRESULT status([retval, out] BSTR *p);
9498
9499     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
9500     HRESULT setTimeout(
9501         [in] BSTR expression,
9502         [in] LONG msec,
9503         [optional, in] VARIANT *language,
9504         [retval, out] LONG *timerID);
9505
9506     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
9507     HRESULT clearTimeout([in] LONG timerID);
9508
9509     [id(DISPID_IHTMLWINDOW2_ALERT)]
9510     HRESULT alert([defaultvalue(""), in] BSTR message);
9511
9512     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
9513     HRESULT confirm(
9514         [defaultvalue(""), in] BSTR message,
9515         [retval, out] VARIANT_BOOL *confirmed);
9516
9517     [id(DISPID_IHTMLWINDOW2_PROMPT)]
9518     HRESULT prompt(
9519         [defaultvalue(""), in] BSTR message,
9520         [defaultvalue("undefined"), in] BSTR defstr,
9521         [retval, out] VARIANT *textdata);
9522
9523     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
9524     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
9525
9526     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
9527     HRESULT location([retval, out] IHTMLLocation **p);
9528
9529     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
9530     HRESULT history([retval, out] IOmHistory **p);
9531
9532     [id(DISPID_IHTMLWINDOW2_CLOSE)]
9533     HRESULT close();
9534
9535     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
9536     HRESULT opener([in] VARIANT v);
9537
9538     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
9539     HRESULT opener([retval, out] VARIANT *p);
9540
9541     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
9542     HRESULT navigator([retval, out] IOmNavigator **p);
9543
9544     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
9545     HRESULT name([in] BSTR v);
9546
9547     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
9548     HRESULT name([retval, out] BSTR *p);
9549
9550     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
9551     HRESULT parent([retval, out] IHTMLWindow2 **p);
9552
9553     [id(DISPID_IHTMLWINDOW2_OPEN)]
9554     HRESULT open(
9555         [defaultvalue(""), in] BSTR url,
9556         [defaultvalue(""), in] BSTR name,
9557         [defaultvalue(""), in] BSTR features,
9558         [defaultvalue(0), in] VARIANT_BOOL replace,
9559         [retval, out] IHTMLWindow2 **pomWindowResult);
9560
9561     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
9562     HRESULT self([retval, out] IHTMLWindow2 **p);
9563
9564     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
9565     HRESULT top([retval, out] IHTMLWindow2 **p);
9566
9567     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
9568     HRESULT window([retval, out] IHTMLWindow2 **p);
9569
9570     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
9571     HRESULT navigate([in] BSTR url);
9572
9573     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
9574     HRESULT onfocus([in] VARIANT v);
9575
9576     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
9577     HRESULT onfocus([retval, out] VARIANT *p);
9578
9579     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
9580     HRESULT onblur([in] VARIANT v);
9581
9582     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
9583     HRESULT onblur([retval, out] VARIANT *p);
9584
9585     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
9586     HRESULT onload([in] VARIANT v);
9587
9588     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
9589     HRESULT onload([retval, out] VARIANT *p);
9590
9591     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
9592     HRESULT onbeforeunload([in] VARIANT v);
9593
9594     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
9595     HRESULT onbeforeunload([retval, out] VARIANT *p);
9596
9597     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
9598     HRESULT onunload([in] VARIANT v);
9599
9600     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
9601     HRESULT onunload([retval, out] VARIANT *p);
9602
9603     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
9604     HRESULT onhelp([in] VARIANT v);
9605
9606     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
9607     HRESULT onhelp([retval, out] VARIANT *p);
9608
9609     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
9610     HRESULT onerror([in] VARIANT v);
9611
9612     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
9613     HRESULT onerror([retval, out] VARIANT *p);
9614
9615     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
9616     HRESULT onresize([in] VARIANT v);
9617
9618     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
9619     HRESULT onresize([retval, out] VARIANT *p);
9620
9621     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
9622     HRESULT onscroll([in] VARIANT v);
9623
9624     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
9625     HRESULT onscroll([retval, out] VARIANT *p);
9626
9627     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
9628     HRESULT document([retval, out] IHTMLDocument2 **p);
9629
9630     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
9631     HRESULT event([retval, out] IHTMLEventObj **p);
9632
9633     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
9634     HRESULT _newEnum([retval, out] IUnknown **p);
9635
9636     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
9637     HRESULT showModalDialog(
9638         [in] BSTR dialog,
9639         [optional, in] VARIANT *varArgIn,
9640         [optional, in] VARIANT *varOptions,
9641         [retval, out] VARIANT *varArgOut);
9642
9643     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
9644     HRESULT showHelp(
9645         [in] BSTR helpURL,
9646         [optional, in] VARIANT helpArg,
9647         [defaultvalue(""), in] BSTR features);
9648
9649     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
9650     HRESULT screen([retval, out] IHTMLScreen **p);
9651
9652     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
9653     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
9654
9655     [id(DISPID_IHTMLWINDOW2_FOCUS)]
9656     HRESULT focus();
9657
9658     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
9659     HRESULT closed([retval, out] VARIANT_BOOL *p);
9660
9661     [id(DISPID_IHTMLWINDOW2_BLUR)]
9662     HRESULT blur();
9663
9664     [id(DISPID_IHTMLWINDOW2_SCROLL)]
9665     HRESULT scroll([in] LONG x, [in] LONG y);
9666
9667     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
9668     HRESULT clientInformation([retval, out] IOmNavigator **p);
9669
9670     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
9671     HRESULT setInterval([
9672         in] BSTR expression,
9673         [in] LONG msec,
9674         [optional, in] VARIANT *language,
9675         [retval, out] LONG *timerID);
9676
9677     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
9678     HRESULT clearInterval([in] LONG timerID);
9679
9680     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
9681     HRESULT offscreenBuffering([in] VARIANT v);
9682
9683     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
9684     HRESULT offscreenBuffering([retval, out] VARIANT *p);
9685
9686     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
9687     HRESULT execScript(
9688         [in] BSTR scode,
9689         [defaultvalue("JScript"), in] BSTR language,
9690         [retval, out] VARIANT *pvarRet);
9691
9692     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
9693     HRESULT toString([retval, out] BSTR *String);
9694
9695     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
9696     HRESULT scrollBy([in] LONG x, [in] LONG y);
9697
9698     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
9699     HRESULT scrollTo([in] LONG x, [in] LONG y);
9700
9701     [id(DISPID_IHTMLWINDOW2_MOVETO)]
9702     HRESULT moveTo([in] LONG x, [in] LONG y);
9703
9704     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
9705     HRESULT moveBy([in] LONG x, [in] LONG y);
9706
9707     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
9708     HRESULT resizeTo([in] LONG x, [in] LONG y);
9709
9710     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
9711     HRESULT resizeBy([in] LONG x, [in] LONG y);
9712
9713     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
9714     HRESULT external([retval, out] IDispatch **p);
9715 }
9716
9717 /*****************************************************************************
9718  *    IHTMLWindow3 interface
9719  */
9720 [
9721     odl,
9722     oleautomation,
9723     dual,
9724     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
9725 ]
9726 interface IHTMLWindow3 : IDispatch
9727 {
9728     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
9729     HRESULT screenLeft([out, retval] LONG *p);
9730
9731     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
9732     HRESULT screenTop([out, retval] LONG *p);
9733
9734     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
9735     HRESULT attachEvent(
9736             [in] BSTR event,
9737             [in] IDispatch *pDisp,
9738             [out, retval] VARIANT_BOOL *pfResult);
9739
9740     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
9741     HRESULT detachEvent(
9742             [in] BSTR event,
9743             [in] IDispatch *pDisp);
9744
9745     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
9746     HRESULT setTimeout(
9747             [in] VARIANT *expression,
9748             [in] LONG msec,
9749             [in, optional] VARIANT *language,
9750             [out, retval] LONG *timerID);
9751
9752     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
9753     HRESULT setInterval(
9754             [in] VARIANT *expression,
9755             [in] LONG msec,
9756             [in, optional] VARIANT *language,
9757             [out, retval] LONG *timerID);
9758
9759     [id(DISPID_IHTMLWINDOW3_PRINT)]
9760     HRESULT print();
9761
9762     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
9763     HRESULT onbeforeprint([in] VARIANT v);
9764
9765     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
9766     HRESULT onbeforeprint([out, retval] VARIANT *p);
9767
9768     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
9769     HRESULT onafterprint([in] VARIANT v);
9770
9771     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
9772     HRESULT onafterprint([out, retval] VARIANT *p);
9773
9774     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
9775     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
9776
9777     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
9778     HRESULT showModelessDialog(
9779             [in, defaultvalue("")] BSTR url,
9780             [in, optional] VARIANT *varArgIn,
9781             [in, optional] VARIANT *options,
9782             [out, retval] IHTMLWindow2 **pDialog);
9783 }
9784
9785 /*****************************************************************************
9786  *    IHTMLWindow4 interface
9787  */
9788 [
9789     odl,
9790     oleautomation,
9791     dual,
9792     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
9793 ]
9794 interface IHTMLWindow4 : IDispatch
9795 {
9796     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
9797     HRESULT createPopup([optional, in] VARIANT* varArgIn,
9798                         [retval, out] IDispatch** ppPopup);
9799
9800     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
9801     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
9802 };
9803
9804 /*****************************************************************************
9805  *    IHTMLWindow5 interface
9806  */
9807 [
9808     odl,
9809     oleautomation,
9810     dual,
9811     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
9812 ]
9813 interface IHTMLWindow5 : IDispatch
9814 {
9815     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
9816     HRESULT XMLHttpRequest([in] VARIANT v);
9817
9818     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
9819     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
9820 };
9821
9822 /*****************************************************************************
9823  *    DispHTMLWindow2 dispinterface
9824  */
9825 [
9826     hidden,
9827     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
9828 ]
9829 dispinterface DispHTMLWindow2
9830 {
9831 properties:
9832 methods:
9833     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
9834     VARIANT item([in] VARIANT *pvarIndex);
9835
9836     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
9837     LONG length();
9838
9839     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
9840     IHTMLFramesCollection2 *frames();
9841
9842     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
9843     void defaultStatus(BSTR v);
9844
9845     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
9846     BSTR defaultStatus();
9847
9848     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
9849     void status(BSTR v);
9850
9851     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
9852     BSTR status();
9853
9854     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
9855     void clearTimeout([in] LONG timerID);
9856
9857     [id(DISPID_IHTMLWINDOW2_ALERT)]
9858     void alert([in, defaultvalue("")] BSTR message);
9859
9860     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
9861     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
9862
9863     [id(DISPID_IHTMLWINDOW2_PROMPT)]
9864     VARIANT prompt(
9865             [in, defaultvalue("")] BSTR message,
9866             [in, defaultvalue("undefined")] BSTR defstr);
9867
9868     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
9869     IHTMLImageElementFactory *Image();
9870
9871     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
9872     IHTMLLocation *location();
9873
9874     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
9875     IOmHistory *history();
9876
9877     [id(DISPID_IHTMLWINDOW2_CLOSE)]
9878     void close();
9879
9880     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
9881     void opener(VARIANT v);
9882
9883     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
9884     VARIANT opener();
9885
9886     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
9887     IOmNavigator *navigator();
9888
9889     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
9890     void name(BSTR v);
9891
9892     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
9893     BSTR name();
9894
9895     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
9896     IHTMLWindow2 *parent();
9897
9898     [id(DISPID_IHTMLWINDOW2_OPEN)]
9899     IHTMLWindow2 *open(
9900             [in, defaultvalue("")] BSTR url,
9901             [in, defaultvalue("")] BSTR name,
9902             [in, defaultvalue("")] BSTR features,
9903             [in, defaultvalue(0)]  VARIANT_BOOL replace);
9904
9905     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
9906     IHTMLWindow2 *self();
9907
9908     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
9909     IHTMLWindow2 *top();
9910
9911     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
9912     IHTMLWindow2 *window();
9913
9914     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
9915     void navigate([in] BSTR url);
9916
9917     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
9918     void onfocus(VARIANT v);
9919
9920     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
9921     VARIANT onfocus();
9922
9923     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
9924     void onblur(VARIANT v);
9925
9926     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
9927     VARIANT onblur();
9928
9929     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
9930     VARIANT onload();
9931
9932     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
9933     void onbeforeunload(VARIANT v);
9934
9935     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
9936     VARIANT onbeforeunload();
9937
9938     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
9939     void onunload(VARIANT v);
9940
9941     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
9942     VARIANT onunload();
9943
9944     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
9945     void onhelp(VARIANT v);
9946
9947     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
9948     VARIANT onhelp();
9949
9950     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
9951     void onerror(VARIANT v);
9952
9953     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
9954     VARIANT onerror();
9955
9956     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
9957     void onresize(VARIANT v);
9958
9959     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
9960     VARIANT onresize();
9961
9962     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
9963     void onscroll(VARIANT v);
9964
9965     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
9966     VARIANT onscroll();
9967
9968     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
9969     IHTMLDocument2 *document();
9970
9971     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
9972     IHTMLEventObj *event();
9973
9974     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
9975     IUnknown *_newEnum();
9976
9977     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
9978     VARIANT showModalDialog(
9979             [in] BSTR dialog,
9980             [in, optional] VARIANT *varArgIn,
9981             [in, optional] VARIANT *varOptions);
9982
9983     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
9984     void showHelp(
9985             [in] BSTR helpURL,
9986             [in, optional] VARIANT helpArg,
9987             [in, defaultvalue("")] BSTR features);
9988
9989     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
9990     IHTMLScreen *screen();
9991
9992     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
9993     IHTMLOptionElementFactory *Option();
9994
9995     [id(DISPID_IHTMLWINDOW2_FOCUS)]
9996     void focus();
9997
9998     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
9999     VARIANT_BOOL closed();
10000
10001     [id(DISPID_IHTMLWINDOW2_BLUR)]
10002     void blur();
10003
10004     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10005     void scroll([in] LONG x, [in] LONG y);
10006
10007     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10008     IOmNavigator *clientInformation();
10009
10010     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10011     void clearInterval([in] LONG timerID);
10012
10013     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10014     void offscreenBuffering(VARIANT v);
10015
10016     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10017     VARIANT offscreenBuffering();
10018
10019     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10020     VARIANT execScript(
10021             [in] BSTR _code,
10022             [in, defaultvalue("JScript")] BSTR language);
10023
10024     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10025     BSTR toString();
10026
10027     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10028     void scrollBy([in] LONG x, [in] LONG y);
10029
10030     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10031     void scrollTo([in] LONG x, [in] LONG y);
10032
10033     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10034     void moveTo([in] LONG x, [in] LONG y);
10035
10036     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10037     void moveBy([in] LONG x, [in] LONG y);
10038
10039     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10040     void resizeTo([in] LONG x, [in] LONG y);
10041
10042     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10043     void resizeBy([in] LONG x, [in] LONG y);
10044
10045     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10046     IDispatch *external();
10047
10048     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10049     LONG screenLeft();
10050
10051     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10052     LONG screenTop();
10053
10054     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10055     VARIANT_BOOL attachEvent(
10056              [in] BSTR event,
10057              [in] IDispatch *pDisp);
10058
10059     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10060     void detachEvent(
10061             [in] BSTR event,
10062             [in] IDispatch *pDisp);
10063
10064     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10065     LONG setTimeout(
10066             [in] VARIANT *expression,
10067             [in] LONG msec,
10068             [in, optional] VARIANT *language);
10069
10070     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10071     LONG setInterval(
10072             [in] VARIANT *expression,
10073             [in] LONG msec,
10074             [in, optional] VARIANT *language);
10075
10076     [id(DISPID_IHTMLWINDOW3_PRINT)]
10077     void print();
10078
10079     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10080     void onbeforeprint(VARIANT v);
10081
10082     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10083     VARIANT onbeforeprint();
10084
10085     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10086     void onafterprint(VARIANT v);
10087
10088     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10089     VARIANT onafterprint();
10090
10091     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10092     IHTMLDataTransfer *clipboardData();
10093
10094     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10095     IHTMLWindow2 *showModelessDialog(
10096             [in, defaultvalue("")] BSTR url,
10097             [in, optional] VARIANT *varArgIn,
10098             [in, optional] VARIANT *options);
10099
10100     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10101     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
10102
10103     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10104     IHTMLFrameBase *frameElement();
10105 }
10106
10107 /*****************************************************************************
10108  *    DispHTMLWindowProxy dispinterface
10109  */
10110 [
10111     hidden,
10112     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
10113 ]
10114 dispinterface DispHTMLWindowProxy
10115 {
10116 properties:
10117 methods:
10118     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10119     VARIANT item([in] VARIANT* pvarIndex);
10120
10121     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10122     LONG length();
10123
10124     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10125     IHTMLFramesCollection2* frames();
10126
10127     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10128     void defaultStatus(BSTR v);
10129
10130     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10131     BSTR defaultStatus();
10132
10133     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10134     void status(BSTR v);
10135
10136     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10137     BSTR status();
10138
10139     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10140     void clearTimeout([in] LONG timerID);
10141
10142     [id(DISPID_IHTMLWINDOW2_ALERT)]
10143     void alert([defaultvalue(""), in] BSTR message);
10144
10145     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10146     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
10147
10148     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10149     VARIANT prompt([defaultvalue(""), in] BSTR message,
10150                    [defaultvalue("undefined"), in] BSTR defstr);
10151
10152     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10153     IHTMLImageElementFactory* Image();
10154
10155     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10156     IHTMLLocation* location();
10157
10158     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10159     IOmHistory* history();
10160
10161     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10162     void close();
10163
10164     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10165     void opener(VARIANT v);
10166
10167     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10168     VARIANT opener();
10169
10170     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10171     IOmNavigator* navigator();
10172
10173     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10174     void name(BSTR v);
10175
10176     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10177     BSTR name();
10178
10179     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10180     IHTMLWindow2* parent();
10181
10182     [id(DISPID_IHTMLWINDOW2_OPEN)]
10183     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
10184                        [defaultvalue(""), in] BSTR name,
10185                        [defaultvalue(""), in] BSTR features,
10186                        [defaultvalue(0), in] VARIANT_BOOL replace);
10187
10188     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10189     IHTMLWindow2* self();
10190
10191     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10192     IHTMLWindow2* top();
10193
10194     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10195     IHTMLWindow2* window();
10196
10197     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10198     void navigate([in] BSTR url);
10199
10200     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10201     void onfocus(VARIANT v);
10202
10203     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10204     VARIANT onfocus();
10205
10206     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10207     void onblur(VARIANT v);
10208
10209     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10210     VARIANT onblur();
10211
10212     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
10213     void onload(VARIANT v);
10214
10215     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
10216     VARIANT onload();
10217
10218     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10219     void onbeforeunload(VARIANT v);
10220
10221     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10222     VARIANT onbeforeunload();
10223
10224     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10225     void onunload(VARIANT v);
10226
10227     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10228     VARIANT onunload();
10229
10230     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10231     void onhelp(VARIANT v);
10232
10233     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10234     VARIANT onhelp();
10235
10236     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10237     void onerror(VARIANT v);
10238
10239     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10240     VARIANT onerror();
10241
10242     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10243     void onresize(VARIANT v);
10244
10245     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10246     VARIANT onresize();
10247
10248     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10249     void onscroll(VARIANT v);
10250
10251     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10252     VARIANT onscroll();
10253
10254     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
10255     IHTMLDocument2* document();
10256
10257     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10258     IHTMLEventObj* event();
10259
10260     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
10261     IUnknown* _newEnum();
10262
10263     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10264     VARIANT showModalDialog([in] BSTR dialog,
10265                             [optional, in] VARIANT* varArgIn,
10266                             [optional, in] VARIANT* varOptions);
10267
10268     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10269     void showHelp([in] BSTR helpURL,
10270                   [optional, in] VARIANT helpArg,
10271                   [defaultvalue(""), in] BSTR features);
10272
10273     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10274     IHTMLScreen* screen();
10275
10276     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10277     IHTMLOptionElementFactory* Option();
10278
10279     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10280     void focus();
10281
10282     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10283     VARIANT_BOOL closed();
10284
10285     [id(DISPID_IHTMLWINDOW2_BLUR)]
10286     void blur();
10287
10288     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10289     void scroll([in] LONG x,
10290                 [in] LONG y);
10291
10292     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10293     IOmNavigator* clientInformation();
10294
10295     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10296     void clearInterval([in] LONG timerID);
10297
10298     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10299     void offscreenBuffering(VARIANT v);
10300
10301     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10302     VARIANT offscreenBuffering();
10303
10304     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10305     VARIANT execScript([in] BSTR code,
10306                        [defaultvalue("JScript"), in] BSTR language);
10307
10308     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10309     BSTR toString();
10310
10311     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10312     void scrollBy([in] LONG x,
10313                   [in] LONG y);
10314
10315     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10316     void scrollTo([in] LONG x,
10317                   [in] LONG y);
10318
10319     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10320     void moveTo([in] LONG x,
10321                 [in] LONG y);
10322
10323     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10324     void moveBy([in] LONG x,
10325                 [in] LONG y);
10326
10327     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10328     void resizeTo([in] LONG x,
10329                   [in] LONG y);
10330
10331     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10332     void resizeBy([in] LONG x,
10333                   [in] LONG y);
10334
10335     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10336     IDispatch* external();
10337
10338     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10339     LONG screenLeft();
10340
10341     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10342     LONG screenTop();
10343
10344     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10345     VARIANT_BOOL attachEvent([in] BSTR event,
10346                              [in] IDispatch* pDisp);
10347
10348     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10349     void detachEvent([in] BSTR event,
10350                      [in] IDispatch* pDisp);
10351
10352     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10353     LONG setTimeout([in] VARIANT* expression,
10354                     [in] LONG msec,
10355                     [optional, in] VARIANT* language);
10356
10357     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10358     LONG setInterval([in] VARIANT* expression,
10359                      [in] LONG msec,
10360                      [optional, in] VARIANT* language);
10361
10362     [id(DISPID_IHTMLWINDOW3_PRINT)]
10363     void print();
10364
10365     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10366     void onbeforeprint(VARIANT v);
10367
10368     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10369     VARIANT onbeforeprint();
10370
10371     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10372     void onafterprint(VARIANT v);
10373
10374     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10375     VARIANT onafterprint();
10376
10377     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10378     IHTMLDataTransfer* clipboardData();
10379
10380     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10381     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
10382                                      [optional, in] VARIANT* varArgIn,
10383                                      [optional, in] VARIANT* options);
10384
10385     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10386     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
10387
10388     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10389     IHTMLFrameBase* frameElement();
10390
10391     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10392     void XMLHttpRequest(VARIANT v);
10393
10394     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10395     VARIANT XMLHttpRequest();
10396 };
10397
10398 /*****************************************************************************
10399  *    HTMLWindowEvents interface
10400  */
10401 [
10402     hidden,
10403     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
10404 ]
10405 dispinterface HTMLWindowEvents
10406 {
10407 properties:
10408 methods:
10409     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
10410     void onload();
10411
10412     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
10413     void onunload();
10414
10415     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
10416     VARIANT_BOOL onhelp();
10417
10418     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
10419     void onfocus();
10420
10421     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
10422     void onblur();
10423
10424     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
10425     void onerror([in] BSTR description,
10426                  [in] BSTR url,
10427                  [in] LONG line);
10428
10429     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
10430     void onresize();
10431
10432     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
10433     void onscroll();
10434
10435     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
10436     void onbeforeunload();
10437
10438     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
10439     void onbeforeprint();
10440
10441     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
10442     void onafterprint();
10443 };
10444
10445 /*****************************************************************************
10446  *    HTMLWindowEvents2 interface
10447  */
10448 [
10449     hidden,
10450     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
10451 ]
10452 dispinterface HTMLWindowEvents2
10453 {
10454 properties:
10455 methods:
10456     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
10457     void onload([in] IHTMLEventObj* pEvtObj);
10458
10459     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
10460     void onunload([in] IHTMLEventObj* pEvtObj);
10461
10462     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
10463     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
10464
10465     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
10466     void onfocus([in] IHTMLEventObj* pEvtObj);
10467
10468     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
10469     void onblur([in] IHTMLEventObj* pEvtObj);
10470
10471     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
10472     void onerror([in] BSTR description,
10473                  [in] BSTR url,
10474                  [in] LONG line);
10475
10476     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
10477     void onresize([in] IHTMLEventObj* pEvtObj);
10478
10479     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
10480     void onscroll([in] IHTMLEventObj* pEvtObj);
10481
10482     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
10483     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
10484
10485     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
10486     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
10487
10488     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
10489     void onafterprint([in] IHTMLEventObj* pEvtObj);
10490 };
10491
10492 /*****************************************************************************
10493  *    HTMLWindowProxy class
10494  */
10495 [
10496     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
10497 ]
10498 coclass HTMLWindowProxy
10499 {
10500     [default]           dispinterface DispHTMLWindowProxy;
10501     [source, default]   dispinterface HTMLWindowEvents;
10502     [source]            dispinterface HTMLWindowEvents2;
10503                         interface IHTMLWindow2;
10504                         interface IHTMLWindow3;
10505                         interface IHTMLWindow4;
10506                         interface IHTMLWindow5;
10507 };
10508
10509 /*****************************************************************************
10510  *    HTMLDocumentEvents2 interface
10511  */
10512 [
10513     hidden,
10514     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
10515 ]
10516 dispinterface HTMLDocumentEvents2
10517 {
10518     properties:
10519     methods:
10520     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
10521     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
10522
10523     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
10524     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
10525
10526     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
10527     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
10528
10529     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
10530     void onkeydown([in] IHTMLEventObj *pEvtObj);
10531
10532     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
10533     void onkeyup([in] IHTMLEventObj *pEvtObj);
10534
10535     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
10536     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
10537
10538     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
10539     void onmousedown([in] IHTMLEventObj *pEvtObj);
10540
10541     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
10542     void onmousemove([in] IHTMLEventObj *pEvtObj);
10543
10544     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
10545     void onmouseup([in] IHTMLEventObj *pEvtObj);
10546
10547     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
10548     void onmouseout([in] IHTMLEventObj *pEvtObj);
10549
10550     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
10551     void onmouseover([in] IHTMLEventObj *pEvtObj);
10552
10553     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
10554     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
10555
10556     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
10557     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
10558
10559     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
10560     void onafterupdate([in] IHTMLEventObj *pEvtObj);
10561
10562     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
10563     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
10564
10565     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
10566     void onrowenter([in] IHTMLEventObj *pEvtObj);
10567
10568     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
10569     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
10570
10571     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
10572     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
10573
10574     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
10575     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
10576
10577     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
10578     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
10579
10580     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
10581     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
10582
10583     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
10584     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
10585
10586     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
10587     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
10588
10589     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
10590     void oncellchange([in] IHTMLEventObj *pEvtObj);
10591
10592     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
10593     void onpropertychange([in] IHTMLEventObj *pEvtObj);
10594
10595     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
10596     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
10597
10598     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
10599     void ondataavailable([in] IHTMLEventObj *pEvtObj);
10600
10601     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
10602     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
10603
10604     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
10605     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
10606
10607     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
10608     void onselectionchange([in] IHTMLEventObj *pEvtObj);
10609
10610     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
10611     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
10612
10613     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
10614     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
10615
10616     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
10617     void onfocusin([in] IHTMLEventObj *pEvtObj);
10618
10619     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
10620     void onfocusout([in] IHTMLEventObj *pEvtObj);
10621
10622     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
10623     void onactivate([in] IHTMLEventObj *pEvtObj);
10624
10625     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
10626     void ondeactivate([in] IHTMLEventObj *pEvtObj);
10627
10628     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
10629     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
10630
10631     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
10632     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
10633 }
10634
10635 /*****************************************************************************
10636  *    HTMLDocumentEvents interface
10637  */
10638 [
10639     hidden,
10640     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
10641 ]
10642 dispinterface HTMLDocumentEvents
10643 {
10644     properties:
10645     methods:
10646     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
10647     VARIANT_BOOL onhelp();
10648
10649     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
10650     VARIANT_BOOL onclick();
10651
10652     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
10653     VARIANT_BOOL ondblclick();
10654
10655     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
10656     void onkeydown();
10657
10658     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
10659     void onkeyup();
10660
10661     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
10662     VARIANT_BOOL onkeypress();
10663
10664     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
10665     void onmousedown();
10666
10667     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
10668     void onmousemove();
10669
10670     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
10671     void onmouseup();
10672
10673     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
10674     void onmouseout();
10675
10676     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
10677     void onmouseover();
10678
10679     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
10680     void onreadystatechange();
10681
10682     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
10683     VARIANT_BOOL onbeforeupdate();
10684
10685     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
10686     void onafterupdate();
10687
10688     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
10689     VARIANT_BOOL onrowexit();
10690
10691     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
10692     void onrowenter();
10693
10694     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
10695     VARIANT_BOOL ondragstart();
10696
10697     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
10698     VARIANT_BOOL onselectstart();
10699
10700     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
10701     VARIANT_BOOL onerrorupdate();
10702
10703     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
10704     VARIANT_BOOL oncontextmenu();
10705
10706     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
10707     VARIANT_BOOL onstop();
10708
10709     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
10710     void onrowsdelete();
10711
10712     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
10713     void onrowsinserted();
10714
10715     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
10716     void oncellchange();
10717
10718     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
10719     void onpropertychange();
10720
10721     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
10722     void ondatasetchanged();
10723
10724     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
10725     void ondataavailable();
10726
10727     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
10728     void ondatasetcomplete();
10729
10730     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
10731     void onbeforeeditfocus();
10732
10733     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
10734     void onselectionchange();
10735
10736     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
10737     VARIANT_BOOL oncontrolselect();
10738
10739     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
10740     VARIANT_BOOL onmousewheel();
10741
10742     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
10743     void onfocusin();
10744
10745     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
10746     void onfocusout();
10747
10748     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
10749     void onactivate();
10750
10751     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
10752     void ondeactivate();
10753
10754     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
10755     VARIANT_BOOL onbeforeactivate();
10756
10757     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
10758     VARIANT_BOOL onbeforedeactivate();
10759 }
10760
10761 /*****************************************************************************
10762  *    HTMLTextContainerEvents interface
10763  */
10764 [
10765     hidden,
10766     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
10767 ]
10768 dispinterface HTMLTextContainerEvents
10769 {
10770 properties:
10771
10772 methods:
10773     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
10774     VARIANT_BOOL onhelp();
10775
10776     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
10777     VARIANT_BOOL onclick();
10778
10779     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
10780     VARIANT_BOOL ondblclick();
10781
10782     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
10783     VARIANT_BOOL onkeypress();
10784
10785     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
10786     void onkeydown();
10787
10788     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
10789     void onkeyup();
10790
10791     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
10792     void onmouseout();
10793
10794     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
10795     void onmouseover();
10796
10797     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
10798     void onmousemove();
10799
10800     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
10801     void onmousedown();
10802
10803     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
10804     void onmouseup();
10805
10806     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
10807     VARIANT_BOOL onselectstart();
10808
10809     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
10810     void onfilterchange();
10811
10812     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
10813     VARIANT_BOOL ondragstart();
10814
10815     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
10816     VARIANT_BOOL onbeforeupdate();
10817
10818     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
10819     void onafterupdate();
10820
10821     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
10822     VARIANT_BOOL onerrorupdate();
10823
10824     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
10825     VARIANT_BOOL onrowexit();
10826
10827     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
10828     void onrowenter();
10829
10830     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
10831     void ondatasetchanged();
10832
10833     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
10834     void ondataavailable();
10835
10836     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
10837     void ondatasetcomplete();
10838
10839     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
10840     void onlosecapture();
10841
10842     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
10843     void onpropertychange();
10844
10845     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
10846     void onscroll();
10847
10848     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
10849     void onfocus();
10850
10851     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
10852     void onblur();
10853
10854     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
10855     void onresize();
10856
10857     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
10858     VARIANT_BOOL ondrag();
10859
10860     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
10861     void ondragend();
10862
10863     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
10864     VARIANT_BOOL ondragenter();
10865
10866     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
10867     VARIANT_BOOL ondragover();
10868
10869     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
10870     void ondragleave();
10871
10872     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
10873     VARIANT_BOOL ondrop();
10874
10875     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
10876     VARIANT_BOOL onbeforecut();
10877
10878     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
10879     VARIANT_BOOL oncut();
10880
10881     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
10882     VARIANT_BOOL onbeforecopy();
10883
10884     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
10885     VARIANT_BOOL oncopy();
10886
10887     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
10888     VARIANT_BOOL onbeforepaste();
10889
10890     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
10891     VARIANT_BOOL onpaste();
10892
10893     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
10894     VARIANT_BOOL oncontextmenu();
10895
10896     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
10897     void onrowsdelete();
10898
10899     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
10900     void onrowsinserted();
10901
10902     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
10903     void oncellchange();
10904
10905     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
10906     void onreadystatechange();
10907
10908     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
10909     void onbeforeeditfocus();
10910
10911     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
10912     void onlayoutcomplete();
10913
10914     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
10915     void onpage();
10916
10917     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
10918     VARIANT_BOOL onbeforedeactivate();
10919
10920     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
10921     VARIANT_BOOL onbeforeactivate();
10922
10923     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
10924     void onmove();
10925
10926     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
10927     VARIANT_BOOL oncontrolselect();
10928
10929     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
10930     VARIANT_BOOL onmovestart();
10931
10932     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
10933     void onmoveend();
10934
10935     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
10936     VARIANT_BOOL onresizestart();
10937
10938     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
10939     void onresizeend();
10940
10941     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
10942     void onmouseenter();
10943
10944     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
10945     void onmouseleave();
10946
10947     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
10948     VARIANT_BOOL onmousewheel();
10949
10950     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
10951     void onactivate();
10952
10953     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
10954     void ondeactivate();
10955
10956     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
10957     void onfocusin();
10958
10959     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
10960     void onfocusout();
10961
10962     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
10963     void onchange();
10964
10965     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
10966     void onselect();
10967 };
10968
10969 /*****************************************************************************
10970  *    HTMLTextContainerEvents2 interface
10971  */
10972 [
10973     hidden,
10974     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
10975 ]
10976 dispinterface HTMLTextContainerEvents2
10977 {
10978 properties:
10979 methods:
10980     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
10981     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
10982
10983     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
10984     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
10985
10986     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
10987     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
10988
10989     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
10990     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
10991
10992     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
10993     void onkeydown([in] IHTMLEventObj* pEvtObj);
10994
10995     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
10996     void onkeyup([in] IHTMLEventObj* pEvtObj);
10997
10998     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
10999     void onmouseout([in] IHTMLEventObj* pEvtObj);
11000
11001     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
11002     void onmouseover([in] IHTMLEventObj* pEvtObj);
11003
11004     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
11005     void onmousemove([in] IHTMLEventObj* pEvtObj);
11006
11007     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
11008     void onmousedown([in] IHTMLEventObj* pEvtObj);
11009
11010     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
11011     void onmouseup([in] IHTMLEventObj* pEvtObj);
11012
11013     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
11014     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
11015
11016     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
11017     void onfilterchange([in] IHTMLEventObj* pEvtObj);
11018
11019     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
11020     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
11021
11022     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
11023     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
11024
11025     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
11026     void onafterupdate([in] IHTMLEventObj* pEvtObj);
11027
11028     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
11029     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
11030
11031     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
11032     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
11033
11034     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
11035     void onrowenter([in] IHTMLEventObj* pEvtObj);
11036
11037     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
11038     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
11039
11040     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
11041     void ondataavailable([in] IHTMLEventObj* pEvtObj);
11042
11043     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
11044     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
11045
11046     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
11047     void onlosecapture([in] IHTMLEventObj* pEvtObj);
11048
11049     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
11050     void onpropertychange([in] IHTMLEventObj* pEvtObj);
11051
11052     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
11053     void onscroll([in] IHTMLEventObj* pEvtObj);
11054
11055     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
11056     void onfocus([in] IHTMLEventObj* pEvtObj);
11057
11058     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
11059     void onblur([in] IHTMLEventObj* pEvtObj);
11060
11061     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
11062     void onresize([in] IHTMLEventObj* pEvtObj);
11063
11064     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
11065     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
11066
11067     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
11068     void ondragend([in] IHTMLEventObj* pEvtObj);
11069
11070     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
11071     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
11072
11073     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
11074     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
11075
11076     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
11077     void ondragleave([in] IHTMLEventObj* pEvtObj);
11078
11079     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
11080     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
11081
11082     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
11083     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
11084
11085     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
11086     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
11087
11088     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
11089     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
11090
11091     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
11092     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
11093
11094     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
11095     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
11096
11097     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
11098     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
11099
11100     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
11101     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
11102
11103     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
11104     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
11105
11106     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
11107     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
11108
11109     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
11110     void oncellchange([in] IHTMLEventObj* pEvtObj);
11111
11112     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
11113     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
11114
11115     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
11116     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
11117
11118     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
11119     void onpage([in] IHTMLEventObj* pEvtObj);
11120
11121     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
11122     void onmouseenter([in] IHTMLEventObj* pEvtObj);
11123
11124     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
11125     void onmouseleave([in] IHTMLEventObj* pEvtObj);
11126
11127     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
11128     void onactivate([in] IHTMLEventObj* pEvtObj);
11129
11130     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
11131     void ondeactivate([in] IHTMLEventObj* pEvtObj);
11132
11133     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
11134     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
11135
11136     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
11137     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
11138
11139     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
11140     void onfocusin([in] IHTMLEventObj* pEvtObj);
11141
11142     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
11143     void onfocusout([in] IHTMLEventObj* pEvtObj);
11144
11145     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
11146     void onmove([in] IHTMLEventObj* pEvtObj);
11147
11148     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
11149     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
11150
11151     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
11152     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
11153
11154     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
11155     void onmoveend([in] IHTMLEventObj* pEvtObj);
11156
11157     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
11158     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
11159
11160     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
11161     void onresizeend([in] IHTMLEventObj* pEvtObj);
11162
11163     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
11164     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
11165
11166     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
11167     void onchange([in] IHTMLEventObj* pEvtObj);
11168
11169     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
11170     void onselect([in] IHTMLEventObj* pEvtObj);
11171 };
11172
11173 /*****************************************************************************
11174  *    IHTMLDocument interface
11175  */
11176 [
11177     odl,
11178     oleautomation,
11179     dual,
11180     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
11181 ]
11182 interface IHTMLDocument : IDispatch
11183 {
11184     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
11185     HRESULT Script([retval, out] IDispatch **p);
11186 }
11187
11188 /*****************************************************************************
11189  *    IHTMLDocument2 interface
11190  */
11191 [
11192     odl,
11193     oleautomation,
11194     dual,
11195     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
11196 ]
11197 interface IHTMLDocument2 : IHTMLDocument
11198 {
11199     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
11200     HRESULT all([retval, out] IHTMLElementCollection **p);
11201
11202     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
11203     HRESULT body([retval, out] IHTMLElement **p);
11204
11205     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
11206     HRESULT activeElement([retval, out] IHTMLElement **p);
11207
11208     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
11209     HRESULT images([retval, out] IHTMLElementCollection **p);
11210
11211     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
11212     HRESULT applets([retval, out] IHTMLElementCollection **p);
11213
11214     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
11215     HRESULT links([retval, out] IHTMLElementCollection **p);
11216
11217     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
11218     HRESULT forms([retval, out] IHTMLElementCollection **p);
11219
11220     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
11221     HRESULT anchors([retval, out] IHTMLElementCollection **p);
11222
11223     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11224     HRESULT title([in] BSTR v);
11225
11226     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11227     HRESULT title([retval, out] BSTR *p);
11228
11229     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
11230     HRESULT scripts([retval, out] IHTMLElementCollection **p);
11231
11232     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
11233     HRESULT designMode([in] BSTR v);
11234
11235     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
11236     HRESULT designMode([retval, out] BSTR *p);
11237
11238     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
11239     HRESULT selection([retval, out] IHTMLSelectionObject **p);
11240
11241     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
11242      HRESULT readyState([retval, out] BSTR *p);
11243
11244     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
11245     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
11246
11247     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
11248     HRESULT embeds([retval, out] IHTMLElementCollection **p);
11249
11250     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
11251     HRESULT plugins([retval, out] IHTMLElementCollection **p);
11252
11253     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11254     HRESULT alinkColor([in] VARIANT v);
11255
11256     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11257     HRESULT alinkColor([retval, out] VARIANT *p);
11258
11259     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11260     HRESULT bgColor([in] VARIANT v);
11261
11262     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11263     HRESULT bgColor([retval, out] VARIANT *p);
11264
11265     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11266     HRESULT fgColor([in] VARIANT v);
11267
11268     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11269     HRESULT fgColor([retval, out] VARIANT *p);
11270
11271     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11272     HRESULT linkColor([in] VARIANT v);
11273
11274     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11275     HRESULT linkColor([retval, out] VARIANT *p);
11276
11277     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11278     HRESULT vlinkColor([in] VARIANT v);
11279
11280     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11281     HRESULT vlinkColor([retval, out] VARIANT *p);
11282
11283     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
11284     HRESULT referrer([retval, out] BSTR *p);
11285
11286     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
11287     HRESULT location([retval, out] IHTMLLocation **p);
11288
11289     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
11290     HRESULT lastModified([retval, out] BSTR *p);
11291
11292     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
11293     HRESULT URL([in] BSTR v);
11294
11295     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
11296     HRESULT URL([retval, out] BSTR *p);
11297
11298     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11299     HRESULT domain([in] BSTR v);
11300
11301     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11302     HRESULT domain([retval, out] BSTR *p);
11303
11304     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11305     HRESULT cookie([in] BSTR v);
11306
11307     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11308     HRESULT cookie([retval, out] BSTR *p);
11309
11310     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
11311     HRESULT expando([in] VARIANT_BOOL v);
11312
11313     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
11314     HRESULT expando([retval, out] VARIANT_BOOL *p);
11315
11316     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
11317      HRESULT charset([in] BSTR v);
11318
11319     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
11320     HRESULT charset([retval, out] BSTR *p);
11321
11322     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11323     HRESULT defaultCharset([in] BSTR v);
11324
11325     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11326     HRESULT defaultCharset([retval, out] BSTR *p);
11327
11328     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
11329     HRESULT mimeType([retval, out] BSTR *p);
11330
11331     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
11332     HRESULT fileSize([retval, out] BSTR *p);
11333
11334     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
11335     HRESULT fileCreatedDate([retval, out] BSTR *p);
11336
11337     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
11338     HRESULT fileModifiedDate([retval, out] BSTR *p);
11339
11340     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
11341     HRESULT fileUpdatedDate([retval, out] BSTR *p);
11342
11343     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
11344     HRESULT security([retval, out] BSTR *p);
11345
11346     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
11347     HRESULT protocol([retval, out] BSTR *p);
11348
11349     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
11350      HRESULT nameProp([retval, out] BSTR *p);
11351
11352     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
11353     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
11354
11355     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
11356     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
11357
11358     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
11359     HRESULT open(
11360         [defaultvalue("text/html"), in] BSTR url,
11361         [optional, in] VARIANT name,
11362         [optional, in] VARIANT features,
11363         [optional, in] VARIANT replace,
11364         [retval, out]  IDispatch **pomWindowResult);
11365
11366     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
11367     HRESULT close();
11368
11369     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
11370     HRESULT clear();
11371
11372     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
11373     HRESULT queryCommandSupported(
11374         [in] BSTR cmdID,
11375         [retval, out] VARIANT_BOOL *pfRet);
11376
11377     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
11378     HRESULT queryCommandEnabled(
11379         [in] BSTR cmdID,
11380         [retval, out] VARIANT_BOOL *pfRet);
11381
11382     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
11383     HRESULT queryCommandState(
11384         [in] BSTR cmdID,
11385         [retval, out] VARIANT_BOOL *pfRet);
11386
11387     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
11388     HRESULT queryCommandIndeterm(
11389         [in] BSTR cmdID,
11390         [retval, out] VARIANT_BOOL *pfRet);
11391
11392     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
11393     HRESULT queryCommandText(
11394         [in] BSTR cmdID,
11395         [retval, out] BSTR *pcmdText);
11396
11397     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
11398     HRESULT queryCommandValue(
11399         [in] BSTR cmdID,
11400         [retval, out] VARIANT *pcmdValue);
11401
11402     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
11403     HRESULT execCommand(
11404         [in] BSTR cmdID,
11405         [defaultvalue(0), in] VARIANT_BOOL showUI,
11406         [optional, in] VARIANT value,
11407         [retval, out] VARIANT_BOOL *pfRet);
11408
11409     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
11410     HRESULT execCommandShowHelp(
11411         [in] BSTR cmdID,
11412         [retval, out] VARIANT_BOOL *pfRet);
11413
11414     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
11415      HRESULT createElement(
11416         [in] BSTR eTag,
11417         [retval, out] IHTMLElement **newElem);
11418
11419     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
11420     HRESULT onhelp([in] VARIANT v);
11421
11422     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
11423     HRESULT onhelp([retval, out] VARIANT *p);
11424
11425     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
11426     HRESULT onclick([in] VARIANT v);
11427
11428     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
11429     HRESULT onclick([retval, out] VARIANT *p);
11430
11431     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
11432     HRESULT ondblclick([in] VARIANT v);
11433
11434     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
11435     HRESULT ondblclick([retval, out] VARIANT *p);
11436
11437     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
11438     HRESULT onkeyup([in] VARIANT v);
11439
11440     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
11441     HRESULT onkeyup([retval, out] VARIANT *p);
11442
11443     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
11444     HRESULT onkeydown([in] VARIANT v);
11445
11446     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
11447     HRESULT onkeydown([retval, out] VARIANT *p);
11448
11449     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
11450      HRESULT onkeypress([in] VARIANT v);
11451
11452     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
11453     HRESULT onkeypress([retval, out] VARIANT *p);
11454
11455     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
11456     HRESULT onmouseup([in] VARIANT v);
11457
11458     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
11459     HRESULT onmouseup([retval, out] VARIANT *p);
11460
11461     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
11462     HRESULT onmousedown([in] VARIANT v);
11463
11464     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
11465     HRESULT onmousedown([retval, out] VARIANT *p);
11466
11467     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
11468     HRESULT onmousemove([in] VARIANT v);
11469
11470     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
11471     HRESULT onmousemove([retval, out] VARIANT *p);
11472
11473     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
11474     HRESULT onmouseout([in] VARIANT v);
11475
11476     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
11477     HRESULT onmouseout([retval, out] VARIANT *p);
11478
11479     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
11480     HRESULT onmouseover([in] VARIANT v);
11481
11482     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
11483     HRESULT onmouseover([retval, out] VARIANT *p);
11484
11485     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
11486     HRESULT onreadystatechange([in] VARIANT v);
11487
11488     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
11489     HRESULT onreadystatechange([retval, out] VARIANT *p);
11490
11491     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
11492     HRESULT onafterupdate([in] VARIANT v);
11493
11494     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
11495     HRESULT onafterupdate([retval, out] VARIANT *p);
11496
11497     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
11498     HRESULT onrowexit([in] VARIANT v);
11499
11500     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
11501     HRESULT onrowexit([retval, out] VARIANT *p);
11502
11503     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
11504     HRESULT onrowenter([in] VARIANT v);
11505
11506     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
11507     HRESULT onrowenter([retval, out] VARIANT *p);
11508
11509     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
11510     HRESULT ondragstart([in] VARIANT v);
11511
11512     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
11513     HRESULT ondragstart([retval, out] VARIANT *p);
11514
11515     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
11516     HRESULT onselectstart([in] VARIANT v);
11517
11518     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
11519     HRESULT onselectstart([retval, out] VARIANT *p);
11520
11521     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
11522     HRESULT elementFromPoint(
11523         [in] LONG x,
11524         [in] LONG y,
11525         [retval, out] IHTMLElement **elementHit);
11526
11527     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
11528     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
11529
11530     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
11531     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
11532
11533     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
11534     HRESULT onbeforeupdate([in] VARIANT v);
11535
11536     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
11537     HRESULT onbeforeupdate([retval, out] VARIANT *p);
11538
11539     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
11540     HRESULT onerrorupdate([in] VARIANT v);
11541
11542     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
11543     HRESULT onerrorupdate([retval, out] VARIANT *p);
11544
11545     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
11546     HRESULT toString([retval, out] BSTR *String);
11547
11548     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
11549     HRESULT createStyleSheet(
11550         [defaultvalue(""), in] BSTR bstrHref,
11551         [defaultvalue(-1), in] LONG lIndex,
11552         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
11553 }
11554
11555 /*****************************************************************************
11556  *    IHTMLDocument3 interface
11557  */
11558 [
11559     odl,
11560     oleautomation,
11561     dual,
11562     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
11563 ]
11564 interface IHTMLDocument3 : IDispatch
11565 {
11566     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
11567     HRESULT releaseCapture();
11568
11569     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
11570     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
11571
11572     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
11573     HRESULT createTextNode(
11574         [in] BSTR text,
11575         [retval, out] IHTMLDOMNode **newTextNode);
11576
11577     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
11578     HRESULT documentElement([retval, out] IHTMLElement **p);
11579
11580     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
11581     HRESULT uniqueID([retval, out] BSTR *p);
11582
11583     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
11584     HRESULT attachEvent(
11585         [in] BSTR event,
11586         [in] IDispatch* pDisp,
11587         [retval, out] VARIANT_BOOL *pfResult);
11588
11589     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
11590     HRESULT detachEvent(
11591         [in] BSTR event,
11592         [in] IDispatch *pDisp);
11593
11594     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
11595     HRESULT onrowsdelete([in] VARIANT v);
11596
11597     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
11598     HRESULT onrowsdelete([retval, out] VARIANT *p);
11599
11600     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
11601     HRESULT onrowsinserted([in] VARIANT v);
11602
11603     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
11604     HRESULT onrowsinserted([retval, out] VARIANT *p);
11605
11606     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
11607     HRESULT oncellchange([in] VARIANT v);
11608
11609     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
11610     HRESULT oncellchange([retval, out] VARIANT *p);
11611
11612     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
11613     HRESULT ondatasetchanged([in] VARIANT v);
11614
11615     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
11616     HRESULT ondatasetchanged([retval, out] VARIANT *p);
11617
11618     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
11619     HRESULT ondataavailable([in] VARIANT v);
11620
11621     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
11622     HRESULT ondataavailable([retval, out] VARIANT * p);
11623
11624     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
11625     HRESULT ondatasetcomplete([in] VARIANT v);
11626
11627     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
11628     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
11629
11630     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
11631     HRESULT onpropertychange([in] VARIANT v);
11632
11633     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
11634     HRESULT onpropertychange([retval, out] VARIANT *p);
11635
11636     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
11637     HRESULT dir([in] BSTR v);
11638
11639     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
11640     HRESULT dir([retval, out] BSTR *p);
11641
11642     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
11643     HRESULT oncontextmenu([in] VARIANT v);
11644
11645     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
11646     HRESULT oncontextmenu([retval, out] VARIANT *p);
11647
11648     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
11649     HRESULT onstop([in] VARIANT v);
11650
11651     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
11652     HRESULT onstop([retval, out] VARIANT *p);
11653
11654     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
11655     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
11656
11657     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
11658     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
11659
11660     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
11661     HRESULT enableDownload([in] VARIANT_BOOL v);
11662
11663     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
11664     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
11665
11666     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
11667     HRESULT baseUrl([in] BSTR v);
11668
11669     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
11670     HRESULT baseUrl([retval, out] BSTR *p);
11671
11672     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
11673     HRESULT childNodes([retval, out] IDispatch **p);
11674
11675     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
11676     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
11677
11678     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
11679     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
11680
11681     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
11682     HRESULT onbeforeeditfocus([in] VARIANT v);
11683
11684     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
11685     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
11686
11687     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
11688     HRESULT getElementsByName(
11689         [in] BSTR v,
11690         [retval, out] IHTMLElementCollection **pelColl);
11691
11692     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
11693     HRESULT getElementById(
11694         [in] BSTR v,
11695         [retval, out] IHTMLElement **pel);
11696
11697     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
11698     HRESULT getElementsByTagName(
11699         [in] BSTR v,
11700         [retval, out] IHTMLElementCollection **pelColl);
11701 }
11702
11703 /*****************************************************************************
11704  *    IHTMLDocument4 interface
11705  */
11706 [
11707     odl,
11708     oleautomation,
11709     dual,
11710     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
11711 ]
11712 interface IHTMLDocument4 : IDispatch
11713 {
11714     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
11715     HRESULT focus();
11716
11717     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
11718     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
11719
11720     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
11721     HRESULT onselectionchange([in] VARIANT v);
11722
11723     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
11724     HRESULT onselectionchange([retval, out] VARIANT *p);
11725
11726     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
11727     HRESULT namespaces([retval, out] IDispatch **p);
11728
11729     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
11730     HRESULT createDocumentFromUrl(
11731         [in] BSTR bstrUrl,
11732         [in] BSTR bstrOptions,
11733         [retval, out] IHTMLDocument2 **newDoc);
11734
11735     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
11736     HRESULT media([in] BSTR v);
11737
11738     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
11739     HRESULT media([retval, out] BSTR *p);
11740
11741     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
11742     HRESULT createEventObject(
11743         [optional, in] VARIANT *pvarEventObject,
11744         [retval, out] IHTMLEventObj **ppEventObj);
11745
11746     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
11747     HRESULT fireEvent(
11748         [in] BSTR bstrEventName,
11749         [optional, in] VARIANT *pvarEventObject,
11750         [retval, out] VARIANT_BOOL *pfCancelled);
11751
11752     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
11753     HRESULT createRenderStyle(
11754         [in] BSTR v,
11755         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
11756
11757     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
11758     HRESULT oncontrolselect([in] VARIANT v);
11759
11760     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
11761     HRESULT oncontrolselect([retval, out] VARIANT *p);
11762
11763     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
11764     HRESULT URLUnencoded([retval, out] BSTR *p);
11765 }
11766
11767 /*****************************************************************************
11768  *    IHTMLDocument5 interface
11769  */
11770 [
11771     odl,
11772     oleautomation,
11773     dual,
11774     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
11775 ]
11776 interface IHTMLDocument5 : IDispatch
11777 {
11778     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
11779     HRESULT onmousewheel([in] VARIANT v);
11780
11781     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
11782     HRESULT onmousewheel([retval, out] VARIANT *p);
11783
11784     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
11785     HRESULT doctype([retval, out] IHTMLDOMNode **p);
11786
11787     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
11788     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
11789
11790     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
11791     HRESULT createAttribute(
11792         [in] BSTR bstrattrName,
11793         [retval, out] IHTMLDOMAttribute **ppattribute);
11794
11795     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
11796     HRESULT createComment(
11797         [in] BSTR bstrdata,
11798         [retval, out] IHTMLDOMNode **ppRetNode);
11799
11800     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
11801     HRESULT onfocusin([in] VARIANT v);
11802
11803     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
11804     HRESULT onfocusin([retval, out] VARIANT *p);
11805
11806     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
11807     HRESULT onfocusout([in] VARIANT v);
11808
11809     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
11810     HRESULT onfocusout([retval, out] VARIANT *p);
11811
11812     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
11813     HRESULT onactivate([in] VARIANT v);
11814
11815     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
11816     HRESULT onactivate([retval, out] VARIANT *p);
11817
11818     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
11819     HRESULT ondeactivate([in] VARIANT v);
11820
11821     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
11822     HRESULT ondeactivate([retval, out] VARIANT *p);
11823
11824     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
11825     HRESULT onbeforeactivate([in] VARIANT v);
11826
11827     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
11828     HRESULT onbeforeactivate([retval, out] VARIANT *p);
11829
11830     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
11831     HRESULT onbeforedeactivate([in] VARIANT v);
11832
11833     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
11834     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
11835
11836     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
11837     HRESULT compatMode([retval, out] BSTR *p);
11838 }
11839
11840 /*****************************************************************************
11841  *    DispHTMLDocument dispinterface
11842  */
11843 [
11844     hidden,
11845     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
11846 ]
11847 dispinterface DispHTMLDocument
11848 {
11849 properties:
11850 methods:
11851     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
11852     IDispatch *Script();
11853
11854     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
11855     IHTMLElementCollection *all();
11856
11857     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
11858     IHTMLElement *body();
11859
11860     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
11861     IHTMLElement *activeElement();
11862
11863     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
11864     IHTMLElementCollection *images();
11865
11866     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
11867     IHTMLElementCollection *applets();
11868
11869     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
11870     IHTMLElementCollection *links();
11871
11872     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
11873     IHTMLElementCollection *forms();
11874
11875     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
11876     IHTMLElementCollection *anchors();
11877
11878     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11879     void title(BSTR v);
11880
11881     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11882     BSTR title();
11883
11884     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
11885     IHTMLElementCollection *scripts();
11886
11887     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
11888     void designMode(BSTR v);
11889
11890     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
11891     BSTR designMode();
11892
11893     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
11894     IHTMLSelectionObject *selection();
11895
11896     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
11897     BSTR readyState();
11898
11899     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
11900     IHTMLFramesCollection2 *frames();
11901
11902     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
11903     IHTMLElementCollection *embeds();
11904
11905     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
11906     IHTMLElementCollection *plugins();
11907
11908     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11909     void alinkColor(VARIANT v);
11910
11911     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11912     VARIANT alinkColor();
11913
11914     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11915     void bgColor(VARIANT v);
11916
11917     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11918     VARIANT bgColor();
11919
11920     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11921     void fgColor(VARIANT v);
11922
11923     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11924     VARIANT fgColor();
11925
11926     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11927     void linkColor(VARIANT v);
11928
11929     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11930     VARIANT linkColor();
11931
11932     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11933     void vlinkColor(VARIANT v);
11934
11935     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11936     VARIANT vlinkColor();
11937
11938     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
11939     BSTR referrer();
11940
11941     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
11942     IHTMLLocation *location();
11943
11944     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
11945     BSTR lastModified();
11946
11947     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
11948     void URL(BSTR v);
11949
11950     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
11951     BSTR URL();
11952
11953     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11954     void domain(BSTR v);
11955
11956     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11957     BSTR domain();
11958
11959     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11960     void cookie(BSTR v);
11961
11962     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11963     BSTR cookie();
11964
11965     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
11966     void expando(VARIANT_BOOL v);
11967
11968     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
11969     VARIANT_BOOL expando();
11970
11971     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
11972     void charset(BSTR v);
11973
11974     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
11975     BSTR charset();
11976
11977     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11978     void defaultCharset(BSTR v);
11979
11980     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11981     BSTR defaultCharset();
11982
11983     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
11984     BSTR mimeType();
11985
11986     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
11987     BSTR fileSize();
11988
11989     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
11990     BSTR fileCreatedDate();
11991
11992     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
11993     BSTR fileModifiedDate();
11994
11995     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
11996     BSTR fileUpdatedDate();
11997
11998     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
11999     BSTR security();
12000
12001     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
12002     BSTR protocol();
12003
12004     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
12005     BSTR nameProp();
12006
12007     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
12008     void write([in] SAFEARRAY(VARIANT) psarray);
12009
12010     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
12011     void writeln([in] SAFEARRAY(VARIANT) psarray);
12012
12013     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
12014     IDispatch *open(
12015         [defaultvalue("text/html"), in] BSTR url,
12016         [optional, in] VARIANT name,
12017         [optional, in] VARIANT features,
12018         [optional, in] VARIANT replace);
12019
12020     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
12021     void close();
12022
12023     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
12024     void clear();
12025
12026     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
12027     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
12028
12029     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
12030     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
12031
12032     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
12033     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
12034
12035     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
12036     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
12037
12038     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
12039     BSTR queryCommandText([in] BSTR cmdID);
12040
12041     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
12042     VARIANT queryCommandValue([in] BSTR cmdID);
12043
12044     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
12045     VARIANT_BOOL execCommand(
12046         [in] BSTR cmdID,
12047         [defaultvalue(0), in] VARIANT_BOOL showUI,
12048         [optional, in] VARIANT value);
12049
12050     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12051     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
12052
12053     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12054     IHTMLElement *createElement([in] BSTR eTag);
12055
12056     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
12057     void onhelp(VARIANT v);
12058
12059     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
12060     VARIANT onhelp();
12061
12062     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
12063     void onclick(VARIANT v);
12064
12065     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
12066     VARIANT onclick();
12067
12068     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
12069     void ondblclick(VARIANT v);
12070
12071     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
12072     VARIANT ondblclick();
12073
12074     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
12075     void onkeyup(VARIANT v);
12076
12077     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
12078     VARIANT onkeyup();
12079
12080     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
12081     void onkeydown(VARIANT v);
12082
12083     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
12084     VARIANT onkeydown();
12085
12086     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
12087     void onkeypress(VARIANT v);
12088
12089     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
12090     VARIANT onkeypress();
12091
12092     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
12093     void onmouseup(VARIANT v);
12094
12095     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
12096     VARIANT onmouseup();
12097
12098     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12099     void onmousedown(VARIANT v);
12100
12101     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12102     VARIANT onmousedown();
12103
12104     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12105     void onmousemove(VARIANT v);
12106
12107     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12108     VARIANT onmousemove();
12109
12110     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12111     void onmouseout(VARIANT v);
12112
12113     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12114     VARIANT onmouseout();
12115
12116     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
12117     void onmouseover(VARIANT v);
12118
12119     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
12120     VARIANT onmouseover();
12121
12122     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12123     void onreadystatechange(VARIANT v);
12124
12125     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12126     VARIANT onreadystatechange();
12127
12128     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
12129     void onafterupdate(VARIANT v);
12130
12131     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
12132     VARIANT onafterupdate();
12133
12134     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
12135     void onrowexit(VARIANT v);
12136
12137     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
12138     VARIANT onrowexit();
12139
12140     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
12141     void onrowenter(VARIANT v);
12142
12143     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
12144     VARIANT onrowenter();
12145
12146     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
12147     void ondragstart(VARIANT v);
12148
12149     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
12150     VARIANT ondragstart();
12151
12152     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
12153     void onselectstart(VARIANT v);
12154
12155     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
12156     VARIANT onselectstart();
12157
12158     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12159     IHTMLElement *elementFromPoint(
12160         [in] LONG x,
12161         [in] LONG y);
12162
12163     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12164     IHTMLWindow2 *parentWindow();
12165
12166     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12167     IHTMLStyleSheetsCollection *styleSheets();
12168
12169     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
12170     void onbeforeupdate(VARIANT v);
12171
12172     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
12173     VARIANT onbeforeupdate();
12174
12175     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
12176     void onerrorupdate(VARIANT v);
12177
12178     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
12179     VARIANT onerrorupdate();
12180
12181     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12182     BSTR toString();
12183
12184     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12185     IHTMLStyleSheet *createStyleSheet(
12186         [defaultvalue(""), in] BSTR bstrHref,
12187         [defaultvalue(-1), in] LONG lIndex);
12188
12189     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12190     void releaseCapture();
12191
12192     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12193     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12194
12195     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12196     IHTMLDOMNode *createTextNode([in] BSTR text);
12197
12198     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12199     IHTMLElement *documentElement();
12200
12201     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12202     BSTR uniqueID();
12203
12204     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12205     VARIANT_BOOL attachEvent(
12206         [in] BSTR event,
12207         [in] IDispatch *pDisp);
12208
12209     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12210     void detachEvent(
12211         [in] BSTR event,
12212         [in] IDispatch *pDisp);
12213
12214     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12215     void onrowsdelete(VARIANT v);
12216
12217     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12218     VARIANT onrowsdelete();
12219
12220     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12221     void onrowsinserted(VARIANT v);
12222
12223     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12224     VARIANT onrowsinserted();
12225
12226     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12227     void oncellchange(VARIANT v);
12228
12229     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12230     VARIANT oncellchange();
12231
12232     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12233     void ondatasetchanged(VARIANT v);
12234
12235     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12236     VARIANT ondatasetchanged();
12237
12238     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12239     void ondataavailable(VARIANT v);
12240
12241     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12242     VARIANT ondataavailable();
12243
12244     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12245     void ondatasetcomplete(VARIANT v);
12246
12247     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12248     VARIANT ondatasetcomplete();
12249
12250     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12251     void onpropertychange(VARIANT v);
12252
12253     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12254     VARIANT onpropertychange();
12255
12256     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
12257     void dir(BSTR v);
12258
12259     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
12260     BSTR dir();
12261
12262     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12263     void oncontextmenu(VARIANT v);
12264
12265     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12266     VARIANT oncontextmenu();
12267
12268     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12269     void onstop(VARIANT v);
12270
12271     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12272     VARIANT onstop();
12273
12274     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
12275     IHTMLDocument2 *createDocumentFragment();
12276
12277     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
12278     IHTMLDocument2 *parentDocument();
12279
12280     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12281     void enableDownload(VARIANT_BOOL v);
12282
12283     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12284     VARIANT_BOOL enableDownload();
12285
12286     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12287     void baseUrl(BSTR v);
12288
12289     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12290     BSTR baseUrl();
12291
12292     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12293     void inheritStyleSheets(VARIANT_BOOL v);
12294
12295     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12296     VARIANT_BOOL inheritStyleSheets();
12297
12298     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12299     void onbeforeeditfocus(VARIANT v);
12300
12301     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12302     VARIANT onbeforeeditfocus();
12303
12304     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
12305     IHTMLElementCollection *getElementsByName([in] BSTR v);
12306
12307     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
12308     IHTMLElement *getElementById([in] BSTR v);
12309
12310     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
12311     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
12312
12313     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
12314     void focus();
12315
12316     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
12317     VARIANT_BOOL hasFocus();
12318
12319     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12320     void onselectionchange(VARIANT v);
12321
12322     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12323     VARIANT onselectionchange();
12324
12325     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
12326     IDispatch *namespaces();
12327
12328     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
12329     IHTMLDocument2 *createDocumentFromUrl(
12330         [in] BSTR bstrUrl,
12331         [in] BSTR bstrOptions);
12332
12333     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12334     void media(BSTR v);
12335
12336     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12337     BSTR media();
12338
12339     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
12340     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
12341
12342     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
12343     VARIANT_BOOL fireEvent(
12344         [in] BSTR bstrEventName,
12345         [optional, in] VARIANT *pvarEventObject);
12346
12347     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
12348     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
12349
12350     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12351     void oncontrolselect(VARIANT v);
12352
12353     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12354     VARIANT oncontrolselect();
12355
12356     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
12357     BSTR URLUnencoded();
12358
12359     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12360     void onmousewheel(VARIANT v);
12361
12362     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12363     VARIANT onmousewheel();
12364
12365     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
12366     IHTMLDOMNode *doctype();
12367
12368     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
12369     IHTMLDOMImplementation *implementation();
12370
12371     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
12372     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
12373
12374     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
12375     IHTMLDOMNode *createComment([in] BSTR bstrdata);
12376
12377     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12378     void onfocusin(VARIANT v);
12379
12380     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12381     VARIANT onfocusin();
12382
12383     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12384     void onfocusout(VARIANT v);
12385
12386     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12387     VARIANT onfocusout();
12388
12389     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12390     void onactivate(VARIANT v);
12391
12392     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12393     VARIANT onactivate();
12394
12395     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12396     void ondeactivate(VARIANT v);
12397
12398     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12399     VARIANT ondeactivate();
12400
12401     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12402     void onbeforeactivate(VARIANT v);
12403
12404     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12405     VARIANT onbeforeactivate();
12406
12407     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12408     void onbeforedeactivate(VARIANT v);
12409
12410     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12411     VARIANT onbeforedeactivate();
12412
12413     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
12414     BSTR compatMode();
12415
12416     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
12417     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
12418 }
12419
12420 /*****************************************************************************
12421  *    HTMLDocument coclass
12422  */
12423 [
12424     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
12425 ]
12426 coclass HTMLDocument
12427 {
12428     [default]         dispinterface DispHTMLDocument;
12429     [source, default] dispinterface HTMLDocumentEvents;
12430     [source]          dispinterface HTMLDocumentEvents2;
12431                       interface IHTMLDocument2;
12432                       interface IHTMLDocument3;
12433                       interface IHTMLDocument4;
12434                       interface IHTMLDocument5;
12435                       interface IHTMLDOMNode;
12436                       interface IHTMLDOMNode2;
12437 }
12438
12439 /*****************************************************************************
12440  *    IHTMLCommentElement interface
12441  */
12442 [
12443     odl,
12444     oleautomation,
12445     dual,
12446     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
12447 ]
12448 interface IHTMLCommentElement : IDispatch
12449 {
12450     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
12451     HRESULT text([in] BSTR v);
12452
12453     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
12454     HRESULT text([out, retval] BSTR *p);
12455
12456     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
12457     HRESULT atomic([in] LONG v);
12458
12459     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
12460     HRESULT atomic([out, retval] LONG *p);
12461 }
12462
12463 /*****************************************************************************
12464  *    IHTMLCommentElement2 interface
12465  */
12466 [
12467     odl,
12468     oleautomation,
12469     dual,
12470     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
12471 ]
12472 interface IHTMLCommentElement2 : IDispatch
12473 {
12474     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
12475     HRESULT data([in] BSTR v);
12476
12477     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
12478     HRESULT data([out, retval] BSTR *p);
12479
12480     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
12481     HRESULT length([out, retval] LONG *p);
12482
12483     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
12484     HRESULT substringData(
12485             [in] LONG offset,
12486             [in] LONG Count,
12487             [out, retval] BSTR *pbstrsubString);
12488
12489     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
12490     HRESULT appendData([in] BSTR bstrstring);
12491
12492     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
12493     HRESULT insertData(
12494             [in] LONG offset,
12495             [in] BSTR bstrstring);
12496
12497     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
12498     HRESULT deleteData(
12499             [in] LONG offset,
12500             [in] LONG Count);
12501
12502     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
12503     HRESULT replaceData(
12504             [in] LONG offset,
12505             [in] LONG Count,
12506             [in] BSTR bstrstring);
12507 }
12508
12509 /*****************************************************************************
12510  *    DispHTMLCommentElement dispinterface
12511  */
12512 [
12513     hidden,
12514     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
12515 ]
12516 dispinterface DispHTMLCommentElement
12517 {
12518 properties:
12519 methods:
12520     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;
12521     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;
12522     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;
12523     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
12524     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
12525     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
12526     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
12527
12528     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
12529     void text(BSTR v);
12530
12531     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
12532     BSTR text();
12533
12534     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
12535     void atomic(LONG v);
12536
12537     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
12538     LONG atomic();
12539
12540     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
12541     void data(BSTR v);
12542
12543     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
12544     BSTR data();
12545
12546     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
12547     LONG length();
12548
12549     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
12550     BSTR substringData(
12551             [in] LONG offset,
12552             [in] LONG Count);
12553
12554     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
12555     void appendData([in] BSTR bstrstring);
12556
12557     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
12558      void insertData(
12559             [in] LONG offset,
12560             [in] BSTR bstrstring);
12561
12562     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
12563     void deleteData(
12564             [in] LONG offset,
12565             [in] LONG Count);
12566
12567     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
12568     void replaceData(
12569             [in] LONG offset,
12570             [in] LONG Count,
12571             [in] BSTR bstrstring);
12572 }
12573
12574 [
12575     hidden,
12576     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
12577 ]
12578 dispinterface HTMLElementEvents2
12579 {
12580 properties:
12581 methods:
12582     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
12583     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
12584
12585     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
12586     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
12587
12588     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
12589     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
12590
12591     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
12592     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
12593
12594     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
12595     void onkeydown([in] IHTMLEventObj* pEvtObj);
12596
12597     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
12598     void onkeyup([in] IHTMLEventObj* pEvtObj);
12599
12600     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
12601     void onmouseout([in] IHTMLEventObj* pEvtObj);
12602
12603     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
12604     void onmouseover([in] IHTMLEventObj* pEvtObj);
12605
12606     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
12607     void onmousemove([in] IHTMLEventObj* pEvtObj);
12608
12609     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
12610     void onmousedown([in] IHTMLEventObj* pEvtObj);
12611
12612     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
12613     void onmouseup([in] IHTMLEventObj* pEvtObj);
12614
12615     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
12616     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
12617
12618     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
12619     void onfilterchange([in] IHTMLEventObj* pEvtObj);
12620
12621     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
12622     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
12623
12624     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
12625     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
12626
12627     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
12628     void onafterupdate([in] IHTMLEventObj* pEvtObj);
12629
12630     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
12631     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
12632
12633     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
12634     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
12635
12636     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
12637     void onrowenter([in] IHTMLEventObj* pEvtObj);
12638
12639     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
12640     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
12641
12642     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
12643     void ondataavailable([in] IHTMLEventObj* pEvtObj);
12644
12645     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
12646     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
12647
12648     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
12649     void onlosecapture([in] IHTMLEventObj* pEvtObj);
12650
12651     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
12652     void onpropertychange([in] IHTMLEventObj* pEvtObj);
12653
12654     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
12655     void onscroll([in] IHTMLEventObj* pEvtObj);
12656
12657     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
12658     void onfocus([in] IHTMLEventObj* pEvtObj);
12659
12660     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
12661     void onblur([in] IHTMLEventObj* pEvtObj);
12662
12663     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
12664     void onresize([in] IHTMLEventObj* pEvtObj);
12665
12666     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
12667     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
12668
12669     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
12670     void ondragend([in] IHTMLEventObj* pEvtObj);
12671
12672     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
12673     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
12674
12675     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
12676     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
12677
12678     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
12679     void ondragleave([in] IHTMLEventObj* pEvtObj);
12680
12681     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
12682     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
12683
12684     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
12685     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
12686
12687     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
12688     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
12689
12690     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
12691     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
12692
12693     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
12694     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
12695
12696     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
12697     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
12698
12699     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
12700     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
12701
12702     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
12703     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
12704
12705     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
12706     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
12707
12708     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
12709     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
12710
12711     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
12712     void oncellchange([in] IHTMLEventObj* pEvtObj);
12713
12714     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
12715     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
12716
12717     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
12718     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
12719
12720     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
12721     void onpage([in] IHTMLEventObj* pEvtObj);
12722
12723     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
12724     void onmouseenter([in] IHTMLEventObj* pEvtObj);
12725
12726     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
12727     void onmouseleave([in] IHTMLEventObj* pEvtObj);
12728
12729     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
12730     void onactivate([in] IHTMLEventObj* pEvtObj);
12731
12732     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
12733     void ondeactivate([in] IHTMLEventObj* pEvtObj);
12734
12735     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
12736     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
12737
12738     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
12739     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
12740
12741     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
12742     void onfocusin([in] IHTMLEventObj* pEvtObj);
12743
12744     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
12745     void onfocusout([in] IHTMLEventObj* pEvtObj);
12746
12747     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
12748     void onmove([in] IHTMLEventObj* pEvtObj);
12749
12750     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
12751     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
12752
12753     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
12754     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
12755
12756     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
12757     void onmoveend([in] IHTMLEventObj* pEvtObj);
12758
12759     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
12760     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
12761
12762     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
12763     void onresizeend([in] IHTMLEventObj* pEvtObj);
12764
12765     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
12766     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
12767 };
12768 [
12769     hidden,
12770     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
12771 ]
12772 dispinterface HTMLElementEvents
12773 {
12774 properties:
12775 methods:
12776     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
12777     VARIANT_BOOL onhelp();
12778
12779     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
12780     VARIANT_BOOL onclick();
12781
12782     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
12783     VARIANT_BOOL ondblclick();
12784
12785     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
12786     VARIANT_BOOL onkeypress();
12787
12788     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
12789     void onkeydown();
12790
12791     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
12792     void onkeyup();
12793
12794     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
12795     void onmouseout();
12796
12797     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
12798     void onmouseover();
12799
12800     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
12801     void onmousemove();
12802
12803     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
12804     void onmousedown();
12805
12806     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
12807     void onmouseup();
12808
12809     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
12810     VARIANT_BOOL onselectstart();
12811
12812     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
12813     void onfilterchange();
12814
12815     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
12816     VARIANT_BOOL ondragstart();
12817
12818     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
12819     VARIANT_BOOL onbeforeupdate();
12820
12821     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
12822     void onafterupdate();
12823
12824     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
12825     VARIANT_BOOL onerrorupdate();
12826
12827     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
12828     VARIANT_BOOL onrowexit();
12829
12830     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
12831     void onrowenter();
12832
12833     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
12834     void ondatasetchanged();
12835
12836     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
12837     void ondataavailable();
12838
12839     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
12840     void ondatasetcomplete();
12841
12842     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
12843     void onlosecapture();
12844
12845     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
12846     void onpropertychange();
12847
12848     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
12849     void onscroll();
12850
12851     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
12852     void onfocus();
12853
12854     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
12855     void onblur();
12856
12857     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
12858     void onresize();
12859
12860     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
12861     VARIANT_BOOL ondrag();
12862
12863     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
12864     void ondragend();
12865
12866     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
12867     VARIANT_BOOL ondragenter();
12868
12869     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
12870     VARIANT_BOOL ondragover();
12871
12872     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
12873     void ondragleave();
12874
12875     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
12876     VARIANT_BOOL ondrop();
12877
12878     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
12879     VARIANT_BOOL onbeforecut();
12880
12881     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
12882     VARIANT_BOOL oncut();
12883
12884     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
12885     VARIANT_BOOL onbeforecopy();
12886
12887     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
12888     VARIANT_BOOL oncopy();
12889
12890     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
12891     VARIANT_BOOL onbeforepaste();
12892
12893     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
12894     VARIANT_BOOL onpaste();
12895
12896     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
12897     VARIANT_BOOL oncontextmenu();
12898
12899     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
12900     void onrowsdelete();
12901
12902     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
12903     void onrowsinserted();
12904
12905     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
12906     void oncellchange();
12907
12908     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
12909     void onreadystatechange();
12910
12911     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
12912     void onbeforeeditfocus();
12913
12914     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
12915     void onlayoutcomplete();
12916
12917     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
12918     void onpage();
12919
12920     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
12921     VARIANT_BOOL onbeforedeactivate();
12922
12923     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
12924     VARIANT_BOOL onbeforeactivate();
12925
12926     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
12927     void onmove();
12928
12929     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
12930     VARIANT_BOOL oncontrolselect();
12931
12932     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
12933     VARIANT_BOOL onmovestart();
12934
12935     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
12936     void onmoveend();
12937
12938     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
12939     VARIANT_BOOL onresizestart();
12940
12941     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
12942     void onresizeend();
12943
12944     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
12945     void onmouseenter();
12946
12947     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
12948     void onmouseleave();
12949
12950     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
12951     VARIANT_BOOL onmousewheel();
12952
12953     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
12954     void onactivate();
12955
12956     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
12957     void ondeactivate();
12958
12959     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
12960     void onfocusin();
12961
12962     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
12963     void onfocusout();
12964
12965 };
12966
12967 [
12968     noncreatable,
12969     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
12970 ]
12971 coclass HTMLCommentElement
12972 {
12973     [default]           dispinterface DispHTMLCommentElement;
12974     [source, default]   dispinterface HTMLElementEvents;
12975     [source]            dispinterface HTMLElementEvents2;
12976                         interface IHTMLElement;
12977                         interface IHTMLElement2;
12978                         interface IHTMLElement3;
12979                         interface IHTMLElement4;
12980                         interface IHTMLUniqueName;
12981                         interface IHTMLDOMNode;
12982                         interface IHTMLDOMNode2;
12983                         interface IHTMLCommentElement;
12984                         interface IHTMLCommentElement2;
12985 }
12986
12987 /*****************************************************************************
12988  *    HTMLTableEvents dispinterface
12989  */
12990 [
12991     hidden,
12992     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
12993 ]
12994 dispinterface HTMLTableEvents
12995 {
12996 properties:
12997 methods:
12998     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
12999     VARIANT_BOOL onhelp();
13000
13001     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
13002     VARIANT_BOOL onclick();
13003
13004     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
13005     VARIANT_BOOL ondblclick();
13006
13007     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
13008     VARIANT_BOOL onkeypress();
13009
13010     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
13011     void onkeydown();
13012
13013     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
13014     void onkeyup();
13015
13016     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
13017     void onmouseout();
13018
13019     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
13020     void onmouseover();
13021
13022     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
13023     void onmousemove();
13024
13025     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
13026     void onmousedown();
13027
13028     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
13029     void onmouseup();
13030
13031     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
13032     VARIANT_BOOL onselectstart();
13033
13034     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
13035     void onfilterchange();
13036
13037     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
13038     VARIANT_BOOL ondragstart();
13039
13040     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
13041     VARIANT_BOOL onbeforeupdate();
13042
13043     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
13044     void onafterupdate();
13045
13046     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
13047     VARIANT_BOOL onerrorupdate();
13048
13049     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
13050     VARIANT_BOOL onrowexit();
13051
13052     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
13053     void onrowenter();
13054
13055     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
13056     void ondatasetchanged();
13057
13058     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
13059     void ondataavailable();
13060
13061     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
13062     void ondatasetcomplete();
13063
13064     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
13065     void onlosecapture();
13066
13067     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
13068     void onpropertychange();
13069
13070     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
13071     void onscroll();
13072
13073     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
13074     void onfocus();
13075
13076     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
13077     void onblur();
13078
13079     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
13080     void onresize();
13081
13082     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
13083     VARIANT_BOOL ondrag();
13084
13085     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
13086     void ondragend();
13087
13088     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
13089     VARIANT_BOOL ondragenter();
13090
13091     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
13092     VARIANT_BOOL ondragover();
13093
13094     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
13095     void ondragleave();
13096
13097     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
13098     VARIANT_BOOL ondrop();
13099
13100     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
13101     VARIANT_BOOL onbeforecut();
13102
13103     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
13104     VARIANT_BOOL oncut();
13105
13106     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
13107     VARIANT_BOOL onbeforecopy();
13108
13109     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
13110     VARIANT_BOOL oncopy();
13111
13112     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
13113     VARIANT_BOOL onbeforepaste();
13114
13115     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
13116     VARIANT_BOOL onpaste();
13117
13118     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
13119     VARIANT_BOOL oncontextmenu();
13120
13121     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
13122     void onrowsdelete();
13123
13124     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
13125     void onrowsinserted();
13126
13127     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
13128     void oncellchange();
13129
13130     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
13131     void onreadystatechange();
13132
13133     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
13134     void onbeforeeditfocus();
13135
13136     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
13137     void onlayoutcomplete();
13138
13139     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
13140     void onpage();
13141
13142     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
13143     VARIANT_BOOL onbeforedeactivate();
13144
13145     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
13146     VARIANT_BOOL onbeforeactivate();
13147
13148     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
13149     void onmove();
13150
13151     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
13152     VARIANT_BOOL oncontrolselect();
13153
13154     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
13155     VARIANT_BOOL onmovestart();
13156
13157     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
13158     void onmoveend();
13159
13160     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
13161     VARIANT_BOOL onresizestart();
13162
13163     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
13164     void onresizeend();
13165
13166     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
13167     void onmouseenter();
13168
13169     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
13170     void onmouseleave();
13171
13172     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
13173     VARIANT_BOOL onmousewheel();
13174
13175     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
13176     void onactivate();
13177
13178     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
13179     void ondeactivate();
13180
13181     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
13182     void onfocusin();
13183
13184     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
13185     void onfocusout();
13186 }
13187
13188 [
13189     hidden,
13190     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
13191 ]
13192 dispinterface HTMLTableEvents2
13193 {
13194 properties:
13195 methods:
13196     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
13197     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
13198
13199     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
13200     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
13201
13202     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
13203     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
13204
13205     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
13206     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
13207
13208     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
13209     void onkeydown([in] IHTMLEventObj* pEvtObj);
13210
13211     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
13212     void onkeyup([in] IHTMLEventObj* pEvtObj);
13213
13214     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
13215     void onmouseout([in] IHTMLEventObj* pEvtObj);
13216
13217     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
13218     void onmouseover([in] IHTMLEventObj* pEvtObj);
13219
13220     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
13221     void onmousemove([in] IHTMLEventObj* pEvtObj);
13222
13223     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
13224     void onmousedown([in] IHTMLEventObj* pEvtObj);
13225
13226     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
13227     void onmouseup([in] IHTMLEventObj* pEvtObj);
13228
13229     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
13230     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
13231
13232     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
13233     void onfilterchange([in] IHTMLEventObj* pEvtObj);
13234
13235     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
13236     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
13237
13238     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
13239     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
13240
13241     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
13242     void onafterupdate([in] IHTMLEventObj* pEvtObj);
13243
13244     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
13245     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
13246
13247     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
13248     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
13249
13250     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
13251     void onrowenter([in] IHTMLEventObj* pEvtObj);
13252
13253     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
13254     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
13255
13256     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
13257     void ondataavailable([in] IHTMLEventObj* pEvtObj);
13258
13259     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
13260     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
13261
13262     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
13263     void onlosecapture([in] IHTMLEventObj* pEvtObj);
13264
13265     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
13266     void onpropertychange([in] IHTMLEventObj* pEvtObj);
13267
13268     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
13269     void onscroll([in] IHTMLEventObj* pEvtObj);
13270
13271     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
13272     void onfocus([in] IHTMLEventObj* pEvtObj);
13273
13274     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
13275     void onblur([in] IHTMLEventObj* pEvtObj);
13276
13277     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
13278     void onresize([in] IHTMLEventObj* pEvtObj);
13279
13280     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
13281     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
13282
13283     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
13284     void ondragend([in] IHTMLEventObj* pEvtObj);
13285
13286     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
13287     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
13288
13289     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
13290     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
13291
13292     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
13293     void ondragleave([in] IHTMLEventObj* pEvtObj);
13294
13295     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
13296     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
13297
13298     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
13299     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
13300
13301     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
13302     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
13303
13304     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
13305     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
13306
13307     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
13308     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
13309
13310     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
13311     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
13312
13313     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
13314     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
13315
13316     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
13317     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
13318
13319     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
13320     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
13321
13322     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
13323     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
13324
13325     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
13326     void oncellchange([in] IHTMLEventObj* pEvtObj);
13327
13328     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
13329     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
13330
13331     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
13332     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
13333
13334     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
13335     void onpage([in] IHTMLEventObj* pEvtObj);
13336
13337     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
13338     void onmouseenter([in] IHTMLEventObj* pEvtObj);
13339
13340     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
13341     void onmouseleave([in] IHTMLEventObj* pEvtObj);
13342
13343     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
13344     void onactivate([in] IHTMLEventObj* pEvtObj);
13345
13346     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
13347     void ondeactivate([in] IHTMLEventObj* pEvtObj);
13348
13349     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
13350     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
13351
13352     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
13353     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
13354
13355     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
13356     void onfocusin([in] IHTMLEventObj* pEvtObj);
13357
13358     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
13359     void onfocusout([in] IHTMLEventObj* pEvtObj);
13360
13361     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
13362     void onmove([in] IHTMLEventObj* pEvtObj);
13363
13364     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
13365     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
13366
13367     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
13368     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
13369
13370     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
13371     void onmoveend([in] IHTMLEventObj* pEvtObj);
13372
13373     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
13374     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
13375
13376     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
13377     void onresizeend([in] IHTMLEventObj* pEvtObj);
13378
13379     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
13380     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
13381 };
13382
13383 /*****************************************************************************
13384  *    IHTMLTableCaption interface
13385  */
13386 [
13387     odl,
13388     oleautomation,
13389     dual,
13390     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
13391 ]
13392 interface IHTMLTableCaption : IDispatch
13393 {
13394     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
13395     HRESULT align([in] BSTR v);
13396
13397     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
13398     HRESULT align([retval, out] BSTR *p);
13399
13400     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
13401     HRESULT vAlign([in] BSTR v);
13402
13403     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
13404     HRESULT vAlign([retval, out] BSTR *p);
13405 }
13406
13407 interface IHTMLTableSection;
13408
13409 /*****************************************************************************
13410  *    IHTMLTable interface
13411  */
13412 [
13413     odl,
13414     oleautomation,
13415     dual,
13416     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
13417 ]
13418 interface IHTMLTable : IDispatch
13419 {
13420     [propput, id(DISPID_IHTMLTABLE_COLS)]
13421     HRESULT cols([in] LONG v);
13422
13423     [propget, id(DISPID_IHTMLTABLE_COLS)]
13424     HRESULT cols([retval, out] LONG *p);
13425
13426     [propput, id(DISPID_IHTMLTABLE_BORDER)]
13427     HRESULT border([in] VARIANT v);
13428
13429     [propget, id(DISPID_IHTMLTABLE_BORDER)]
13430     HRESULT border([retval, out] VARIANT *p);
13431
13432     [propput, id(DISPID_IHTMLTABLE_FRAME)]
13433     HRESULT frame([in] BSTR v);
13434
13435     [propget, id(DISPID_IHTMLTABLE_FRAME)]
13436     HRESULT frame([retval, out] BSTR *p);
13437
13438     [propput, id(DISPID_IHTMLTABLE_RULES)]
13439     HRESULT rules([in] BSTR v);
13440
13441     [propget, id(DISPID_IHTMLTABLE_RULES)]
13442     HRESULT rules([retval, out] BSTR *p);
13443
13444     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
13445     HRESULT cellSpacing([in] VARIANT v);
13446
13447     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
13448     HRESULT cellSpacing([retval, out] VARIANT *p);
13449
13450     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
13451     HRESULT cellPadding([in] VARIANT v);
13452
13453     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
13454     HRESULT cellPadding([retval, out] VARIANT *p);
13455
13456     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
13457     HRESULT background([in] BSTR v);
13458
13459     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
13460     HRESULT background([retval, out] BSTR *p);
13461
13462     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
13463     HRESULT bgColor([in] VARIANT v);
13464
13465     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
13466     HRESULT bgColor([retval, out] VARIANT *p);
13467
13468     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
13469     HRESULT borderColor([in] VARIANT v);
13470
13471     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
13472     HRESULT borderColor([retval, out] VARIANT *p);
13473
13474     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
13475     HRESULT borderColorLight([in] VARIANT v);
13476
13477     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
13478     HRESULT borderColorLight([retval, out] VARIANT *p);
13479
13480     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
13481     HRESULT borderColorDark([in] VARIANT v);
13482
13483     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
13484     HRESULT borderColorDark([retval, out] VARIANT *p);
13485
13486     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
13487     HRESULT align([in] BSTR v);
13488
13489     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
13490     HRESULT align([retval, out] BSTR * p);
13491
13492     [id(DISPID_IHTMLTABLE_REFRESH)]
13493     HRESULT refresh();
13494
13495     [propget, id(DISPID_IHTMLTABLE_ROWS)]
13496     HRESULT rows([retval, out] IHTMLElementCollection **p);
13497
13498     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
13499     HRESULT width([in] VARIANT v);
13500
13501     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
13502     HRESULT width([retval, out] VARIANT *p);
13503
13504     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
13505     HRESULT height([in] VARIANT v);
13506
13507     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
13508     HRESULT height([retval, out] VARIANT *p);
13509
13510     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
13511     HRESULT dataPageSize([in] LONG v);
13512
13513     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
13514     HRESULT dataPageSize([retval, out] LONG *p);
13515
13516     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
13517     HRESULT nextPage();
13518
13519     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
13520     HRESULT previousPage();
13521
13522     [propget, id(DISPID_IHTMLTABLE_THEAD)]
13523     HRESULT tHead([retval, out] IHTMLTableSection **p);
13524
13525     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
13526     HRESULT tFoot([retval, out] IHTMLTableSection **p);
13527
13528     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
13529     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
13530
13531     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
13532     HRESULT caption([retval, out] IHTMLTableCaption **p);
13533
13534     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
13535     HRESULT createTHead([retval, out] IDispatch **head);
13536
13537     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
13538     HRESULT deleteTHead();
13539
13540     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
13541     HRESULT createTFoot([retval, out] IDispatch **foot);
13542
13543     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
13544     HRESULT deleteTFoot();
13545
13546     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
13547     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
13548
13549     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
13550     HRESULT deleteCaption();
13551
13552     [id(DISPID_IHTMLTABLE_INSERTROW)]
13553     HRESULT insertRow(
13554             [defaultvalue(-1), in] LONG index,
13555             [retval, out] IDispatch **row);
13556
13557     [id(DISPID_IHTMLTABLE_DELETEROW)]
13558     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
13559
13560     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
13561     HRESULT readyState([retval, out] BSTR *p);
13562
13563     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
13564     HRESULT onreadystatechange([in] VARIANT v);
13565
13566     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
13567     HRESULT onreadystatechange([retval, out] VARIANT *p);
13568 }
13569
13570 [
13571     odl,
13572     oleautomation,
13573     dual,
13574     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
13575 ]
13576 interface IHTMLTable2 : IDispatch
13577 {
13578     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
13579     HRESULT firstPage();
13580
13581     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
13582     HRESULT lastPage();
13583
13584     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
13585     HRESULT cells([retval, out] IHTMLElementCollection* * p);
13586
13587     [id(DISPID_IHTMLTABLE2_MOVEROW)]
13588     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
13589         [defaultvalue(-1), in] LONG indexTo,
13590         [retval, out] IDispatch** row);
13591 };
13592
13593 [
13594     odl,
13595     oleautomation,
13596     dual,
13597     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
13598 ]
13599 interface IHTMLTable3 : IDispatch
13600 {
13601     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
13602     HRESULT summary([in] BSTR v);
13603
13604     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
13605     HRESULT summary([retval, out] BSTR * p);
13606 };
13607
13608 [
13609     noncreatable,
13610     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
13611 ]
13612 coclass HTMLTable
13613 {
13614     [default]           dispinterface DispHTMLTable;
13615     [source, default]   dispinterface HTMLTableEvents;
13616     [source]            dispinterface HTMLTableEvents2;
13617                         interface IHTMLElement;
13618                         interface IHTMLElement2;
13619                         interface IHTMLElement3;
13620                         interface IHTMLElement4;
13621                         interface IHTMLUniqueName;
13622                         interface IHTMLDOMNode;
13623                         interface IHTMLDOMNode2;
13624                         interface IHTMLDatabinding;
13625                         interface IHTMLControlElement;
13626                         interface IHTMLTable;
13627                         interface IHTMLTable2;
13628                         interface IHTMLTable3;
13629 };
13630
13631 [
13632     odl,
13633     oleautomation,
13634     dual,
13635     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
13636 ]
13637 interface IHTMLTableSection : IDispatch
13638 {
13639     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
13640     HRESULT align([in] BSTR v);
13641
13642     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
13643     HRESULT align([retval, out] BSTR *p);
13644
13645     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
13646     HRESULT vAlign([in] BSTR v);
13647
13648     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
13649     HRESULT vAlign([retval, out] BSTR *p);
13650
13651     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
13652     HRESULT bgColor([in] VARIANT v);
13653
13654     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
13655     HRESULT bgColor([retval, out] VARIANT *p);
13656
13657     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
13658     HRESULT rows([retval, out] IHTMLElementCollection **p);
13659
13660     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
13661     HRESULT insertRow(
13662             [defaultvalue(-1), in] LONG index,
13663             [retval, out] IDispatch **row);
13664
13665     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
13666     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
13667 }
13668
13669 /*****************************************************************************
13670  *    IHTMLTableRow interface
13671  */
13672 [
13673     odl,
13674     oleautomation,
13675     dual,
13676     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
13677 ]
13678 interface IHTMLTableRow : IDispatch
13679 {
13680     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
13681     HRESULT align([in] BSTR v);
13682
13683     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
13684     HRESULT align([out, retval] BSTR *p);
13685
13686     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
13687     HRESULT vAlign([in] BSTR v);
13688
13689     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
13690     HRESULT vAlign([out, retval] BSTR *p);
13691
13692     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
13693     HRESULT bgColor([in] VARIANT v);
13694
13695     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
13696     HRESULT bgColor([out, retval] VARIANT *p);
13697
13698     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
13699     HRESULT borderColor([in] VARIANT v);
13700
13701     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
13702     HRESULT borderColor([out, retval] VARIANT *p);
13703
13704     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
13705     HRESULT borderColorLight([in] VARIANT v);
13706
13707     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
13708     HRESULT borderColorLight([out, retval] VARIANT *p);
13709
13710     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
13711     HRESULT borderColorDark([in] VARIANT v);
13712
13713     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
13714     HRESULT borderColorDark([out, retval] VARIANT *p);
13715
13716     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
13717     HRESULT rowIndex([out, retval] LONG *p);
13718
13719     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
13720     HRESULT sectionRowIndex([out, retval] LONG *p);
13721
13722     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
13723     HRESULT cells([out, retval] IHTMLElementCollection **p);
13724
13725     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
13726     HRESULT insertCell(
13727             [in, defaultvalue(-1)] LONG index,
13728             [out, retval] IDispatch **row);
13729
13730     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
13731     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
13732 }
13733
13734 /*****************************************************************************
13735  *    DispHTMLTable interface
13736  */
13737 [
13738     hidden,
13739     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
13740 ]
13741 dispinterface DispHTMLTable
13742 {
13743 properties:
13744 methods:
13745     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;
13746     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;
13747     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;
13748     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
13749     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
13750     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
13751     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
13752
13753     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
13754     void dataFld(BSTR v);
13755
13756     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
13757     BSTR dataFld();
13758
13759     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
13760     void dataSrc(BSTR v);
13761
13762     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
13763     BSTR dataSrc();
13764
13765     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
13766     void dataFormatAs(BSTR v);
13767
13768     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
13769     BSTR dataFormatAs();
13770
13771     [propput, id(DISPID_IHTMLTABLE_COLS)]
13772     void cols(LONG v);
13773
13774     [propget, id(DISPID_IHTMLTABLE_COLS)]
13775     LONG cols();
13776
13777     [propput, id(DISPID_IHTMLTABLE_BORDER)]
13778     void border(VARIANT v);
13779
13780     [propget, id(DISPID_IHTMLTABLE_BORDER)]
13781     VARIANT border();
13782
13783     [propput, id(DISPID_IHTMLTABLE_FRAME)]
13784     void frame(BSTR v);
13785
13786     [propget, id(DISPID_IHTMLTABLE_FRAME)]
13787     BSTR frame();
13788
13789     [propput, id(DISPID_IHTMLTABLE_RULES)]
13790     void rules(BSTR v);
13791
13792     [propget, id(DISPID_IHTMLTABLE_RULES)]
13793     BSTR rules();
13794
13795     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
13796     void cellSpacing(VARIANT v);
13797
13798     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
13799     VARIANT cellSpacing();
13800
13801     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
13802     void cellPadding(VARIANT v);
13803
13804     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
13805     VARIANT cellPadding();
13806
13807     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
13808     void background(BSTR v);
13809
13810     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
13811     BSTR background();
13812
13813     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
13814     void bgColor(VARIANT v);
13815
13816     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
13817     VARIANT bgColor();
13818
13819     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
13820     void borderColor(VARIANT v);
13821
13822     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
13823     VARIANT borderColor();
13824
13825     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
13826     void borderColorLight(VARIANT v);
13827
13828     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
13829     VARIANT borderColorLight();
13830
13831     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
13832     void borderColorDark(VARIANT v);
13833
13834     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
13835     VARIANT borderColorDark();
13836
13837     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
13838     void align(BSTR v);
13839
13840     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
13841     BSTR align();
13842
13843     [id(DISPID_IHTMLTABLE_REFRESH)]
13844     void refresh();
13845
13846     [propget, id(DISPID_IHTMLTABLE_ROWS)]
13847     IHTMLElementCollection *rows();
13848
13849     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
13850     void width(VARIANT v);
13851
13852     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
13853     VARIANT width();
13854
13855     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
13856     void height(VARIANT v);
13857
13858     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
13859     VARIANT height();
13860
13861     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
13862     void dataPageSize(LONG v);
13863
13864     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
13865     LONG dataPageSize();
13866
13867     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
13868     void nextPage();
13869
13870     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
13871     void previousPage();
13872
13873     [propget, id(DISPID_IHTMLTABLE_THEAD)]
13874     IHTMLTableSection *tHead();
13875
13876     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
13877     IHTMLTableSection *tFoot();
13878
13879     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
13880     IHTMLElementCollection *tBodies();
13881
13882     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
13883     IHTMLTableCaption *caption();
13884
13885     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
13886     IDispatch *createTHead();
13887
13888     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
13889     void deleteTHead();
13890
13891     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
13892     IDispatch *createTFoot();
13893
13894     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
13895     void deleteTFoot();
13896
13897     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
13898     IHTMLTableCaption *createCaption();
13899
13900     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
13901     void deleteCaption();
13902
13903     [id(DISPID_IHTMLTABLE_INSERTROW)]
13904     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
13905
13906     [id(DISPID_IHTMLTABLE_DELETEROW)]
13907     void deleteRow([in, defaultvalue(-1)] LONG index);
13908
13909     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
13910     void firstPage();
13911
13912     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
13913     void lastPage();
13914
13915     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
13916     IHTMLElementCollection *cells();
13917
13918     [id(DISPID_IHTMLTABLE2_MOVEROW)]
13919     IDispatch *moveRow(
13920             [in, defaultvalue(-1)] LONG indexFrom,
13921             [in, defaultvalue(-1)] LONG indexTo);
13922
13923     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
13924     void summary(BSTR v);
13925
13926     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
13927     BSTR summary();
13928 }
13929
13930 /*****************************************************************************
13931  *    DispHTMLTableRow dispinterface
13932  */
13933 [
13934     hidden,
13935     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
13936 ]
13937 dispinterface DispHTMLTableRow
13938 {
13939 properties:
13940 methods:
13941     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;
13942     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;
13943     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;
13944     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
13945     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
13946     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
13947     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
13948
13949     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
13950     void align(BSTR v);
13951
13952     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
13953     BSTR align();
13954
13955     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
13956     void vAlign(BSTR v);
13957
13958     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
13959     BSTR vAlign();
13960
13961     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
13962     void bgColor(VARIANT v);
13963
13964     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
13965     VARIANT bgColor();
13966
13967     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
13968     void borderColor(VARIANT v);
13969
13970     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
13971     VARIANT borderColor();
13972
13973     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
13974     void borderColorLight(VARIANT v);
13975
13976     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
13977     VARIANT borderColorLight();
13978
13979     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
13980     void borderColorDark(VARIANT v);
13981
13982     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
13983     VARIANT borderColorDark();
13984
13985     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
13986     LONG rowIndex();
13987
13988     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
13989     LONG sectionRowIndex();
13990
13991     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
13992     IHTMLElementCollection *cells();
13993
13994     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
13995     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
13996
13997     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
13998     void deleteCell([in, defaultvalue(-1)] LONG index);
13999
14000     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
14001     void height(VARIANT v);
14002
14003     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
14004     VARIANT height();
14005
14006     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
14007     void ch(BSTR v);
14008
14009     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
14010     BSTR ch();
14011
14012     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
14013     void chOff(BSTR v);
14014
14015     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
14016     BSTR chOff();
14017 }
14018
14019 /*****************************************************************************
14020  *    IHTMLScriptElement interface
14021  */
14022 [
14023     odl,
14024     oleautomation,
14025     dual,
14026     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
14027 ]
14028 interface IHTMLScriptElement : IDispatch
14029 {
14030     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
14031     HRESULT src([in] BSTR v);
14032
14033     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
14034     HRESULT src([retval, out] BSTR *p);
14035
14036     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
14037     HRESULT htmlFor([in] BSTR v);
14038
14039     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
14040     HRESULT htmlFor([retval, out] BSTR *p);
14041
14042     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
14043     HRESULT event([in] BSTR v);
14044
14045     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
14046     HRESULT event([retval, out] BSTR *p);
14047
14048     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
14049     HRESULT text([in] BSTR v);
14050
14051     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
14052     HRESULT text([retval, out] BSTR *p);
14053
14054     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
14055     HRESULT defer([in] VARIANT_BOOL v);
14056
14057     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
14058     HRESULT defer([retval, out] VARIANT_BOOL *p);
14059
14060     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
14061     HRESULT readyState([retval, out] BSTR *p);
14062
14063     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
14064     HRESULT onerror([in] VARIANT v);
14065
14066     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
14067     HRESULT onerror([retval, out] VARIANT *p);
14068
14069     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
14070     HRESULT type([in] BSTR v);
14071
14072     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
14073     HRESULT type([retval, out] BSTR *p);
14074 }
14075
14076 /*****************************************************************************
14077  *    IHTMLScriptElement2 interface
14078  */
14079 [
14080     odl,
14081     oleautomation,
14082     dual,
14083     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
14084 ]
14085 interface IHTMLScriptElement2 : IDispatch
14086 {
14087     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
14088     HRESULT charset([in] BSTR v);
14089
14090     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
14091     HRESULT charset([retval, out] BSTR *p);
14092 }
14093
14094 /*****************************************************************************
14095  *    IHTMLFrameBase interface
14096  */
14097 [
14098     odl,
14099     oleautomation,
14100     dual,
14101     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
14102 ]
14103 interface IHTMLFrameBase : IDispatch
14104 {
14105     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
14106     HRESULT src([in] BSTR v);
14107
14108     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
14109     HRESULT src([out, retval] BSTR *p);
14110
14111     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
14112     HRESULT name([in] BSTR v);
14113
14114     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
14115     HRESULT name([out, retval] BSTR *p);
14116
14117     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
14118     HRESULT border([in] VARIANT v);
14119
14120     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
14121     HRESULT border([out, retval] VARIANT *p);
14122
14123     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
14124     HRESULT frameBorder([in] BSTR v);
14125
14126     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
14127     HRESULT frameBorder([out, retval] BSTR *p);
14128
14129     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
14130     HRESULT frameSpacing([in] VARIANT v);
14131
14132     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
14133     HRESULT frameSpacing([out, retval] VARIANT *p);
14134
14135     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14136     HRESULT marginWidth([in] VARIANT v);
14137
14138     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14139     HRESULT marginWidth([out, retval] VARIANT *p);
14140
14141     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14142     HRESULT marginHeight([in] VARIANT v);
14143
14144     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14145     HRESULT marginHeight([out, retval] VARIANT *p);
14146
14147     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14148     HRESULT noResize([in] VARIANT_BOOL v);
14149
14150     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14151     HRESULT noResize([out, retval] VARIANT_BOOL *p);
14152
14153     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14154     HRESULT scrolling([in] BSTR v);
14155
14156     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14157     HRESULT scrolling([out, retval] BSTR *p);
14158 }
14159
14160 /*****************************************************************************
14161  *    IHTMLFrameBase2 interface
14162  */
14163 [
14164     odl,
14165     oleautomation,
14166     dual,
14167     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
14168 ]
14169 interface IHTMLFrameBase2 : IDispatch
14170 {
14171     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
14172     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
14173
14174     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14175     HRESULT onload([in] VARIANT v);
14176
14177     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14178     HRESULT onload([retval, out] VARIANT *p);
14179
14180     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
14181     HRESULT onreadystatechange([in] VARIANT v);
14182
14183     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
14184     HRESULT onreadystatechange([retval, out] VARIANT *p);
14185
14186     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
14187     HRESULT readyState([retval, out] BSTR *p);
14188
14189     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14190     HRESULT allowTransparency([in] VARIANT_BOOL v);
14191
14192     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14193     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
14194 }
14195
14196 /*****************************************************************************
14197  *    DispHTMLIFrame dispinterface
14198  */
14199 [
14200     hidden,
14201     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
14202 ]
14203 dispinterface DispHTMLIFrame
14204 {
14205 properties:
14206 methods:
14207     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;
14208     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;
14209     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;
14210     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;
14211     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;
14212     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;
14213     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL;
14214
14215     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
14216     void dataFld(BSTR v);
14217
14218     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
14219     BSTR dataFld();
14220
14221     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
14222     void dataSrc(BSTR v);
14223
14224     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
14225     BSTR dataSrc();
14226
14227     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
14228     void dataFormatAs(BSTR v);
14229
14230     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
14231     BSTR dataFormatAs();
14232
14233     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
14234     void src(BSTR v);
14235
14236     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
14237     BSTR src();
14238
14239     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
14240     void name(BSTR v);
14241
14242     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
14243     BSTR name();
14244
14245     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
14246     void border(VARIANT v);
14247
14248     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
14249     VARIANT border();
14250
14251     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
14252     void frameBorder(BSTR v);
14253
14254     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
14255     BSTR frameBorder();
14256
14257     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
14258     void frameSpacing(VARIANT v);
14259
14260     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
14261     VARIANT frameSpacing();
14262
14263     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14264     void marginWidth(VARIANT v);
14265
14266     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14267     VARIANT marginWidth();
14268
14269     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14270     void marginHeight(VARIANT v);
14271
14272     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14273     VARIANT marginHeight();
14274
14275     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14276     void noResize(VARIANT_BOOL v);
14277
14278     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14279     VARIANT_BOOL noResize();
14280
14281     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14282     void scrolling(BSTR v);
14283
14284     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14285     BSTR scrolling();
14286
14287     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
14288     IHTMLWindow2 *contentWindow();
14289
14290     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14291     void onload(VARIANT v);
14292
14293     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14294     VARIANT onload();
14295
14296     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14297     void allowTransparency(VARIANT_BOOL v);
14298
14299     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14300     VARIANT_BOOL allowTransparency();
14301
14302     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
14303     void longDesc(BSTR v);
14304
14305     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
14306     BSTR longDesc();
14307
14308     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
14309     void vspace(LONG v);
14310
14311     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
14312     LONG vspace();
14313
14314     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
14315     void hspace(LONG v);
14316
14317     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
14318     LONG hspace();
14319
14320     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
14321     void align(BSTR v);
14322
14323     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
14324     BSTR align();
14325
14326     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
14327     void height(VARIANT v);
14328
14329     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
14330     VARIANT height();
14331
14332     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
14333     void width(VARIANT v);
14334
14335     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
14336     VARIANT width();
14337 }
14338
14339 /*****************************************************************************
14340  *    IMarkupContainer interface
14341  */
14342 [
14343     object,
14344     pointer_default(unique),
14345     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
14346 ]
14347 interface IMarkupContainer : IUnknown
14348 {
14349     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
14350 }
14351
14352 /*****************************************************************************
14353  *    IMarkupPointer interface
14354  */
14355 [
14356     object,
14357     pointer_default(unique),
14358     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
14359 ]
14360 interface IMarkupPointer : IUnknown
14361 {
14362     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
14363
14364     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
14365
14366     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
14367
14368     HRESULT Cling([out] BOOL *pfCling);
14369
14370     HRESULT SetCling([in] BOOL fCLing);
14371
14372     HRESULT UnPosition();
14373
14374     HRESULT IsPositioned([out] BOOL *pfPositioned);
14375
14376     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
14377
14378     HRESULT MoveAdjacentToElement(
14379         [in] IHTMLElement *pElement,
14380         [in] ELEMENT_ADJACENCY eAdj);
14381
14382     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
14383
14384     HRESULT MoveToContainer(
14385         [in] IMarkupContainer *pContainer,
14386         [in] BOOL fAtStart);
14387
14388     HRESULT Left(
14389         [in] BOOL fMove,
14390         [out] MARKUP_CONTEXT_TYPE *pContext,
14391         [out] IHTMLElement **ppElement,
14392         [in, out] LONG *pcch,
14393         [out, size_is(*pcch)] OLECHAR *pchText);
14394
14395     HRESULT Right(
14396         [in] BOOL fMove,
14397         [out] MARKUP_CONTEXT_TYPE *pContext,
14398         [out] IHTMLElement **ppElement,
14399         [in, out] LONG *pcch,
14400         [out, size_is(*pcch)] OLECHAR *pchText);
14401
14402     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
14403
14404     HRESULT IsLeftOf(
14405         [in] IMarkupPointer *pPointerThat,
14406         [out] BOOL *pfResult);
14407
14408     HRESULT IsLeftOfOrEqualTo(
14409         [in] IMarkupPointer *pPointerThat,
14410         [out] BOOL *pfResult);
14411
14412     HRESULT IsRightOf(
14413         [in] IMarkupPointer *pPointerThat,
14414         [out] BOOL *pfResult);
14415
14416     HRESULT IsRightOfOrEqualTo(
14417         [in] IMarkupPointer *pPointerThat,
14418         [out] BOOL *pfResult);
14419
14420     HRESULT IsEqualTo(
14421         [in] IMarkupPointer *pPointerThat,
14422         [out] BOOL *pfAreEqual);
14423
14424     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
14425
14426     HRESULT FindText(
14427         [in] OLECHAR *pchFindText,
14428         [in] DWORD dwFlags,
14429         [in] IMarkupPointer *pIEndMatch,
14430         [in] IMarkupPointer *pIEndSearch);
14431 }
14432
14433 /*****************************************************************************
14434  *    ISegment interface
14435  */
14436 [
14437     object,
14438     pointer_default(unique),
14439     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
14440 ]
14441 interface ISegment : IUnknown
14442 {
14443     HRESULT GetPointers(
14444         [in] IMarkupPointer *pIStart,
14445         [in] IMarkupPointer *pIEnd);
14446 }
14447
14448 /*****************************************************************************
14449  *    IElementSegment interface
14450  */
14451 [
14452     object,
14453     pointer_default(unique),
14454     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
14455 ]
14456 interface IElementSegment : ISegment
14457 {
14458     HRESULT GetElement([out] IHTMLElement **ppIElement);
14459
14460     HRESULT SetPrimary([in] BOOL fPrimary);
14461
14462     HRESULT IsPrimary([out] BOOL *pfPrimary);
14463 }
14464
14465 /*****************************************************************************
14466  *    ISelectionServicesListener interface
14467  */
14468 [
14469     object,
14470     pointer_default(unique),
14471     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
14472 ]
14473 interface ISelectionServicesListener : IUnknown
14474 {
14475     HRESULT BeginSelectionUndo();
14476
14477     HRESULT EndSelectionUndo();
14478
14479     HRESULT OnSelectedElementExit(
14480         [in] IMarkupPointer *pIElementStart,
14481         [in] IMarkupPointer *pIElementEnd,
14482         [in] IMarkupPointer *pIElementContentStart,
14483         [in] IMarkupPointer *pIElementContentEnd);
14484
14485     HRESULT OnChangeType(
14486         [in] SELECTION_TYPE eType,
14487         [in] ISelectionServicesListener *pIListener);
14488
14489     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
14490 }
14491
14492 /*****************************************************************************
14493  *    ISelectionServices interface
14494  */
14495 [
14496     object,
14497     pointer_default(unique),
14498     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
14499 ]
14500 interface ISelectionServices : IUnknown
14501 {
14502     HRESULT SetSelectionType(
14503         [in] SELECTION_TYPE eType,
14504         [in] ISelectionServicesListener *pIListener);
14505
14506     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
14507
14508     HRESULT AddSegment(
14509         [in] IMarkupPointer *pIStart,
14510         [in] IMarkupPointer *pIEnd,
14511         [out] ISegment **ppISegmentAdded);
14512
14513     HRESULT AddElementSegment(
14514         [in] IHTMLElement *pIElement,
14515         [out] IElementSegment **ppISegmentAdded);
14516
14517     HRESULT RemoveSegment([in] ISegment *pISegment);
14518
14519     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
14520 }
14521
14522 /*****************************************************************************
14523  *    IHTMLEditDesigner interface
14524  */
14525 [
14526     object,
14527     pointer_default(unique),
14528     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
14529 ]
14530 interface IHTMLEditDesigner : IUnknown
14531 {
14532     HRESULT PreHandleEvent(
14533         [in] DISPID inEvtDispId,
14534         [in] IHTMLEventObj *pIEventObj);
14535
14536     HRESULT PostHandleEvent(
14537         [in] DISPID inEvtDispId,
14538         [in] IHTMLEventObj *pIEventObj);
14539
14540     HRESULT TranslateAccelerator(
14541         [in] DISPID inEvtDispId,
14542         [in] IHTMLEventObj *pIEventObj);
14543
14544     HRESULT PostEditorEventNotify(
14545         [in] DISPID inEvtDispId,
14546         [in] IHTMLEventObj *pIEventObj);
14547 }
14548
14549 /*****************************************************************************
14550  *    IHTMLEditServices interface
14551  */
14552 [
14553     object,
14554     pointer_default(unique),
14555     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
14556 ]
14557 interface IHTMLEditServices : IUnknown
14558 {
14559     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
14560
14561     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
14562
14563     HRESULT GetSelectionServices(
14564         [in] IMarkupContainer *pIContainer,
14565         [out] ISelectionServices **ppSelSvc);
14566
14567     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
14568
14569     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
14570
14571     HRESULT SelectRange(
14572         [in] IMarkupPointer* pStart,
14573         [in] IMarkupPointer* pEnd,
14574         [in] SELECTION_TYPE eType);
14575 }
14576
14577 } /* library MSHTML */