mshtml.idl: Added more *XMLHttpRequest* declarations.
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004-2010 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 import "dispex.idl";
28
29 cpp_quote("#include <olectl.h>")
30
31 cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
32 cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
33 cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
34 cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
35 cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
36
37 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
38 cpp_quote("#undef FindText")
39 cpp_quote("#endif")
40
41 typedef enum {
42     POINTER_GRAVITY_Left,
43     POINTER_GRAVITY_Right,
44     POINTER_GRAVITY_Max = 2147483647
45 } POINTER_GRAVITY;
46
47 typedef enum {
48     CONTEXT_TYPE_None,
49     CONTEXT_TYPE_Text,
50     CONTEXT_TYPE_EnterScope,
51     CONTEXT_TYPE_ExitScope,
52     CONTEXT_TYPE_NoScope,
53     MARKUP_CONTEXT_TYPE_Max = 2147483647
54 } MARKUP_CONTEXT_TYPE;
55
56 typedef enum {
57     ELEM_ADJ_BeforeBegin,
58     ELEM_ADJ_AfterBegin,
59     ELEM_ADJ_BeforeEnd,
60     ELEM_ADJ_AfterEnd,
61     ELEMENT_ADJACENCY_Max = 2147483647
62 } ELEMENT_ADJACENCY;
63
64 typedef enum {
65     MOVEUNIT_PREVCHAR,
66     MOVEUNIT_NEXTCHAR,
67     MOVEUNIT_PREVCLUSTERBEG,
68     MOVEUNIT_NEXTCLUSTERBEG,
69     MOVEUNIT_PREVCLUSTEREND,
70     MOVEUNIT_NEXTCLUSTEREND,
71     MOVEUNIT_PREVWORDBEG,
72     MOVEUNIT_NEXTWORDBEG,
73     MOVEUNIT_PREVWORDEND,
74     MOVEUNIT_NEXTWORDEND,
75     MOVEUNIT_PREVPROOFWORD,
76     MOVEUNIT_NEXTPROOFWORD,
77     MOVEUNIT_NEXTURLBEG,
78     MOVEUNIT_PREVURLBEG,
79     MOVEUNIT_NEXTURLEND,
80     MOVEUNIT_PREVURLEND,
81     MOVEUNIT_PREVSENTENCE,
82     MOVEUNIT_NEXTSENTENCE,
83     MOVEUNIT_PREVBLOCK,
84     MOVEUNIT_NEXTBLOCK,
85     MOVEUNIT_ACTION_Max = 2147483647
86 } MOVEUNIT_ACTION;
87
88 typedef enum _SELECTION_TYPE {
89     SELECTION_TYPE_None,
90     SELECTION_TYPE_Caret,
91     SELECTION_TYPE_Text,
92     SELECTION_TYPE_Control,
93     SELECTION_TYPE_Max = 2147483647
94 } SELECTION_TYPE;
95
96 [
97     version(4.0),
98     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
99 ]
100 library MSHTML
101 {
102
103 importlib("stdole2.tlb");
104
105 [
106     odl,
107     oleautomation,
108     dual,
109     uuid(3051049b-98b5-11cf-bb82-00aa00bdce0b)
110 ]
111 interface IHTMLDOMConstructor : IDispatch
112 {
113     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
114     HRESULT constructor([retval, out] IDispatch* * p);
115
116     HRESULT LookupGetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
117
118     HRESULT LookupSetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
119
120     HRESULT DefineGetter([in] BSTR propname, [in] VARIANT* pdispHandler);
121
122     HRESULT DefineSetter([in] BSTR propname, [in] VARIANT* pdispHandler);
123 }
124
125 #define WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL                     \
126     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]       \
127     IDispatch *constructor()
128
129 interface IHTMLDocument2;
130 interface IHTMLElement2;
131 interface IHTMLStyleSheetsCollection;
132 interface IHTMLFrameBase;
133 interface IHTMLStorage;
134
135 /*****************************************************************************
136  *    IHTMLFiltersCollection interface
137  */
138 [
139     odl,
140     oleautomation,
141     dual,
142     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
143 ]
144 interface IHTMLFiltersCollection : IDispatch
145 {
146     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
147     HRESULT length([retval, out] LONG *p);
148
149     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
150     HRESULT _newEnum([retval, out] IUnknown **p);
151
152     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
153     HRESULT item(
154         [in] VARIANT *pvarIndex,
155         [retval, out] VARIANT *pvarResult);
156 }
157
158 /*****************************************************************************
159  *    IHTMLStyle interface
160  */
161 [
162     odl,
163     oleautomation,
164     dual,
165     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
166 ]
167 interface IHTMLStyle : IDispatch
168 {
169     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
170     HRESULT fontFamily([in] BSTR v);
171
172     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
173     HRESULT fontFamily([retval, out] BSTR *p);
174
175     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
176     HRESULT fontStyle([in] BSTR v);
177
178     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
179     HRESULT fontStyle([retval, out] BSTR *p);
180
181     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
182     HRESULT fontVariant([in] BSTR v);
183
184     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
185     HRESULT fontVariant([retval, out] BSTR *p);
186
187     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
188     HRESULT fontWeight([in] BSTR v);
189
190     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
191     HRESULT fontWeight([retval, out] BSTR *p);
192
193     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
194     HRESULT fontSize([in] VARIANT v);
195
196     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
197     HRESULT fontSize([retval, out] VARIANT *p);
198
199     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
200     HRESULT font([in] BSTR v);
201
202     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
203     HRESULT font([retval, out] BSTR *p);
204
205     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
206     HRESULT color([in] VARIANT v);
207
208     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
209     HRESULT color([retval, out] VARIANT *p);
210
211     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
212     HRESULT background([in] BSTR v);
213
214     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
215     HRESULT background([retval, out] BSTR *p);
216
217     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
218     HRESULT backgroundColor([in] VARIANT v);
219
220     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
221     HRESULT backgroundColor([retval, out] VARIANT *p);
222
223     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
224     HRESULT backgroundImage([in] BSTR v);
225
226     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
227     HRESULT backgroundImage([retval, out] BSTR *p);
228
229     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
230     HRESULT backgroundRepeat([in] BSTR v);
231
232     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
233     HRESULT backgroundRepeat([retval, out] BSTR *p);
234
235     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
236     HRESULT backgroundAttachment([in] BSTR v);
237
238     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
239     HRESULT backgroundAttachment([retval, out] BSTR *p);
240
241     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
242     HRESULT backgroundPosition([in] BSTR v);
243
244     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
245     HRESULT backgroundPosition([retval, out] BSTR *p);
246
247     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
248     HRESULT backgroundPositionX([in] VARIANT v);
249
250     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
251     HRESULT backgroundPositionX([retval, out] VARIANT *p);
252
253     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
254     HRESULT backgroundPositionY([in] VARIANT v);
255
256     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
257     HRESULT backgroundPositionY([retval, out] VARIANT *p);
258
259     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
260     HRESULT wordSpacing([in] VARIANT v);
261
262     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
263     HRESULT wordSpacing([retval, out] VARIANT *p);
264
265     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
266     HRESULT letterSpacing([in] VARIANT v);
267
268     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
269     HRESULT letterSpacing([retval, out] VARIANT *p);
270
271     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
272     HRESULT textDecoration([in] BSTR v);
273
274     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
275     HRESULT textDecoration([retval, out] BSTR *p);
276
277     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
278     HRESULT textDecorationNone([in] VARIANT_BOOL v);
279
280     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
281     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
282
283     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
284     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
285
286     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
287     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
288
289     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
290     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
291
292     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
293     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
294
295     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
296     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
297
298     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
299     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
300
301     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
302     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
303
304     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
305     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
306
307     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
308     HRESULT verticalAlign([in] VARIANT v);
309
310     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
311     HRESULT verticalAlign([retval, out] VARIANT *p);
312
313     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
314     HRESULT textTransform([in] BSTR v);
315
316     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
317     HRESULT textTransform([retval, out] BSTR *p);
318
319     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
320     HRESULT textAlign([in] BSTR v);
321
322     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
323     HRESULT textAlign([retval, out] BSTR *p);
324
325     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
326     HRESULT textIndent([in] VARIANT v);
327
328     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
329     HRESULT textIndent([retval, out] VARIANT *p);
330
331     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
332     HRESULT lineHeight([in] VARIANT v);
333
334     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
335     HRESULT lineHeight([retval, out] VARIANT *p);
336
337     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
338     HRESULT marginTop([in] VARIANT v);
339
340     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
341     HRESULT marginTop([retval, out] VARIANT *p);
342
343     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
344     HRESULT marginRight([in] VARIANT v);
345
346     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
347     HRESULT marginRight([retval, out] VARIANT *p);
348
349     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
350     HRESULT marginBottom([in] VARIANT v);
351
352     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
353     HRESULT marginBottom([retval, out] VARIANT *p);
354
355     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
356     HRESULT marginLeft([in] VARIANT v);
357
358     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
359     HRESULT marginLeft([retval, out] VARIANT *p);
360
361     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
362     HRESULT margin([in] BSTR v);
363
364     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
365     HRESULT margin([retval, out] BSTR *p);
366
367     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
368     HRESULT paddingTop([in] VARIANT v);
369
370     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
371     HRESULT paddingTop([retval, out] VARIANT *p);
372
373     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
374     HRESULT paddingRight([in] VARIANT v);
375
376     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
377     HRESULT paddingRight([retval, out] VARIANT *p);
378
379     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
380     HRESULT paddingBottom([in] VARIANT v);
381
382     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
383     HRESULT paddingBottom([retval, out] VARIANT *p);
384
385     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
386     HRESULT paddingLeft([in] VARIANT v);
387
388     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
389     HRESULT paddingLeft([retval, out] VARIANT *p);
390
391     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
392     HRESULT padding([in] BSTR v);
393
394     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
395     HRESULT padding([retval, out] BSTR *p);
396
397     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
398     HRESULT border([in] BSTR v);
399
400     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
401     HRESULT border([retval, out] BSTR *p);
402
403     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
404     HRESULT borderTop([in] BSTR v);
405
406     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
407     HRESULT borderTop([retval, out] BSTR *p);
408
409     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
410     HRESULT borderRight([in] BSTR v);
411
412     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
413     HRESULT borderRight([retval, out] BSTR *p);
414
415     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
416     HRESULT borderBottom([in] BSTR v);
417
418     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
419     HRESULT borderBottom([retval, out] BSTR *p);
420
421     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
422     HRESULT borderLeft([in] BSTR v);
423
424     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
425     HRESULT borderLeft([retval, out] BSTR *p);
426
427     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
428     HRESULT borderColor([in] BSTR v);
429
430     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
431     HRESULT borderColor([retval, out] BSTR *p);
432
433     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
434     HRESULT borderTopColor([in] VARIANT v);
435
436     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
437     HRESULT borderTopColor([retval, out] VARIANT *p);
438
439     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
440     HRESULT borderRightColor([in] VARIANT v);
441
442     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
443     HRESULT borderRightColor([retval, out] VARIANT *p);
444
445     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
446     HRESULT borderBottomColor([in] VARIANT v);
447
448     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
449     HRESULT borderBottomColor([retval, out] VARIANT *p);
450
451     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
452     HRESULT borderLeftColor([in] VARIANT v);
453
454     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
455     HRESULT borderLeftColor([retval, out] VARIANT *p);
456
457     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
458     HRESULT borderWidth([in] BSTR v);
459
460     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
461     HRESULT borderWidth([retval, out] BSTR *p);
462
463     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
464     HRESULT borderTopWidth([in] VARIANT v);
465
466     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
467     HRESULT borderTopWidth([retval, out] VARIANT *p);
468
469     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
470     HRESULT borderRightWidth([in] VARIANT v);
471
472     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
473     HRESULT borderRightWidth([retval, out] VARIANT *p);
474
475     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
476     HRESULT borderBottomWidth([in] VARIANT v);
477
478     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
479     HRESULT borderBottomWidth([retval, out] VARIANT *p);
480
481     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
482     HRESULT borderLeftWidth([in] VARIANT v);
483
484     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
485     HRESULT borderLeftWidth([retval, out] VARIANT *p);
486
487     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
488     HRESULT borderStyle([in] BSTR v);
489
490     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
491     HRESULT borderStyle([retval, out] BSTR *p);
492
493     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
494     HRESULT borderTopStyle([in] BSTR v);
495
496     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
497     HRESULT borderTopStyle([retval, out] BSTR *p);
498
499     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
500     HRESULT borderRightStyle([in] BSTR v);
501
502     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
503     HRESULT borderRightStyle([retval, out] BSTR *p);
504
505     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
506     HRESULT borderBottomStyle([in] BSTR v);
507
508     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
509     HRESULT borderBottomStyle([retval, out] BSTR *p);
510
511     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
512     HRESULT borderLeftStyle([in] BSTR v);
513
514     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
515     HRESULT borderLeftStyle([retval, out] BSTR *p);
516
517     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
518     HRESULT width([in] VARIANT v);
519
520     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
521     HRESULT width([retval, out] VARIANT *p);
522
523     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
524     HRESULT height([in] VARIANT v);
525
526     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
527     HRESULT height([retval, out] VARIANT *p);
528
529     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
530     HRESULT styleFloat([in] BSTR v);
531
532     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
533     HRESULT styleFloat([retval, out] BSTR *p);
534
535     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
536     HRESULT clear([in] BSTR v);
537
538     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
539     HRESULT clear([retval, out] BSTR *p);
540
541     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
542     HRESULT display([in] BSTR v);
543
544     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
545     HRESULT display([retval, out] BSTR *p);
546
547     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
548     HRESULT visibility([in] BSTR v);
549
550     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
551     HRESULT visibility([retval, out] BSTR *p);
552
553     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
554     HRESULT listStyleType([in] BSTR v);
555
556     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
557     HRESULT listStyleType([retval, out] BSTR *p);
558
559     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
560     HRESULT listStylePosition([in] BSTR v);
561
562     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
563     HRESULT listStylePosition([retval, out] BSTR *p);
564
565     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
566     HRESULT listStyleImage([in] BSTR v);
567
568     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
569     HRESULT listStyleImage([retval, out] BSTR *p);
570
571     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
572     HRESULT listStyle([in] BSTR v);
573
574     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
575     HRESULT listStyle([retval, out] BSTR *p);
576
577     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
578     HRESULT whiteSpace([in] BSTR v);
579
580     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
581     HRESULT whiteSpace([retval, out] BSTR *p);
582
583     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
584     HRESULT top([in] VARIANT v);
585
586     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
587     HRESULT top([retval, out] VARIANT *p);
588
589     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
590     HRESULT left([in] VARIANT v);
591
592     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
593     HRESULT left([retval, out] VARIANT *p);
594
595     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
596     HRESULT position([retval, out] BSTR *p);
597
598     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
599     HRESULT zIndex([in] VARIANT v);
600
601     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
602     HRESULT zIndex([retval, out] VARIANT *p);
603
604     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
605     HRESULT overflow([in] BSTR v);
606
607     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
608     HRESULT overflow([retval, out] BSTR *p);
609
610     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
611     HRESULT pageBreakBefore([in] BSTR v);
612
613     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
614     HRESULT pageBreakBefore([retval, out] BSTR *p);
615
616     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
617     HRESULT pageBreakAfter([in] BSTR v);
618
619     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
620     HRESULT pageBreakAfter([retval, out] BSTR *p);
621
622     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
623     HRESULT cssText([in] BSTR v);
624
625     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
626     HRESULT cssText([retval, out] BSTR *p);
627
628     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
629     HRESULT pixelTop([in] LONG v);
630
631     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
632     HRESULT pixelTop([retval, out] LONG *p);
633
634     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
635     HRESULT pixelLeft([in] LONG v);
636
637     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
638     HRESULT pixelLeft([retval, out] LONG *p);
639
640     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
641     HRESULT pixelWidth([in] LONG v);
642
643     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
644     HRESULT pixelWidth([retval, out] LONG *p);
645
646     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
647     HRESULT pixelHeight([in] LONG v);
648
649     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
650     HRESULT pixelHeight([retval, out] LONG *p);
651
652     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
653     HRESULT posTop([in] float v);
654
655     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
656     HRESULT posTop([retval, out] float *p);
657
658     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
659     HRESULT posLeft([in] float v);
660
661     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
662     HRESULT posLeft([retval, out] float *p);
663
664     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
665     HRESULT posWidth([in] float v);
666
667     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
668     HRESULT posWidth([retval, out] float *p);
669
670     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
671     HRESULT posHeight([in] float v);
672
673     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
674     HRESULT posHeight([retval, out] float *p);
675
676     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
677     HRESULT cursor([in] BSTR v);
678
679     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
680     HRESULT cursor([retval, out] BSTR *p);
681
682     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
683     HRESULT clip([in] BSTR v);
684
685     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
686     HRESULT clip([retval, out] BSTR *p);
687
688     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
689     HRESULT filter([in] BSTR v);
690
691     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
692     HRESULT filter([retval, out] BSTR *p);
693
694     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
695     HRESULT setAttribute(
696         [in] BSTR strAttributeName,
697         [in] VARIANT AttributeValue,
698         [defaultvalue(1), in] LONG lFlags);
699
700     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
701     HRESULT getAttribute(
702         [in] BSTR strAttributeName,
703         [defaultvalue(0), in] LONG lFlags,
704         [retval, out] VARIANT *AttributeValue);
705
706     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
707     HRESULT removeAttribute(
708         [in] BSTR strAttributeName,
709         [defaultvalue(1), in]
710         LONG lFlags,
711         [retval, out] VARIANT_BOOL *pfSuccess);
712
713     [id(DISPID_IHTMLSTYLE_TOSTRING)]
714     HRESULT toString([retval, out] BSTR *String);
715 }
716
717 /*****************************************************************************
718  *    IHTMLStyle2 interface
719  */
720 [
721     odl,
722     oleautomation,
723     dual,
724     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
725 ]
726 interface IHTMLStyle2 : IDispatch
727 {
728     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
729     HRESULT tableLayout([in] BSTR v);
730
731     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
732     HRESULT tableLayout([out, retval] BSTR *p);
733
734     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
735     HRESULT borderCollapse([in] BSTR v);
736
737     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
738     HRESULT borderCollapse([out, retval] BSTR *p);
739
740     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
741     HRESULT direction([in] BSTR v);
742
743     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
744     HRESULT direction([out, retval] BSTR *p);
745
746     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
747     HRESULT behavior([in] BSTR v);
748
749     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
750     HRESULT behavior([out, retval] BSTR *p);
751
752     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
753     HRESULT setExpression(
754             [in] BSTR propname,
755             [in] BSTR expression,
756             [in, defaultvalue("")] BSTR language);
757
758     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
759     HRESULT getExpression(
760             [in] BSTR propname,
761             [out, retval] VARIANT *expression);
762
763     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
764     HRESULT removeExpression(
765             [in] BSTR propname,
766             [out, retval] VARIANT_BOOL *pfSuccess);
767
768     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
769     HRESULT position([in] BSTR v);
770
771     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
772     HRESULT position([out, retval] BSTR *p);
773
774     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
775     HRESULT unicodeBidi([in] BSTR v);
776
777     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
778     HRESULT unicodeBidi([out, retval] BSTR *p);
779
780     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
781     HRESULT bottom([in] VARIANT v);
782
783     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
784     HRESULT bottom([out, retval] VARIANT *p);
785
786     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
787     HRESULT right([in] VARIANT v);
788
789     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
790     HRESULT right([out, retval] VARIANT *p);
791
792     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
793     HRESULT pixelBottom([in] LONG v);
794
795     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
796     HRESULT pixelBottom([out, retval] LONG *p);
797
798     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
799     HRESULT pixelRight([in] LONG v);
800
801     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
802     HRESULT pixelRight([out, retval] LONG *p);
803
804     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
805     HRESULT posBottom([in] float v);
806
807     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
808     HRESULT posBottom([out, retval] float *p);
809
810     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
811     HRESULT posRight([in] float v);
812
813     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
814     HRESULT posRight([out, retval] float *p);
815
816     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
817     HRESULT imeMode([in] BSTR v);
818
819     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
820     HRESULT imeMode([out, retval] BSTR *p);
821
822     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
823     HRESULT rubyAlign([in] BSTR v);
824
825     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
826     HRESULT rubyAlign([out, retval] BSTR *p);
827
828     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
829     HRESULT rubyPosition([in] BSTR v);
830
831     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
832     HRESULT rubyPosition([out, retval] BSTR *p);
833
834     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
835     HRESULT rubyOverhang([in] BSTR v);
836
837     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
838     HRESULT rubyOverhang([out, retval] BSTR *p);
839
840     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
841     HRESULT layoutGridChar([in] VARIANT v);
842
843     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
844     HRESULT layoutGridChar([out, retval] VARIANT *p);
845
846     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
847     HRESULT layoutGridLine([in] VARIANT v);
848
849     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
850     HRESULT layoutGridLine([out, retval] VARIANT *p);
851
852     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
853     HRESULT layoutGridMode([in] BSTR v);
854
855     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
856     HRESULT layoutGridMode([out, retval] BSTR *p);
857
858     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
859     HRESULT layoutGridType([in] BSTR v);
860
861     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
862     HRESULT layoutGridType([out, retval] BSTR *p);
863
864     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
865     HRESULT layoutGrid([in] BSTR v);
866
867     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
868     HRESULT layoutGrid([out, retval] BSTR *p);
869
870     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
871     HRESULT wordBreak([in] BSTR v);
872
873     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
874     HRESULT wordBreak([out, retval] BSTR *p);
875
876     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
877     HRESULT lineBreak([in] BSTR v);
878
879     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
880     HRESULT lineBreak([out, retval] BSTR *p);
881
882     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
883     HRESULT textJustify([in] BSTR v);
884
885     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
886     HRESULT textJustify([out, retval] BSTR *p);
887
888     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
889     HRESULT textJustifyTrim([in] BSTR v);
890
891     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
892     HRESULT textJustifyTrim([out, retval] BSTR *p);
893
894     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
895     HRESULT textKashida([in] VARIANT v);
896
897     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
898     HRESULT textKashida([out, retval] VARIANT *p);
899
900     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
901     HRESULT textAutospace([in] BSTR v);
902
903     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
904     HRESULT textAutospace([out, retval] BSTR *p);
905
906     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
907     HRESULT overflowX([in] BSTR v);
908
909     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
910     HRESULT overflowX([out, retval] BSTR *p);
911
912     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
913     HRESULT overflowY([in] BSTR v);
914
915     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
916     HRESULT overflowY([out, retval] BSTR *p);
917
918     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
919     HRESULT accelerator([in] BSTR v);
920
921     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
922     HRESULT accelerator([out, retval] BSTR *p);
923 }
924
925 /*****************************************************************************
926  *    IHTMLRuleStyle interface
927  */
928 [
929     odl,
930     oleautomation,
931     dual,
932     uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
933 ]
934 interface IHTMLRuleStyle : IDispatch
935 {
936     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
937     HRESULT fontFamily([in] BSTR v);
938
939     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
940     HRESULT fontFamily([retval, out] BSTR *p);
941
942     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
943     HRESULT fontStyle([in] BSTR v);
944
945     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
946     HRESULT fontStyle([retval, out] BSTR *p);
947
948     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
949     HRESULT fontVariant([in] BSTR v);
950
951     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
952     HRESULT fontVariant([retval, out] BSTR *p);
953
954     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
955     HRESULT fontWeight([in] BSTR v);
956
957     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
958     HRESULT fontWeight([retval, out] BSTR *p);
959
960     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
961     HRESULT fontSize([in] VARIANT v);
962
963     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
964     HRESULT fontSize([retval, out] VARIANT *p);
965
966     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
967     HRESULT font([in] BSTR v);
968
969     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
970     HRESULT font([retval, out] BSTR *p);
971
972     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
973     HRESULT color([in] VARIANT v);
974
975     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
976     HRESULT color([retval, out] VARIANT *p);
977
978     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
979     HRESULT background([in] BSTR v);
980
981     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
982     HRESULT background([retval, out] BSTR *p);
983
984     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
985     HRESULT backgroundColor([in] VARIANT v);
986
987     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
988     HRESULT backgroundColor([retval, out] VARIANT *p);
989
990     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
991     HRESULT backgroundImage([in] BSTR v);
992
993     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
994     HRESULT backgroundImage([retval, out] BSTR *p);
995
996     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
997     HRESULT backgroundRepeat([in] BSTR v);
998
999     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
1000     HRESULT backgroundRepeat([retval, out] BSTR *p);
1001
1002     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1003     HRESULT backgroundAttachment([in] BSTR v);
1004
1005     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1006     HRESULT backgroundAttachment([retval, out] BSTR *p);
1007
1008     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1009     HRESULT backgroundPosition([in] BSTR v);
1010
1011     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1012     HRESULT backgroundPosition([retval, out] BSTR *p);
1013
1014     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1015     HRESULT backgroundPositionX([in] VARIANT v);
1016
1017     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1018     HRESULT backgroundPositionX([retval, out] VARIANT *p);
1019
1020     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1021     HRESULT backgroundPositionY([in] VARIANT v);
1022
1023     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1024     HRESULT backgroundPositionY([retval, out] VARIANT *p);
1025
1026     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1027     HRESULT wordSpacing([in] VARIANT v);
1028
1029     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1030     HRESULT wordSpacing([retval, out] VARIANT *p);
1031
1032     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1033     HRESULT letterSpacing([in] VARIANT v);
1034
1035     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1036     HRESULT letterSpacing([retval, out] VARIANT *p);
1037
1038     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1039     HRESULT textDecoration([in] BSTR v);
1040
1041     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1042     HRESULT textDecoration([retval, out] BSTR *p);
1043
1044     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1045     HRESULT textDecorationNone([in] VARIANT_BOOL v);
1046
1047     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1048     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1049
1050     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1051     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1052
1053     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1054     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1055
1056     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1057     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1058
1059     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1060     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1061
1062     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1063     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1064
1065     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1066     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1067
1068     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1069     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1070
1071     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1072     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1073
1074     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1075     HRESULT verticalAlign([in] VARIANT v);
1076
1077     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1078     HRESULT verticalAlign([retval, out] VARIANT *p);
1079
1080     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1081     HRESULT textTransform([in] BSTR v);
1082
1083     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1084     HRESULT textTransform([retval, out] BSTR *p);
1085
1086     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1087     HRESULT textAlign([in] BSTR v);
1088
1089     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1090     HRESULT textAlign([retval, out] BSTR *p);
1091
1092     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1093     HRESULT textIndent([in] VARIANT v);
1094
1095     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1096     HRESULT textIndent([retval, out] VARIANT *p);
1097
1098     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1099     HRESULT lineHeight([in] VARIANT v);
1100
1101     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1102     HRESULT lineHeight([retval, out] VARIANT *p);
1103
1104     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1105     HRESULT marginTop([in] VARIANT v);
1106
1107     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1108     HRESULT marginTop([retval, out] VARIANT *p);
1109
1110     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1111     HRESULT marginRight([in] VARIANT v);
1112
1113     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1114     HRESULT marginRight([retval, out] VARIANT *p);
1115
1116     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1117     HRESULT marginBottom([in] VARIANT v);
1118
1119     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1120     HRESULT marginBottom([retval, out] VARIANT *p);
1121
1122     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1123     HRESULT marginLeft([in] VARIANT v);
1124
1125     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1126     HRESULT marginLeft([retval, out] VARIANT *p);
1127
1128     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1129     HRESULT margin([in] BSTR v);
1130
1131     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1132     HRESULT margin([retval, out] BSTR *p);
1133
1134     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1135     HRESULT paddingTop([in] VARIANT v);
1136
1137     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1138     HRESULT paddingTop([retval, out] VARIANT *p);
1139
1140     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1141     HRESULT paddingRight([in] VARIANT v);
1142
1143     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1144     HRESULT paddingRight([retval, out] VARIANT *p);
1145
1146     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1147     HRESULT paddingBottom([in] VARIANT v);
1148
1149     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1150     HRESULT paddingBottom([retval, out] VARIANT *p);
1151
1152     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1153     HRESULT paddingLeft([in] VARIANT v);
1154
1155     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1156     HRESULT paddingLeft([retval, out] VARIANT *p);
1157
1158     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1159     HRESULT padding([in] BSTR v);
1160
1161     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1162     HRESULT padding([retval, out] BSTR *p);
1163
1164     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1165     HRESULT border([in] BSTR v);
1166
1167     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1168     HRESULT border([retval, out] BSTR *p);
1169
1170     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1171     HRESULT borderTop([in] BSTR v);
1172
1173     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1174     HRESULT borderTop([retval, out] BSTR *p);
1175
1176     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1177     HRESULT borderRight([in] BSTR v);
1178
1179     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1180     HRESULT borderRight([retval, out] BSTR *p);
1181
1182     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1183     HRESULT borderBottom([in] BSTR v);
1184
1185     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1186     HRESULT borderBottom([retval, out] BSTR *p);
1187
1188     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1189     HRESULT borderLeft([in] BSTR v);
1190
1191     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1192     HRESULT borderLeft([retval, out] BSTR *p);
1193
1194     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1195     HRESULT borderColor([in] BSTR v);
1196
1197     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1198     HRESULT borderColor([retval, out] BSTR *p);
1199
1200     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1201     HRESULT borderTopColor([in] VARIANT v);
1202
1203     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1204     HRESULT borderTopColor([retval, out] VARIANT *p);
1205
1206     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1207     HRESULT borderRightColor([in] VARIANT v);
1208
1209     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1210     HRESULT borderRightColor([retval, out] VARIANT *p);
1211
1212     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1213     HRESULT borderBottomColor([in] VARIANT v);
1214
1215     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1216     HRESULT borderBottomColor([retval, out] VARIANT *p);
1217
1218     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1219     HRESULT borderLeftColor([in] VARIANT v);
1220
1221     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1222     HRESULT borderLeftColor([retval, out] VARIANT *p);
1223
1224     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1225     HRESULT borderWidth([in] BSTR v);
1226
1227     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1228     HRESULT borderWidth([retval, out] BSTR *p);
1229
1230     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1231     HRESULT borderTopWidth([in] VARIANT v);
1232
1233     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1234     HRESULT borderTopWidth([retval, out] VARIANT *p);
1235
1236     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1237     HRESULT borderRightWidth([in] VARIANT v);
1238
1239     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1240     HRESULT borderRightWidth([retval, out] VARIANT *p);
1241
1242     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1243     HRESULT borderBottomWidth([in] VARIANT v);
1244
1245     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1246     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1247
1248     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1249     HRESULT borderLeftWidth([in] VARIANT v);
1250
1251     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1252     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1253
1254     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1255     HRESULT borderStyle([in] BSTR v);
1256
1257     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1258     HRESULT borderStyle([retval, out] BSTR *p);
1259
1260     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1261     HRESULT borderTopStyle([in] BSTR v);
1262
1263     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1264     HRESULT borderTopStyle([retval, out] BSTR *p);
1265
1266     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1267     HRESULT borderRightStyle([in] BSTR v);
1268
1269     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1270     HRESULT borderRightStyle([retval, out] BSTR *p);
1271
1272     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1273     HRESULT borderBottomStyle([in] BSTR v);
1274
1275     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1276     HRESULT borderBottomStyle([retval, out] BSTR *p);
1277
1278     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1279     HRESULT borderLeftStyle([in] BSTR v);
1280
1281     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1282     HRESULT borderLeftStyle([retval, out] BSTR *p);
1283
1284     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1285     HRESULT width([in] VARIANT v);
1286
1287     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1288     HRESULT width([retval, out] VARIANT *p);
1289
1290     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1291     HRESULT height([in] VARIANT v);
1292
1293     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1294     HRESULT height([retval, out] VARIANT *p);
1295
1296     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1297     HRESULT styleFloat([in] BSTR v);
1298
1299     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1300     HRESULT styleFloat([retval, out] BSTR *p);
1301
1302     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1303     HRESULT clear([in] BSTR v);
1304
1305     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1306     HRESULT clear([retval, out] BSTR *p);
1307
1308     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1309     HRESULT display([in] BSTR v);
1310
1311     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1312     HRESULT display([retval, out] BSTR *p);
1313
1314     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1315     HRESULT visibility([in] BSTR v);
1316
1317     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1318     HRESULT visibility([retval, out] BSTR *p);
1319
1320     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1321     HRESULT listStyleType([in] BSTR v);
1322
1323     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1324     HRESULT listStyleType([retval, out] BSTR *p);
1325
1326     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1327     HRESULT listStylePosition([in] BSTR v);
1328
1329     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1330     HRESULT listStylePosition([retval, out] BSTR *p);
1331
1332     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1333     HRESULT listStyleImage([in] BSTR v);
1334
1335     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1336     HRESULT listStyleImage([retval, out] BSTR *p);
1337
1338     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1339     HRESULT listStyle([in] BSTR v);
1340
1341     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1342     HRESULT listStyle([retval, out] BSTR *p);
1343
1344     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1345     HRESULT whiteSpace([in] BSTR v);
1346
1347     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1348     HRESULT whiteSpace([retval, out] BSTR *p);
1349
1350     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1351     HRESULT top([in] VARIANT v);
1352
1353     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1354     HRESULT top([retval, out] VARIANT *p);
1355
1356     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1357     HRESULT left([in] VARIANT v);
1358
1359     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1360     HRESULT left([retval, out] VARIANT *p);
1361
1362     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1363     HRESULT position([retval, out] BSTR *p);
1364
1365     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1366     HRESULT zIndex([in] VARIANT v);
1367
1368     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1369     HRESULT zIndex([retval, out] VARIANT *p);
1370
1371     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1372     HRESULT overflow([in] BSTR v);
1373
1374     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1375     HRESULT overflow([retval, out] BSTR *p);
1376
1377     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1378     HRESULT pageBreakBefore([in] BSTR v);
1379
1380     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1381     HRESULT pageBreakBefore([retval, out] BSTR *p);
1382
1383     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1384     HRESULT pageBreakAfter([in] BSTR v);
1385
1386     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1387     HRESULT pageBreakAfter([retval, out] BSTR *p);
1388
1389     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1390     HRESULT cssText([in] BSTR v);
1391
1392     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1393     HRESULT cssText([retval, out] BSTR *p);
1394
1395     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1396     HRESULT cursor([in] BSTR v);
1397
1398     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1399     HRESULT cursor([retval, out] BSTR *p);
1400
1401     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1402     HRESULT clip([in] BSTR v);
1403
1404     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1405     HRESULT clip([retval, out] BSTR *p);
1406
1407     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1408     HRESULT filter([in] BSTR v);
1409
1410     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1411     HRESULT filter([retval, out] BSTR *p);
1412
1413     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1414     HRESULT setAttribute(
1415         [in] BSTR strAttributeName,
1416         [in] VARIANT AttributeValue,
1417         [defaultvalue(1), in] LONG lFlags);
1418
1419     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1420     HRESULT getAttribute(
1421         [in] BSTR strAttributeName,
1422         [defaultvalue(0), in] LONG lFlags,
1423         [retval, out] VARIANT *AttributeValue);
1424
1425     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1426     HRESULT removeAttribute(
1427         [in] BSTR strAttributeName,
1428         [defaultvalue(1), in] LONG lFlags,
1429         [retval, out] VARIANT_BOOL *pfSuccess);
1430 }
1431
1432 /*****************************************************************************
1433  *    DispHTMLStyle dispinterface
1434  */
1435 [
1436     hidden,
1437     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1438 ]
1439 dispinterface DispHTMLStyle
1440 {
1441 properties:
1442 methods:
1443     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1444     void fontFamily(BSTR v);
1445
1446     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1447     BSTR fontFamily();
1448
1449     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1450     void fontStyle(BSTR v);
1451
1452     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1453     BSTR fontStyle();
1454
1455     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1456     void fontVariant(BSTR v);
1457
1458     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1459     BSTR fontVariant();
1460
1461     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1462     void fontWeight(BSTR v);
1463
1464     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1465     BSTR fontWeight();
1466
1467     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1468     void fontSize(VARIANT v);
1469
1470     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1471     VARIANT fontSize();
1472
1473     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1474     void font(BSTR v);
1475
1476     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1477     BSTR font();
1478
1479     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1480     void color(VARIANT v);
1481
1482     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1483     VARIANT color();
1484
1485     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1486     void background(BSTR v);
1487
1488     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1489     BSTR background();
1490
1491     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1492     void backgroundColor(VARIANT v);
1493
1494     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1495     VARIANT backgroundColor();
1496
1497     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1498     void backgroundImage(BSTR v);
1499
1500     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1501     BSTR backgroundImage();
1502
1503     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1504     void backgroundRepeat(BSTR v);
1505
1506     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1507     BSTR backgroundRepeat();
1508
1509     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1510     void backgroundAttachment(BSTR v);
1511
1512     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1513     BSTR backgroundAttachment();
1514
1515     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1516     void backgroundPosition(BSTR v);
1517
1518     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1519     BSTR backgroundPosition();
1520
1521     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1522     void backgroundPositionX(VARIANT v);
1523
1524     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1525     VARIANT backgroundPositionX();
1526
1527     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1528     void backgroundPositionY(VARIANT v);
1529
1530     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1531     VARIANT backgroundPositionY();
1532
1533     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1534     void wordSpacing(VARIANT v);
1535
1536     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1537     VARIANT wordSpacing();
1538
1539     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1540     void letterSpacing(VARIANT v);
1541
1542     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1543     VARIANT letterSpacing();
1544
1545     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1546     void textDecoration(BSTR v);
1547
1548     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1549     BSTR textDecoration();
1550
1551     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1552     void textDecorationNone(VARIANT_BOOL v);
1553
1554     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1555     VARIANT_BOOL textDecorationNone();
1556
1557     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1558     void textDecorationUnderline(VARIANT_BOOL v);
1559
1560     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1561     VARIANT_BOOL textDecorationUnderline();
1562
1563     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1564     void textDecorationOverline(VARIANT_BOOL v);
1565
1566     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1567     VARIANT_BOOL textDecorationOverline();
1568
1569     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1570     void textDecorationLineThrough(VARIANT_BOOL v);
1571
1572     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1573     VARIANT_BOOL textDecorationLineThrough();
1574
1575     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1576     void textDecorationBlink(VARIANT_BOOL v);
1577
1578     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1579     VARIANT_BOOL textDecorationBlink();
1580
1581     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1582     void verticalAlign(VARIANT v);
1583
1584     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1585     VARIANT verticalAlign();
1586
1587     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1588     void textTransform(BSTR v);
1589
1590     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1591     BSTR textTransform();
1592
1593     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1594     void textAlign(BSTR v);
1595
1596     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1597     BSTR textAlign();
1598
1599     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1600     void textIndent(VARIANT v);
1601
1602     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1603     VARIANT textIndent();
1604
1605     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1606     void lineHeight(VARIANT v);
1607
1608     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1609     VARIANT lineHeight();
1610
1611     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1612     void marginTop(VARIANT v);
1613
1614     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1615     VARIANT marginTop();
1616
1617     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1618     void marginRight(VARIANT v);
1619
1620     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1621     VARIANT marginRight();
1622
1623     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1624     void marginBottom(VARIANT v);
1625
1626     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1627     VARIANT marginBottom();
1628
1629     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1630     void marginLeft(VARIANT v);
1631
1632     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1633     VARIANT marginLeft();
1634
1635     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1636     void margin(BSTR v);
1637
1638     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1639     BSTR margin();
1640
1641     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1642     void paddingTop(VARIANT v);
1643
1644     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1645     VARIANT paddingTop();
1646
1647     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1648     void paddingRight(VARIANT v);
1649
1650     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1651     VARIANT paddingRight();
1652
1653     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1654     void paddingBottom(VARIANT v);
1655
1656     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1657     VARIANT paddingBottom();
1658
1659     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1660     void paddingLeft(VARIANT v);
1661
1662     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1663     VARIANT paddingLeft();
1664
1665     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1666     void padding(BSTR v);
1667
1668     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1669     BSTR padding();
1670
1671     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1672     void border(BSTR v);
1673
1674     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1675     BSTR border();
1676
1677     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1678     void borderTop(BSTR v);
1679
1680     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1681     BSTR borderTop();
1682
1683     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1684     void borderRight(BSTR v);
1685
1686     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1687     BSTR borderRight();
1688
1689     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1690     void borderBottom(BSTR v);
1691
1692     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1693     BSTR borderBottom();
1694
1695     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1696     void borderLeft(BSTR v);
1697
1698     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1699     BSTR borderLeft();
1700
1701     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1702     void borderColor(BSTR v);
1703
1704     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1705     BSTR borderColor();
1706
1707     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1708     void borderTopColor(VARIANT v);
1709
1710     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1711     VARIANT borderTopColor();
1712
1713     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1714     void borderRightColor(VARIANT v);
1715
1716     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1717     VARIANT borderRightColor();
1718
1719     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1720     void borderBottomColor(VARIANT v);
1721
1722     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1723     VARIANT borderBottomColor();
1724
1725     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1726     void borderLeftColor(VARIANT v);
1727
1728     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1729     VARIANT borderLeftColor();
1730
1731     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1732     void borderWidth(BSTR v);
1733
1734     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1735     BSTR borderWidth();
1736
1737     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1738     void borderTopWidth(VARIANT v);
1739
1740     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1741     VARIANT borderTopWidth();
1742
1743     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1744     void borderRightWidth(VARIANT v);
1745
1746     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1747     VARIANT borderRightWidth();
1748
1749     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1750     void borderBottomWidth(VARIANT v);
1751
1752     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1753     VARIANT borderBottomWidth();
1754
1755     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1756     void borderLeftWidth(VARIANT v);
1757
1758     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1759     VARIANT borderLeftWidth();
1760
1761     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1762     void borderStyle(BSTR v);
1763
1764     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1765     BSTR borderStyle();
1766
1767     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1768     void borderTopStyle(BSTR v);
1769
1770     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1771     BSTR borderTopStyle();
1772
1773     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1774     void borderRightStyle(BSTR v);
1775
1776     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1777     BSTR borderRightStyle();
1778
1779     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1780     void borderBottomStyle(BSTR v);
1781
1782     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1783     BSTR borderBottomStyle();
1784
1785     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1786     void borderLeftStyle(BSTR v);
1787
1788     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1789     BSTR borderLeftStyle();
1790
1791     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1792     void width(VARIANT v);
1793
1794     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1795     VARIANT width();
1796
1797     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1798     void height(VARIANT v);
1799
1800     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1801     VARIANT height();
1802
1803     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1804     void styleFloat(BSTR v);
1805
1806     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1807     BSTR styleFloat();
1808
1809     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1810     void clear(BSTR v);
1811
1812     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1813     BSTR clear();
1814
1815     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1816     void display(BSTR v);
1817
1818     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1819     BSTR display();
1820
1821     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1822     void visibility(BSTR v);
1823
1824     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1825     BSTR visibility();
1826
1827     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1828     void listStyleType(BSTR v);
1829
1830     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1831     BSTR listStyleType();
1832
1833     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1834     void listStylePosition(BSTR v);
1835
1836     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1837     BSTR listStylePosition();
1838
1839     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1840     void listStyleImage(BSTR v);
1841
1842     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1843     BSTR listStyleImage();
1844
1845     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1846     void listStyle(BSTR v);
1847
1848     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1849     BSTR listStyle();
1850
1851     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1852     void whiteSpace(BSTR v);
1853
1854     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1855     BSTR whiteSpace();
1856
1857     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1858     void top(VARIANT v);
1859
1860     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1861     VARIANT top();
1862
1863     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1864     void left(VARIANT v);
1865
1866     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1867     VARIANT left();
1868
1869     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1870     void zIndex(VARIANT v);
1871
1872     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1873     VARIANT zIndex();
1874
1875     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1876     void overflow(BSTR v);
1877
1878     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1879     BSTR overflow();
1880
1881     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1882     void pageBreakBefore(BSTR v);
1883
1884     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1885     BSTR pageBreakBefore();
1886
1887     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1888     void pageBreakAfter(BSTR v);
1889
1890     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1891     BSTR pageBreakAfter();
1892
1893     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1894     void cssText(BSTR v);
1895
1896     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1897     BSTR cssText();
1898
1899     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1900     void pixelTop(LONG v);
1901
1902     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1903     LONG pixelTop();
1904
1905     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1906     void pixelLeft(LONG v);
1907
1908     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1909     LONG pixelLeft();
1910
1911     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1912     void pixelWidth(LONG v);
1913
1914     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1915     LONG pixelWidth();
1916
1917     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1918     void pixelHeight(LONG v);
1919
1920     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1921     LONG pixelHeight();
1922
1923     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1924     void posTop(float v);
1925
1926     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1927     float posTop();
1928
1929     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1930     void posLeft(float v);
1931
1932     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1933     float posLeft();
1934
1935     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1936     void posWidth(float v);
1937
1938     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1939     float posWidth();
1940
1941     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1942     void posHeight(float v);
1943
1944     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1945     float posHeight();
1946
1947     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1948     void cursor(BSTR v);
1949
1950     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1951     BSTR cursor();
1952
1953     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1954     void clip(BSTR v);
1955
1956     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1957     BSTR clip();
1958
1959     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1960     void filter(BSTR v);
1961
1962     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1963     BSTR filter();
1964
1965     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1966     void setAttribute(
1967             [in] BSTR strAttributeName,
1968             [in] VARIANT AttributeValue,
1969             [in, defaultvalue(1)] LONG lFlags);
1970
1971     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1972     VARIANT getAttribute(
1973             [in] BSTR strAttributeName,
1974             [in, defaultvalue(0)] LONG lFlags);
1975
1976     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1977     VARIANT_BOOL removeAttribute(
1978             [in] BSTR strAttributeName,
1979             [in, defaultvalue(1)] LONG lFlags);
1980
1981     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1982     BSTR toString();
1983
1984     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1985     void tableLayout(BSTR v);
1986
1987     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1988     BSTR tableLayout();
1989
1990     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1991     void borderCollapse(BSTR v);
1992
1993     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1994     BSTR borderCollapse();
1995
1996     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1997     void direction(BSTR v);
1998
1999     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
2000     BSTR direction();
2001
2002     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2003     void behavior(BSTR v);
2004
2005     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2006     BSTR behavior();
2007
2008     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
2009     void setExpression(
2010             [in] BSTR propname,
2011             [in] BSTR expression,
2012             [in, defaultvalue("")] BSTR language);
2013
2014     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
2015     VARIANT getExpression([in] BSTR propname);
2016
2017     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
2018     VARIANT_BOOL removeExpression([in] BSTR propname);
2019
2020     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2021     void position(BSTR v);
2022
2023     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2024     BSTR position();
2025
2026     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2027     void unicodeBidi(BSTR v);
2028
2029     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2030     BSTR unicodeBidi();
2031
2032     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2033     void bottom(VARIANT v);
2034
2035     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2036     VARIANT bottom();
2037
2038     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2039     void right(VARIANT v);
2040
2041     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2042     VARIANT right();
2043
2044     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2045     void pixelBottom(LONG v);
2046
2047     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2048     LONG pixelBottom();
2049
2050     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2051     void pixelRight(LONG v);
2052
2053     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2054     LONG pixelRight();
2055
2056     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2057     void posBottom(float v);
2058
2059     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2060     float posBottom();
2061
2062     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2063     void posRight(float v);
2064
2065     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2066     float posRight();
2067
2068     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2069     void imeMode(BSTR v);
2070
2071     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2072     BSTR imeMode();
2073
2074     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2075     void rubyAlign(BSTR v);
2076
2077     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2078     BSTR rubyAlign();
2079
2080     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2081     void rubyPosition(BSTR v);
2082
2083     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2084     BSTR rubyPosition();
2085
2086     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2087     void rubyOverhang(BSTR v);
2088
2089     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2090     BSTR rubyOverhang();
2091
2092     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2093     void layoutGridChar(VARIANT v);
2094
2095     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2096     VARIANT layoutGridChar();
2097
2098     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2099     void layoutGridLine(VARIANT v);
2100
2101     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2102     VARIANT layoutGridLine();
2103
2104     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2105     void layoutGridMode(BSTR v);
2106
2107     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2108     BSTR layoutGridMode();
2109
2110     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2111     void layoutGridType(BSTR v);
2112
2113     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2114     BSTR layoutGridType();
2115
2116     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2117     void layoutGrid(BSTR v);
2118
2119     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2120     BSTR layoutGrid();
2121
2122     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2123     void wordBreak(BSTR v);
2124
2125     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2126     BSTR wordBreak();
2127
2128     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2129     void lineBreak(BSTR v);
2130
2131     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2132     BSTR lineBreak();
2133
2134     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2135     void textJustify(BSTR v);
2136
2137     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2138     BSTR textJustify();
2139
2140     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2141     void textJustifyTrim(BSTR v);
2142
2143     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2144     BSTR textJustifyTrim();
2145
2146     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2147     void textKashida(VARIANT v);
2148
2149     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2150     VARIANT textKashida();
2151
2152     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2153     void textAutospace(BSTR v);
2154
2155     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2156     BSTR textAutospace();
2157
2158     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2159     void overflowX(BSTR v);
2160
2161     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2162     BSTR overflowX();
2163
2164     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2165     void overflowY(BSTR v);
2166
2167     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2168     BSTR overflowY();
2169
2170     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2171     void accelerator(BSTR v);
2172
2173     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2174     BSTR accelerator();
2175
2176     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2177     void layoutFlow(BSTR v);
2178
2179     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2180     BSTR layoutFlow();
2181
2182     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2183     void zoom(VARIANT v);
2184
2185     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2186     VARIANT zoom();
2187
2188     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2189     void wordWrap(BSTR v);
2190
2191     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2192     BSTR wordWrap();
2193
2194     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2195     void textUnderlinePosition(BSTR v);
2196
2197     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2198     BSTR textUnderlinePosition();
2199
2200     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2201     void scrollbarBaseColor(VARIANT v);
2202
2203     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2204     VARIANT scrollbarBaseColor();
2205
2206     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2207     void scrollbarFaceColor(VARIANT v);
2208
2209     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2210     VARIANT scrollbarFaceColor();
2211
2212     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2213     void scrollbar3dLightColor(VARIANT v);
2214
2215     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2216     VARIANT scrollbar3dLightColor();
2217
2218     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2219     void scrollbarShadowColor(VARIANT v);
2220
2221     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2222     VARIANT scrollbarShadowColor();
2223
2224     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2225     void scrollbarHighlightColor(VARIANT v);
2226
2227     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2228     VARIANT scrollbarHighlightColor();
2229
2230     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2231     void scrollbarDarkShadowColor(VARIANT v);
2232
2233     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2234     VARIANT scrollbarDarkShadowColor();
2235
2236     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2237     void scrollbarArrowColor(VARIANT v);
2238
2239     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2240     VARIANT scrollbarArrowColor();
2241
2242     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2243     void scrollbarTrackColor(VARIANT v);
2244
2245     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2246     VARIANT scrollbarTrackColor();
2247
2248     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2249     void writingMode(BSTR v);
2250
2251     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2252     BSTR writingMode();
2253
2254     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2255     void textAlignLast(BSTR v);
2256
2257     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2258     BSTR textAlignLast();
2259
2260     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2261     void textKashidaSpace(VARIANT v);
2262
2263     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2264     VARIANT textKashidaSpace();
2265
2266     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2267     void textOverflow(BSTR v);
2268
2269     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2270     BSTR textOverflow();
2271
2272     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2273     void minHeight(VARIANT v);
2274
2275     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2276     VARIANT minHeight();
2277
2278     [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2279     void msInterpolationMode(BSTR v);
2280
2281     [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2282     BSTR msInterpolationMode();
2283
2284     [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2285     void maxHeight(VARIANT v);
2286
2287     [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2288     VARIANT maxHeight();
2289
2290     [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2291     void minWidth(VARIANT v);
2292
2293     [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2294     VARIANT minWidth();
2295
2296     [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2297     void maxWidth(VARIANT v);
2298
2299     [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2300     VARIANT maxWidth();
2301
2302     [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2303     void content(BSTR v);
2304
2305     [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2306     BSTR content();
2307
2308     [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2309     void captionSide(BSTR v);
2310
2311     [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2312     BSTR captionSide();
2313
2314     [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2315     void counterIncrement(BSTR v);
2316
2317     [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2318     BSTR counterIncrement();
2319
2320     [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2321     void counterReset(BSTR v);
2322
2323     [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2324     BSTR counterReset();
2325
2326     [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2327     void outline(BSTR v);
2328
2329     [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2330     BSTR outline();
2331
2332     [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2333     void outlineWidth(VARIANT v);
2334
2335     [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2336     VARIANT outlineWidth();
2337
2338     [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2339     void outlineStyle(BSTR v);
2340
2341     [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2342     BSTR outlineStyle();
2343
2344     [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2345     void outlineColor(VARIANT v);
2346
2347     [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2348     VARIANT outlineColor();
2349
2350     [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2351     void boxSizing(BSTR v);
2352
2353     [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2354     BSTR boxSizing();
2355
2356     [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2357     void borderSpacing(BSTR v);
2358
2359     [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2360     BSTR borderSpacing();
2361
2362     [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2363     void orphans(VARIANT v);
2364
2365     [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2366     VARIANT orphans();
2367
2368     [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2369     void widows(VARIANT v);
2370
2371     [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2372     VARIANT widows();
2373
2374     [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2375     void pageBreakInside(BSTR v);
2376
2377     [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2378     BSTR pageBreakInside();
2379
2380     [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2381     void emptyCells(BSTR v);
2382
2383     [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2384     BSTR emptyCells();
2385
2386     [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2387     void msBlockProgression(BSTR v);
2388
2389     [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2390     BSTR msBlockProgression();
2391
2392     [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2393     void quotes(BSTR v);
2394
2395     [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2396     BSTR quotes();
2397
2398     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
2399     IDispatch *constructor();
2400 }
2401
2402 [
2403     odl,
2404     oleautomation,
2405     dual,
2406     uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2407 ]
2408 interface IHTMLStyle3 : IDispatch
2409 {
2410     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2411     HRESULT layoutFlow([in] BSTR v);
2412
2413     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2414     HRESULT layoutFlow([retval, out] BSTR * p);
2415
2416     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2417     HRESULT zoom([in] VARIANT v);
2418
2419     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2420     HRESULT zoom([retval, out] VARIANT * p);
2421
2422     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2423     HRESULT wordWrap([in] BSTR v);
2424
2425     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2426     HRESULT wordWrap([retval, out] BSTR * p);
2427
2428     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2429     HRESULT textUnderlinePosition([in] BSTR v);
2430
2431     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2432     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2433
2434     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2435     HRESULT scrollbarBaseColor([in] VARIANT v);
2436
2437     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2438     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2439
2440     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2441     HRESULT scrollbarFaceColor([in] VARIANT v);
2442
2443     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2444     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2445
2446     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2447     HRESULT scrollbar3dLightColor([in] VARIANT v);
2448
2449     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2450     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2451
2452     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2453     HRESULT scrollbarShadowColor([in] VARIANT v);
2454
2455     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2456     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2457
2458     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2459     HRESULT scrollbarHighlightColor([in] VARIANT v);
2460
2461     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2462     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2463
2464     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2465     HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2466
2467     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2468     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2469
2470     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2471     HRESULT scrollbarArrowColor([in] VARIANT v);
2472
2473     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2474     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2475
2476     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2477     HRESULT scrollbarTrackColor([in] VARIANT v);
2478
2479     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2480     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2481
2482     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2483     HRESULT writingMode([in] BSTR v);
2484
2485     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2486     HRESULT writingMode([retval, out] BSTR * p);
2487
2488     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2489     HRESULT textAlignLast([in] BSTR v);
2490
2491     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2492     HRESULT textAlignLast([retval, out] BSTR * p);
2493
2494     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2495     HRESULT textKashidaSpace([in] VARIANT v);
2496
2497     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2498     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2499 }
2500
2501 /*****************************************************************************
2502  *    IHTMLSytyle4 interface
2503  */
2504 [
2505     odl,
2506     oleautomation,
2507     dual,
2508     uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2509 ]
2510 interface IHTMLStyle4 : IDispatch
2511 {
2512     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2513     HRESULT textOverflow([in] BSTR v);
2514
2515     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2516     HRESULT textOverflow([retval, out] BSTR * p);
2517
2518     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2519     HRESULT minHeight([in] VARIANT v);
2520
2521     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2522     HRESULT minHeight([retval, out] VARIANT * p);
2523 }
2524
2525 /*****************************************************************************
2526  *    IHTMLSytyle5 interface
2527  */
2528 [
2529     odl,
2530     oleautomation,
2531     dual,
2532     uuid(3050f33a-98b5-11cf-bb82-00aa00bdce0b)
2533 ]
2534 interface IHTMLStyle5 : IDispatch
2535 {
2536     [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2537     HRESULT msInterpolationMode([in] BSTR v);
2538
2539     [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2540     HRESULT msInterpolationMode([out, retval] BSTR *p);
2541
2542     [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2543     HRESULT maxHeight([in] VARIANT v);
2544
2545     [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2546     HRESULT maxHeight([out, retval] VARIANT *p);
2547
2548     [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2549     HRESULT minWidth([in] VARIANT v);
2550
2551     [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2552     HRESULT minWidth([out, retval] VARIANT *p);
2553
2554     [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2555     HRESULT maxWidth([in] VARIANT v);
2556
2557     [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2558     HRESULT maxWidth([out, retval] VARIANT *p);
2559 }
2560
2561 /*****************************************************************************
2562  *    IHTMLSytyle6 interface
2563  */
2564 [
2565     odl,
2566     oleautomation,
2567     dual,
2568     uuid(30510480-98b5-11cf-bb82-00aa00bdce0b)
2569 ]
2570 interface IHTMLStyle6 : IDispatch
2571 {
2572     [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2573     HRESULT content([in] BSTR v);
2574
2575     [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2576     HRESULT content([out, retval] BSTR *p);
2577
2578     [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2579     HRESULT captionSide([in] BSTR v);
2580
2581     [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2582     HRESULT captionSide([retval, out] BSTR *p);
2583
2584     [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2585     HRESULT counterIncrement([in] BSTR v);
2586
2587     [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2588     HRESULT counterIncrement([out, retval] BSTR *p);
2589
2590     [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2591     HRESULT counterReset([in] BSTR v);
2592
2593     [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2594     HRESULT counterReset([out, retval] BSTR *p);
2595
2596     [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2597     HRESULT outline([in] BSTR v);
2598
2599     [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2600     HRESULT outline([out, retval] BSTR *p);
2601
2602     [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2603     HRESULT outlineWidth([in] VARIANT v);
2604
2605     [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2606     HRESULT outlineWidth([out, retval] VARIANT *p);
2607
2608     [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2609     HRESULT outlineStyle([in] BSTR v);
2610
2611     [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2612     HRESULT outlineStyle([out, retval] BSTR *p);
2613
2614     [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2615     HRESULT outlineColor([in] VARIANT v);
2616
2617     [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2618     HRESULT outlineColor([out, retval] VARIANT *p);
2619
2620     [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2621     HRESULT boxSizing([in] BSTR v);
2622
2623     [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2624     HRESULT boxSizing([out, retval] BSTR *p);
2625
2626     [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2627     HRESULT borderSpacing([in] BSTR v);
2628
2629     [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2630     HRESULT borderSpacing([out, retval] BSTR *p);
2631
2632     [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2633     HRESULT orphans([in] VARIANT v);
2634
2635     [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2636     HRESULT orphans([out, retval] VARIANT *p);
2637
2638     [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2639     HRESULT widows([in] VARIANT v);
2640
2641     [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2642     HRESULT widows([out, retval] VARIANT *p);
2643
2644     [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2645     HRESULT pageBreakInside([in] BSTR v);
2646
2647     [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2648     HRESULT pageBreakInside([out, retval] BSTR *p);
2649
2650     [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2651     HRESULT emptyCells([in] BSTR v);
2652
2653     [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2654     HRESULT emptyCells([out, retval] BSTR *p);
2655
2656     [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2657     HRESULT msBlockProgression([in] BSTR v);
2658
2659     [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2660     HRESULT msBlockProgression([out, retval] BSTR *p);
2661
2662     [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2663     HRESULT quotes([in] BSTR v);
2664
2665     [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2666     HRESULT quotes([out, retval] BSTR *p);
2667 }
2668
2669 [
2670     noncreatable,
2671     uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2672 ]
2673 coclass HTMLStyle
2674 {
2675     [default] dispinterface DispHTMLStyle;
2676     interface IHTMLStyle;
2677     interface IHTMLStyle2;
2678     interface IHTMLStyle3;
2679     interface IHTMLStyle4;
2680     interface IHTMLStyle5;
2681     interface IHTMLStyle6;
2682 }
2683
2684 /*****************************************************************************
2685  *    IHTMLRenderStyle interface
2686  */
2687 [
2688     odl,
2689     oleautomation,
2690     dual,
2691     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2692 ]
2693 interface IHTMLRenderStyle : IDispatch
2694 {
2695     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2696     HRESULT textLineThroughStyle([in] BSTR v);
2697
2698     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2699     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2700
2701     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2702     HRESULT textUnderlineStyle([in] BSTR v);
2703
2704     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2705     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2706
2707     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2708     HRESULT textEffect([in] BSTR v);
2709
2710     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2711     HRESULT textEffect([retval, out] BSTR *p);
2712
2713     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2714     HRESULT textColor([in] VARIANT v);
2715
2716     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2717     HRESULT textColor([retval, out] VARIANT *p);
2718
2719     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2720     HRESULT textBackgroundColor([in] VARIANT v);
2721
2722     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2723     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2724
2725     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2726     HRESULT textDecorationColor([in] VARIANT v);
2727
2728     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2729     HRESULT textDecorationColor([retval, out] VARIANT *p);
2730
2731     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2732     HRESULT renderingPriority([in] LONG v);
2733
2734     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2735     HRESULT renderingPriority([retval, out] LONG *p);
2736
2737     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2738     HRESULT defaultTextSelection([in] BSTR v);
2739
2740     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2741     HRESULT defaultTextSelection([retval, out] BSTR *p);
2742
2743     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2744     HRESULT textDecoration([in] BSTR v);
2745
2746     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2747     HRESULT textDecoration([retval, out] BSTR *p);
2748 }
2749
2750 /*****************************************************************************
2751  *    IHTMLCurrentStyle interface
2752  */
2753 [
2754     odl,
2755     oleautomation,
2756     dual,
2757     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2758 ]
2759 interface IHTMLCurrentStyle : IDispatch
2760 {
2761     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2762     HRESULT position([retval, out] BSTR *p);
2763
2764     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2765     HRESULT styleFloat([retval, out] BSTR *p);
2766
2767     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2768     HRESULT color([retval, out] VARIANT *p);
2769
2770     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2771     HRESULT backgroundColor([retval, out] VARIANT *p);
2772
2773     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2774     HRESULT fontFamily([retval, out] BSTR *p);
2775
2776     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2777     HRESULT fontStyle([retval, out] BSTR *p);
2778
2779     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2780     HRESULT fontVariant([retval, out] BSTR *p);
2781
2782     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2783     HRESULT fontWeight([retval, out] VARIANT *p);
2784
2785     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2786     HRESULT fontSize([retval, out] VARIANT *p);
2787
2788     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2789     HRESULT backgroundImage([retval, out] BSTR *p);
2790
2791     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2792     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2793
2794     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2795     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2796
2797     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2798     HRESULT backgroundRepeat([retval, out] BSTR *p);
2799
2800     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2801     HRESULT borderLeftColor([retval, out] VARIANT *p);
2802
2803     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2804     HRESULT borderTopColor([retval, out] VARIANT *p);
2805
2806     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2807     HRESULT borderRightColor([retval, out] VARIANT *p);
2808
2809     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2810     HRESULT borderBottomColor([retval, out] VARIANT *p);
2811
2812     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2813     HRESULT borderTopStyle([retval, out] BSTR *p);
2814
2815     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2816     HRESULT borderRightStyle([retval, out] BSTR *p);
2817
2818     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2819     HRESULT borderBottomStyle([retval, out] BSTR *p);
2820
2821     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2822     HRESULT borderLeftStyle([retval, out] BSTR *p);
2823
2824     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2825     HRESULT borderTopWidth([retval, out] VARIANT *p);
2826
2827     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2828     HRESULT borderRightWidth([retval, out] VARIANT *p);
2829
2830     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2831     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2832
2833     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2834     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2835
2836     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2837     HRESULT left([retval, out] VARIANT *p);
2838
2839     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2840     HRESULT top([retval, out] VARIANT *p);
2841
2842     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2843     HRESULT width([retval, out] VARIANT *p);
2844
2845     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2846     HRESULT height([retval, out] VARIANT *p);
2847
2848     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2849     HRESULT paddingLeft([retval, out] VARIANT *p);
2850
2851     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2852     HRESULT paddingTop([retval, out] VARIANT *p);
2853
2854     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2855     HRESULT paddingRight([retval, out] VARIANT *p);
2856
2857     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2858     HRESULT paddingBottom([retval, out] VARIANT *p);
2859
2860     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2861     HRESULT textAlign([retval, out] BSTR *p);
2862
2863     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2864     HRESULT textDecoration([retval, out] BSTR *p);
2865
2866     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2867     HRESULT display([retval, out] BSTR *p);
2868
2869     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2870     HRESULT visibility([retval, out] BSTR *p);
2871
2872     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2873     HRESULT zIndex([retval, out] VARIANT *p);
2874
2875     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2876     HRESULT letterSpacing([retval, out] VARIANT *p);
2877
2878     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2879     HRESULT lineHeight([retval, out] VARIANT *p);
2880
2881     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2882     HRESULT textIndent([retval, out] VARIANT *p);
2883
2884     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2885     HRESULT verticalAlign([retval, out] VARIANT *p);
2886
2887     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2888     HRESULT backgroundAttachment([retval, out] BSTR *p);
2889
2890     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2891     HRESULT marginTop([retval, out] VARIANT *p);
2892
2893     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2894     HRESULT marginRight([retval, out] VARIANT *p);
2895
2896     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2897     HRESULT marginBottom([retval, out] VARIANT *p);
2898
2899     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2900     HRESULT marginLeft([retval, out] VARIANT *p);
2901
2902     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2903     HRESULT clear([retval, out] BSTR *p);
2904
2905     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2906     HRESULT listStyleType([retval, out] BSTR *p);
2907
2908     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2909     HRESULT listStylePosition([retval, out] BSTR *p);
2910
2911     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2912     HRESULT listStyleImage([retval, out] BSTR *p);
2913
2914     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2915     HRESULT clipTop([retval, out] VARIANT *p);
2916
2917     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2918     HRESULT clipRight([retval, out] VARIANT *p);
2919
2920     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2921     HRESULT clipBottom([retval, out] VARIANT *p);
2922
2923     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2924     HRESULT clipLeft([retval, out] VARIANT *p);
2925
2926     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2927     HRESULT overflow([retval, out] BSTR *p);
2928
2929     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2930     HRESULT pageBreakBefore([retval, out] BSTR *p);
2931
2932     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2933     HRESULT pageBreakAfter([retval, out] BSTR *p);
2934
2935     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2936     HRESULT cursor([retval, out] BSTR *p);
2937
2938     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2939     HRESULT tableLayout([retval, out] BSTR *p);
2940
2941     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2942     HRESULT borderCollapse([retval, out] BSTR *p);
2943
2944     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2945     HRESULT direction([retval, out] BSTR *p);
2946
2947     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2948     HRESULT behavior([retval, out] BSTR *p);
2949
2950     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2951     HRESULT getAttribute(
2952         [in] BSTR strAttributeName,
2953         [defaultvalue(0), in] LONG lFlags,
2954         [retval, out] VARIANT *AttributeValue);
2955
2956     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2957     HRESULT unicodeBidi([retval, out] BSTR *p);
2958
2959     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2960     HRESULT right([retval, out] VARIANT *p);
2961
2962     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2963     HRESULT bottom([retval, out] VARIANT *p);
2964
2965     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2966     HRESULT imeMode([retval, out] BSTR *p);
2967
2968     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2969     HRESULT rubyAlign([retval, out] BSTR *p);
2970
2971     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2972     HRESULT rubyPosition([retval, out] BSTR *p);
2973
2974     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2975     HRESULT rubyOverhang([retval, out] BSTR *p);
2976
2977     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2978     HRESULT textAutospace([retval, out] BSTR *p);
2979
2980     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2981     HRESULT lineBreak([retval, out] BSTR *p);
2982
2983     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2984     HRESULT wordBreak([retval, out] BSTR *p);
2985
2986     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2987     HRESULT textJustify([retval, out] BSTR *p);
2988
2989     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2990     HRESULT textJustifyTrim([retval, out] BSTR *p);
2991
2992     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2993     HRESULT textKashida([retval, out] VARIANT *p);
2994
2995     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2996     HRESULT blockDirection([retval, out] BSTR *p);
2997
2998     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2999     HRESULT layoutGridChar([retval, out] VARIANT *p);
3000
3001     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3002     HRESULT layoutGridLine([retval, out] VARIANT *p);
3003
3004     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3005     HRESULT layoutGridMode([retval, out] BSTR *p);
3006
3007     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3008     HRESULT layoutGridType([retval, out] BSTR *p);
3009
3010     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3011     HRESULT borderStyle([retval, out] BSTR *p);
3012
3013     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3014     HRESULT borderColor([retval, out] BSTR *p);
3015
3016     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3017     HRESULT borderWidth([retval, out] BSTR *p);
3018
3019     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3020     HRESULT padding([retval, out] BSTR *p);
3021
3022     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3023     HRESULT margin([retval, out] BSTR *p);
3024
3025     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3026     HRESULT accelerator([retval, out] BSTR *p);
3027
3028     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3029     HRESULT overflowX([retval, out] BSTR *p);
3030
3031     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3032     HRESULT overflowY([retval, out] BSTR *p);
3033
3034     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3035     HRESULT textTransform([retval, out] BSTR *p);
3036 }
3037
3038 /*****************************************************************************
3039  *    IHTMLCurrentStyle2 interface
3040  */
3041 [
3042     odl,
3043     oleautomation,
3044     dual,
3045     uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
3046 ]
3047 interface IHTMLCurrentStyle2 : IDispatch
3048 {
3049     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3050     HRESULT layoutFlow([retval, out] BSTR * p);
3051
3052     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3053     HRESULT wordWrap([retval, out] BSTR * p);
3054
3055     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3056     HRESULT textUnderlinePosition([retval, out] BSTR * p);
3057
3058     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3059     HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
3060
3061     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3062     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
3063
3064     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3065     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
3066
3067     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3068     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
3069
3070     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3071     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
3072
3073     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3074     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
3075
3076     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3077     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
3078
3079     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3080     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
3081
3082     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3083     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
3084
3085     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3086     HRESULT writingMode([retval, out] BSTR * p);
3087
3088     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3089     HRESULT zoom([retval, out] VARIANT * p);
3090
3091     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3092     HRESULT filter([retval, out] BSTR * p);
3093
3094     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3095     HRESULT textAlignLast([retval, out] BSTR * p);
3096
3097     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3098     HRESULT textKashidaSpace([retval, out] VARIANT * p);
3099
3100     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3101     HRESULT isBlock([retval, out] VARIANT_BOOL * p);
3102 }
3103
3104 /*****************************************************************************
3105  *    IHTMLCurrentStyle3 interface
3106  */
3107 [
3108     odl,
3109     oleautomation,
3110     dual,
3111     uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
3112 ]
3113 interface IHTMLCurrentStyle3 : IDispatch
3114 {
3115     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3116     HRESULT textOverflow([retval, out] BSTR * p);
3117
3118     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3119     HRESULT minHeight([retval, out] VARIANT * p);
3120
3121     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3122     HRESULT wordSpacing([retval, out] VARIANT * p);
3123
3124     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3125     HRESULT whiteSpace([retval, out] BSTR * p);
3126 }
3127
3128 /*****************************************************************************
3129  *    IHTMLCurrentStyle4 interface
3130  */
3131 [
3132     odl,
3133     oleautomation,
3134     dual,
3135     uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
3136 ]
3137 interface IHTMLCurrentStyle4 : IDispatch
3138 {
3139     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3140     HRESULT msInterpolationMode([retval, out] BSTR * p);
3141
3142     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3143     HRESULT maxHeight([retval, out] VARIANT * p);
3144
3145     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3146     HRESULT minWidth([retval, out] VARIANT * p);
3147
3148     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3149     HRESULT maxWidth([retval, out] VARIANT * p);
3150 }
3151
3152 /*****************************************************************************
3153  *    DispHTMLCurrentStyle dispinterface
3154  */
3155 [
3156     hidden,
3157     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
3158 ]
3159 dispinterface DispHTMLCurrentStyle
3160 {
3161 properties:
3162 methods:
3163     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
3164     BSTR position();
3165
3166     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
3167     BSTR styleFloat();
3168
3169     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
3170     VARIANT color();
3171
3172     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
3173     VARIANT backgroundColor();
3174
3175     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
3176     BSTR fontFamily();
3177
3178     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
3179     BSTR fontStyle();
3180
3181     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
3182     BSTR fontVariant();
3183
3184     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
3185     VARIANT fontWeight();
3186
3187     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
3188     VARIANT fontSize();
3189
3190     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
3191     BSTR backgroundImage();
3192
3193     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
3194     VARIANT backgroundPositionX();
3195
3196     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
3197     VARIANT backgroundPositionY();
3198
3199     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
3200     BSTR backgroundRepeat();
3201
3202     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
3203     VARIANT borderLeftColor();
3204
3205     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
3206     VARIANT borderTopColor();
3207
3208     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
3209     VARIANT borderRightColor();
3210
3211     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
3212     VARIANT borderBottomColor();
3213
3214     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
3215     BSTR borderTopStyle();
3216
3217     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
3218     BSTR borderRightStyle();
3219
3220     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
3221     BSTR borderBottomStyle();
3222
3223     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
3224     BSTR borderLeftStyle();
3225
3226     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
3227     VARIANT borderTopWidth();
3228
3229     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
3230     VARIANT borderRightWidth();
3231
3232     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
3233     VARIANT borderBottomWidth();
3234
3235     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
3236     VARIANT borderLeftWidth();
3237
3238     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
3239     VARIANT left();
3240
3241     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
3242     VARIANT top();
3243
3244     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
3245     VARIANT width();
3246
3247     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
3248     VARIANT height();
3249
3250     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
3251     VARIANT paddingLeft();
3252
3253     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
3254     VARIANT paddingTop();
3255
3256     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
3257     VARIANT paddingRight();
3258
3259     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
3260     VARIANT paddingBottom();
3261
3262     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
3263     BSTR textAlign();
3264
3265     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
3266     BSTR textDecoration();
3267
3268     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
3269     BSTR display();
3270
3271     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
3272     BSTR visibility();
3273
3274     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
3275     VARIANT zIndex();
3276
3277     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
3278     VARIANT letterSpacing();
3279
3280     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
3281     VARIANT lineHeight();
3282
3283     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
3284     VARIANT textIndent();
3285
3286     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
3287     VARIANT verticalAlign();
3288
3289     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
3290     BSTR backgroundAttachment();
3291
3292     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
3293     VARIANT marginTop();
3294
3295     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3296     VARIANT marginRight();
3297
3298     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3299     VARIANT marginBottom();
3300
3301     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3302     VARIANT marginLeft();
3303
3304     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3305     BSTR clear();
3306
3307     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3308     BSTR listStyleType();
3309
3310     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3311     BSTR listStylePosition();
3312
3313     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3314     BSTR listStyleImage();
3315
3316     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3317     VARIANT clipTop();
3318
3319     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3320     VARIANT clipRight();
3321
3322     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3323     VARIANT clipBottom();
3324
3325     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3326     VARIANT clipLeft();
3327
3328     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3329     BSTR overflow();
3330
3331     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3332     BSTR pageBreakBefore();
3333
3334     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3335     BSTR pageBreakAfter();
3336
3337     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3338     BSTR cursor();
3339
3340     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3341     BSTR tableLayout();
3342
3343     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3344     BSTR borderCollapse();
3345
3346     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3347     BSTR direction();
3348
3349     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3350     BSTR behavior();
3351
3352     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3353     VARIANT getAttribute(
3354             [in] BSTR strAttributeName,
3355             [in, defaultvalue(0)] LONG lFlags);
3356
3357     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3358     BSTR unicodeBidi();
3359
3360     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3361     VARIANT right();
3362
3363     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3364     VARIANT bottom();
3365
3366     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3367     BSTR imeMode();
3368
3369     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3370     BSTR rubyAlign();
3371
3372     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3373     BSTR rubyPosition();
3374
3375     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3376     BSTR rubyOverhang();
3377
3378     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3379     BSTR textAutospace();
3380
3381     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3382     BSTR lineBreak();
3383
3384     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3385     BSTR wordBreak();
3386
3387     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3388     BSTR textJustify();
3389
3390     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3391     BSTR textJustifyTrim();
3392
3393     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3394     VARIANT textKashida();
3395
3396     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3397     BSTR blockDirection();
3398
3399     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3400     VARIANT layoutGridChar();
3401
3402     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3403     VARIANT layoutGridLine();
3404
3405     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3406     BSTR layoutGridMode();
3407
3408     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3409     BSTR layoutGridType();
3410
3411     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3412     BSTR borderStyle();
3413
3414     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3415     BSTR borderColor();
3416
3417     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3418     BSTR borderWidth();
3419
3420     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3421     BSTR padding();
3422
3423     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3424     BSTR margin();
3425
3426     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3427     BSTR accelerator();
3428
3429     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3430     BSTR overflowX();
3431
3432     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3433     BSTR overflowY();
3434
3435     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3436     BSTR textTransform();
3437
3438     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3439     BSTR layoutFlow();
3440
3441     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3442     BSTR wordWrap();
3443
3444     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3445     BSTR textUnderlinePosition();
3446
3447     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3448     VARIANT_BOOL hasLayout();
3449
3450     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3451     VARIANT scrollbarBaseColor();
3452
3453     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3454     VARIANT scrollbarFaceColor();
3455
3456     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3457     VARIANT scrollbar3dLightColor();
3458
3459     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3460     VARIANT scrollbarShadowColor();
3461
3462     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3463     VARIANT scrollbarHighlightColor();
3464
3465     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3466     VARIANT scrollbarDarkShadowColor();
3467
3468     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3469     VARIANT scrollbarArrowColor();
3470
3471     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3472     VARIANT scrollbarTrackColor();
3473
3474     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3475     BSTR writingMode();
3476
3477     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3478     VARIANT zoom();
3479
3480     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3481     BSTR filter();
3482
3483     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3484     BSTR textAlignLast();
3485
3486     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3487     VARIANT textKashidaSpace();
3488
3489     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3490     VARIANT_BOOL isBlock();
3491
3492     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3493     BSTR textOverflow();
3494
3495     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3496     VARIANT minHeight();
3497
3498     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3499     VARIANT wordSpacing();
3500
3501     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3502     BSTR whiteSpace();
3503
3504     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3505     BSTR msInterpolationMode();
3506
3507     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3508     VARIANT maxHeight();
3509
3510     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3511     VARIANT minWidth();
3512
3513     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3514     VARIANT maxWidth();
3515 }
3516
3517 [
3518     noncreatable,
3519     uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3520 ]
3521 coclass HTMLCurrentStyle
3522 {
3523     [default] dispinterface DispHTMLCurrentStyle;
3524     interface IHTMLCurrentStyle;
3525     interface IHTMLCurrentStyle2;
3526     interface IHTMLCurrentStyle3;
3527     interface IHTMLCurrentStyle4;
3528 }
3529
3530 /*****************************************************************************
3531  *    IHTMLRect interface
3532  */
3533 [
3534     odl,
3535     oleautomation,
3536     dual,
3537     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3538 ]
3539 interface IHTMLRect : IDispatch
3540 {
3541     [propput, id(DISPID_IHTMLRECT_LEFT)]
3542     HRESULT left([in] LONG v);
3543
3544     [propget, id(DISPID_IHTMLRECT_LEFT)]
3545     HRESULT left([retval, out] LONG *p);
3546
3547     [propput, id(DISPID_IHTMLRECT_TOP)]
3548     HRESULT top([in] LONG v);
3549
3550     [propget, id(DISPID_IHTMLRECT_TOP)]
3551     HRESULT top([retval, out] LONG *p);
3552
3553     [propput, id(DISPID_IHTMLRECT_RIGHT)]
3554     HRESULT right([in] LONG v);
3555
3556     [propget, id(DISPID_IHTMLRECT_RIGHT)]
3557     HRESULT right([retval, out] LONG *p);
3558
3559     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3560     HRESULT bottom([in] LONG v);
3561
3562     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3563     HRESULT bottom([retval, out] LONG *p);
3564 }
3565
3566 /*****************************************************************************
3567  *    IHTMLRectCollection interface
3568  */
3569 [
3570     odl,
3571     oleautomation,
3572     dual,
3573     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3574 ]
3575 interface IHTMLRectCollection : IDispatch
3576 {
3577     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3578     HRESULT length([retval, out] LONG *p);
3579
3580     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3581     HRESULT _newEnum([retval, out] IUnknown **p);
3582
3583     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3584     HRESULT item(
3585         [in] VARIANT *pvarIndex,
3586         [retval, out] VARIANT *pvarResult);
3587 }
3588
3589 /*****************************************************************************
3590  *    IHTMLDOMNode interface
3591  */
3592 [
3593     odl,
3594     oleautomation,
3595     dual,
3596     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3597 ]
3598 interface IHTMLDOMNode : IDispatch
3599 {
3600     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3601     HRESULT nodeType([retval, out] LONG *p);
3602
3603     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3604     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3605
3606     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3607     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3608
3609     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3610     HRESULT childNodes([retval, out] IDispatch **p);
3611
3612     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3613     HRESULT attributes([retval, out] IDispatch **p);
3614
3615     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3616     HRESULT insertBefore(
3617         [in] IHTMLDOMNode *newChild,
3618         [optional, in] VARIANT refChild,
3619         [retval, out] IHTMLDOMNode **node);
3620
3621     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3622     HRESULT removeChild(
3623         [in] IHTMLDOMNode *oldChild,
3624         [retval, out] IHTMLDOMNode **node);
3625
3626     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3627     HRESULT replaceChild(
3628         [in] IHTMLDOMNode *newChild,
3629         [in] IHTMLDOMNode *oldChild,
3630         [retval, out] IHTMLDOMNode **node);
3631
3632     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3633     HRESULT cloneNode(
3634         [in] VARIANT_BOOL fDeep,
3635         [retval, out] IHTMLDOMNode **clonedNode);
3636
3637     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3638     HRESULT removeNode(
3639         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3640         [retval, out] IHTMLDOMNode **removed);
3641
3642     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3643     HRESULT swapNode(
3644         [in] IHTMLDOMNode *otherNode,
3645         [retval, out] IHTMLDOMNode **swappedNode);
3646
3647     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3648     HRESULT replaceNode(
3649         [in] IHTMLDOMNode *replacement,
3650         [retval, out] IHTMLDOMNode **replaced);
3651
3652     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3653     HRESULT appendChild(
3654         [in] IHTMLDOMNode *newChild,
3655         [retval, out] IHTMLDOMNode **node);
3656
3657     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3658     HRESULT nodeName([retval, out] BSTR *p);
3659
3660     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3661     HRESULT nodeValue([in] VARIANT v);
3662
3663     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3664     HRESULT nodeValue([retval, out] VARIANT *p);
3665
3666     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3667     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3668
3669     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3670     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3671
3672     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3673     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3674
3675     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3676     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3677 }
3678
3679 #define WINE_IHTMLDOMNODE_DISPINTERFACE_DECL                            \
3680     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]                         \
3681     LONG nodeType();                                                    \
3682                                                                         \
3683     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]                       \
3684     IHTMLDOMNode* parentNode();                                         \
3685                                                                         \
3686     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]                             \
3687     VARIANT_BOOL hasChildNodes();                                       \
3688                                                                         \
3689     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]                       \
3690     IDispatch* childNodes();                                            \
3691                                                                         \
3692     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]                       \
3693     IDispatch* attributes();                                            \
3694                                                                         \
3695     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]                              \
3696     IHTMLDOMNode* insertBefore(                                         \
3697             [in] IHTMLDOMNode* newChild,                                \
3698             [optional, in] VARIANT refChild);                           \
3699                                                                         \
3700     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]                               \
3701     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);             \
3702                                                                         \
3703     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]                              \
3704     IHTMLDOMNode* replaceChild(                                         \
3705         [in] IHTMLDOMNode* newChild,                                    \
3706         [in] IHTMLDOMNode* oldChild);                                   \
3707                                                                         \
3708     [id(DISPID_IHTMLDOMNODE_CLONENODE)]                                 \
3709     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);                   \
3710                                                                         \
3711     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]                                \
3712     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep); \
3713                                                                         \
3714     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]                                  \
3715     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);               \
3716                                                                         \
3717     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]                               \
3718     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);          \
3719                                                                         \
3720     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]                               \
3721     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);             \
3722                                                                         \
3723     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]                         \
3724     BSTR nodeName();                                                    \
3725                                                                         \
3726     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3727     void nodeValue(VARIANT v);                                          \
3728                                                                         \
3729     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3730     VARIANT nodeValue();                                                \
3731                                                                         \
3732     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]                       \
3733     IHTMLDOMNode* firstChild();                                         \
3734                                                                         \
3735     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]                        \
3736     IHTMLDOMNode* lastChild();                                          \
3737                                                                         \
3738     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]                  \
3739     IHTMLDOMNode* previousSibling();                                    \
3740                                                                         \
3741     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]                      \
3742     IHTMLDOMNode* nextSibling()
3743
3744 /*****************************************************************************
3745  *    IHTMLDOMNode2 interface
3746  */
3747 [
3748     odl,
3749     oleautomation,
3750     dual,
3751     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3752 ]
3753 interface IHTMLDOMNode2 : IDispatch
3754 {
3755     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3756     HRESULT ownerDocument([retval, out] IDispatch **p);
3757 }
3758
3759 #define WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL           \
3760     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]   \
3761     IDispatch *ownerDocument()
3762
3763 #define WINE_HTMLDOMNODE_DISPINTERFACE_DECL     \
3764     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;       \
3765     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL
3766
3767 /*****************************************************************************
3768  *    IHTMLDOMAttribute interface
3769  */
3770 [
3771     odl,
3772     oleautomation,
3773     dual,
3774     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3775 ]
3776 interface IHTMLDOMAttribute : IDispatch
3777 {
3778     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3779     HRESULT nodeName([retval, out] BSTR *p);
3780
3781     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3782     HRESULT nodeValue([in] VARIANT v);
3783
3784     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3785     HRESULT nodeValue([retval, out] VARIANT *p);
3786
3787     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3788     HRESULT specified([retval, out] VARIANT_BOOL *p);
3789 }
3790
3791 /*****************************************************************************
3792  *    IHTMLDOMAttribute2 interface
3793  */
3794 [
3795     odl,
3796     oleautomation,
3797     dual,
3798     uuid(3050f810-98b5-11cf-bb82-00aa00bdce0b)
3799 ]
3800 interface IHTMLDOMAttribute2 : IDispatch
3801 {
3802     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3803     HRESULT name([retval, out] BSTR *p);
3804
3805     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3806     HRESULT value([in] BSTR v);
3807
3808     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3809     HRESULT value([retval, out] BSTR *p);
3810
3811     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3812     HRESULT expando([retval, out] VARIANT_BOOL *p);
3813
3814     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3815     HRESULT nodeType([retval, out] long *p);
3816
3817     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3818     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3819
3820     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
3821     HRESULT childNodes([retval, out] IDispatch **p);
3822
3823     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
3824     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3825
3826     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
3827     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3828
3829     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
3830     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3831
3832     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
3833     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3834
3835     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
3836     HRESULT attributes([retval, out] IDispatch **p);
3837
3838     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
3839     HRESULT ownerDocument([retval, out] IDispatch **p);
3840
3841     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
3842     HRESULT insertBefore(
3843             [in] IHTMLDOMNode *newChild,
3844             [optional, in] VARIANT refChild,
3845             [retval, out] IHTMLDOMNode **node);
3846
3847     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
3848     HRESULT replaceChild(
3849             [in] IHTMLDOMNode *newChild,
3850             [in] IHTMLDOMNode *oldChild,
3851             [retval, out] IHTMLDOMNode **node);
3852
3853     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
3854     HRESULT removeChild(
3855             [in] IHTMLDOMNode *oldChild,
3856             [retval, out] IHTMLDOMNode **node);
3857
3858     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
3859     HRESULT appendChild(
3860             [in] IHTMLDOMNode *newChild,
3861             [retval, out] IHTMLDOMNode **node);
3862
3863     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
3864     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3865
3866     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
3867     HRESULT cloneNode(
3868             [in] VARIANT_BOOL fDeep,
3869             [retval, out] IHTMLDOMAttribute **clonedNode);
3870 }
3871
3872 /*****************************************************************************
3873  *    IHTMLDOMTextNode interface
3874  */
3875 [
3876     odl,
3877     oleautomation,
3878     dual,
3879     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3880 ]
3881 interface IHTMLDOMTextNode : IDispatch
3882 {
3883     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3884     HRESULT data([in] BSTR v);
3885
3886     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3887     HRESULT data([out, retval] BSTR *p);
3888
3889     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3890     HRESULT toString([out, retval] BSTR *String);
3891
3892     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3893     HRESULT length([out, retval] LONG *p);
3894
3895     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3896     HRESULT splitText(
3897             [in] LONG offset,
3898             [out, retval] IHTMLDOMNode **pRetNode);
3899 }
3900
3901 /*****************************************************************************
3902  *    IHTMLDOMTextNode2 interface
3903  */
3904 [
3905     odl,
3906     oleautomation,
3907     dual,
3908     uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
3909 ]
3910 interface IHTMLDOMTextNode2 : IDispatch
3911 {
3912     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3913     HRESULT substringData([in] LONG offset,[in] LONG Count,[retval, out] BSTR* pbstrsubString);
3914
3915     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3916     HRESULT appendData([in] BSTR bstrstring);
3917
3918     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3919     HRESULT insertData([in] LONG offset,[in] BSTR bstrstring);
3920
3921     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3922     HRESULT deleteData([in] LONG offset,[in] LONG Count);
3923
3924     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3925     HRESULT replaceData([in] LONG offset,[in] LONG Count,[in] BSTR bstrstring);
3926 }
3927
3928 [
3929     noncreatable,
3930     uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
3931 ]
3932 coclass HTMLDOMTextNode
3933 {
3934     [default]           dispinterface DispHTMLDOMTextNode;
3935                         interface IHTMLDOMTextNode;
3936                         interface IHTMLDOMTextNode2;
3937                         interface IHTMLDOMNode;
3938                         interface IHTMLDOMNode2;
3939 }
3940
3941 /*****************************************************************************
3942  *    IHTMLDOMImplementation interface
3943  */
3944 [
3945     odl,
3946     oleautomation,
3947     dual,
3948     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3949 ]
3950 interface IHTMLDOMImplementation : IDispatch
3951 {
3952     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3953     HRESULT hasFeature(
3954         [in] BSTR bstrfeature,
3955         [optional, in] VARIANT version,
3956         [retval, out] VARIANT_BOOL *pfHasFeature);
3957 }
3958
3959 /*****************************************************************************
3960  *    DispHTMLDOMAttribute dispinterface
3961  */
3962 [
3963     hidden,
3964     uuid(3050f564-98b5-11cf-bb82-00aa00bdce0b)
3965 ]
3966 dispinterface DispHTMLDOMAttribute
3967 {
3968  properties:
3969     methods:
3970     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3971     BSTR nodeName();
3972
3973     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3974     void nodeValue(VARIANT v);
3975
3976     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3977     VARIANT nodeValue();
3978
3979     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3980     VARIANT_BOOL specified();
3981
3982     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3983     BSTR name();
3984
3985     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3986     void value(BSTR v);
3987
3988     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3989     BSTR value();
3990
3991     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3992     VARIANT_BOOL expando();
3993
3994     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3995     long nodeType();
3996
3997     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3998     IHTMLDOMNode *parentNode();
3999
4000     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
4001     IDispatch *childNodes();
4002
4003     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
4004     IHTMLDOMNode *firstChild();
4005
4006     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
4007     IHTMLDOMNode *lastChild();
4008
4009     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
4010     IHTMLDOMNode *previousSibling();
4011
4012     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
4013     IHTMLDOMNode *nextSibling();
4014
4015     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
4016     IDispatch *attributes();
4017
4018     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
4019     IDispatch *ownerDocument();
4020
4021     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
4022     IHTMLDOMNode *insertBefore(
4023             [in] IHTMLDOMNode *newChild,
4024             [optional, in] VARIANT refChild);
4025
4026     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
4027     IHTMLDOMNode *replaceChild(
4028             [in] IHTMLDOMNode *newChild,
4029             [in] IHTMLDOMNode *oldChild);
4030
4031     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
4032     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
4033
4034     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
4035     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
4036
4037     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
4038     VARIANT_BOOL hasChildNodes();
4039
4040     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
4041     IHTMLDOMAttribute *cloneNode([in] VARIANT_BOOL fDeep);
4042
4043     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
4044     void ie8_nodeValue(VARIANT v);
4045
4046     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
4047     VARIANT ie8_nodeValue();
4048
4049     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
4050     void ie8_value(BSTR v);
4051
4052     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
4053     BSTR ie8_value();
4054
4055     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_SPECIFIED)]
4056     VARIANT_BOOL ie8_specified();
4057
4058     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_OWNERELEMENT)]
4059     IHTMLElement2 *ownerElement();
4060
4061     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
4062 }
4063
4064 /*****************************************************************************
4065  *    IHTMLDocumentCompatibleInfo interface
4066  */
4067 [
4068     odl,
4069     oleautomation,
4070     dual,
4071     uuid(3051041a-98b5-11cf-bb82-00aa00bdce0b)
4072 ]
4073 interface IHTMLDocumentCompatibleInfo : IDispatch
4074 {
4075     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_USERAGENT)]
4076     HRESULT userAgent([retval, out] BSTR *p);
4077
4078     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_VERSION)]
4079     HRESULT version([retval, out] BSTR *p);
4080 }
4081
4082 /*****************************************************************************
4083  *    IHTMLDocumentCompatibleInfoCollection interface
4084  */
4085 [
4086     odl,
4087     oleautomation,
4088     dual,
4089     uuid(30510418-98b5-11cf-bb82-00aa00bdce0b)
4090 ]
4091 interface IHTMLDocumentCompatibleInfoCollection : IDispatch
4092 {
4093     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_LENGTH)]
4094     HRESULT length([retval, out] long *p);
4095
4096     [id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_ITEM)]
4097     HRESULT item([in] long i, [retval, out]IHTMLDocumentCompatibleInfo **p);
4098 }
4099
4100 /*****************************************************************************
4101  *    DispHTMLDOMTextNode dispinterface
4102  */
4103 [
4104     hidden,
4105     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
4106 ]
4107 dispinterface DispHTMLDOMTextNode
4108 {
4109 properties:
4110 methods:
4111     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4112     void data(BSTR v);
4113
4114     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4115     BSTR data();
4116
4117     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
4118     BSTR toString();
4119
4120     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
4121     LONG length();
4122
4123     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
4124     IHTMLDOMNode *splitText([in] LONG offset);
4125
4126     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
4127     BSTR substringData(
4128             [in] LONG offset,
4129             [in] LONG Count);
4130
4131     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
4132     void appendData([in] BSTR bstrstring);
4133
4134     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
4135     void insertData(
4136             [in] LONG offset,
4137             [in] BSTR bstrstring);
4138
4139     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
4140     void deleteData(
4141             [in] LONG offset,
4142             [in] LONG Count);
4143
4144     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
4145     void replaceData(
4146             [in] LONG offset,
4147             [in] LONG Count,
4148             [in] BSTR bstrstring);
4149
4150     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
4151 }
4152
4153 /*****************************************************************************
4154  *    IHTMLAttributeCollection interface
4155  */
4156 [
4157     odl,
4158     oleautomation,
4159     dual,
4160     uuid(3050f4c3-98b5-11cf-bb82-00aa00bdce0b)
4161 ]
4162 interface IHTMLAttributeCollection : IDispatch
4163 {
4164     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION_LENGTH)]
4165     HRESULT length(
4166             [retval, out] long *p);
4167
4168     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION__NEWENUM), hidden, restricted]
4169     HRESULT _newEnum(
4170             [retval, out] IUnknown **p);
4171
4172     [id(DISPID_IHTMLATTRIBUTECOLLECTION_ITEM)]
4173     HRESULT item(
4174             [optional, in] VARIANT *name,
4175             [retval, out] IDispatch **pdisp);
4176 }
4177
4178 /*****************************************************************************
4179  *    IHTMLAttributeCollection2 interface
4180  */
4181 [
4182     odl,
4183     oleautomation,
4184     dual,
4185     uuid(3050f80a-98b5-11cf-bb82-00aa00bdce0b)
4186     ]
4187 interface IHTMLAttributeCollection2 : IDispatch
4188 {
4189     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_GETNAMEDITEM)]
4190     HRESULT getNamedItem(
4191             [in] BSTR bstrName,
4192             [retval, out] IHTMLDOMAttribute **newretNode);
4193
4194     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_SETNAMEDITEM)]
4195     HRESULT setNamedItem(
4196             [in] IHTMLDOMAttribute *ppNode,
4197             [retval, out] IHTMLDOMAttribute **newretNode);
4198
4199     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_REMOVENAMEDITEM)]
4200     HRESULT removeNamedItem(
4201             [in] BSTR bstrName,
4202             [retval, out] IHTMLDOMAttribute **newretNode);
4203 }
4204
4205 /*****************************************************************************
4206  *    IHTMLAttributeCollection3 interface
4207  */
4208 [
4209     odl,
4210     oleautomation,
4211     dual,
4212     uuid(30510469-98b5-11cf-bb82-00aa00bdce0b)
4213 ]
4214 interface IHTMLAttributeCollection3 : IDispatch
4215 {
4216     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
4217     HRESULT getNamedItem(
4218             [in] BSTR bstrName,
4219             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4220
4221     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
4222     HRESULT setNamedItem(
4223             [in] IHTMLDOMAttribute *pNodeIn,
4224             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4225
4226     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
4227     HRESULT removeNamedItem(
4228             [in] BSTR bstrName,
4229             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4230
4231     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
4232     HRESULT item(
4233             [in] long index,
4234             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4235
4236     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
4237     HRESULT length([retval, out] long *p);
4238 }
4239
4240 /*****************************************************************************
4241  *    DispHTMLAttributeCollection dispinterface
4242  */
4243 [
4244     hidden,
4245     uuid(3050f56c-98b5-11cf-bb82-00aa00bdce0b)
4246 ]
4247 dispinterface DispHTMLAttributeCollection
4248 {
4249 properties:
4250 methods:
4251     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION_LENGTH)]
4252     long length();
4253
4254     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION__NEWENUM), hidden, restricted]
4255     IUnknown *_newEnum();
4256
4257     [id(DISPID_IHTMLATTRIBUTECOLLECTION_ITEM)]
4258     IDispatch *item([optional, in] VARIANT *name);
4259
4260     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_GETNAMEDITEM)]
4261     IHTMLDOMAttribute *getNamedItem([in] BSTR bstrName);
4262
4263     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_SETNAMEDITEM)]
4264     IHTMLDOMAttribute *setNamedItem([in] IHTMLDOMAttribute *ppNode);
4265
4266     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_REMOVENAMEDITEM)]
4267     IHTMLDOMAttribute *removeNamedItem([in] BSTR bstrName);
4268
4269     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
4270     IHTMLDOMAttribute *ie8_getNamedItem([in] BSTR bstrName);
4271
4272     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
4273     IHTMLDOMAttribute *ie8_setNamedItem([in] IHTMLDOMAttribute *pNodeIn);
4274
4275     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
4276     IHTMLDOMAttribute *ie8_removeNamedItem([in] BSTR bstrName);
4277
4278     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
4279     IHTMLDOMAttribute *ie8_item([in] long index);
4280
4281     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
4282     long ie8_length();
4283
4284     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
4285     IDispatch *constructor();
4286 }
4287
4288 /*****************************************************************************
4289  *    IHTMLDOMChildrenCollection interface
4290  */
4291 [
4292     odl,
4293     oleautomation,
4294     dual,
4295     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
4296 ]
4297 interface IHTMLDOMChildrenCollection : IDispatch
4298 {
4299     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
4300     HRESULT length([out, retval] LONG *p);
4301
4302     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
4303     HRESULT _newEnum([out, retval] IUnknown **p);
4304
4305     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
4306     HRESULT item(
4307             [in] LONG index,
4308             [out, retval] IDispatch **ppItem);
4309 }
4310
4311 /*****************************************************************************
4312  *    DispDOMChildrenCollection dispinterface
4313  */
4314 [
4315     hidden,
4316     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
4317 ]
4318 dispinterface DispDOMChildrenCollection
4319 {
4320 properties:
4321 methods:
4322     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
4323     LONG length();
4324
4325     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
4326     IUnknown *_newEnum();
4327
4328     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
4329     IDispatch *item([in] LONG index);
4330 }
4331
4332 interface IHTMLElementCollection;
4333
4334 /*****************************************************************************
4335  *    IHTMLElement interface
4336  */
4337 [
4338     odl,
4339     dual,
4340     oleautomation,
4341     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
4342 ]
4343 interface IHTMLElement : IDispatch
4344 {
4345     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
4346     HRESULT setAttribute(
4347         [in] BSTR strAttributeName,
4348         [in] VARIANT AttributeValue,
4349         [defaultvalue(1), in] LONG lFlags);
4350
4351     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
4352     HRESULT getAttribute(
4353         [in] BSTR strAttributeName,
4354         [defaultvalue(0), in] LONG lFlags,
4355         [retval, out] VARIANT *AttributeValue);
4356
4357     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
4358     HRESULT removeAttribute(
4359         [in] BSTR strAttributeName,
4360         [defaultvalue(1), in] LONG lFlags,
4361         [retval, out] VARIANT_BOOL *pfSuccess);
4362
4363     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
4364     HRESULT className([in] BSTR v);
4365
4366     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
4367     HRESULT className([retval, out] BSTR *p);
4368
4369     [propput, id(DISPID_IHTMLELEMENT_ID)]
4370     HRESULT id([in] BSTR v);
4371
4372     [propget, id(DISPID_IHTMLELEMENT_ID)]
4373     HRESULT id([retval, out] BSTR *p);
4374
4375     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4376     HRESULT tagName([retval, out] BSTR *p);
4377
4378     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4379     HRESULT parentElement([retval, out] IHTMLElement **p);
4380
4381     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
4382     HRESULT style([retval, out] IHTMLStyle **p);
4383
4384     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
4385     HRESULT onhelp([in] VARIANT v);
4386
4387     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
4388     HRESULT onhelp([retval, out] VARIANT *p);
4389
4390     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
4391     HRESULT onclick([in] VARIANT v);
4392
4393     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
4394     HRESULT onclick([retval, out] VARIANT *p);
4395
4396     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4397     HRESULT ondblclick([in] VARIANT v);
4398
4399     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4400     HRESULT ondblclick([retval, out] VARIANT *p);
4401
4402     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4403     HRESULT onkeydown([in] VARIANT v);
4404
4405     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4406     HRESULT onkeydown([retval, out] VARIANT *p);
4407
4408     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4409     HRESULT onkeyup([in] VARIANT v);
4410
4411     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4412     HRESULT onkeyup([retval, out] VARIANT *p);
4413
4414     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4415     HRESULT onkeypress([in] VARIANT v);
4416
4417     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4418     HRESULT onkeypress([retval, out] VARIANT *p);
4419
4420     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4421     HRESULT onmouseout([in] VARIANT v);
4422
4423     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4424     HRESULT onmouseout([retval, out] VARIANT *p);
4425
4426     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4427     HRESULT onmouseover([in] VARIANT v);
4428
4429     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4430     HRESULT onmouseover([retval, out] VARIANT *p);
4431
4432     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4433     HRESULT onmousemove([in] VARIANT v);
4434
4435     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4436     HRESULT onmousemove([retval, out] VARIANT *p);
4437
4438     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4439     HRESULT onmousedown([in] VARIANT v);
4440
4441     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4442     HRESULT onmousedown([retval, out] VARIANT *p);
4443
4444     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4445     HRESULT onmouseup([in] VARIANT v);
4446
4447     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4448     HRESULT onmouseup([retval, out] VARIANT *p);
4449
4450     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4451     HRESULT document([retval, out] IDispatch **p);
4452
4453     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
4454     HRESULT title([in] BSTR v);
4455
4456     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
4457     HRESULT title([retval, out] BSTR *p);
4458
4459     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4460     HRESULT language([in] BSTR v);
4461
4462     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4463     HRESULT language([retval, out] BSTR *p);
4464
4465     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4466     HRESULT onselectstart([in] VARIANT v);
4467
4468     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4469     HRESULT onselectstart([retval, out] VARIANT *p);
4470
4471     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4472     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
4473
4474     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4475     HRESULT contains(
4476         [in] IHTMLElement *pChild,
4477         [retval, out] VARIANT_BOOL *pfResult);
4478
4479     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
4480     HRESULT sourceIndex([retval, out] LONG *p);
4481
4482     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4483     HRESULT recordNumber([retval, out] VARIANT *p);
4484
4485     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4486     HRESULT lang([in] BSTR v);
4487
4488     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4489     HRESULT lang([retval, out] BSTR *p);
4490
4491     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4492     HRESULT offsetLeft([retval, out] LONG *p);
4493
4494     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4495     HRESULT offsetTop([retval, out] LONG *p);
4496
4497     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4498     HRESULT offsetWidth([retval, out] LONG *p);
4499
4500     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4501     HRESULT offsetHeight([retval, out] LONG *p);
4502
4503     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4504     HRESULT offsetParent([retval, out] IHTMLElement **p);
4505
4506     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4507     HRESULT innerHTML([in] BSTR v);
4508
4509     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4510     HRESULT innerHTML([retval, out] BSTR *p);
4511
4512     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4513     HRESULT innerText([in] BSTR v);
4514
4515     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4516     HRESULT innerText([retval, out] BSTR *p);
4517
4518     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4519     HRESULT outerHTML([in] BSTR v);
4520
4521     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4522     HRESULT outerHTML([retval, out] BSTR *p);
4523
4524     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4525     HRESULT outerText([in] BSTR v);
4526
4527     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4528     HRESULT outerText([retval, out] BSTR *p);
4529
4530     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4531     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
4532
4533     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4534     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
4535
4536     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4537     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
4538
4539     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4540     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
4541
4542     [id(DISPID_IHTMLELEMENT_CLICK)]
4543     HRESULT click();
4544
4545     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4546     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
4547
4548     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4549     HRESULT ondragstart([in] VARIANT v);
4550
4551     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4552     HRESULT ondragstart([retval, out] VARIANT *p);
4553
4554     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4555     HRESULT toString([retval, out] BSTR *String);
4556
4557     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4558     HRESULT onbeforeupdate([in] VARIANT v);
4559
4560     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4561     HRESULT onbeforeupdate([retval, out] VARIANT *p);
4562
4563     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4564     HRESULT onafterupdate([in] VARIANT v);
4565
4566     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4567     HRESULT onafterupdate([retval, out] VARIANT *p);
4568
4569     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4570     HRESULT onerrorupdate([in] VARIANT v);
4571
4572     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4573     HRESULT onerrorupdate([retval, out] VARIANT *p);
4574
4575     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4576     HRESULT onrowexit([in] VARIANT v);
4577
4578     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4579     HRESULT onrowexit([retval, out] VARIANT *p);
4580
4581     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4582     HRESULT onrowenter([in] VARIANT v);
4583
4584     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4585     HRESULT onrowenter([retval, out] VARIANT *p);
4586
4587     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4588     HRESULT ondatasetchanged([in] VARIANT v);
4589
4590     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4591     HRESULT ondatasetchanged([retval, out] VARIANT *p);
4592
4593     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4594     HRESULT ondataavailable([in] VARIANT v);
4595
4596     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4597     HRESULT ondataavailable([retval, out] VARIANT *p);
4598
4599     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4600     HRESULT ondatasetcomplete([in] VARIANT v);
4601
4602     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4603     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
4604
4605     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4606     HRESULT onfilterchange([in] VARIANT v);
4607
4608     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4609     HRESULT onfilterchange([retval, out] VARIANT *p);
4610
4611     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4612     HRESULT children([retval, out] IDispatch **p);
4613
4614     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4615     HRESULT all([retval, out] IDispatch **p);
4616 }
4617
4618 #define WINE_IHTMLELEMENT_DISPINTERFACE_DECL                            \
4619     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]                              \
4620     void setAttribute(                                                  \
4621         [in] BSTR strAttributeName,                                     \
4622         [in] VARIANT AttValue,                                          \
4623         [defaultvalue(1), in] LONG lFlags);                             \
4624                                                                         \
4625     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]                              \
4626     VARIANT getAttribute(                                               \
4627         [in] BSTR strAttributeName,                                     \
4628         [defaultvalue(0), in] LONG lFlags);                             \
4629                                                                         \
4630     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]                           \
4631     VARIANT_BOOL removeAttribute(                                       \
4632         [in] BSTR strAttributeName,                                     \
4633         [defaultvalue(1), in] LONG lFlags);                             \
4634                                                                         \
4635     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4636     void className(BSTR v);                                             \
4637                                                                         \
4638     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4639     BSTR className();                                                   \
4640                                                                         \
4641     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4642     void id(BSTR v);                                                    \
4643                                                                         \
4644     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4645     BSTR id();                                                          \
4646                                                                         \
4647     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]                          \
4648     BSTR tagName();                                                     \
4649                                                                         \
4650     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]                    \
4651     IHTMLElement *parentElement();                                      \
4652                                                                         \
4653     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]              \
4654     IHTMLStyle *style();                                                \
4655                                                                         \
4656     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4657     void onhelp(VARIANT v);                                             \
4658                                                                         \
4659     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4660     VARIANT onhelp();                                                   \
4661                                                                         \
4662     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4663     void onclick(VARIANT v);                                            \
4664                                                                         \
4665     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4666     VARIANT onclick();                                                  \
4667                                                                         \
4668     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4669     void ondblclick(VARIANT v);                                         \
4670                                                                         \
4671     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4672     VARIANT ondblclick();                                               \
4673                                                                         \
4674     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4675     void onkeydown(VARIANT v);                                          \
4676                                                                         \
4677     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4678     VARIANT onkeydown();                                                \
4679                                                                         \
4680     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4681     void onkeyup(VARIANT v);                                            \
4682                                                                         \
4683     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4684     VARIANT onkeyup();                                                  \
4685                                                                         \
4686     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4687     void onkeypress(VARIANT v);                                         \
4688                                                                         \
4689     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4690     VARIANT onkeypress();                                               \
4691                                                                         \
4692     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4693     void onmouseout(VARIANT v);                                         \
4694                                                                         \
4695     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4696     VARIANT onmouseout();                                               \
4697                                                                         \
4698     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4699     void onmouseover(VARIANT v);                                        \
4700                                                                         \
4701     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4702     VARIANT onmouseover();                                              \
4703                                                                         \
4704     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4705     void onmousemove(VARIANT v);                                        \
4706                                                                         \
4707     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4708     VARIANT onmousemove();                                              \
4709                                                                         \
4710     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4711     void onmousedown(VARIANT v);                                        \
4712                                                                         \
4713     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4714     VARIANT onmousedown();                                              \
4715                                                                         \
4716     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4717     void onmouseup(VARIANT v);                                          \
4718                                                                         \
4719     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4720     VARIANT onmouseup();                                                \
4721                                                                         \
4722     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();  \
4723                                                                         \
4724     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4725     void title(BSTR v);                                                 \
4726                                                                         \
4727     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4728     BSTR title();                                                       \
4729                                                                         \
4730     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4731     void language(BSTR v);                                              \
4732                                                                         \
4733     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4734     BSTR language();                                                    \
4735                                                                         \
4736     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4737     void onselectstart(VARIANT v);                                      \
4738                                                                         \
4739     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4740     VARIANT onselectstart();                                            \
4741                                                                         \
4742     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]                            \
4743     void scrollIntoView([optional, in] VARIANT varargStart);            \
4744                                                                         \
4745     [id(DISPID_IHTMLELEMENT_CONTAINS)]                                  \
4746     VARIANT_BOOL contains([in] IHTMLElement* pChild);                   \
4747                                                                         \
4748     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]            \
4749     LONG sourceIndex();                                                 \
4750                                                                         \
4751     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]                     \
4752     VARIANT recordNumber();                                             \
4753                                                                         \
4754     [propput, id(DISPID_IHTMLELEMENT_LANG)]                             \
4755     void lang(BSTR v);                                                  \
4756                                                                         \
4757     [propget, id(DISPID_IHTMLELEMENT_LANG)]                             \
4758     BSTR lang();                                                        \
4759                                                                         \
4760     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]                       \
4761     LONG offsetLeft();                                                  \
4762                                                                         \
4763     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]                        \
4764     LONG offsetTop();                                                   \
4765                                                                         \
4766     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]                      \
4767     LONG offsetWidth();                                                 \
4768                                                                         \
4769     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]                     \
4770     LONG offsetHeight();                                                \
4771                                                                         \
4772     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]                     \
4773     IHTMLElement* offsetParent();                                       \
4774                                                                         \
4775     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4776     void innerHTML(BSTR v);                                             \
4777                                                                         \
4778     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4779     BSTR innerHTML();                                                   \
4780                                                                         \
4781     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4782     void innerText(BSTR v);                                             \
4783                                                                         \
4784     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4785     BSTR innerText();                                                   \
4786                                                                         \
4787     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4788     void outerHTML(BSTR v);                                             \
4789                                                                         \
4790     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4791     BSTR outerHTML();                                                   \
4792                                                                         \
4793     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4794     void outerText(BSTR v);                                             \
4795                                                                         \
4796     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4797     BSTR outerText();                                                   \
4798                                                                         \
4799     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]                        \
4800     void insertAdjacentHTML(                                            \
4801         [in] BSTR where,                                                \
4802         [in] BSTR html);                                                \
4803                                                                         \
4804     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]                        \
4805     void insertAdjacentText(                                            \
4806         [in] BSTR where,                                                \
4807         [in] BSTR text);                                                \
4808                                                                         \
4809     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]                   \
4810     IHTMLElement* parentTextEdit();                                     \
4811                                                                         \
4812     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]                       \
4813     VARIANT_BOOL isTextEdit();                                          \
4814                                                                         \
4815     [id(DISPID_IHTMLELEMENT_CLICK)]                                     \
4816     void click();                                                       \
4817                                                                         \
4818     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]                          \
4819     IHTMLFiltersCollection* filters();                                  \
4820                                                                         \
4821     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4822     void ondragstart(VARIANT v);                                        \
4823                                                                         \
4824     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4825     VARIANT ondragstart();                                              \
4826                                                                         \
4827     [id(DISPID_IHTMLELEMENT_TOSTRING)]                                  \
4828     BSTR toString();                                                    \
4829                                                                         \
4830     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4831     void onbeforeupdate(VARIANT v);                                     \
4832                                                                         \
4833     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4834     VARIANT onbeforeupdate();                                           \
4835                                                                         \
4836     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4837     void onafterupdate(VARIANT v);                                      \
4838                                                                         \
4839     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4840     VARIANT onafterupdate();                                            \
4841                                                                         \
4842     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4843     void onerrorupdate(VARIANT v);                                      \
4844                                                                         \
4845     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4846     VARIANT onerrorupdate();                                            \
4847                                                                         \
4848     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4849     void onrowexit(VARIANT v);                                          \
4850                                                                         \
4851     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4852     VARIANT onrowexit();                                                \
4853                                                                         \
4854     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4855     void onrowenter(VARIANT v);                                         \
4856                                                                         \
4857     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4858     VARIANT onrowenter();                                               \
4859                                                                         \
4860     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4861     void ondatasetchanged(VARIANT v);                                   \
4862                                                                         \
4863     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4864     VARIANT ondatasetchanged();                                         \
4865                                                                         \
4866     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4867     void ondataavailable(VARIANT v);                                    \
4868                                                                         \
4869     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4870     VARIANT ondataavailable();                                          \
4871                                                                         \
4872     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4873     void ondatasetcomplete(VARIANT v);                                  \
4874                                                                         \
4875     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4876     VARIANT ondatasetcomplete();                                        \
4877                                                                         \
4878     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4879     void onfilterchange(VARIANT v);                                     \
4880                                                                         \
4881     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4882     VARIANT onfilterchange();                                           \
4883                                                                         \
4884     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]                         \
4885     IDispatch* children();                                              \
4886                                                                         \
4887     [propget, id(DISPID_IHTMLELEMENT_ALL)]                              \
4888     IDispatch* all()
4889
4890 /*****************************************************************************
4891  *    IHTMLElement2 interface
4892  */
4893 [
4894     odl,
4895     oleautomation,
4896     dual,
4897     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
4898 ]
4899 interface IHTMLElement2 : IDispatch
4900 {
4901     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4902     HRESULT scopeName([retval, out] BSTR *p);
4903
4904     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4905     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
4906
4907     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4908     HRESULT releaseCapture();
4909
4910     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4911     HRESULT onlosecapture([in] VARIANT v);
4912
4913     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4914     HRESULT onlosecapture([retval, out] VARIANT *p);
4915
4916     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4917     HRESULT componentFromPoint(
4918         [in] LONG x,
4919         [in] LONG y,
4920         [retval, out] BSTR *component);
4921
4922     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4923     HRESULT doScroll([optional, in] VARIANT component);
4924
4925     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4926     HRESULT onscroll([in] VARIANT v);
4927
4928     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4929     HRESULT onscroll([retval, out] VARIANT *p);
4930
4931     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4932     HRESULT ondrag([in] VARIANT v);
4933
4934     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4935     HRESULT ondrag([retval, out] VARIANT *p);
4936
4937     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4938     HRESULT ondragend([in] VARIANT v);
4939
4940     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4941     HRESULT ondragend([retval, out] VARIANT *p);
4942
4943     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4944     HRESULT ondragenter([in] VARIANT v);
4945
4946     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4947     HRESULT ondragenter([retval, out] VARIANT *p);
4948
4949     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4950     HRESULT ondragover([in] VARIANT v);
4951
4952     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4953     HRESULT ondragover([retval, out] VARIANT *p);
4954
4955     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4956     HRESULT ondragleave([in] VARIANT v);
4957
4958     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4959     HRESULT ondragleave([retval, out] VARIANT *p);
4960
4961     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4962     HRESULT ondrop([in] VARIANT v);
4963
4964     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4965     HRESULT ondrop([retval, out] VARIANT *p);
4966
4967     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4968     HRESULT onbeforecut([in] VARIANT v);
4969
4970     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4971     HRESULT onbeforecut([retval, out] VARIANT *p);
4972
4973     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4974     HRESULT oncut([in] VARIANT v);
4975
4976     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4977     HRESULT oncut([retval, out] VARIANT *p);
4978
4979     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4980     HRESULT onbeforecopy([in] VARIANT v);
4981
4982     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4983     HRESULT onbeforecopy([retval, out] VARIANT *p);
4984
4985     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4986     HRESULT oncopy([in] VARIANT v);
4987
4988     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4989     HRESULT oncopy([retval, out] VARIANT *p);
4990
4991     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4992     HRESULT onbeforepaste([in] VARIANT v);
4993
4994     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4995     HRESULT onbeforepaste([retval, out] VARIANT *p);
4996
4997     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4998     HRESULT onpaste([in] VARIANT v);
4999
5000     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5001     HRESULT onpaste([retval, out] VARIANT *p);
5002
5003     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
5004     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
5005
5006     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5007     HRESULT onpropertychange([in] VARIANT v);
5008
5009     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5010     HRESULT onpropertychange([retval, out] VARIANT *p);
5011
5012     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
5013     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
5014
5015     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
5016     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
5017
5018     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
5019     HRESULT setExpression(
5020         [in] BSTR propname,
5021         [in] BSTR expression,
5022         [defaultvalue(""), in] BSTR language);
5023
5024     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
5025     HRESULT getExpression(
5026         [in] BSTR propname,
5027         [retval, out] VARIANT *expression);
5028
5029     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
5030     HRESULT removeExpression(
5031         [in] BSTR propname,
5032         [retval, out] VARIANT_BOOL *pfSuccess);
5033
5034     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5035     HRESULT tabIndex([in] short v);
5036
5037     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5038     HRESULT tabIndex([retval, out] short *p);
5039
5040     [id(DISPID_IHTMLELEMENT2_FOCUS)]
5041     HRESULT focus();
5042
5043     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5044     HRESULT accessKey([in] BSTR v);
5045
5046     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5047     HRESULT accessKey([retval, out] BSTR *p);
5048
5049     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5050     HRESULT onblur([in] VARIANT v);
5051
5052     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5053     HRESULT onblur([retval, out] VARIANT *p);
5054
5055     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5056     HRESULT onfocus([in] VARIANT v);
5057
5058     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5059     HRESULT onfocus([retval, out] VARIANT *p);
5060
5061     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5062     HRESULT onresize([in] VARIANT v);
5063
5064     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5065     HRESULT onresize([retval, out] VARIANT *p);
5066
5067     [id(DISPID_IHTMLELEMENT2_BLUR)]
5068     HRESULT blur();
5069
5070     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
5071     HRESULT addFilter([in] IUnknown *pUnk);
5072
5073     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
5074     HRESULT removeFilter([in] IUnknown *pUnk);
5075
5076     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
5077     HRESULT clientHeight([retval, out] LONG *p);
5078
5079     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
5080     HRESULT clientWidth([retval, out] LONG *p);
5081
5082     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
5083     HRESULT clientTop([retval, out] LONG *p);
5084
5085     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
5086     HRESULT clientLeft([retval, out] LONG *p);
5087
5088     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
5089     HRESULT attachEvent(
5090         [in] BSTR event,
5091         [in] IDispatch *pDisp,
5092         [retval, out] VARIANT_BOOL *pfResult);
5093
5094     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
5095     HRESULT detachEvent(
5096         [in] BSTR event,
5097         [in] IDispatch *pDisp);
5098
5099     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
5100     HRESULT readyState([retval, out] VARIANT *p);
5101
5102     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5103     HRESULT onreadystatechange([in] VARIANT v);
5104
5105     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5106     HRESULT onreadystatechange([retval, out] VARIANT *p);
5107
5108     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5109     HRESULT onrowsdelete([in] VARIANT v);
5110
5111     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5112     HRESULT onrowsdelete([retval, out] VARIANT *p);
5113
5114     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5115     HRESULT onrowsinserted([in] VARIANT v);
5116
5117     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5118     HRESULT onrowsinserted([retval, out] VARIANT *p);
5119
5120     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5121     HRESULT oncellchange([in] VARIANT v);
5122
5123     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5124     HRESULT oncellchange([retval, out] VARIANT *p);
5125
5126     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5127     HRESULT dir([in] BSTR v);
5128
5129     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5130     HRESULT dir([retval, out] BSTR *p);
5131
5132     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5133     HRESULT createControlRange([retval, out] IDispatch **range);
5134
5135     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5136     HRESULT scrollHeight([retval, out] LONG *p);
5137
5138     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5139     HRESULT scrollWidth([retval, out] LONG *p);
5140
5141     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5142     HRESULT scrollTop([in] LONG v);
5143
5144     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5145     HRESULT scrollTop([retval, out] LONG *p);
5146
5147     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5148     HRESULT scrollLeft([in] LONG v);
5149
5150     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5151     HRESULT scrollLeft([retval, out] LONG *p);
5152
5153     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5154     HRESULT clearAttributes();
5155
5156     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
5157     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
5158
5159     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5160     HRESULT oncontextmenu([in] VARIANT v);
5161
5162     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5163     HRESULT oncontextmenu([retval, out] VARIANT *p);
5164
5165     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5166     HRESULT insertAdjacentElement(
5167         [in] BSTR where,
5168         [in] IHTMLElement *insertedElement,
5169         [retval, out] IHTMLElement **inserted);
5170
5171     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5172     HRESULT applyElement(
5173         [in] IHTMLElement *apply,
5174         [in] BSTR where,
5175         [retval, out] IHTMLElement **applied);
5176
5177     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5178     HRESULT getAdjacentText(
5179         [in] BSTR where,
5180         [retval, out] BSTR *text);
5181
5182     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5183     HRESULT replaceAdjacentText(
5184         [in] BSTR where,
5185         [in] BSTR newText,
5186         [retval, out] BSTR *oldText);
5187
5188     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5189     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
5190
5191     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5192     HRESULT addBehavior(
5193         [in] BSTR bstrUrl,
5194         [optional, in] VARIANT *pvarFactory,
5195         [retval, out] LONG *pCookie);
5196
5197     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5198     HRESULT removeBehavior(
5199         [in] LONG cookie,
5200         [retval, out] VARIANT_BOOL *pfResult);
5201
5202     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5203     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
5204
5205     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5206     HRESULT behaviorUrns([retval, out] IDispatch **p);
5207
5208     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5209     HRESULT tagUrn([in] BSTR v);
5210
5211     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5212     HRESULT tagUrn([retval, out] BSTR *p);
5213
5214     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5215     HRESULT onbeforeeditfocus([in] VARIANT v);
5216
5217     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5218     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
5219
5220     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5221     HRESULT readyStateValue([retval, out] LONG *p);
5222
5223     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5224     HRESULT getElementsByTagName(
5225         [in] BSTR v,
5226         [retval, out] IHTMLElementCollection **pelColl);
5227 }
5228
5229 #define WINE_IHTMLELEMENT2_DISPINTERFACE_DECL                           \
5230     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]                       \
5231     BSTR scopeName();                                                   \
5232                                                                         \
5233     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]                               \
5234     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture); \
5235                                                                         \
5236     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]                           \
5237     void releaseCapture();                                              \
5238                                                                         \
5239     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
5240     void onlosecapture(VARIANT v);                                      \
5241                                                                         \
5242     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
5243     VARIANT onlosecapture();                                            \
5244                                                                         \
5245     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]                       \
5246     BSTR componentFromPoint([in] LONG x,[in] LONG y);                   \
5247                                                                         \
5248     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]                                 \
5249     void doScroll([optional, in] VARIANT component);                    \
5250                                                                         \
5251     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
5252     void onscroll(VARIANT v);                                           \
5253                                                                         \
5254     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
5255     VARIANT onscroll();                                                 \
5256                                                                         \
5257     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
5258     void ondrag(VARIANT v);                                             \
5259                                                                         \
5260     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
5261     VARIANT ondrag();                                                   \
5262                                                                         \
5263     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
5264     void ondragend(VARIANT v);                                          \
5265                                                                         \
5266     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
5267     VARIANT ondragend();                                                \
5268                                                                         \
5269     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
5270     void ondragenter(VARIANT v);                                        \
5271                                                                         \
5272     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
5273     VARIANT ondragenter();                                              \
5274                                                                         \
5275     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
5276     void ondragover(VARIANT v);                                         \
5277                                                                         \
5278     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
5279     VARIANT ondragover();                                               \
5280                                                                         \
5281     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
5282     void ondragleave(VARIANT v);                                        \
5283                                                                         \
5284     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
5285     VARIANT ondragleave();                                              \
5286                                                                         \
5287     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
5288     void ondrop(VARIANT v);                                             \
5289                                                                         \
5290     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
5291     VARIANT ondrop();                                                   \
5292                                                                         \
5293     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
5294     void onbeforecut(VARIANT v);                                        \
5295                                                                         \
5296     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
5297     VARIANT onbeforecut();                                              \
5298                                                                         \
5299     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
5300     void oncut(VARIANT v);                                              \
5301                                                                         \
5302     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
5303     VARIANT oncut();                                                    \
5304                                                                         \
5305     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
5306     void onbeforecopy(VARIANT v);                                       \
5307                                                                         \
5308     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
5309     VARIANT onbeforecopy();                                             \
5310                                                                         \
5311     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
5312     void oncopy(VARIANT v);                                             \
5313                                                                         \
5314     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
5315     VARIANT oncopy();                                                   \
5316                                                                         \
5317     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
5318     void onbeforepaste(VARIANT v);                                      \
5319                                                                         \
5320     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
5321     VARIANT onbeforepaste();                                            \
5322                                                                         \
5323     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
5324     void onpaste(VARIANT v);                                            \
5325                                                                         \
5326     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
5327     VARIANT onpaste();                                                  \
5328                                                                         \
5329     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]      \
5330     IHTMLCurrentStyle* currentStyle();                                  \
5331                                                                         \
5332     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
5333     void onpropertychange(VARIANT v);                                   \
5334                                                                         \
5335     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
5336     VARIANT onpropertychange();                                         \
5337                                                                         \
5338     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]                           \
5339     IHTMLRectCollection* getClientRects();                              \
5340                                                                         \
5341     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]                    \
5342     IHTMLRect* getBoundingClientRect();                                 \
5343                                                                         \
5344     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]                            \
5345     void setExpression(                                                 \
5346         [in] BSTR propname,                                             \
5347         [in] BSTR expr,                                                 \
5348         [defaultvalue(""), in] BSTR lang);                              \
5349                                                                         \
5350     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]                            \
5351     VARIANT getExpression([in] BSTR propname);                          \
5352                                                                         \
5353     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]                         \
5354     VARIANT_BOOL removeExpression([in] BSTR propname);                  \
5355                                                                         \
5356     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
5357     void tabIndex(short v);                                             \
5358                                                                         \
5359     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
5360     short tabIndex();                                                   \
5361                                                                         \
5362     [id(DISPID_IHTMLELEMENT2_FOCUS)]                                    \
5363     void focus();                                                       \
5364                                                                         \
5365     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
5366     void accessKey(BSTR v);                                             \
5367                                                                         \
5368     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
5369     BSTR accessKey();                                                   \
5370                                                                         \
5371     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5372     void onblur(VARIANT v);                                             \
5373                                                                         \
5374     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5375     VARIANT onblur();                                                   \
5376                                                                         \
5377     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5378     void onfocus(VARIANT v);                                            \
5379                                                                         \
5380     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5381     VARIANT onfocus();                                                  \
5382                                                                         \
5383     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5384     void onresize(VARIANT v);                                           \
5385                                                                         \
5386     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5387     VARIANT onresize();                                                 \
5388                                                                         \
5389     [id(DISPID_IHTMLELEMENT2_BLUR)]                                     \
5390     void blur();                                                        \
5391                                                                         \
5392     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]                                \
5393     void addFilter([in] IUnknown* pUnk);                                \
5394                                                                         \
5395     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]                             \
5396     void removeFilter([in] IUnknown* pUnk);                             \
5397                                                                         \
5398     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] \
5399     LONG clientHeight();                                                \
5400                                                                         \
5401     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] \
5402     LONG clientWidth();                                                 \
5403                                                                         \
5404     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] \
5405     LONG clientTop();                                                   \
5406                                                                         \
5407     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] \
5408     LONG clientLeft();                                                  \
5409                                                                         \
5410     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]                              \
5411     VARIANT_BOOL attachEvent(                                           \
5412             [in] BSTR event,                                            \
5413             [in] IDispatch* pDisp);                                     \
5414                                                                         \
5415     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]                              \
5416     void detachEvent(                                                   \
5417             [in] BSTR event,                                            \
5418             [in] IDispatch* pDisp);                                     \
5419                                                                         \
5420     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState(); \
5421                                                                         \
5422     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5423     void onreadystatechange(VARIANT v);                                 \
5424                                                                         \
5425     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5426     VARIANT onreadystatechange();                                       \
5427                                                                         \
5428     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5429     void onrowsdelete(VARIANT v);                                       \
5430                                                                         \
5431     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5432     VARIANT onrowsdelete();                                             \
5433                                                                         \
5434     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5435     void onrowsinserted(VARIANT v);                                     \
5436                                                                         \
5437     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5438     VARIANT onrowsinserted();                                           \
5439                                                                         \
5440     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5441     void oncellchange(VARIANT v);                                       \
5442                                                                         \
5443     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5444     VARIANT oncellchange();                                             \
5445                                                                         \
5446     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5447     void dir(BSTR v);                                                   \
5448                                                                         \
5449     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5450     BSTR dir();                                                         \
5451                                                                         \
5452     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]                       \
5453     IDispatch* createControlRange();                                    \
5454                                                                         \
5455     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] \
5456     LONG scrollHeight();                                                \
5457                                                                         \
5458     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] \
5459     LONG scrollWidth();                                                 \
5460                                                                         \
5461     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5462     void scrollTop(LONG v);                                             \
5463                                                                         \
5464     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5465     LONG scrollTop();                                                   \
5466                                                                         \
5467     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5468     void scrollLeft(LONG v);                                            \
5469                                                                         \
5470     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5471     LONG scrollLeft();                                                  \
5472                                                                         \
5473     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]                          \
5474     void clearAttributes();                                             \
5475                                                                         \
5476     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5477     void oncontextmenu(VARIANT v);                                      \
5478                                                                         \
5479     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5480     VARIANT oncontextmenu();                                            \
5481                                                                         \
5482     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]                    \
5483     IHTMLElement* insertAdjacentElement(                                \
5484         [in] BSTR where,                                                \
5485         [in] IHTMLElement* insertedElement);                            \
5486                                                                         \
5487     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]                             \
5488     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where); \
5489                                                                         \
5490     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]                          \
5491     BSTR getAdjacentText([in] BSTR where);                              \
5492                                                                         \
5493     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]                      \
5494     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);        \
5495                                                                         \
5496     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]                 \
5497     VARIANT_BOOL canHaveChildren();                                     \
5498                                                                         \
5499     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]                              \
5500     LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory); \
5501                                                                         \
5502     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]                           \
5503     VARIANT_BOOL removeBehavior([in] LONG cookie);                      \
5504                                                                         \
5505     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]      \
5506     IHTMLStyle* runtimeStyle();                                         \
5507                                                                         \
5508     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]                    \
5509     IDispatch* behaviorUrns();                                          \
5510                                                                         \
5511     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5512     void tagUrn(BSTR v);                                                \
5513                                                                         \
5514     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5515     BSTR tagUrn();                                                      \
5516                                                                         \
5517     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5518     void onbeforeeditfocus(VARIANT v);                                  \
5519                                                                         \
5520     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5521     VARIANT onbeforeeditfocus();                                        \
5522                                                                         \
5523     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] \
5524     LONG readyStateValue();                                             \
5525                                                                         \
5526     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]                     \
5527     IHTMLElementCollection* getElementsByTagName([in] BSTR v)
5528
5529 /*****************************************************************************
5530  *    IHTMLElement3 interface
5531  */
5532 [
5533     odl,
5534     oleautomation,
5535     dual,
5536     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
5537 ]
5538 interface IHTMLElement3 : IDispatch
5539 {
5540     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
5541     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
5542
5543     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5544     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
5545
5546     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5547     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
5548
5549     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5550     HRESULT onlayoutcomplete([in] VARIANT v);
5551
5552     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5553     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
5554
5555     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5556     HRESULT onpage([in] VARIANT v);
5557
5558     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5559     HRESULT onpage([retval, out] VARIANT * p);
5560
5561     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5562     HRESULT inflateBlock([in] VARIANT_BOOL v);
5563
5564     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5565     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
5566
5567     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5568     HRESULT onbeforedeactivate([in] VARIANT v);
5569
5570     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5571     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
5572
5573     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
5574
5575     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5576     HRESULT contentEditable([in] BSTR v);
5577
5578     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5579     HRESULT contentEditable([retval, out] BSTR * p);
5580
5581     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5582     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
5583
5584     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5585     HRESULT hideFocus([in] VARIANT_BOOL v);
5586
5587     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5588     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
5589
5590     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5591     HRESULT disabled([in] VARIANT_BOOL v);
5592
5593     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5594     HRESULT disabled([retval, out] VARIANT_BOOL * p);
5595
5596     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5597     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
5598
5599     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5600     HRESULT onmove([in] VARIANT v);
5601
5602     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5603     HRESULT onmove([retval, out] VARIANT * p);
5604
5605     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5606     HRESULT oncontrolselect([in] VARIANT v);
5607
5608     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5609     HRESULT oncontrolselect([retval, out] VARIANT * p);
5610
5611     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5612     HRESULT fireEvent(
5613         [in] BSTR bstrEventName,
5614         [optional, in] VARIANT* pvarEventObject,
5615         [retval, out] VARIANT_BOOL* pfCancelled);
5616
5617     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5618     HRESULT onresizestart([in] VARIANT v);
5619
5620     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5621     HRESULT onresizestart([retval, out] VARIANT * p);
5622
5623     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5624     HRESULT onresizeend([in] VARIANT v);
5625
5626     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5627     HRESULT onresizeend([retval, out] VARIANT * p);
5628
5629     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5630     HRESULT onmovestart([in] VARIANT v);
5631
5632     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5633     HRESULT onmovestart([retval, out] VARIANT * p);
5634
5635     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5636     HRESULT onmoveend([in] VARIANT v);
5637
5638     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5639     HRESULT onmoveend([retval, out] VARIANT * p);
5640
5641     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5642     HRESULT onmouseenter([in] VARIANT v);
5643
5644     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5645     HRESULT onmouseenter([retval, out] VARIANT * p);
5646
5647     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5648     HRESULT onmouseleave([in] VARIANT v);
5649
5650     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5651     HRESULT onmouseleave([retval, out] VARIANT * p);
5652
5653     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5654     HRESULT onactivate([in] VARIANT v);
5655
5656     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5657     HRESULT onactivate([retval, out] VARIANT * p);
5658
5659     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5660     HRESULT ondeactivate([in] VARIANT v);
5661
5662     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5663     HRESULT ondeactivate([retval, out] VARIANT * p);
5664
5665     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
5666     VARIANT_BOOL* pfRet);
5667
5668     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5669     HRESULT glyphMode([retval, out] LONG * p);
5670 }
5671
5672 #define WINE_IHTMLELEMENT3_DISPINTERFACE_DECL                           \
5673                                                                         \
5674     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]                          \
5675     void mergeAttributes(                                               \
5676             [in] IHTMLElement* mergeThis,                               \
5677             [optional, in] VARIANT* pvarFlags);                         \
5678                                                                         \
5679     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]                     \
5680     VARIANT_BOOL isMultiLine();                                         \
5681                                                                         \
5682     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]                     \
5683     VARIANT_BOOL canHaveHTML();                                         \
5684                                                                         \
5685     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5686     void onlayoutcomplete(VARIANT v);                                   \
5687                                                                         \
5688     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5689     VARIANT onlayoutcomplete();                                         \
5690                                                                         \
5691     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5692     void onpage(VARIANT v);                                             \
5693                                                                         \
5694     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5695     VARIANT onpage();                                                   \
5696                                                                         \
5697     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5698     void inflateBlock(VARIANT_BOOL v);                                  \
5699                                                                         \
5700     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5701     VARIANT_BOOL inflateBlock();                                        \
5702                                                                         \
5703     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5704     void onbeforedeactivate(VARIANT v);                                 \
5705                                                                         \
5706     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5707     VARIANT onbeforedeactivate();                                       \
5708                                                                         \
5709     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]                                \
5710     void setActive();                                                   \
5711                                                                         \
5712     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5713     void contentEditable(BSTR v);                                       \
5714                                                                         \
5715     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5716     BSTR contentEditable();                                             \
5717                                                                         \
5718     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]               \
5719     VARIANT_BOOL isContentEditable();                                   \
5720                                                                         \
5721     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5722     void hideFocus(VARIANT_BOOL v);                                     \
5723                                                                         \
5724     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5725     VARIANT_BOOL hideFocus();                                           \
5726                                                                         \
5727     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5728     void disabled(VARIANT_BOOL v);                                      \
5729                                                                         \
5730     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5731     VARIANT_BOOL disabled();                                            \
5732                                                                         \
5733     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]                      \
5734     VARIANT_BOOL isDisabled();                                          \
5735                                                                         \
5736     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5737     void onmove(VARIANT v);                                             \
5738                                                                         \
5739     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5740     VARIANT onmove();                                                   \
5741                                                                         \
5742     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5743     void oncontrolselect(VARIANT v);                                    \
5744                                                                         \
5745     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5746     VARIANT oncontrolselect();                                          \
5747                                                                         \
5748     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]                                \
5749     VARIANT_BOOL fireEvent(                                             \
5750         [in] BSTR bstrEventName,                                        \
5751         [optional, in] VARIANT* pvarEventObject);                       \
5752                                                                         \
5753     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5754     void onresizestart(VARIANT v);                                      \
5755                                                                         \
5756     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5757     VARIANT onresizestart();                                            \
5758                                                                         \
5759     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5760     void onresizeend(VARIANT v);                                        \
5761                                                                         \
5762     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5763     VARIANT onresizeend();                                              \
5764                                                                         \
5765     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5766     void onmovestart(VARIANT v);                                        \
5767                                                                         \
5768     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5769     VARIANT onmovestart();                                              \
5770                                                                         \
5771     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5772     void onmoveend(VARIANT v);                                          \
5773                                                                         \
5774     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5775     VARIANT onmoveend();                                                \
5776                                                                         \
5777     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5778     void onmouseenter(VARIANT v);                                       \
5779                                                                         \
5780     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5781     VARIANT onmouseenter();                                             \
5782                                                                         \
5783     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5784     void onmouseleave(VARIANT v);                                       \
5785                                                                         \
5786     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5787     VARIANT onmouseleave();                                             \
5788                                                                         \
5789     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5790     void onactivate(VARIANT v);                                         \
5791                                                                         \
5792     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5793     VARIANT onactivate();                                               \
5794                                                                         \
5795     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5796     void ondeactivate(VARIANT v);                                       \
5797                                                                         \
5798     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5799     VARIANT ondeactivate();                                             \
5800                                                                         \
5801     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]                                 \
5802     VARIANT_BOOL dragDrop();                                            \
5803                                                                         \
5804     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] \
5805     LONG glyphMode()
5806
5807 /*****************************************************************************
5808  *    IHTMLElement4 interface
5809  */
5810 [
5811     odl,
5812     oleautomation,
5813     dual,
5814     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
5815 ]
5816 interface IHTMLElement4 : IDispatch
5817 {
5818     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5819     HRESULT onmousewheel([in] VARIANT v);
5820
5821     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5822     HRESULT onmousewheel([retval, out] VARIANT * p);
5823
5824     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5825     HRESULT normalize();
5826
5827     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5828     HRESULT getAttributeNode([in] BSTR bstrname,
5829         [retval, out] IHTMLDOMAttribute** ppAttribute);
5830
5831     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5832     HRESULT setAttributeNode(
5833         [in] IHTMLDOMAttribute* pattr,
5834         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5835
5836     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5837     HRESULT removeAttributeNode(
5838         [in] IHTMLDOMAttribute* pattr,
5839         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5840
5841     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5842     HRESULT onbeforeactivate([in] VARIANT v);
5843
5844     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5845     HRESULT onbeforeactivate([retval, out] VARIANT * p);
5846
5847     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5848     HRESULT onfocusin([in] VARIANT v);
5849
5850     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5851     HRESULT onfocusin([retval, out] VARIANT * p);
5852
5853     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5854     HRESULT onfocusout([in] VARIANT v);
5855
5856     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5857     HRESULT onfocusout([retval, out] VARIANT * p);
5858 }
5859
5860 #define WINE_IHTMLELEMENT4_DISPINTERFACE_DECL                           \
5861     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5862     void onmousewheel(VARIANT v);                                       \
5863                                                                         \
5864     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5865     VARIANT onmousewheel();                                             \
5866                                                                         \
5867     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]                                \
5868     void normalize();                                                   \
5869                                                                         \
5870     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]                         \
5871     IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);            \
5872                                                                         \
5873     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]                         \
5874     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr); \
5875                                                                         \
5876     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]                      \
5877     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr); \
5878                                                                         \
5879     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5880     void onbeforeactivate(VARIANT v);                                   \
5881                                                                         \
5882     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5883     VARIANT onbeforeactivate();                                         \
5884                                                                         \
5885     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5886     void onfocusin(VARIANT v);                                          \
5887                                                                         \
5888     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5889     VARIANT onfocusin();                                                \
5890                                                                         \
5891     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5892     void onfocusout(VARIANT v);                                         \
5893                                                                         \
5894     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5895     VARIANT onfocusout()
5896
5897 #define WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL                \
5898     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)]                 \
5899     IHTMLElement *querySelector([in] BSTR v);                   \
5900                                                                 \
5901     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)]              \
5902     IHTMLDOMChildrenCollection *querySelectorAll([in] BSTR v)
5903
5904 /*****************************************************************************
5905  *    IHTMLUniqueName interface
5906  */
5907 [
5908     odl,
5909     oleautomation,
5910     dual,
5911     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
5912 ]
5913 interface IHTMLUniqueName : IDispatch
5914 {
5915     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5916     HRESULT uniqueNumber([retval, out] LONG * p);
5917
5918     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5919     HRESULT uniqueID([retval, out] BSTR * p);
5920 }
5921
5922 #define WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL                 \
5923     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]  \
5924     LONG uniqueNumber();                                        \
5925                                                                 \
5926     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]      \
5927     BSTR uniqueID()
5928
5929 #define WINE_IHTMLELEMENT5_DISPINTERFACE_DECL                           \
5930     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)]                     \
5931     IHTMLDOMAttribute2 *ie8_getAttributeNode([in] BSTR bstrname);       \
5932                                                                         \
5933     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)]                     \
5934     IHTMLDOMAttribute2 *ie8_setAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5935                                                                         \
5936     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)]                  \
5937     IHTMLDOMAttribute2 *ie8_removeAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5938                                                                         \
5939     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)]                             \
5940     VARIANT_BOOL hasAttribute([in] BSTR name);                          \
5941                                                                         \
5942     [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5943     void role(BSTR v);                                                  \
5944                                                                         \
5945     [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5946     BSTR role();                                                        \
5947                                                                         \
5948     [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5949     void ariaBusy(BSTR v);                                              \
5950                                                                         \
5951     [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5952     BSTR ariaBusy();                                                    \
5953                                                                         \
5954     [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5955     void ariaChecked(BSTR v);                                           \
5956                                                                         \
5957     [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5958     BSTR ariaChecked();                                                 \
5959                                                                         \
5960     [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5961     void ariaDisabled(BSTR v);                                          \
5962                                                                         \
5963     [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5964     BSTR ariaDisabled();                                                \
5965                                                                         \
5966     [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5967     void ariaExpanded(BSTR v);                                          \
5968                                                                         \
5969     [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5970     BSTR ariaExpanded();                                                \
5971                                                                         \
5972     [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable]\
5973     void ariaHaspopup(BSTR v);                                          \
5974                                                                         \
5975     [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] \
5976     BSTR ariaHaspopup();                                                \
5977                                                                         \
5978     [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5979     void ariaHidden(BSTR v);                                            \
5980                                                                         \
5981     [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5982     BSTR ariaHidden();                                                  \
5983                                                                         \
5984     [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5985     void ariaInvalid(BSTR v);                                           \
5986                                                                         \
5987     [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5988     BSTR ariaInvalid();                                                 \
5989                                                                         \
5990     [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5991     void ariaMultiselectable(BSTR v);                                   \
5992                                                                         \
5993     [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5994     BSTR ariaMultiselectable();                                         \
5995                                                                         \
5996     [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5997     void ariaPressed(BSTR v);                                           \
5998                                                                         \
5999     [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
6000     BSTR ariaPressed();                                                 \
6001                                                                         \
6002     [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
6003     void ariaReadonly(BSTR v);                                          \
6004                                                                         \
6005     [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
6006     BSTR ariaReadonly();                                                \
6007                                                                         \
6008     [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
6009     void ariaRequired(BSTR v);                                          \
6010                                                                         \
6011     [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
6012     BSTR ariaRequired();                                                \
6013                                                                         \
6014     [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
6015     void ariaSecret(BSTR v);                                            \
6016                                                                         \
6017     [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
6018     BSTR ariaSecret();                                                  \
6019                                                                         \
6020     [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
6021     void ariaSelected(BSTR v);                                          \
6022                                                                         \
6023     [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
6024     BSTR ariaSelected();                                                \
6025                                                                         \
6026     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)]                         \
6027     VARIANT ie8_getAttribute([in] BSTR strAttributeName);               \
6028                                                                         \
6029     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)]                         \
6030     void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue); \
6031                                                                         \
6032     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)]                      \
6033     VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);       \
6034                                                                         \
6035     [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)]                  \
6036     IHTMLAttributeCollection3 *ie8_attributes();                        \
6037                                                                         \
6038     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
6039     void ariaValuenow(BSTR v);                                          \
6040                                                                         \
6041     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
6042     BSTR ariaValuenow();                                                \
6043                                                                         \
6044     [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
6045     void ariaPosinset(short v);                                         \
6046                                                                         \
6047     [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
6048     short ariaPosinset();                                               \
6049                                                                         \
6050     [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
6051     void ariaSetsize(short v);                                          \
6052                                                                         \
6053     [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
6054     short ariaSetsize();                                                \
6055                                                                         \
6056     [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
6057     void ariaLevel(short v);                                            \
6058                                                                         \
6059     [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
6060     short ariaLevel();                                                  \
6061                                                                         \
6062     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
6063     void ariaValuemin(BSTR v);                                          \
6064                                                                         \
6065     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
6066     BSTR ariaValuemin();                                                \
6067                                                                         \
6068     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
6069     void ariaValuemax(BSTR v);                                          \
6070                                                                         \
6071     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
6072     BSTR ariaValuemax();                                                \
6073                                                                         \
6074     [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
6075     void ariaControls(BSTR v);                                          \
6076                                                                         \
6077     [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
6078     BSTR ariaControls();                                                \
6079                                                                         \
6080     [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
6081     void ariaDescribedby(BSTR v);                                       \
6082                                                                         \
6083     [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
6084     BSTR ariaDescribedby();                                             \
6085                                                                         \
6086     [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
6087     void ariaFlowto(BSTR v);                                            \
6088                                                                         \
6089     [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
6090     BSTR ariaFlowto();                                                  \
6091                                                                         \
6092     [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
6093     void ariaLabelledby(BSTR v);                                        \
6094                                                                         \
6095     [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
6096     BSTR ariaLabelledby();                                              \
6097                                                                         \
6098     [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
6099     void ariaActivedescendant(BSTR v);                                  \
6100                                                                         \
6101     [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
6102     BSTR ariaActivedescendant();                                        \
6103                                                                         \
6104     [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
6105     void ariaOwns(BSTR v);                                              \
6106                                                                         \
6107     [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
6108     BSTR ariaOwns();                                                    \
6109                                                                         \
6110     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)]                            \
6111     VARIANT_BOOL hasAttributes();                                       \
6112                                                                         \
6113     [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
6114     void ariaLive(BSTR v);                                              \
6115                                                                         \
6116     [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
6117     BSTR ariaLive();                                                    \
6118                                                                         \
6119     [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
6120     void ariaRelevant(BSTR v);                                          \
6121                                                                         \
6122     [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
6123     BSTR ariaRelevant()
6124
6125 [
6126     odl,
6127     oleautomation,
6128     dual,
6129     uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
6130 ]
6131 interface IHTMLDatabinding : IDispatch
6132 {
6133     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6134     HRESULT dataFld([in] BSTR v);
6135
6136     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6137     HRESULT dataFld([retval, out] BSTR * p);
6138
6139     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6140     HRESULT dataSrc([in] BSTR v);
6141
6142     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6143     HRESULT dataSrc([retval, out] BSTR * p);
6144
6145     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6146     HRESULT dataFormatAs([in] BSTR v);
6147
6148     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6149     HRESULT dataFormatAs([retval, out] BSTR * p);
6150 }
6151
6152 #define WINE_IHTMLDATABINDING_DISPINTERFACE_DECL        \
6153     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
6154     void dataFld(BSTR v);                               \
6155                                                         \
6156     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
6157     BSTR dataFld();                                     \
6158                                                         \
6159     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
6160     void dataSrc(BSTR v);                               \
6161                                                         \
6162     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
6163     BSTR dataSrc();                                     \
6164                                                         \
6165     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
6166     void dataFormatAs(BSTR v);                          \
6167                                                         \
6168     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
6169     BSTR dataFormatAs()
6170
6171 #define WINE_HTMLELEMENT_DISPINTERFACE_DECL     \
6172     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
6173     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
6174     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
6175     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
6176     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
6177     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
6178     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
6179     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
6180
6181 #define WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL \
6182     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
6183     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
6184     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
6185     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
6186     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
6187     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
6188     WINE_IHTMLDATABINDING_DISPINTERFACE_DECL;   \
6189     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
6190     WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL;   \
6191     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
6192
6193 /*****************************************************************************
6194  *    IHTMLGenericElement interface
6195  */
6196 [
6197     odl,
6198     oleautomation,
6199     dual,
6200     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
6201 ]
6202 interface IHTMLGenericElement : IDispatch
6203 {
6204     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
6205     HRESULT recordset([out, retval] IDispatch **p);
6206
6207     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
6208     HRESULT namedRecordset(
6209             [in] BSTR dataMember,
6210             [in, optional] VARIANT *hierarchy,
6211             [out, retval] IDispatch **ppRecordset);
6212 }
6213
6214 /*****************************************************************************
6215  *    DispHTMLGenericElement dispinterface
6216  */
6217 [
6218     hidden,
6219     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
6220 ]
6221 dispinterface DispHTMLGenericElement
6222 {
6223 properties:
6224 methods:
6225     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6226
6227     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
6228     IDispatch *recordset();
6229
6230     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
6231     IDispatch *namedRecordset(
6232             [in] BSTR dataMember,
6233             [in, optional] VARIANT *hierarchy);
6234 }
6235
6236 /*****************************************************************************
6237  *    IHTMLStyleSheetRule interface
6238  */
6239 [
6240     odl,
6241     oleautomation,
6242     dual,
6243     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
6244 ]
6245 interface IHTMLStyleSheetRule : IDispatch
6246 {
6247     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6248     HRESULT selectorText([in] BSTR v);
6249
6250     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6251     HRESULT selectorText([retval, out] BSTR *p);
6252
6253     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
6254     HRESULT style([retval, out] IHTMLRuleStyle **p);
6255
6256     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
6257     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6258 }
6259
6260 [
6261     hidden,
6262     uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b)
6263 ]
6264 dispinterface DispHTMLStyleSheetRule
6265 {
6266 properties:
6267 methods:
6268     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6269     void selectorText(BSTR v);
6270
6271     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6272     BSTR selectorText();
6273
6274     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable]
6275     IHTMLRuleStyle* style();
6276
6277     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
6278     VARIANT_BOOL readOnly();
6279
6280     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6281 }
6282
6283 [
6284     noncreatable,
6285     uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b)
6286 ]
6287 coclass HTMLStyleSheetRule
6288 {
6289     [default]           dispinterface DispHTMLStyleSheetRule;
6290                         interface IHTMLStyleSheetRule;
6291                         interface IHTMLDOMConstructor;
6292 }
6293
6294 /*****************************************************************************
6295  *    IHTMLStyleSheetRulesCollection interface
6296  */
6297 [
6298     odl,
6299     oleautomation,
6300     dual,
6301     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
6302 ]
6303 interface IHTMLStyleSheetRulesCollection : IDispatch
6304 {
6305     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
6306     HRESULT length([retval, out] LONG *p);
6307
6308     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
6309     HRESULT item(
6310         [in] LONG index,
6311         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
6312 }
6313
6314 [
6315     hidden,
6316     uuid(3050f52f-98b5-11cf-bb82-00aa00bdce0b)
6317 ]
6318 dispinterface DispHTMLStyleSheetRulesCollection
6319 {
6320 properties:
6321 methods:
6322     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
6323     long length();
6324
6325     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
6326     IHTMLStyleSheetRule* item([in] long index);
6327
6328     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6329 }
6330
6331 [
6332     noncreatable,
6333     uuid(3050f3cd-98b5-11cf-bb82-00aa00bdce0b)
6334 ]
6335 coclass HTMLStyleSheetRulesCollection
6336 {
6337     [default]           dispinterface DispHTMLStyleSheetRulesCollection;
6338                         interface IHTMLStyleSheetRulesCollection;
6339                         interface IHTMLDOMConstructor;
6340 }
6341
6342 [
6343     odl,
6344     oleautomation,
6345     dual,
6346     uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
6347 ]
6348 interface IHTMLStyleSheetPage : IDispatch
6349 {
6350     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
6351     HRESULT selector([retval, out] BSTR *p);
6352
6353     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
6354     HRESULT pseudoClass([retval, out] BSTR *p);
6355 }
6356
6357 [
6358     hidden,
6359     uuid(3050f540-98b5-11cf-bb82-00aa00bdce0b)
6360 ]
6361 dispinterface DispHTMLStyleSheetPage
6362 {
6363 properties:
6364 methods:
6365     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
6366     BSTR selector();
6367
6368     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
6369     BSTR pseudoClass();
6370
6371     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6372 }
6373 [
6374     noncreatable,
6375     uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b)
6376 ]
6377 coclass HTMLStyleSheetPage
6378 {
6379     [default]           dispinterface DispHTMLStyleSheetPage;
6380                         interface IHTMLStyleSheetPage;
6381                         interface IHTMLDOMConstructor;
6382 }
6383
6384 [
6385     odl,
6386     oleautomation,
6387     dual,
6388     uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
6389 ]
6390 interface IHTMLStyleSheetPagesCollection : IDispatch
6391 {
6392     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6393     HRESULT length([retval, out] LONG *p);
6394
6395     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6396     HRESULT item(
6397         [in] LONG index,
6398         [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
6399 }
6400
6401 [
6402     hidden,
6403     uuid(3050f543-98b5-11cf-bb82-00aa00bdce0b)
6404 ]
6405 dispinterface DispHTMLStyleSheetPagesCollection
6406 {
6407 properties:
6408 methods:
6409     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6410     long length();
6411
6412     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6413     IHTMLStyleSheetPage* item([in] long index);
6414
6415     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6416 }
6417
6418 [
6419     noncreatable,
6420     uuid(3050f7f1-98b5-11cf-bb82-00aa00bdce0b)
6421 ]
6422 coclass HTMLStyleSheetPagesCollection
6423 {
6424     [default]           dispinterface DispHTMLStyleSheetPagesCollection;
6425                         interface IHTMLStyleSheetPagesCollection;
6426                         interface IHTMLDOMConstructor;
6427 }
6428
6429 /*****************************************************************************
6430  *    IHTMLStyleSheet interface
6431  */
6432 [
6433     odl,
6434     oleautomation,
6435     dual,
6436     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
6437 ]
6438 interface IHTMLStyleSheet : IDispatch
6439 {
6440     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6441     HRESULT title([in] BSTR v);
6442
6443     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6444     HRESULT title([retval, out] BSTR *p);
6445
6446     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6447     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
6448
6449     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6450     HRESULT owningElement([retval, out] IHTMLElement **p);
6451
6452     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6453     HRESULT disabled([in] VARIANT_BOOL v);
6454
6455     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6456     HRESULT disabled([retval, out] VARIANT_BOOL *p);
6457
6458     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6459     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6460
6461     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6462     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
6463
6464     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6465     HRESULT href([in] BSTR v);
6466
6467     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6468     HRESULT href([retval, out] BSTR *p);
6469
6470     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6471     HRESULT type([retval, out] BSTR *p);
6472
6473     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6474     HRESULT id([retval, out] BSTR *p);
6475
6476     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6477     HRESULT addImport(
6478         [in] BSTR bstrURL,
6479         [defaultvalue(-1), in] LONG lIndex,
6480         [retval, out] LONG *plIndex);
6481
6482     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6483     HRESULT addRule(
6484         [in] BSTR bstrSelector,
6485         [in] BSTR bstrStyle,
6486         [defaultvalue(-1), in] LONG lIndex,
6487         [retval, out] LONG *plNewIndex);
6488
6489     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6490     HRESULT removeImport([in] LONG lIndex);
6491
6492     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6493     HRESULT removeRule([in] LONG lIndex);
6494
6495     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6496     HRESULT media([in] BSTR v);
6497
6498     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6499     HRESULT media([retval, out] BSTR *p);
6500
6501     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6502     HRESULT cssText([in] BSTR v);
6503
6504     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6505     HRESULT cssText([retval, out] BSTR *p);
6506
6507     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6508     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
6509 }
6510
6511 /*****************************************************************************
6512  *    IHTMLStyleSheet2 interface
6513  */
6514 [
6515     odl,
6516     oleautomation,
6517     dual,
6518     uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
6519 ]
6520 interface IHTMLStyleSheet2 : IDispatch
6521 {
6522     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6523     HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
6524
6525     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6526     HRESULT addPageRule(
6527         [in] BSTR bstrSelector,
6528         [in] BSTR bstrStyle,
6529         [defaultvalue(-1), in] LONG lIndex,
6530         [retval, out] LONG *plNewIndex);
6531 }
6532
6533 [
6534     hidden,
6535     uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
6536 ]
6537 dispinterface DispHTMLStyleSheet
6538 {
6539 properties:
6540 methods:
6541     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6542     void title(BSTR v);
6543
6544     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6545     BSTR title();
6546
6547     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6548     IHTMLStyleSheet* parentStyleSheet();
6549
6550     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6551     IHTMLElement* owningElement();
6552
6553     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6554     void disabled(VARIANT_BOOL v);
6555
6556     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6557     VARIANT_BOOL disabled();
6558
6559     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6560     VARIANT_BOOL readOnly();
6561
6562     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6563     IHTMLStyleSheetsCollection* imports();
6564
6565     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6566     void href(BSTR v);
6567
6568     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6569     BSTR href();
6570
6571     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6572     BSTR type();
6573
6574     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6575     BSTR id();
6576
6577     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6578     LONG addImport(
6579         [in] BSTR bstrURL,
6580         [defaultvalue(-1), in] LONG lIndex);
6581
6582     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6583     LONG addRule(
6584         [in] BSTR bstrSelector,
6585         [in] BSTR bstrStyle,
6586         [defaultvalue(-1), in] LONG lIndex);
6587
6588     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6589     void removeImport([in] LONG lIndex);
6590
6591     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6592     void removeRule([in] LONG lIndex);
6593
6594     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6595     void media(BSTR v);
6596
6597     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6598     BSTR media();
6599
6600     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6601     void cssText(BSTR v);
6602
6603     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6604     BSTR cssText();
6605
6606     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6607     IHTMLStyleSheetRulesCollection* rules();
6608
6609     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6610     IHTMLStyleSheetPagesCollection* pages();
6611
6612     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6613     LONG addPageRule(
6614         [in] BSTR bstrSelector,
6615         [in] BSTR bstrStyle,
6616         [defaultvalue(-1), in] LONG lIndex);
6617 }
6618
6619 [
6620     noncreatable,
6621     uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
6622 ]
6623 coclass HTMLStyleSheet
6624 {
6625     [default]           dispinterface DispHTMLStyleSheet;
6626                         interface IHTMLStyleSheet;
6627                         interface IHTMLStyleSheet2;
6628 }
6629
6630 /*****************************************************************************
6631  *    IHTMLStyleSheetsCollection interface
6632  */
6633 [
6634     odl,
6635     oleautomation,
6636     dual,
6637     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
6638 ]
6639 interface IHTMLStyleSheetsCollection : IDispatch
6640 {
6641     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6642     HRESULT length([retval, out] LONG *p);
6643
6644     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
6645     HRESULT _newEnum([retval, out] IUnknown **p);
6646
6647     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6648     HRESULT item(
6649         [in] VARIANT *pvarIndex,
6650         [retval, out] VARIANT *pvarResult);
6651 }
6652
6653 /*****************************************************************************
6654  *    DispHTMLStyleSheetsCollection dispinterface
6655  */
6656 [
6657     hidden,
6658     uuid(3050f547-98b5-11cf-bb82-00aa00bdce0b)
6659 ]
6660 dispinterface DispHTMLStyleSheetsCollection
6661 {
6662 properties:
6663 methods:
6664     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6665     long length();
6666
6667     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM), hidden, restricted]
6668     IUnknown *_newEnum();
6669
6670     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6671     VARIANT item([in] VARIANT *pvarIndex);
6672
6673     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
6674     IDispatch *constructor();
6675 }
6676
6677 /*****************************************************************************
6678  *    IHTMLTxtRange interface
6679  */
6680 [
6681     odl,
6682     oleautomation,
6683     dual,
6684     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
6685 ]
6686 interface IHTMLTxtRange : IDispatch
6687 {
6688     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
6689     HRESULT htmlText([retval, out] BSTR *p);
6690
6691     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
6692     HRESULT text([in] BSTR v);
6693
6694     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
6695     HRESULT text([retval, out] BSTR *p);
6696
6697     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
6698     HRESULT parentElement([retval, out] IHTMLElement **parent);
6699
6700     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
6701     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
6702
6703     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
6704     HRESULT inRange(
6705         [in] IHTMLTxtRange *Range,
6706         [retval, out] VARIANT_BOOL *InRange);
6707
6708     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
6709     HRESULT isEqual(
6710         [in] IHTMLTxtRange *Range,
6711         [retval, out] VARIANT_BOOL *IsEqual);
6712
6713     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
6714     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
6715
6716     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
6717     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
6718
6719     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
6720     HRESULT expand(
6721         [in] BSTR Unit,
6722         [retval, out] VARIANT_BOOL *Success);
6723
6724     [id(DISPID_IHTMLTXTRANGE_MOVE)]
6725     HRESULT move(
6726         [in] BSTR Unit,
6727         [defaultvalue(1), in] LONG Count,
6728         [retval, out] LONG *ActualCount);
6729
6730     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
6731     HRESULT moveStart(
6732         [in] BSTR Unit,
6733         [defaultvalue(1), in] LONG Count,
6734         [retval, out] LONG *ActualCount);
6735
6736     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
6737     HRESULT moveEnd(
6738         [in] BSTR Unit,
6739         [defaultvalue(1), in] LONG Count,
6740         [retval, out] LONG *ActualCount);
6741
6742     [id(DISPID_IHTMLTXTRANGE_SELECT)]
6743     HRESULT select();
6744
6745     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
6746     HRESULT pasteHTML([in] BSTR html);
6747
6748     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
6749     HRESULT moveToElementText([in] IHTMLElement *element);
6750
6751     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
6752     HRESULT setEndPoint(
6753         [in] BSTR how,
6754         [in] IHTMLTxtRange *SourceRange);
6755
6756     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
6757     HRESULT compareEndPoints(
6758         [in] BSTR how,
6759         [in] IHTMLTxtRange *SourceRange,
6760         [retval, out] LONG *ret);
6761
6762     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
6763     HRESULT findText(
6764         [in] BSTR String,
6765         [defaultvalue(1073741823), in] LONG count,
6766         [defaultvalue(0), in] LONG Flags,
6767         [retval, out] VARIANT_BOOL *Success);
6768
6769     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
6770     HRESULT moveToPoint(
6771         [in] LONG x,
6772         [in] LONG y);
6773
6774     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
6775     HRESULT getBookmark([retval, out] BSTR *Boolmark);
6776
6777     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
6778     HRESULT moveToBookmark(
6779         [in] BSTR Bookmark,
6780         [retval, out] VARIANT_BOOL *Success);
6781
6782     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
6783     HRESULT queryCommandSupported(
6784         [in] BSTR cmdID,
6785         [retval, out] VARIANT_BOOL *pfRet);
6786
6787     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
6788     HRESULT queryCommandEnabled(
6789         [in] BSTR cmdID,
6790         [retval, out] VARIANT_BOOL *pfRet);
6791
6792     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
6793     HRESULT queryCommandState(
6794         [in] BSTR cmdID,
6795         [retval, out] VARIANT_BOOL *pfRet);
6796
6797     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
6798     HRESULT queryCommandIndeterm(
6799         [in] BSTR cmdID,
6800         [retval, out] VARIANT_BOOL *pfRet);
6801
6802     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
6803     HRESULT queryCommandText(
6804         [in] BSTR cmdID,
6805         [retval, out] BSTR *pcmdText);
6806
6807     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
6808     HRESULT queryCommandValue(
6809         [in] BSTR cmdID,
6810         [retval, out] VARIANT *pcmdValue);
6811
6812     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
6813     HRESULT execCommand(
6814         [in] BSTR cmdID,
6815         [defaultvalue(0), in] VARIANT_BOOL showUI,
6816         [optional, in] VARIANT value,
6817         [retval, out] VARIANT_BOOL *pfRet);
6818
6819     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
6820     HRESULT execCommandShowHelp(
6821         [in] BSTR cmdID,
6822         [retval, out] VARIANT_BOOL *pfRet);
6823 }
6824
6825 [
6826     noncreatable,
6827     uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
6828 ]
6829 coclass HTMLStyleSheetsCollection
6830 {
6831     [default]           interface IHTMLStyleSheetsCollection;
6832 }
6833
6834 /*****************************************************************************
6835  *    IHTMLFormElement interface
6836  */
6837 [
6838     odl,
6839     oleautomation,
6840     dual,
6841     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
6842 ]
6843 interface IHTMLFormElement : IDispatch
6844 {
6845     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6846     HRESULT action([in] BSTR v);
6847
6848     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6849     HRESULT action([retval, out] BSTR *p);
6850
6851     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
6852     HRESULT dir([in] BSTR v);
6853
6854     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
6855     HRESULT dir([retval, out] BSTR *p);
6856
6857     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6858     HRESULT encoding([in] BSTR v);
6859
6860     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6861     HRESULT encoding([retval, out] BSTR *p);
6862
6863     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6864     HRESULT method([in] BSTR v);
6865
6866     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6867     HRESULT method([retval, out] BSTR *p);
6868
6869     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6870     HRESULT elements([retval, out] IDispatch **p);
6871
6872     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6873     HRESULT target([in] BSTR v);
6874
6875     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6876     HRESULT target([retval, out] BSTR *p);
6877
6878     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6879     HRESULT name([in] BSTR v);
6880
6881     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6882     HRESULT name([retval, out] BSTR *p);
6883
6884     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6885     HRESULT onsubmit([in] VARIANT v);
6886
6887     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6888     HRESULT onsubmit([retval, out] VARIANT *p);
6889
6890     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6891     HRESULT onreset([in] VARIANT v);
6892
6893     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6894     HRESULT onreset([retval, out] VARIANT *p);
6895
6896     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6897     HRESULT submit();
6898
6899     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6900     HRESULT reset();
6901
6902     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6903     HRESULT length([in] LONG v);
6904
6905     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6906     HRESULT length([retval, out] LONG *p);
6907
6908     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
6909     HRESULT _newEnum([retval, out] IUnknown **p);
6910
6911     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6912     HRESULT item(
6913         [optional, in] VARIANT name,
6914         [optional, in] VARIANT index,
6915         [retval, out] IDispatch **pdisp);
6916
6917     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6918     HRESULT tags(
6919         [in] VARIANT tagName,
6920         [retval, out] IDispatch **pdisp);
6921 }
6922
6923 /*****************************************************************************
6924  *    DispHTMLFormElement dispinterface
6925  */
6926 [
6927     hidden,
6928     uuid(3050F510-98B5-11CF-BB82-00AA00BDCE0B)
6929 ]
6930 dispinterface DispHTMLFormElement
6931 {
6932 properties:
6933 methods:
6934     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6935
6936     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6937     void action(BSTR v);
6938
6939     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6940     BSTR action();
6941
6942     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6943     void encoding(BSTR v);
6944
6945     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6946     BSTR encoding();
6947
6948     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6949     void method(BSTR v);
6950
6951     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6952     BSTR method();
6953
6954     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6955     IDispatch *elements();
6956
6957     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6958     void target(BSTR v);
6959
6960     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6961     BSTR target();
6962
6963     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6964     void name(BSTR v);
6965
6966     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6967     BSTR name();
6968
6969     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6970     void onsubmit(VARIANT v);
6971
6972     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6973     VARIANT onsubmit();
6974
6975     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6976     void onreset(VARIANT v);
6977
6978     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6979     VARIANT onreset();
6980
6981     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6982     void submit();
6983
6984     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6985     void reset();
6986
6987     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6988     void length(long v);
6989
6990     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6991     long length();
6992
6993     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM), hidden, restricted]
6994     IUnknown *_newEnum();
6995
6996     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6997     IDispatch *item(VARIANT name, VARIANT index);
6998
6999     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
7000     IDispatch *tags(VARIANT tagName);
7001 }
7002
7003 [
7004     hidden,
7005     uuid(3050F364-98B5-11CF-BB82-00AA00BDCE0B)
7006 ]
7007 dispinterface HTMLFormElementEvents
7008 {
7009 properties:
7010 methods:
7011     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
7012     VARIANT_BOOL onhelp();
7013
7014     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
7015     VARIANT_BOOL onclick();
7016
7017     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
7018     VARIANT_BOOL ondblclick();
7019
7020     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
7021     VARIANT_BOOL onkeypress();
7022
7023     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
7024     void onkeydown();
7025
7026     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
7027     void onkeyup();
7028
7029     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
7030     void onmouseout();
7031
7032     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
7033     void onmouseover();
7034
7035     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
7036     void onmousemove();
7037
7038     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
7039     void onmousedown();
7040
7041     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
7042     void onmouseup();
7043
7044     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
7045     VARIANT_BOOL onselectstart();
7046
7047     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
7048     void onfilterchange();
7049
7050     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
7051     VARIANT_BOOL ondragstart();
7052
7053     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
7054     VARIANT_BOOL onbeforeupdate();
7055
7056     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
7057     void onafterupdate();
7058
7059     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
7060     VARIANT_BOOL onerrorupdate();
7061
7062     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
7063     VARIANT_BOOL onrowexit();
7064
7065     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
7066     void onrowenter();
7067
7068     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
7069     void ondatasetchanged();
7070
7071     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
7072     void ondataavailable();
7073
7074     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
7075     void ondatasetcomplete();
7076
7077     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
7078     void onlosecapture();
7079
7080     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
7081     void onpropertychange();
7082
7083     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
7084     void onscroll();
7085
7086     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
7087     void onfocus();
7088
7089     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
7090     void onblur();
7091
7092     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
7093     void onresize();
7094
7095     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
7096     VARIANT_BOOL ondrag();
7097
7098     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
7099     void ondragend();
7100
7101     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
7102     VARIANT_BOOL ondragenter();
7103
7104     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
7105     VARIANT_BOOL ondragover();
7106
7107     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
7108     void ondragleave();
7109
7110     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
7111     VARIANT_BOOL ondrop();
7112
7113     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
7114     VARIANT_BOOL onbeforecut();
7115
7116     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
7117     VARIANT_BOOL oncut();
7118
7119     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
7120     VARIANT_BOOL onbeforecopy();
7121
7122     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
7123     VARIANT_BOOL oncopy();
7124
7125     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
7126     VARIANT_BOOL onbeforepaste();
7127
7128     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
7129     VARIANT_BOOL onpaste();
7130
7131     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
7132     VARIANT_BOOL oncontextmenu();
7133
7134     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
7135     void onrowsdelete();
7136
7137     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
7138     void onrowsinserted();
7139
7140     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
7141     void oncellchange();
7142
7143     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
7144     void onreadystatechange();
7145
7146     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
7147     void onbeforeeditfocus();
7148
7149     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
7150     void onlayoutcomplete();
7151
7152     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
7153     void onpage();
7154
7155     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
7156     VARIANT_BOOL onbeforedeactivate();
7157
7158     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
7159     VARIANT_BOOL onbeforeactivate();
7160
7161     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
7162     void onmove();
7163
7164     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
7165     VARIANT_BOOL oncontrolselect();
7166
7167     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
7168     VARIANT_BOOL onmovestart();
7169
7170     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
7171     void onmoveend();
7172
7173     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
7174     VARIANT_BOOL onresizestart();
7175
7176     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
7177     void onresizeend();
7178
7179     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
7180     void onmouseenter();
7181
7182     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
7183     void onmouseleave();
7184
7185     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
7186     VARIANT_BOOL onmousewheel();
7187
7188     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
7189     void onactivate();
7190
7191     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
7192     void ondeactivate();
7193
7194     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
7195     void onfocusin();
7196
7197     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
7198     void onfocusout();
7199
7200     [id(DISPID_HTMLFORMELEMENTEVENTS_ONSUBMIT)]
7201     VARIANT_BOOL onsubmit();
7202
7203     [id(DISPID_HTMLFORMELEMENTEVENTS_ONRESET)]
7204     VARIANT_BOOL onreset();
7205 }
7206
7207 interface IHTMLEventObj;
7208
7209 [
7210     hidden,
7211     uuid(3050F614-98B5-11CF-BB82-00AA00BDCE0B)
7212 ]
7213 dispinterface HTMLFormElementEvents2
7214 {
7215 properties:
7216 methods:
7217     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
7218     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
7219
7220     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
7221     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
7222
7223     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
7224     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
7225
7226     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
7227     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
7228
7229     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
7230     void onkeydown([in] IHTMLEventObj* pEvtObj);
7231
7232     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
7233     void onkeyup([in] IHTMLEventObj* pEvtObj);
7234
7235     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
7236     void onmouseout([in] IHTMLEventObj* pEvtObj);
7237
7238     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
7239     void onmouseover([in] IHTMLEventObj* pEvtObj);
7240
7241     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
7242     void onmousemove([in] IHTMLEventObj* pEvtObj);
7243
7244     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
7245     void onmousedown([in] IHTMLEventObj* pEvtObj);
7246
7247     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
7248     void onmouseup([in] IHTMLEventObj* pEvtObj);
7249
7250     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
7251     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
7252
7253     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
7254     void onfilterchange([in] IHTMLEventObj* pEvtObj);
7255
7256     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
7257     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
7258
7259     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
7260     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
7261
7262     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
7263     void onafterupdate([in] IHTMLEventObj* pEvtObj);
7264
7265     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
7266     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
7267
7268     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
7269     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
7270
7271     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
7272     void onrowenter([in] IHTMLEventObj* pEvtObj);
7273
7274     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
7275     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
7276
7277     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
7278     void ondataavailable([in] IHTMLEventObj* pEvtObj);
7279
7280     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
7281     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
7282
7283     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
7284     void onlosecapture([in] IHTMLEventObj* pEvtObj);
7285
7286     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
7287     void onpropertychange([in] IHTMLEventObj* pEvtObj);
7288
7289     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
7290     void onscroll([in] IHTMLEventObj* pEvtObj);
7291
7292     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
7293     void onfocus([in] IHTMLEventObj* pEvtObj);
7294
7295     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
7296     void onblur([in] IHTMLEventObj* pEvtObj);
7297
7298     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
7299     void onresize([in] IHTMLEventObj* pEvtObj);
7300
7301     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
7302     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
7303
7304     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
7305     void ondragend([in] IHTMLEventObj* pEvtObj);
7306
7307     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
7308     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
7309
7310     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
7311     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
7312
7313     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
7314     void ondragleave([in] IHTMLEventObj* pEvtObj);
7315
7316     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
7317     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
7318
7319     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
7320     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
7321
7322     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
7323     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
7324
7325     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
7326     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
7327
7328     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
7329     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
7330
7331     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
7332     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
7333
7334     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
7335     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
7336
7337     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
7338     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
7339
7340     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
7341     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
7342
7343     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
7344     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
7345
7346     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
7347     void oncellchange([in] IHTMLEventObj* pEvtObj);
7348
7349     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
7350     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
7351
7352     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
7353     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
7354
7355     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
7356     void onpage([in] IHTMLEventObj* pEvtObj);
7357
7358     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
7359     void onmouseenter([in] IHTMLEventObj* pEvtObj);
7360
7361     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
7362     void onmouseleave([in] IHTMLEventObj* pEvtObj);
7363
7364     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
7365     void onactivate([in] IHTMLEventObj* pEvtObj);
7366
7367     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
7368     void ondeactivate([in] IHTMLEventObj* pEvtObj);
7369
7370     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
7371     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
7372
7373     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
7374     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
7375
7376     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
7377     void onfocusin([in] IHTMLEventObj* pEvtObj);
7378
7379     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
7380     void onfocusout([in] IHTMLEventObj* pEvtObj);
7381
7382     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
7383     void onmove([in] IHTMLEventObj* pEvtObj);
7384
7385     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
7386     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
7387
7388     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
7389     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
7390
7391     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
7392     void onmoveend([in] IHTMLEventObj* pEvtObj);
7393
7394     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
7395     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
7396
7397     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
7398     void onresizeend([in] IHTMLEventObj* pEvtObj);
7399
7400     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
7401     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
7402
7403     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONSUBMIT)]
7404     VARIANT_BOOL onsubmit([in] IHTMLEventObj* pEvtObj);
7405
7406     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONRESET)]
7407     VARIANT_BOOL onreset([in] IHTMLEventObj* pEvtObj);
7408 }
7409
7410 [
7411     noncreatable,
7412     uuid(3050F24D-98B5-11CF-BB82-00AA00BDCE0B)
7413 ]
7414 coclass HTMLFormElement
7415 {
7416     [default]           dispinterface DispHTMLFormElement;
7417     [source, default]   dispinterface HTMLFormElementEvents;
7418     [source]            dispinterface HTMLFormElementEvents2;
7419                         interface IHTMLElement;
7420                         interface IHTMLElement2;
7421                         interface IHTMLElement3;
7422                         interface IHTMLElement4;
7423                         interface IHTMLUniqueName;
7424                         interface IHTMLDOMNode;
7425                         interface IHTMLDOMNode2;
7426                         interface IHTMLDOMConstructor;
7427                         interface IHTMLFormElement;
7428 }
7429
7430 /*****************************************************************************
7431  *    IHTMLTextContainer interface
7432  */
7433 [
7434     odl,
7435     oleautomation,
7436     dual,
7437     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
7438 ]
7439 interface IHTMLTextContainer : IDispatch
7440 {
7441     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
7442     HRESULT createControlRange([retval, out] IDispatch **range);
7443
7444     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
7445     HRESULT scrollHeight([retval, out] LONG *p);
7446
7447     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
7448     HRESULT scrollWidth([retval, out] LONG *p);
7449
7450     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7451     HRESULT scrollTop([in] LONG v);
7452
7453     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7454     HRESULT scrollTop([retval, out] LONG *p);
7455
7456     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7457     HRESULT scrollLeft([in] LONG v);
7458
7459     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7460     HRESULT scrollLeft([retval, out] LONG *p);
7461
7462     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7463     HRESULT onscroll([in] VARIANT v);
7464
7465     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7466     HRESULT onscroll([retval, out] VARIANT *p);
7467 }
7468
7469 /*****************************************************************************
7470  *    IHTMLImgElement interface
7471  */
7472 [
7473     odl,
7474     oleautomation,
7475     dual,
7476     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
7477 ]
7478 interface IHTMLImgElement : IDispatch
7479 {
7480     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7481     HRESULT isMap([in] VARIANT_BOOL v);
7482
7483     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7484     HRESULT isMap([retval, out] VARIANT_BOOL *p);
7485
7486     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7487     HRESULT useMap([in] BSTR v);
7488
7489     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7490     HRESULT useMap([retval, out] BSTR *p);
7491
7492     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7493     HRESULT mimeType([retval, out] BSTR *p);
7494
7495     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7496     HRESULT fileSize([retval, out] BSTR *p);
7497
7498     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7499     HRESULT fileCreatedDate([retval, out] BSTR *p);
7500
7501     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7502     HRESULT fileModifiedDate([retval, out] BSTR *p);
7503
7504     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7505     HRESULT fileUpdatedDate([retval, out] BSTR *p);
7506
7507     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7508     HRESULT protocol([retval, out] BSTR *p);
7509
7510     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7511     HRESULT href([retval, out] BSTR *p);
7512
7513     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7514     HRESULT nameProp([retval, out] BSTR *p);
7515
7516     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7517     HRESULT border([in] VARIANT v);
7518
7519     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7520     HRESULT border([retval, out] VARIANT *p);
7521
7522     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7523     HRESULT vspace([in] LONG v);
7524
7525     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7526     HRESULT vspace([retval, out] LONG *p);
7527
7528     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7529     HRESULT hspace([in] LONG v);
7530
7531     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7532     HRESULT hspace([retval, out] LONG *p);
7533
7534     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
7535     HRESULT alt([in] BSTR v);
7536
7537     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
7538     HRESULT alt([retval, out] BSTR *p);
7539
7540     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
7541     HRESULT src([in] BSTR v);
7542
7543     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
7544     HRESULT src([retval, out] BSTR *p);
7545
7546     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7547     HRESULT lowsrc([in] BSTR v);
7548
7549     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7550     HRESULT lowsrc([retval, out] BSTR *p);
7551
7552     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
7553     HRESULT vrml([in] BSTR v);
7554
7555     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
7556     HRESULT vrml([retval, out] BSTR *p);
7557
7558     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7559     HRESULT dynsrc([in] BSTR v);
7560
7561     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7562     HRESULT dynsrc([retval, out] BSTR *p);
7563
7564     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
7565     HRESULT readyState([retval, out] BSTR *p);
7566
7567     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7568     HRESULT complete([retval, out] VARIANT_BOOL *p);
7569
7570     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7571     HRESULT loop([in] VARIANT v);
7572
7573     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7574     HRESULT loop([retval, out] VARIANT *p);
7575
7576     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7577     HRESULT align([in] BSTR v);
7578
7579     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7580     HRESULT align([retval, out] BSTR *p);
7581
7582     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7583     HRESULT onload([in] VARIANT v);
7584
7585     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7586     HRESULT onload([retval, out] VARIANT *p);
7587
7588     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7589     HRESULT onerror([in] VARIANT v);
7590
7591     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7592     HRESULT onerror([retval, out] VARIANT *p);
7593
7594     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7595     HRESULT onabort([in] VARIANT v);
7596
7597     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7598     HRESULT onabort([retval, out] VARIANT *p);
7599
7600     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
7601     HRESULT name([in] BSTR v);
7602
7603     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
7604     HRESULT name([retval, out] BSTR *p);
7605
7606     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7607     HRESULT width([in] LONG v);
7608
7609     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7610     HRESULT width([retval, out] LONG *p);
7611
7612     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7613     HRESULT height([in] LONG v);
7614
7615     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7616     HRESULT height([retval, out] LONG *p);
7617
7618     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
7619     HRESULT start([in] BSTR v);
7620
7621     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
7622     HRESULT start([retval, out] BSTR *p);
7623 }
7624
7625 /*****************************************************************************
7626  *    IHTMLImageElementFactory interface
7627  */
7628 [
7629     odl,
7630     oleautomation,
7631     dual,
7632     uuid(3050F38E-98B5-11CF-BB82-00AA00BDCE0B)
7633 ]
7634 interface IHTMLImageElementFactory : IDispatch
7635 {
7636     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
7637     HRESULT create(
7638         [optional, in] VARIANT width,
7639         [optional, in] VARIANT height,
7640         [retval, out]  IHTMLImgElement **elem);
7641 }
7642
7643 /*****************************************************************************
7644  *    DispHTMLImg interface
7645  */
7646 [
7647     hidden,
7648     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
7649 ]
7650 dispinterface DispHTMLImg
7651 {
7652 properties:
7653 methods:
7654     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7655
7656     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7657     void isMap(VARIANT_BOOL v);
7658
7659     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7660     VARIANT_BOOL isMap();
7661
7662     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7663     void useMap(BSTR v);
7664
7665     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7666     BSTR useMap();
7667
7668     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7669     BSTR mimeType();
7670
7671     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7672     BSTR fileSize();
7673
7674     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7675     BSTR fileCreatedDate();
7676
7677     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7678     BSTR fileModifiedDate();
7679
7680     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7681     BSTR fileUpdatedDate();
7682
7683     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7684     BSTR protocol();
7685
7686     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7687     BSTR href();
7688
7689     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7690     BSTR nameProp();
7691
7692     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7693     void border(VARIANT v);
7694
7695     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7696     VARIANT border();
7697
7698     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7699     void vspace(LONG v);
7700
7701     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7702     LONG vspace();
7703
7704     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7705     void hspace(LONG v);
7706
7707     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7708     LONG hspace();
7709
7710     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7711     void alt(BSTR v);
7712
7713     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7714     BSTR alt();
7715
7716     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7717     void src(BSTR v);
7718
7719     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7720     BSTR src();
7721
7722     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7723     void lowsrc(BSTR v);
7724
7725     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7726     BSTR lowsrc();
7727
7728     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7729     void vrml(BSTR v);
7730
7731     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7732     BSTR vrml();
7733
7734     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7735     void dynsrc(BSTR v);
7736
7737     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7738     BSTR dynsrc();
7739
7740     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7741     VARIANT_BOOL complete();
7742
7743     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7744     void loop(VARIANT v);
7745
7746     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7747     VARIANT loop();
7748
7749     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7750     void align(BSTR v);
7751
7752     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7753     BSTR align();
7754
7755     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7756     void onload(VARIANT v);
7757
7758     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7759     VARIANT onload();
7760
7761     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7762     void onerror(VARIANT v);
7763
7764     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7765     VARIANT onerror();
7766
7767     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7768     void onabort(VARIANT v);
7769
7770     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7771     VARIANT onabort();
7772
7773     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7774     void name(BSTR v);
7775
7776     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7777     BSTR name();
7778
7779     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7780     void width(LONG v);
7781
7782     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7783     LONG width();
7784
7785     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7786     void height(LONG v);
7787
7788     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7789     LONG height();
7790
7791     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7792     void start(BSTR v);
7793
7794     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7795     BSTR start();
7796
7797     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7798     void longDesc(BSTR v);
7799
7800     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7801     BSTR longDesc();
7802 }
7803
7804 /*****************************************************************************
7805  *    IHTMLXMLHttpRequest interface
7806  */
7807 [
7808     odl,
7809     oleautomation,
7810     dual,
7811     uuid(3051040a-98b5-11cf-bb82-00aa00bdce0b)
7812 ]
7813 interface IHTMLXMLHttpRequest : IDispatch
7814 {
7815     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_READYSTATE)]
7816     HRESULT readyState([out, retval] long *p);
7817
7818     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEBODY)]
7819     HRESULT responseBody([out, retval] VARIANT *p);
7820
7821     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSETEXT)]
7822     HRESULT responseText([out, retval] BSTR *p);
7823
7824     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEXML)]
7825     HRESULT responseXML([out, retval] IDispatch **p);
7826
7827     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUS)]
7828     HRESULT status([out, retval] long *p);
7829
7830     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUSTEXT)]
7831     HRESULT statusText([out, retval] BSTR *p);
7832
7833     [propput, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable]
7834     HRESULT onreadystatechange([in] VARIANT v);
7835
7836     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable]
7837     HRESULT onreadystatechange([out, retval] VARIANT *p);
7838
7839     [id(DISPID_IHTMLXMLHTTPREQUEST_ABORT)] HRESULT abort();
7840
7841     [id(DISPID_IHTMLXMLHTTPREQUEST_OPEN)]
7842     HRESULT open(
7843             [in] BSTR bstrMethod,
7844             [in] BSTR bstrUrl,
7845             [in] VARIANT varAsync,
7846             [in, optional] VARIANT varUser,
7847             [in, optional] VARIANT varPassword);
7848
7849     [id(DISPID_IHTMLXMLHTTPREQUEST_SEND)]
7850     HRESULT send([in, optional] VARIANT varBody);
7851
7852     [id(DISPID_IHTMLXMLHTTPREQUEST_GETALLRESPONSEHEADERS)]
7853     HRESULT getAllResponseHeaders([out, retval] BSTR *p);
7854
7855     [id(DISPID_IHTMLXMLHTTPREQUEST_GETRESPONSEHEADER)]
7856     HRESULT getResponseHeader(
7857             [in] BSTR bstrHeader,
7858             [out, retval] BSTR *p);
7859
7860     [id(DISPID_IHTMLXMLHTTPREQUEST_SETREQUESTHEADER)]
7861     HRESULT setRequestHeader(
7862             [in] BSTR bstrHeader,
7863             [in] BSTR bstrValue);
7864 }
7865
7866 /*****************************************************************************
7867  *    IHTMLXMLHttpRequest2 interface
7868  */
7869 [
7870     odl,
7871     oleautomation,
7872     dual,
7873     uuid(30510482-98b5-11cf-bb82-00aa00bdce0b)
7874 ]
7875 interface IHTMLXMLHttpRequest2 : IDispatch
7876 {
7877     [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)]
7878     HRESULT timeout([in] long v);
7879
7880     [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)]
7881     HRESULT timeout([out, retval] long *p);
7882
7883     [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable]
7884     HRESULT ontimeout([in] VARIANT v);
7885
7886     [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable]
7887     HRESULT ontimeout([out, retval] VARIANT *p);
7888 }
7889
7890 /*****************************************************************************
7891  *    IHTMLXMLHttpRequestFactory interface
7892  */
7893 [
7894     odl,
7895     oleautomation,
7896     dual,
7897     uuid(3051040c-98b5-11cf-bb82-00aa00bdce0b)
7898 ]
7899 interface IHTMLXMLHttpRequestFactory : IDispatch
7900 {
7901     [id(DISPID_IHTMLXMLHTTPREQUESTFACTORY_CREATE)]
7902     HRESULT create([out, retval] IHTMLXMLHttpRequest **p);
7903 }
7904
7905 /*****************************************************************************
7906  *    DispHTMLXMLHttpRequest dispinterface
7907  */
7908 [
7909     hidden,
7910     uuid(3050f596-98b5-11cf-bb82-00aa00bdce0b)
7911 ]
7912 dispinterface DispHTMLXMLHttpRequest
7913 {
7914 properties:
7915 methods:
7916     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_READYSTATE)]
7917     long readyState();
7918
7919     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEBODY)]
7920     VARIANT responseBody();
7921
7922     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSETEXT)]
7923     BSTR responseText();
7924
7925     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEXML)]
7926     IDispatch *responseXML();
7927
7928     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUS)]
7929     long status();
7930
7931     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUSTEXT)]
7932     BSTR statusText();
7933
7934     [propput, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable]
7935     void onreadystatechange(VARIANT v);
7936
7937     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable]
7938     VARIANT onreadystatechange();
7939
7940     [id(DISPID_IHTMLXMLHTTPREQUEST_ABORT)]
7941     void abort();
7942
7943     [id(DISPID_IHTMLXMLHTTPREQUEST_OPEN)]
7944     void open(
7945             [in] BSTR bstrMethod,
7946             [in] BSTR bstrUrl,
7947             [in] VARIANT varAsync,
7948             [in, optional] VARIANT varUser,
7949             [in, optional] VARIANT varPassword);
7950
7951     [id(DISPID_IHTMLXMLHTTPREQUEST_SEND)]
7952     void send([in, optional] VARIANT varBody);
7953
7954     [id(DISPID_IHTMLXMLHTTPREQUEST_GETALLRESPONSEHEADERS)]
7955     BSTR getAllResponseHeaders();
7956
7957     [id(DISPID_IHTMLXMLHTTPREQUEST_GETRESPONSEHEADER)]
7958     BSTR getResponseHeader([in] BSTR bstrHeader);
7959
7960     [id(DISPID_IHTMLXMLHTTPREQUEST_SETREQUESTHEADER)]
7961     void setRequestHeader(
7962             [in] BSTR bstrHeader,
7963             [in] BSTR bstrValue);
7964
7965     [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)]
7966     void timeout(long v);
7967
7968     [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)]
7969     long timeout();
7970
7971     [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable]
7972     void ontimeout(VARIANT v);
7973
7974     [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable]
7975     VARIANT ontimeout();
7976
7977     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
7978 }
7979
7980 /*****************************************************************************
7981  *    IHTMLControlElement interface
7982  */
7983 [
7984     odl,
7985     oleautomation,
7986     dual,
7987     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
7988 ]
7989 interface IHTMLControlElement : IDispatch
7990 {
7991     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7992     HRESULT tabIndex([in] short v);
7993
7994     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7995     HRESULT tabIndex([retval, out] short * p);
7996
7997     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
7998     HRESULT focus();
7999
8000     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
8001     HRESULT accessKey([in] BSTR v);
8002
8003     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
8004     HRESULT accessKey([retval, out] BSTR * p);
8005
8006     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
8007     HRESULT onblur([in] VARIANT v);
8008
8009     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
8010     HRESULT onblur([retval, out] VARIANT * p);
8011
8012     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
8013     HRESULT onfocus([in] VARIANT v);
8014
8015     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
8016     HRESULT onfocus([retval, out] VARIANT * p);
8017
8018     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
8019     HRESULT onresize([in] VARIANT v);
8020
8021     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
8022     HRESULT onresize([retval, out] VARIANT * p);
8023
8024     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
8025     HRESULT blur();
8026
8027     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
8028     HRESULT addFilter([in] IUnknown* pUnk);
8029
8030     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
8031     HRESULT removeFilter([in] IUnknown* pUnk);
8032
8033     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
8034     HRESULT clientHeight([retval, out] LONG * p);
8035
8036     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
8037     HRESULT clientWidth([retval, out] LONG * p);
8038
8039     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
8040     HRESULT clientTop([retval, out] LONG * p);
8041
8042     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
8043     HRESULT clientLeft([retval, out] LONG * p);
8044 }
8045
8046 /*****************************************************************************
8047  *    IHTMLBodyElement interface
8048  */
8049 [
8050     odl,
8051     oleautomation,
8052     dual,
8053     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
8054 ]
8055 interface IHTMLBodyElement : IDispatch
8056 {
8057     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8058     HRESULT background([in] BSTR v);
8059
8060     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8061     HRESULT background([retval, out] BSTR *p);
8062
8063     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8064     HRESULT bgProperties([in] BSTR v);
8065
8066     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8067     HRESULT bgProperties([retval, out] BSTR *p);
8068
8069     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8070     HRESULT leftMargin([in] VARIANT v);
8071
8072     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8073     HRESULT leftMargin([retval, out] VARIANT *p);
8074
8075     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8076     HRESULT topMargin([in] VARIANT v);
8077
8078     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8079     HRESULT topMargin([retval, out] VARIANT *p);
8080
8081     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8082     HRESULT rightMargin([in] VARIANT v);
8083
8084     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8085     HRESULT rightMargin([retval, out] VARIANT *p);
8086
8087     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8088     HRESULT bottomMargin([in] VARIANT v);
8089
8090     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8091     HRESULT bottomMargin([retval, out] VARIANT *p);
8092
8093     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8094     HRESULT noWrap([in] VARIANT_BOOL v);
8095
8096     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8097     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
8098
8099     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8100     HRESULT bgColor([in] VARIANT v);
8101
8102     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8103     HRESULT bgColor([retval, out] VARIANT *p);
8104
8105     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8106     HRESULT text([in] VARIANT v);
8107
8108     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8109     HRESULT text([retval, out] VARIANT *p);
8110
8111     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8112     HRESULT link([in] VARIANT v);
8113
8114     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8115     HRESULT link([retval, out] VARIANT *p);
8116
8117     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8118     HRESULT vLink([in] VARIANT v);
8119
8120     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8121     HRESULT vLink([retval, out] VARIANT *p);
8122
8123     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8124     HRESULT aLink([in] VARIANT v);
8125
8126     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8127     HRESULT aLink([retval, out] VARIANT *p);
8128
8129     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8130     HRESULT onload([in] VARIANT v);
8131
8132     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8133     HRESULT onload([retval, out] VARIANT *p);
8134
8135     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8136     HRESULT onunload([in] VARIANT v);
8137
8138     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8139     HRESULT onunload([retval, out] VARIANT *p);
8140
8141     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8142     HRESULT scroll([in] BSTR v);
8143
8144     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8145     HRESULT scroll([retval, out] BSTR *p);
8146
8147     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8148     HRESULT onselect([in] VARIANT v);
8149
8150     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8151     HRESULT onselect([retval, out] VARIANT *p);
8152
8153     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8154     HRESULT onbeforeunload([in] VARIANT v);
8155
8156     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8157     HRESULT onbeforeunload([retval, out] VARIANT *p);
8158
8159     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8160     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8161 }
8162
8163 /*****************************************************************************
8164  *    IHTMLBodyElement2 interface
8165  */
8166 [
8167     odl,
8168     oleautomation,
8169     dual,
8170     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
8171 ]
8172 interface IHTMLBodyElement2 : IDispatch
8173 {
8174     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8175     HRESULT onbeforeprint([in] VARIANT v);
8176
8177     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8178     HRESULT onbeforeprint([retval, out] VARIANT *p);
8179
8180     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8181     HRESULT onafterprint([in] VARIANT v);
8182
8183     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8184     HRESULT onafterprint([retval, out] VARIANT *p);
8185 }
8186
8187 [
8188     hidden,
8189     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
8190 ]
8191 dispinterface DispHTMLBody
8192 {
8193 properties:
8194 methods:
8195     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8196
8197     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8198     void background(BSTR v);
8199
8200     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8201     BSTR background();
8202
8203     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8204     void bgProperties(BSTR v);
8205
8206     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8207     BSTR bgProperties();
8208
8209     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8210     void leftMargin(VARIANT v);
8211
8212     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8213     VARIANT leftMargin();
8214
8215     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8216     void topMargin(VARIANT v);
8217
8218     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8219     VARIANT topMargin();
8220
8221     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8222     void rightMargin(VARIANT v);
8223
8224     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8225     VARIANT rightMargin();
8226
8227     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8228     void bottomMargin(VARIANT v);
8229
8230     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8231     VARIANT bottomMargin();
8232
8233     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8234     void noWrap(VARIANT_BOOL v);
8235
8236     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8237     VARIANT_BOOL noWrap();
8238
8239     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8240     void bgColor(VARIANT v);
8241
8242     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8243     VARIANT bgColor();
8244
8245     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8246     void text(VARIANT v);
8247
8248     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8249     VARIANT text();
8250
8251     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8252     void link(VARIANT v);
8253
8254     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8255     VARIANT link();
8256
8257     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8258     void vLink(VARIANT v);
8259
8260     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8261     VARIANT vLink();
8262
8263     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8264     void aLink(VARIANT v);
8265
8266     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8267     VARIANT aLink();
8268
8269     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8270     void onload(VARIANT v);
8271
8272     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8273     VARIANT onload();
8274
8275     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8276     void onunload(VARIANT v);
8277
8278     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8279     VARIANT onunload();
8280
8281     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8282     void scroll(BSTR v);
8283
8284     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8285     BSTR scroll();
8286
8287     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8288     void onselect(VARIANT v);
8289
8290     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8291     VARIANT onselect();
8292
8293     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8294     void onbeforeunload(VARIANT v);
8295
8296     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8297     VARIANT onbeforeunload();
8298
8299     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8300     IHTMLTxtRange* createTextRange();
8301
8302     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8303     void onbeforeprint(VARIANT v);
8304
8305     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8306     VARIANT onbeforeprint();
8307
8308     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8309     void onafterprint(VARIANT v);
8310
8311     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8312     VARIANT onafterprint();
8313 }
8314
8315 [
8316     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
8317 ]
8318 coclass HTMLBody
8319 {
8320     [default]           dispinterface DispHTMLBody;
8321     [source, default]   dispinterface HTMLTextContainerEvents;
8322     [source]            dispinterface HTMLTextContainerEvents2;
8323                         interface IHTMLElement;
8324                         interface IHTMLElement2;
8325                         interface IHTMLElement3;
8326                         interface IHTMLElement4;
8327                         interface IHTMLUniqueName;
8328                         interface IHTMLDOMNode;
8329                         interface IHTMLDOMNode2;
8330                         interface IHTMLControlElement;
8331                         interface IHTMLTextContainer;
8332                         interface IHTMLBodyElement;
8333                         interface IHTMLBodyElement2;
8334 }
8335
8336 /*****************************************************************************
8337  *    IHTMLAnchorElement interface
8338  */
8339 [
8340     odl,
8341     oleautomation,
8342     dual,
8343     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
8344 ]
8345 interface IHTMLAnchorElement : IDispatch
8346 {
8347     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8348     HRESULT href([in] BSTR v);
8349
8350     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8351     HRESULT href([retval, out] BSTR *p);
8352
8353     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8354     HRESULT target([in] BSTR v);
8355
8356     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8357     HRESULT target([retval, out] BSTR *p);
8358
8359     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8360     HRESULT rel([in] BSTR v);
8361
8362     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8363     HRESULT rel([retval, out] BSTR *p);
8364
8365     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8366     HRESULT rev([in] BSTR v);
8367
8368     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8369     HRESULT rev([retval, out] BSTR *p);
8370
8371     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8372     HRESULT urn([in] BSTR v);
8373
8374     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8375     HRESULT urn([retval, out] BSTR *p);
8376
8377     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8378     HRESULT Methods([in] BSTR v);
8379
8380     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8381     HRESULT Methods([retval, out] BSTR *p);
8382
8383     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8384     HRESULT name([in] BSTR v);
8385
8386     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8387     HRESULT name([retval, out] BSTR *p);
8388
8389     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8390     HRESULT host([in] BSTR v);
8391
8392     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8393     HRESULT host([retval, out] BSTR *p);
8394
8395     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8396     HRESULT hostname([in] BSTR v);
8397
8398     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8399     HRESULT hostname([retval, out] BSTR *p);
8400
8401     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8402     HRESULT pathname([in] BSTR v);
8403
8404     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8405     HRESULT pathname([retval, out] BSTR *p);
8406
8407     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8408     HRESULT port([in] BSTR v);
8409
8410     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8411     HRESULT port([retval, out] BSTR *p);
8412
8413     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8414     HRESULT protocol([in] BSTR v);
8415
8416     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8417     HRESULT protocol([retval, out] BSTR *p);
8418
8419     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8420     HRESULT search([in] BSTR v);
8421
8422     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8423     HRESULT search([retval, out] BSTR *p);
8424
8425     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8426     HRESULT hash([in] BSTR v);
8427
8428     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8429     HRESULT hash([retval, out] BSTR *p);
8430
8431     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8432     HRESULT onblur([in] VARIANT v);
8433
8434     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8435     HRESULT onblur([retval, out] VARIANT *p);
8436
8437     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8438     HRESULT onfocus([in] VARIANT v);
8439
8440     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8441     HRESULT onfocus([retval, out] VARIANT *p);
8442
8443     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8444     HRESULT accessKey([in] BSTR v);
8445
8446     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8447     HRESULT accessKey([retval, out] BSTR *p);
8448
8449     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8450     HRESULT protocolLong([retval, out] BSTR *p);
8451
8452     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8453     HRESULT mimeType([retval, out] BSTR *p);
8454
8455     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8456     HRESULT nameProp([retval, out] BSTR *p);
8457
8458     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8459     HRESULT tabIndex([in] short v);
8460
8461     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8462     HRESULT tabIndex([retval, out] short *p);
8463
8464     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
8465     HRESULT focus();
8466
8467     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
8468     HRESULT blur();
8469 }
8470
8471 /*****************************************************************************
8472  *    DispHTMLAnchorElement dispinterface
8473  */
8474 [
8475     hidden,
8476     uuid(3050f502-98b5-11cf-bb82-00aa00bdce0b)
8477 ]
8478 dispinterface DispHTMLAnchorElement
8479 {
8480 properties:
8481 methods:
8482     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8483
8484     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8485     void href(BSTR v);
8486
8487     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8488     BSTR href();
8489
8490     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8491     void target(BSTR v);
8492
8493     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8494     BSTR target();
8495
8496     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8497     void rel(BSTR v);
8498
8499     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8500     BSTR rel();
8501
8502     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8503     void rev(BSTR v);
8504
8505     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8506     BSTR rev();
8507
8508     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8509     void urn(BSTR v);
8510
8511     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8512     BSTR urn();
8513
8514     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8515     void Methods(BSTR v);
8516
8517     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8518     BSTR Methods();
8519
8520     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8521     void name(BSTR v);
8522
8523     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8524     BSTR name();
8525
8526     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8527     void host(BSTR v);
8528
8529     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8530     BSTR host();
8531
8532     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8533     void hostname(BSTR v);
8534
8535     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8536     BSTR hostname();
8537
8538     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8539     void pathname(BSTR v);
8540
8541     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8542     BSTR pathname();
8543
8544     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8545     void port(BSTR v);
8546
8547     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8548     BSTR port();
8549
8550     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8551     void protocol(BSTR v);
8552
8553     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8554     BSTR protocol();
8555
8556     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8557     void search(BSTR v);
8558
8559     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8560     BSTR search();
8561
8562     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8563     void hash(BSTR v);
8564
8565     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8566     BSTR hash();
8567
8568     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8569     BSTR protocolLong();
8570
8571     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8572     BSTR mimeType();
8573
8574     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8575     BSTR nameProp();
8576
8577     [propput, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8578     void charset(BSTR v);
8579
8580     [propget, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8581     BSTR charset();
8582
8583     [propput, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8584     void coords(BSTR v);
8585
8586     [propget, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8587     BSTR coords();
8588
8589     [propput, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8590     void hreflang(BSTR v);
8591
8592     [propget, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8593     BSTR hreflang();
8594
8595     [propput, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8596     void shape(BSTR v);
8597
8598     [propget, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8599     BSTR shape();
8600
8601     [propput, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8602     void type(BSTR v);
8603
8604     [propget, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8605     BSTR type();
8606
8607     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8608     void ie8_shape(BSTR v);
8609
8610     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8611     BSTR ie8_shape();
8612
8613     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8614     void ie8_coords(BSTR v);
8615
8616     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8617     BSTR ie8_coords();
8618
8619     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8620     void ie8_href(BSTR v);
8621
8622     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8623     BSTR ie8_href();
8624 }
8625
8626 /*****************************************************************************
8627  *    IHTMLElementCollection interface
8628  */
8629 [
8630     odl,
8631     oleautomation,
8632     dual,
8633     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
8634 ]
8635 interface IHTMLElementCollection : IDispatch
8636 {
8637     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8638     HRESULT toString([retval, out] BSTR *String);
8639
8640     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8641     HRESULT length([in] LONG v);
8642
8643     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8644     HRESULT length([retval, out] LONG *p);
8645
8646     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
8647     HRESULT _newEnum([retval, out] IUnknown **p);
8648
8649     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8650     HRESULT item(
8651         [optional, in] VARIANT name,
8652         [optional, in] VARIANT index,
8653         [retval,  out] IDispatch **pdisp);
8654
8655     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8656     HRESULT tags(
8657         [in] VARIANT tagName,
8658         [retval, out] IDispatch **pdisp);
8659 }
8660
8661 /*****************************************************************************
8662  *    DispHTMLElementCollection dispinterface
8663  */
8664 [
8665     hidden,
8666     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
8667 ]
8668 dispinterface DispHTMLElementCollection
8669 {
8670 properties:
8671 methods:
8672     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8673     BSTR toString();
8674
8675     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8676     void length(LONG v);
8677
8678     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8679     LONG length();
8680
8681     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
8682     IUnknown *_newEnum();
8683
8684     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8685     IDispatch *item(
8686             [in, optional] VARIANT name,
8687             [in, optional] VARIANT index);
8688
8689     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8690     IDispatch *tags(
8691             [in] VARIANT tagName);
8692
8693     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
8694     IDispatch *urns([in] VARIANT urn);
8695
8696     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
8697     IDispatch *namedItem([in] BSTR name);
8698 }
8699
8700 /*****************************************************************************
8701  *    IHTMLSelectElement interface
8702  */
8703 [
8704     odl,
8705     oleautomation,
8706     dual,
8707     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
8708 ]
8709 interface IHTMLSelectElement : IDispatch
8710 {
8711     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8712     HRESULT size([in] LONG v);
8713
8714     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8715     HRESULT size([retval, out] LONG *p);
8716
8717     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8718     HRESULT multiple([in] VARIANT_BOOL v);
8719
8720     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8721     HRESULT multiple([retval, out] VARIANT_BOOL *p);
8722
8723     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8724     HRESULT name([in] BSTR v);
8725
8726     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8727     HRESULT name([retval, out] BSTR *p);
8728
8729     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8730     HRESULT options([retval, out] IDispatch **p);
8731
8732     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8733     HRESULT onchange([in] VARIANT v);
8734
8735     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8736     HRESULT onchange([retval, out] VARIANT *p);
8737
8738     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8739     HRESULT selectedIndex([in] LONG v);
8740
8741     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8742     HRESULT selectedIndex([retval, out] LONG *p);
8743
8744     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8745     HRESULT type([retval, out] BSTR *p);
8746
8747     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8748     HRESULT value([in] BSTR v);
8749
8750     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8751     HRESULT value([retval, out] BSTR *p);
8752
8753     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8754     HRESULT disabled([in] VARIANT_BOOL v);
8755
8756     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8757     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8758
8759     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8760     HRESULT form([retval, out] IHTMLFormElement **p);
8761
8762     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8763     HRESULT add(
8764         [in] IHTMLElement *element,
8765         [optional, in] VARIANT before);
8766
8767     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8768     HRESULT remove([defaultvalue(-1), in] LONG index);
8769
8770     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8771     HRESULT length([in] LONG v);
8772
8773     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8774     HRESULT length([retval, out] LONG *p);
8775
8776     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8777     HRESULT _newEnum([retval, out] IUnknown **p);
8778
8779     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8780     HRESULT item(
8781         [optional, in] VARIANT name,
8782         [optional, in] VARIANT index,
8783         [retval, out] IDispatch **pdisp);
8784
8785     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8786     HRESULT tags(
8787         [in] VARIANT tagName,
8788         [retval, out] IDispatch **pdisp);
8789 }
8790
8791 /*****************************************************************************
8792  *    DispHTMLSelectElement dispinterface
8793  */
8794 [
8795     hidden,
8796     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8797 ]
8798 dispinterface DispHTMLSelectElement
8799 {
8800 properties:
8801 methods:
8802     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8803
8804     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8805     void size(LONG v);
8806
8807     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8808     LONG size();
8809
8810     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8811     void multiple(VARIANT_BOOL v);
8812
8813     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8814     VARIANT_BOOL multiple();
8815
8816     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8817     void name(BSTR v);
8818
8819     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8820     BSTR name();
8821
8822     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8823     IDispatch *options();
8824
8825     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8826     void onchange(VARIANT v);
8827
8828     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8829     VARIANT onchange();
8830
8831     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8832     void selectedIndex(LONG v);
8833
8834     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8835     LONG selectedIndex();
8836
8837     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8838     BSTR type();
8839
8840     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8841     void value(BSTR v);
8842
8843     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8844     BSTR value();
8845
8846     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8847     IHTMLFormElement *form();
8848
8849     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8850     void add(
8851             [in] IHTMLElement *element,
8852             [in, optional] VARIANT before);
8853
8854     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8855     void remove([in, defaultvalue(-1)] LONG index);
8856
8857     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8858     void length(LONG v);
8859
8860     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8861     LONG length();
8862
8863     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8864     IUnknown *_newEnum();
8865
8866     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8867     IDispatch *item(
8868             [in, optional] VARIANT name,
8869             [in, optional] VARIANT index);
8870
8871     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8872     IDispatch *tags([in] VARIANT tagName);
8873
8874     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
8875     IDispatch *urns([in] VARIANT urn);
8876
8877     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
8878     IDispatch *namedItem([in] BSTR name);
8879 }
8880
8881 /*****************************************************************************
8882  *    IHTMLSelectionObject interface
8883  */
8884 [
8885     odl,
8886     oleautomation,
8887     dual,
8888     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
8889 ]
8890 interface IHTMLSelectionObject : IDispatch
8891 {
8892     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
8893     HRESULT createRange([retval, out] IDispatch **range);
8894
8895     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
8896     HRESULT empty();
8897
8898     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
8899     HRESULT clear();
8900
8901     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
8902     HRESULT type([retval, out] BSTR *p);
8903 }
8904
8905 /*****************************************************************************
8906  *    IHTMLOptionElement interface
8907  */
8908 [
8909     odl,
8910     oleautomation,
8911     dual,
8912     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
8913 ]
8914 interface IHTMLOptionElement : IDispatch
8915 {
8916     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8917     HRESULT selected([in] VARIANT_BOOL v);
8918
8919     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8920     HRESULT selected([retval, out] VARIANT_BOOL *p);
8921
8922     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8923     HRESULT value([in] BSTR v);
8924
8925     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8926     HRESULT value([retval, out] BSTR *p);
8927
8928     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8929     HRESULT defaultSelected([in] VARIANT_BOOL v);
8930
8931     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8932     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
8933
8934     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8935     HRESULT index([in] LONG v);
8936
8937     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8938     HRESULT index([retval, out] LONG *p);
8939
8940     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8941     HRESULT text([in] BSTR v);
8942
8943     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8944     HRESULT text([retval, out] BSTR *p);
8945
8946     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8947     HRESULT form([retval, out] IHTMLFormElement **p);
8948 }
8949
8950 [
8951     odl,
8952     oleautomation,
8953     dual,
8954     uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
8955 ]
8956 interface IHTMLOptionElement3 : IDispatch
8957 {
8958     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8959     HRESULT label([in] BSTR v);
8960
8961     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8962     HRESULT label([retval, out] BSTR * p);
8963 }
8964
8965 /*****************************************************************************
8966  *    IHTMLOptionElementFactory interface
8967  */
8968 [
8969     odl,
8970     oleautomation,
8971     dual,
8972     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
8973 ]
8974 interface IHTMLOptionElementFactory : IDispatch
8975 {
8976     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
8977     HRESULT create(
8978         [optional, in] VARIANT text,
8979         [optional, in] VARIANT value,
8980         [optional, in] VARIANT defaultselected,
8981         [optional, in] VARIANT selected,
8982         [retval, out] IHTMLOptionElement **optelem);
8983 }
8984
8985 /*****************************************************************************
8986  *    DispHTMLOptionElement dispinterface
8987  */
8988 [
8989     hidden,
8990     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
8991 ]
8992 dispinterface DispHTMLOptionElement
8993 {
8994 properties:
8995 methods:
8996     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8997
8998     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8999     void selected(VARIANT_BOOL v);
9000
9001     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9002     VARIANT_BOOL selected();
9003
9004     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9005     void value(BSTR v);
9006
9007     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9008     BSTR value();
9009
9010     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9011     void defaultSelected(VARIANT_BOOL v);
9012
9013     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9014     VARIANT_BOOL defaultSelected();
9015
9016     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9017     void index(LONG v);
9018
9019     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9020     LONG index();
9021
9022     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9023     void text(BSTR v);
9024
9025     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9026     BSTR text();
9027
9028     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9029     IHTMLFormElement *form();
9030
9031     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9032     void label(BSTR v);
9033
9034     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9035     BSTR label();
9036 }
9037
9038 [
9039     noncreatable,
9040     uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
9041 ]
9042 coclass HTMLOptionElement
9043 {
9044     [default]           dispinterface DispHTMLOptionElement;
9045     [source, default]   dispinterface HTMLElementEvents;
9046     [source]            dispinterface HTMLElementEvents2;
9047                         interface IHTMLElement;
9048                         interface IHTMLElement2;
9049                         interface IHTMLElement3;
9050                         interface IHTMLElement4;
9051                         interface IHTMLUniqueName;
9052                         interface IHTMLDOMNode;
9053                         interface IHTMLDOMNode2;
9054                         interface IHTMLDatabinding;
9055                         interface IHTMLOptionElement;
9056                         interface IHTMLOptionElement3;
9057 }
9058
9059 /*****************************************************************************
9060  *    IHTMLInputElement interface
9061  */
9062 [
9063     odl,
9064     oleautomation,
9065     dual,
9066     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
9067 ]
9068 interface IHTMLInputElement : IDispatch
9069 {
9070     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9071     HRESULT type([in] BSTR v);
9072
9073     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9074     HRESULT type([retval, out] BSTR *p);
9075
9076     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9077     HRESULT value([in] BSTR v);
9078
9079     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9080     HRESULT value([retval, out] BSTR *p);
9081
9082     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9083     HRESULT name([in] BSTR v);
9084
9085     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9086     HRESULT name([retval, out] BSTR *p);
9087
9088     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9089     HRESULT status([in] VARIANT_BOOL v);
9090
9091     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9092     HRESULT status([retval, out] VARIANT_BOOL *p);
9093
9094     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
9095     HRESULT disabled([in] VARIANT_BOOL v);
9096
9097     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
9098     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9099
9100     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
9101     HRESULT form([retval, out] IHTMLFormElement **p);
9102
9103     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9104     HRESULT size([in] LONG v);
9105
9106     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9107     HRESULT size([retval, out] LONG *p);
9108
9109     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9110     HRESULT maxLength([in] LONG v);
9111
9112     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9113     HRESULT maxLength([retval, out] LONG *p);
9114
9115     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
9116     HRESULT select();
9117
9118     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9119     HRESULT onchange([in] VARIANT v);
9120
9121     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9122     HRESULT onchange([retval, out] VARIANT *p);
9123
9124     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9125     HRESULT onselect([in] VARIANT v);
9126
9127     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9128     HRESULT onselect([retval, out] VARIANT *p);
9129
9130     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9131     HRESULT defaultValue([in] BSTR v);
9132
9133     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9134     HRESULT defaultValue([retval, out] BSTR *p);
9135
9136     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9137     HRESULT readOnly([in] VARIANT_BOOL v);
9138
9139     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9140     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9141
9142     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
9143     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9144
9145     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9146     HRESULT indeterminate([in] VARIANT_BOOL v);
9147
9148     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9149     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
9150
9151     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9152     HRESULT defaultChecked([in] VARIANT_BOOL v);
9153
9154     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9155     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
9156
9157     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9158     HRESULT checked([in] VARIANT_BOOL v);
9159
9160     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9161     HRESULT checked([retval, out] VARIANT_BOOL *p);
9162
9163     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9164     HRESULT border([in] VARIANT v);
9165
9166     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9167     HRESULT border([retval, out] VARIANT *p);
9168
9169     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9170     HRESULT vspace([in] LONG v);
9171
9172     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9173     HRESULT vspace([retval, out] LONG *p);
9174
9175     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9176     HRESULT hspace([in] LONG v);
9177
9178     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9179     HRESULT hspace([retval, out] LONG *p);
9180
9181     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9182     HRESULT alt([in] BSTR v);
9183
9184     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9185     HRESULT alt([retval, out] BSTR *p);
9186
9187     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9188     HRESULT src([in] BSTR v);
9189
9190     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9191     HRESULT src([retval, out] BSTR *p);
9192
9193     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9194     HRESULT lowsrc([in] BSTR v);
9195
9196     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9197     HRESULT lowsrc([retval, out] BSTR *p);
9198
9199     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9200     HRESULT vrml([in] BSTR v);
9201
9202     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9203     HRESULT vrml([retval, out] BSTR *p);
9204
9205     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9206     HRESULT dynsrc([in] BSTR v);
9207
9208     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9209     HRESULT dynsrc([retval, out] BSTR *p);
9210
9211     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
9212     HRESULT readyState([retval, out] BSTR *p);
9213
9214     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9215     HRESULT complete([retval, out] VARIANT_BOOL *p);
9216
9217     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9218     HRESULT loop([in] VARIANT v);
9219
9220     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9221     HRESULT loop([retval, out] VARIANT *p);
9222
9223     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9224     HRESULT align([in] BSTR v);
9225
9226     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9227     HRESULT align([retval, out] BSTR *p);
9228
9229     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9230     HRESULT onload([in] VARIANT v);
9231
9232     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9233     HRESULT onload([retval, out] VARIANT *p);
9234
9235     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9236     HRESULT onerror([in] VARIANT v);
9237
9238     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9239     HRESULT onerror([retval, out] VARIANT *p);
9240
9241     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9242     HRESULT onabort([in] VARIANT v);
9243
9244     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9245     HRESULT onabort([retval, out] VARIANT *p);
9246
9247     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9248     HRESULT width([in] LONG v);
9249
9250     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9251     HRESULT width([retval, out] LONG *p);
9252
9253     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9254     HRESULT height([in] LONG v);
9255
9256     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9257     HRESULT height([retval, out] LONG *p);
9258
9259     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9260     HRESULT start([in] BSTR v);
9261
9262     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9263     HRESULT start([retval, out] BSTR *p);
9264 }
9265
9266 /*****************************************************************************
9267  *    IHTMLInputTextElement interface
9268  */
9269 [
9270     odl,
9271     oleautomation,
9272     dual,
9273     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
9274 ]
9275 interface IHTMLInputTextElement : IDispatch
9276 {
9277     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
9278     HRESULT type([retval, out] BSTR *p);
9279
9280     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9281     HRESULT value([in] BSTR v);
9282
9283     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9284     HRESULT value([retval, out] BSTR *p);
9285
9286     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9287     HRESULT name([in] BSTR v);
9288
9289     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9290     HRESULT name([retval, out] BSTR *p);
9291
9292     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9293     HRESULT status([in] VARIANT v);
9294
9295     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9296     HRESULT status([retval, out] VARIANT *p);
9297
9298     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9299     HRESULT disabled([in] VARIANT_BOOL v);
9300
9301     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9302     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9303
9304     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
9305     HRESULT form([retval, out] IHTMLFormElement **p);
9306
9307     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9308     HRESULT defaultValue([in] BSTR v);
9309
9310     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9311     HRESULT defaultValue([retval, out] BSTR *p);
9312
9313     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9314     HRESULT size([in] LONG v);
9315
9316     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9317     HRESULT size([retval, out] LONG *p);
9318
9319     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9320     HRESULT maxLength([in] LONG v);
9321
9322     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9323     HRESULT maxLength([retval, out] LONG *p);
9324
9325     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
9326     HRESULT select();
9327
9328     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9329     HRESULT onchange([in] VARIANT v);
9330
9331     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9332     HRESULT onchange([retval, out] VARIANT *p);
9333
9334     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9335     HRESULT onselect([in] VARIANT v);
9336
9337     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9338     HRESULT onselect([retval, out] VARIANT *p);
9339
9340     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9341     HRESULT readOnly([in] VARIANT_BOOL v);
9342
9343     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9344     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9345
9346     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
9347     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9348 }
9349
9350 [
9351     hidden,
9352     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
9353 ]
9354 dispinterface DispHTMLInputElement
9355 {
9356 properties:
9357 methods:
9358     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9359
9360     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9361     void type(BSTR v);
9362
9363     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9364     BSTR type();
9365
9366     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9367     void value(BSTR v);
9368
9369     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9370     BSTR value();
9371
9372     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9373     void name(BSTR v);
9374
9375     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9376     BSTR name();
9377
9378     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9379     void status(VARIANT_BOOL v);
9380
9381     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9382     VARIANT_BOOL status();
9383
9384     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
9385     IHTMLFormElement *form();
9386
9387     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9388     void size(LONG v);
9389
9390     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9391     LONG size();
9392
9393     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9394     void maxLength(LONG v);
9395
9396     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9397     LONG maxLength();
9398
9399     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
9400     void select();
9401
9402     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9403     void onchange(VARIANT v);
9404
9405     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9406     VARIANT onchange();
9407
9408     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9409     void onselect(VARIANT v);
9410
9411     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9412     VARIANT onselect();
9413
9414     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9415     void defaultValue(BSTR v);
9416
9417     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9418     BSTR defaultValue();
9419
9420     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9421     void readOnly(VARIANT_BOOL v);
9422
9423     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9424     VARIANT_BOOL readOnly();
9425
9426     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
9427     IHTMLTxtRange *createTextRange();
9428
9429     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9430     void indeterminate(VARIANT_BOOL v);
9431
9432     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9433     VARIANT_BOOL indeterminate();
9434
9435     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9436     void defaultChecked(VARIANT_BOOL v);
9437
9438     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9439     VARIANT_BOOL defaultChecked();
9440
9441     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9442     void checked(VARIANT_BOOL v);
9443
9444     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9445     VARIANT_BOOL checked();
9446
9447     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9448     void border(VARIANT v);
9449
9450     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9451     VARIANT border();
9452
9453     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9454     void vspace(LONG v);
9455
9456     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9457     LONG vspace();
9458
9459     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9460     void hspace(LONG v);
9461
9462     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9463     LONG hspace();
9464
9465     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9466     void alt(BSTR v);
9467
9468     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9469     BSTR alt();
9470
9471     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9472     void src(BSTR v);
9473
9474     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9475     BSTR src();
9476
9477     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9478     void lowsrc(BSTR v);
9479
9480     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9481     BSTR lowsrc();
9482
9483     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9484     void vrml(BSTR v);
9485
9486     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9487     BSTR vrml();
9488
9489     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9490     void dynsrc(BSTR v);
9491
9492     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9493     BSTR dynsrc();
9494
9495     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9496     VARIANT_BOOL complete();
9497
9498     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9499     void loop(VARIANT v);
9500
9501     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9502     VARIANT loop();
9503
9504     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9505     void align(BSTR v);
9506
9507     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9508     BSTR align();
9509
9510     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9511     void onload(VARIANT v);
9512
9513     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9514     VARIANT onload();
9515
9516     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9517     void onerror(VARIANT v);
9518
9519     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9520     VARIANT onerror();
9521
9522     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9523     void onabort(VARIANT v);
9524
9525     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9526     VARIANT onabort();
9527
9528     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9529     void width(LONG v);
9530
9531     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9532     LONG width();
9533
9534     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9535     void height(LONG v);
9536
9537     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9538     LONG height();
9539
9540     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9541     void start(BSTR v);
9542
9543     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9544     BSTR start();
9545
9546     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9547     void accept(BSTR v);
9548
9549     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9550     BSTR accept();
9551
9552     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9553     void useMap(BSTR v);
9554
9555     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9556     BSTR useMap();
9557 }
9558
9559 /*****************************************************************************
9560  *    IHTMLTextAreaElement interface
9561  */
9562 [
9563     odl,
9564     oleautomation,
9565     dual,
9566     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
9567 ]
9568 interface IHTMLTextAreaElement : IDispatch
9569 {
9570     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9571     HRESULT type([retval, out] BSTR *p);
9572
9573     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9574     HRESULT value([in] BSTR v);
9575
9576     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9577     HRESULT value([retval, out] BSTR *p);
9578
9579     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9580     HRESULT name([in] BSTR v);
9581
9582     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9583     HRESULT name([retval, out] BSTR *p);
9584
9585     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9586     HRESULT status([in] VARIANT v);
9587
9588     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9589     HRESULT status([retval, out] VARIANT *p);
9590
9591     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9592     HRESULT disabled([in] VARIANT_BOOL v);
9593
9594     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9595     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9596
9597     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9598     HRESULT form([retval, out] IHTMLFormElement **p);
9599
9600     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9601     HRESULT defaultValue([in] BSTR v);
9602
9603     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9604     HRESULT defaultValue([retval, out] BSTR *p);
9605
9606     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9607     HRESULT select();
9608
9609     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9610     HRESULT onchange([in] VARIANT v);
9611
9612     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9613     HRESULT onchange([retval, out] VARIANT *p);
9614
9615     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9616     HRESULT onselect([in] VARIANT v);
9617
9618     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9619     HRESULT onselect([retval, out] VARIANT *p);
9620
9621     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9622     HRESULT readOnly([in] VARIANT_BOOL v);
9623
9624     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9625     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9626
9627     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9628     HRESULT rows([in] LONG v);
9629
9630     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9631     HRESULT rows([retval, out] LONG *p);
9632
9633     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9634     HRESULT cols([in] LONG v);
9635
9636     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9637     HRESULT cols([retval, out] LONG *p);
9638
9639     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9640     HRESULT wrap([in] BSTR v);
9641
9642     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9643     HRESULT wrap([retval, out] BSTR *p);
9644
9645     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9646     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9647 }
9648
9649 /*****************************************************************************
9650  *    DispHTMLTextAreaElement dispinterface
9651  */
9652 [
9653     hidden,
9654     uuid(3050f521-98b5-11cf-bb82-00aa00bdce0b)
9655 ]
9656 dispinterface DispHTMLTextAreaElement
9657 {
9658 properties:
9659 methods:
9660     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9661
9662     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9663     BSTR type();
9664
9665     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9666     void value(BSTR v);
9667
9668     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9669     BSTR value();
9670
9671     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9672     void name(BSTR v);
9673
9674     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9675     BSTR name();
9676
9677     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9678     void status(VARIANT v);
9679
9680     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9681     VARIANT status();
9682
9683     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9684     IHTMLFormElement *form();
9685
9686     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9687     void defaultValue(BSTR v);
9688
9689     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9690     BSTR defaultValue();
9691
9692     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9693     void select();
9694
9695     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9696     void onchange(VARIANT v);
9697
9698     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9699     VARIANT onchange();
9700
9701     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9702     void onselect(VARIANT v);
9703
9704     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9705     VARIANT onselect();
9706
9707     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9708     void readOnly(VARIANT_BOOL v);
9709
9710     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9711     VARIANT_BOOL readOnly();
9712
9713     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9714     void rows(LONG v);
9715
9716     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9717     LONG rows();
9718
9719     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9720     void cols(LONG v);
9721
9722     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9723     LONG cols();
9724
9725     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9726     void wrap(BSTR v);
9727
9728     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9729     BSTR wrap();
9730
9731     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9732     IHTMLTxtRange *createTextRange();
9733 }
9734
9735 /*****************************************************************************
9736  *    IHTMLHeadElement interface
9737  */
9738 [
9739     odl,
9740     oleautomation,
9741     dual,
9742     uuid(3050f81d-98b5-11cf-bb82-00aa00bdce0b)
9743 ]
9744 interface IHTMLHeadElement : IDispatch
9745 {
9746     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9747     HRESULT profile([in] BSTR v);
9748
9749     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9750     HRESULT profile([retval, out] BSTR *p);
9751 }
9752
9753 /*****************************************************************************
9754  *    IHTMLHeadElement2 interface
9755  */
9756 [
9757     odl,
9758     oleautomation,
9759     dual,
9760     uuid(3051042f-98b5-11cf-bb82-00aa00bdce0b)
9761 ]
9762 interface IHTMLHeadElement2 : IDispatch
9763 {
9764     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9765     HRESULT profile([in] BSTR v);
9766
9767     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9768     HRESULT profile([retval, out] BSTR *p);
9769 }
9770
9771 /*****************************************************************************
9772  *    IHTMLTitleElement interface
9773  */
9774 [
9775     odl,
9776     oleautomation,
9777     dual,
9778     uuid(3050f322-98b5-11cf-bb82-00aa00bdce0b)
9779 ]
9780 interface IHTMLTitleElement : IDispatch
9781 {
9782     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9783     HRESULT text([in] BSTR v);
9784
9785     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9786     HRESULT text([retval, out] BSTR *p);
9787 }
9788
9789 /*****************************************************************************
9790  *    IHTMLMetaElement interface
9791  */
9792 [
9793     odl,
9794     oleautomation,
9795     dual,
9796     uuid(3050f203-98b5-11cf-bb82-00aa00bdce0b)
9797 ]
9798 interface IHTMLMetaElement : IDispatch
9799 {
9800     [propput, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
9801     HRESULT httpEquiv([in] BSTR v);
9802
9803     [propget, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
9804     HRESULT httpEquiv([out, retval] BSTR *p);
9805
9806     [propput, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
9807     HRESULT content([in] BSTR v);
9808
9809     [propget, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
9810     HRESULT content([out, retval] BSTR *p);
9811
9812     [propput, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
9813     HRESULT name([in] BSTR v);
9814
9815     [propget, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
9816     HRESULT name([out, retval] BSTR *p);
9817
9818     [propput, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
9819     HRESULT url([in] BSTR v);
9820
9821     [propget, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
9822     HRESULT url([out, retval] BSTR *p);
9823
9824     [propput, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
9825     HRESULT charset([in] BSTR v);
9826
9827     [propget, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
9828     HRESULT charset([out, retval] BSTR *p);
9829 }
9830
9831 /*****************************************************************************
9832  *    IHTMLMetaElement2 interface
9833  */
9834 [
9835     odl,
9836     oleautomation,
9837     dual,
9838     uuid(3050f81f-98b5-11cf-bb82-00aa00bdce0b)
9839 ]
9840 interface IHTMLMetaElement2 : IDispatch
9841 {
9842     [propput, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
9843     HRESULT scheme([in] BSTR v);
9844
9845     [propget, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
9846     HRESULT scheme([out, retval] BSTR *p);
9847 }
9848
9849 /*****************************************************************************
9850  *    IHTMLMetaElement3 interface
9851  */
9852 [
9853     odl,
9854     oleautomation,
9855     dual,
9856     uuid(30510495-98b5-11cf-bb82-00aa00bdce0b)
9857 ]
9858 interface IHTMLMetaElement3 : IDispatch
9859 {
9860     [propput, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
9861     HRESULT url([in] BSTR v);
9862
9863     [propget, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
9864     HRESULT url([out, retval] BSTR *p);
9865 }
9866
9867 /*****************************************************************************
9868  *    DispHTMLHeadElement interface
9869  */
9870 [
9871     hidden,
9872     uuid(3050f561-98b5-11cf-bb82-00aa00bdce0b)
9873 ]
9874 dispinterface DispHTMLHeadElement
9875 {
9876 properties:
9877 methods:
9878     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9879
9880     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9881     void profile(BSTR v);
9882
9883     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9884     BSTR profile();
9885
9886     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9887     void ie8_profile(BSTR v);
9888
9889     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9890     BSTR ie8_profile();
9891 }
9892
9893 /*****************************************************************************
9894  *    DispHTMLTitleElement interface
9895  */
9896 [
9897     hidden,
9898     uuid(3050f516-98b5-11cf-bb82-00aa00bdce0b)
9899 ]
9900 dispinterface DispHTMLTitleElement
9901 {
9902 properties:
9903 methods:
9904     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9905
9906     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9907     void text(BSTR v);
9908
9909     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9910     BSTR text();
9911 }
9912
9913 /*****************************************************************************
9914  *    DispHTMLMetaElement dispinterface
9915  */
9916 [
9917     hidden,
9918     uuid(3050f517-98b5-11cf-bb82-00aa00bdce0b)
9919 ]
9920 dispinterface DispHTMLMetaElement
9921 {
9922 properties:
9923 methods:
9924     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9925
9926     [propput, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
9927     void httpEquiv(BSTR v);
9928
9929     [propget, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
9930     BSTR httpEquiv();
9931
9932     [propput, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
9933     void content(BSTR v);
9934
9935     [propget, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
9936     BSTR content();
9937
9938     [propput, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
9939     void name(BSTR v);
9940
9941     [propget, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
9942     BSTR name();
9943
9944     [propput, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
9945     void url(BSTR v);
9946
9947     [propget, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
9948     BSTR url();
9949
9950     [propput, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
9951     void charset(BSTR v);
9952
9953     [propget, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
9954     BSTR charset();
9955
9956     [propput, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
9957     void scheme(BSTR v);
9958
9959     [propget, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
9960     BSTR scheme();
9961
9962     [propput, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
9963     void ie8_url(BSTR v);
9964
9965     [propget, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
9966     BSTR ie8_url();
9967 }
9968
9969 /*****************************************************************************
9970  *    DispHTMLUnknownElement dispinterface
9971  */
9972 [
9973     hidden,
9974     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
9975 ]
9976 dispinterface DispHTMLUnknownElement
9977 {
9978 properties:
9979 methods:
9980     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9981 }
9982
9983 /*****************************************************************************
9984  *    IOmHistory interface
9985  */
9986 [
9987     odl,
9988     oleautomation,
9989     dual,
9990     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
9991 ]
9992 interface IOmHistory : IDispatch
9993 {
9994     [propget, id(DISPID_IOMHISTORY_LENGTH)]
9995     HRESULT length([retval, out] short *p);
9996
9997     [id(DISPID_IOMHISTORY_BACK)]
9998     HRESULT back([optional, in] VARIANT *pvargdistance);
9999
10000     [id(DISPID_IOMHISTORY_FORWARD)]
10001     HRESULT forward([optional, in] VARIANT *pvargdistance);
10002
10003     [id(DISPID_IOMHISTORY_GO)]
10004     HRESULT go([optional, in] VARIANT *pvargdistance);
10005 }
10006
10007 [
10008     noncreatable,
10009     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
10010 ]
10011 coclass HTMLHistory
10012 {
10013     [default]           interface IOmHistory;
10014 }
10015
10016 /*****************************************************************************
10017  *    IHTMLMimeTypesCollection interface
10018  */
10019 [
10020     odl,
10021     oleautomation,
10022     dual,
10023     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
10024 ]
10025 interface IHTMLMimeTypesCollection : IDispatch
10026 {
10027     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
10028     HRESULT length([retval, out] LONG *p);
10029 }
10030
10031 [
10032     noncreatable,
10033     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
10034 ]
10035 coclass CMimeTypes
10036 {
10037     [default]           interface IHTMLMimeTypesCollection;
10038 }
10039
10040 /*****************************************************************************
10041  *    IHTMLPluginsCollection interface
10042  */
10043 [
10044     odl,
10045     oleautomation,
10046     dual,
10047     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
10048 ]
10049 interface IHTMLPluginsCollection : IDispatch
10050 {
10051     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
10052     HRESULT length([retval, out] LONG *p);
10053
10054     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
10055     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
10056 }
10057
10058 [
10059     hidden,
10060     uuid(3050f54a-98b5-11cf-bb82-00aa00bdce0b)
10061 ]
10062 dispinterface DispCPlugins
10063 {
10064  properties:
10065 methods:
10066     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
10067     long length();
10068
10069     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
10070     void refresh([defaultvalue(0), in] VARIANT_BOOL reload);
10071
10072     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
10073     IDispatch *constructor();
10074 }
10075
10076 [
10077     noncreatable,
10078     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
10079 ]
10080 coclass CPlugins
10081 {
10082     [default]  dispinterface DispCPlugins;
10083                interface IHTMLPluginsCollection;
10084                interface IHTMLDOMConstructor;
10085 }
10086
10087 /*****************************************************************************
10088  *    IHTMLOpsProfile interface
10089  */
10090 [
10091     odl,
10092     oleautomation,
10093     dual,
10094     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
10095 ]
10096 interface IHTMLOpsProfile : IDispatch
10097 {
10098     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
10099     HRESULT addRequest(
10100         [in] BSTR name,
10101         [optional, in] VARIANT reserved,
10102         [retval, out] VARIANT_BOOL *success);
10103
10104     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
10105     HRESULT clearRequest();
10106
10107     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
10108     HRESULT doRequest(
10109         [in] VARIANT usage,
10110         [optional, in] VARIANT fname,
10111         [optional, in] VARIANT domain,
10112         [optional, in] VARIANT path,
10113         [optional, in] VARIANT expire,
10114         [optional, in] VARIANT reserved);
10115
10116     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
10117     HRESULT getAttribute(
10118         [in] BSTR name,
10119         [retval, out] BSTR *value);
10120
10121     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
10122     HRESULT setAttribute(
10123         [in] BSTR name,
10124         [in] BSTR value,
10125         [optional, in] VARIANT prefs,
10126         [retval, out] VARIANT_BOOL *success);
10127
10128     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
10129     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
10130
10131     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
10132     HRESULT addReadRequest(
10133         [in] BSTR name,
10134         [optional, in] VARIANT reserved,
10135         [retval, out] VARIANT_BOOL *success);
10136
10137     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
10138     HRESULT doReadRequest(
10139         [in] VARIANT usage,
10140         [optional, in] VARIANT fname,
10141         [optional, in] VARIANT domain,
10142         [optional, in] VARIANT path,
10143         [optional, in] VARIANT expire,
10144         [optional, in] VARIANT reserved);
10145
10146     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
10147     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
10148 }
10149
10150 [
10151     noncreatable,
10152     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
10153 ]
10154 coclass COpsProfile
10155 {
10156     [default]           interface IHTMLOpsProfile;
10157 }
10158
10159 /*****************************************************************************
10160  *    IOmNavigator interface
10161  */
10162 [
10163     odl,
10164     oleautomation,
10165     dual,
10166     uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
10167 ]
10168 interface IOmNavigator : IDispatch
10169 {
10170     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
10171     HRESULT appCodeName([retval, out] BSTR *p);
10172
10173     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
10174     HRESULT appName([retval, out] BSTR *p);
10175
10176     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
10177     HRESULT appVersion([retval, out] BSTR *p);
10178
10179     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
10180     HRESULT userAgent([retval, out] BSTR *p);
10181
10182     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
10183     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
10184
10185     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
10186     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
10187
10188     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
10189     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
10190
10191     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
10192     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
10193
10194     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
10195     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
10196
10197     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
10198     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
10199
10200     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
10201     HRESULT toString([retval, out] BSTR *String);
10202
10203     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
10204     HRESULT cpuClass([retval, out] BSTR *p);
10205
10206     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
10207     HRESULT systemLanguage([retval, out] BSTR *p);
10208
10209     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
10210     HRESULT browserLanguage([retval, out] BSTR *p);
10211
10212     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
10213     HRESULT userLanguage([retval, out] BSTR *p);
10214
10215     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
10216     HRESULT platform([retval, out] BSTR *p);
10217
10218     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
10219     HRESULT appMinorVersion([retval, out] BSTR *p);
10220
10221     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
10222     HRESULT connectionSpeed([retval, out] LONG *p);
10223
10224     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
10225     HRESULT onLine([retval, out] VARIANT_BOOL *p);
10226
10227     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
10228     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
10229 }
10230
10231 /*****************************************************************************
10232  *    DispHTMLNavigator dispinterface
10233  */
10234 [
10235     hidden,
10236     uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
10237 ]
10238 dispinterface DispHTMLNavigator
10239 {
10240 properties:
10241 methods:
10242     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
10243     BSTR appCodeName();
10244
10245     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
10246     BSTR appName();
10247
10248     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
10249     BSTR appVersion();
10250
10251     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
10252     BSTR userAgent();
10253
10254     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
10255     VARIANT_BOOL javaEnabled();
10256
10257     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
10258     VARIANT_BOOL taintEnabled();
10259
10260     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
10261     IHTMLMimeTypesCollection *mimeTypes();
10262
10263     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
10264     IHTMLPluginsCollection *plugins();
10265
10266     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
10267     VARIANT_BOOL cookieEnabled();
10268
10269     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
10270     IHTMLOpsProfile *opsProfile();
10271
10272     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
10273     BSTR toString();
10274
10275     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
10276     BSTR cpuClass();
10277
10278     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
10279     BSTR systemLanguage();
10280
10281     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
10282     BSTR browserLanguage();
10283
10284     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
10285     BSTR userLanguage();
10286
10287     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
10288     BSTR platform();
10289
10290     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
10291     BSTR appMinorVersion();
10292
10293     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
10294     LONG connectionSpeed();
10295
10296     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
10297     VARIANT_BOOL onLine();
10298
10299     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
10300     IHTMLOpsProfile *userProfile();
10301
10302     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
10303 }
10304
10305 [
10306     noncreatable,
10307     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
10308 ]
10309 coclass HTMLNavigator
10310 {
10311     [default]  dispinterface DispHTMLNavigator;
10312                interface IOmNavigator;
10313 }
10314
10315 /*****************************************************************************
10316  *    IHTMLLocation interface
10317  */
10318 [
10319     odl,
10320     oleautomation,
10321     dual,
10322     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
10323 ]
10324 interface IHTMLLocation : IDispatch
10325 {
10326     [propput, id(DISPID_IHTMLLOCATION_HREF)]
10327     HRESULT href([in] BSTR v);
10328
10329     [propget, id(DISPID_IHTMLLOCATION_HREF)]
10330     HRESULT href([retval, out] BSTR *p);
10331
10332     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10333     HRESULT protocol([in] BSTR v);
10334
10335     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10336     HRESULT protocol([retval, out] BSTR *p);
10337
10338     [propput, id(DISPID_IHTMLLOCATION_HOST)]
10339     HRESULT host([in] BSTR v);
10340
10341     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10342     HRESULT host([retval, out] BSTR *p);
10343
10344     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10345     HRESULT hostname([in] BSTR v);
10346
10347     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10348     HRESULT hostname([retval, out] BSTR *p);
10349
10350     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10351     HRESULT port([in] BSTR v);
10352
10353     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10354     HRESULT port([retval, out] BSTR *p);
10355
10356     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10357     HRESULT pathname([in] BSTR v);
10358
10359     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10360     HRESULT pathname([retval, out] BSTR *p);
10361
10362     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10363     HRESULT search([in] BSTR v);
10364
10365     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10366     HRESULT search([retval, out] BSTR *p);
10367
10368     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10369     HRESULT hash([in] BSTR v);
10370
10371     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10372     HRESULT hash([retval, out] BSTR *p);
10373
10374     [id(DISPID_IHTMLLOCATION_RELOAD)]
10375     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
10376
10377     [id(DISPID_IHTMLLOCATION_REPLACE)]
10378     HRESULT replace([in] BSTR bstr);
10379
10380     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10381     HRESULT assign([in] BSTR bstr);
10382
10383     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10384     HRESULT toString([retval, out] BSTR *String);
10385 }
10386
10387 /*****************************************************************************
10388  *    DispHTMLHistory dispinterface
10389  */
10390 [
10391     hidden,
10392     uuid(3050f549-98b5-11cf-bb82-00aa00bdce0b)
10393 ]
10394 dispinterface DispHTMLHistory
10395 {
10396 properties:
10397 methods:
10398     [propget, id(DISPID_IOMHISTORY_LENGTH)]
10399     short length();
10400
10401     [id(DISPID_IOMHISTORY_BACK)]
10402     void back([optional, in] VARIANT *pvargdistance);
10403
10404     [id(DISPID_IOMHISTORY_FORWARD)]
10405     void forward([optional, in] VARIANT *pvargdistance);
10406
10407     [id(DISPID_IOMHISTORY_GO)]
10408     void go([optional, in] VARIANT *pvargdistance);
10409
10410     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
10411     IDispatch *constructor();
10412 }
10413
10414 /*****************************************************************************
10415  *    DispHTMLLocation dispinterface
10416  */
10417 [
10418     hidden,
10419     uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
10420 ]
10421 dispinterface DispHTMLLocation
10422 {
10423 properties:
10424 methods:
10425     [propput, id(DISPID_IHTMLLOCATION_HREF)]
10426     void href(BSTR v);
10427
10428     [propget, id(DISPID_IHTMLLOCATION_HREF)]
10429     BSTR href();
10430
10431     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10432     void protocol(BSTR v);
10433
10434     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10435     BSTR protocol();
10436
10437     [propput, id(DISPID_IHTMLLOCATION_HOST)]
10438     void host(BSTR v);
10439
10440     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10441     BSTR host();
10442
10443     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10444     void hostname(BSTR v);
10445
10446     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10447     BSTR hostname();
10448
10449     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10450     void port(BSTR v);
10451
10452     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10453     BSTR port();
10454
10455     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10456     void pathname(BSTR v);
10457
10458     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10459     BSTR pathname();
10460
10461     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10462     void search(BSTR v);
10463
10464     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10465     BSTR search();
10466
10467     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10468     void hash(BSTR v);
10469
10470     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10471     BSTR hash();
10472
10473     [id(DISPID_IHTMLLOCATION_RELOAD)]
10474     void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
10475
10476     [id(DISPID_IHTMLLOCATION_REPLACE)]
10477     void replace([in] BSTR bstr);
10478
10479     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10480     void assign([in] BSTR bstr);
10481
10482     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10483     BSTR toString();
10484
10485     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
10486 }
10487
10488 [
10489     noncreatable,
10490     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
10491 ]
10492 coclass HTMLLocation
10493 {
10494     [default]  dispinterface DispHTMLLocation;
10495                interface IHTMLLocation;
10496 }
10497
10498 [
10499     odl,
10500     oleautomation,
10501     dual,
10502     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
10503 ]
10504 interface IHTMLBookmarkCollection : IDispatch
10505 {
10506     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
10507     HRESULT length([out, retval] LONG *p);
10508
10509     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
10510     HRESULT _newEnum([out, retval] IUnknown **p);
10511
10512     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
10513     HRESULT item(
10514             [in] LONG index,
10515             [out, retval] VARIANT *pVarBookmark);
10516 }
10517
10518 /*****************************************************************************
10519  *    IHTMLDataTransfer interface
10520  */
10521 [
10522     odl,
10523     oleautomation,
10524     dual,
10525     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
10526 ]
10527 interface IHTMLDataTransfer : IDispatch
10528 {
10529     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
10530     HRESULT setData(
10531             [in] BSTR format,
10532             [in] VARIANT *data,
10533             [out, retval] VARIANT_BOOL *pret);
10534
10535     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
10536     HRESULT getData(
10537             [in] BSTR format,
10538             [out, retval] VARIANT *pvarRet);
10539
10540     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
10541     HRESULT clearData(
10542             [in] BSTR format,
10543             [out, retval] VARIANT_BOOL *pret);
10544
10545     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10546     HRESULT dropEffect([in] BSTR v);
10547
10548     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10549     HRESULT dropEffect([out, retval] BSTR *p);
10550
10551     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10552     HRESULT effectAllowed([in] BSTR v);
10553
10554     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10555     HRESULT effectAllowed([out, retval] BSTR *p);
10556 }
10557
10558 /*****************************************************************************
10559  *    IHTMLEventObj interface
10560  */
10561 [
10562     odl,
10563     oleautomation,
10564     dual,
10565     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
10566 ]
10567 interface IHTMLEventObj : IDispatch
10568 {
10569     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
10570     HRESULT srcElement([retval, out] IHTMLElement **p);
10571
10572     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
10573     HRESULT altKey([retval, out] VARIANT_BOOL *p);
10574
10575     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
10576     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
10577
10578     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
10579     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
10580
10581     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10582     HRESULT returnValue([in] VARIANT v);
10583
10584     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10585     HRESULT returnValue([retval, out] VARIANT *p);
10586
10587     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10588     HRESULT cancelBubble([in] VARIANT_BOOL v);
10589
10590     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10591     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
10592
10593     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
10594     HRESULT fromElement([retval, out] IHTMLElement **p);
10595
10596     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
10597     HRESULT toElement([retval, out] IHTMLElement **p);
10598
10599     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10600     HRESULT keyCode([in] LONG v);
10601
10602     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10603     HRESULT keyCode([retval, out] LONG *p);
10604
10605     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
10606     HRESULT button([retval, out] LONG *p);
10607
10608     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
10609     HRESULT type([retval, out] BSTR *p);
10610
10611     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
10612     HRESULT qualifier([retval, out] BSTR *p);
10613
10614     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
10615     HRESULT reason([retval, out] LONG *p);
10616
10617     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
10618     HRESULT x([retval, out] LONG *p);
10619
10620     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
10621     HRESULT y([retval, out] LONG *p);
10622
10623     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
10624     HRESULT clientX([retval, out] LONG *p);
10625
10626     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
10627     HRESULT clientY([retval, out] LONG *p);
10628
10629     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
10630     HRESULT offsetX([retval, out] LONG *p);
10631
10632     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
10633     HRESULT offsetY([retval, out] LONG *p);
10634
10635     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
10636     HRESULT screenX([retval, out] LONG *p);
10637
10638     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
10639     HRESULT screenY([retval, out] LONG *p);
10640
10641     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
10642     HRESULT srcFilter([retval, out] IDispatch **p);
10643 }
10644
10645 /*****************************************************************************
10646  *    DispCEventObj dispinterface
10647  */
10648 [
10649     hidden,
10650     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
10651 ]
10652 dispinterface DispCEventObj
10653 {
10654 properties:
10655 methods:
10656     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10657     void returnValue(VARIANT v);
10658
10659     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10660     VARIANT returnValue();
10661
10662     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10663     void cancelBubble(VARIANT_BOOL v);
10664
10665     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10666     VARIANT_BOOL cancelBubble();
10667
10668     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10669     void keyCode(LONG v);
10670
10671     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10672     LONG keyCode();
10673
10674     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
10675     void setAttribute(
10676             [in] BSTR strAttributeName,
10677             [in] VARIANT AttributeValue,
10678             [in, defaultvalue(1)] LONG lFlags);
10679
10680     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
10681     VARIANT getAttribute(
10682             [in] BSTR strAttributeName,
10683             [in, defaultvalue(0)] LONG lFlags);
10684
10685     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
10686     VARIANT_BOOL removeAttribute(
10687             [in] BSTR strAttributeName,
10688             [in, defaultvalue(1)] LONG lFlags);
10689
10690     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
10691     void propertyName(BSTR v);
10692
10693     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
10694     BSTR propertyName();
10695
10696     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
10697     void bookmarks(IHTMLBookmarkCollection *v);
10698
10699     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
10700     IHTMLBookmarkCollection *bookmarks();
10701
10702     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
10703     void recordset(IDispatch *v);
10704
10705     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
10706     IDispatch *recordset();
10707
10708     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
10709     void dataFld(BSTR v);
10710
10711     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
10712     BSTR dataFld();
10713
10714     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
10715     void boundElements(IHTMLElementCollection *v);
10716
10717     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
10718     IHTMLElementCollection *boundElements();
10719
10720     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
10721     void repeat(VARIANT_BOOL v);
10722
10723     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
10724     VARIANT_BOOL repeat();
10725
10726     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
10727     void srcUrn(BSTR v);
10728
10729     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
10730     BSTR srcUrn();
10731
10732     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
10733     void srcElement(IHTMLElement *v);
10734
10735     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
10736     IHTMLElement *srcElement();
10737
10738     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
10739     void altKey(VARIANT_BOOL v);
10740
10741     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
10742     VARIANT_BOOL altKey();
10743
10744     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
10745     void ctrlKey(VARIANT_BOOL v);
10746
10747     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
10748     VARIANT_BOOL ctrlKey();
10749
10750     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
10751     void shiftKey(VARIANT_BOOL v);
10752
10753     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
10754     VARIANT_BOOL shiftKey();
10755
10756     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
10757     void fromElement(IHTMLElement *v);
10758
10759     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
10760     IHTMLElement *fromElement();
10761
10762     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
10763     void toElement(IHTMLElement *v);
10764
10765     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
10766     IHTMLElement *toElement();
10767
10768     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
10769     void button(LONG v);
10770
10771     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
10772     LONG button();
10773
10774     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
10775     void type(BSTR v);
10776
10777     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
10778     BSTR type();
10779
10780     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
10781     void qualifier(BSTR v);
10782
10783     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
10784     BSTR qualifier();
10785
10786     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
10787     void reason(LONG v);
10788
10789     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
10790     LONG reason();
10791
10792     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
10793     void x(LONG v);
10794
10795     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
10796     LONG x();
10797
10798     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
10799     void y(LONG v);
10800
10801     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
10802     LONG y();
10803
10804     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
10805     void clientX(LONG v);
10806
10807     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
10808     LONG clientX();
10809
10810     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
10811     void clientY(LONG v);
10812
10813     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
10814     LONG clientY();
10815     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
10816     void offsetX(LONG v);
10817
10818     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
10819     LONG offsetX();
10820
10821     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
10822     void offsetY(LONG v);
10823
10824     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
10825     LONG offsetY();
10826
10827     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
10828     void screenX(LONG v);
10829
10830     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
10831     LONG screenX();
10832
10833     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
10834     void screenY(LONG v);
10835
10836     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
10837     LONG screenY();
10838
10839     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
10840     void srcFilter(IDispatch *v);
10841
10842     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
10843     IDispatch *srcFilter();
10844
10845     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
10846     IHTMLDataTransfer *dataTransfer();
10847
10848     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
10849     VARIANT_BOOL contentOverflow();
10850
10851     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
10852     void shiftLeft(VARIANT_BOOL v);
10853
10854     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
10855     VARIANT_BOOL shiftLeft();
10856
10857     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
10858     void altLeft(VARIANT_BOOL v);
10859
10860     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
10861     VARIANT_BOOL altLeft();
10862
10863     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
10864     void ctrlLeft(VARIANT_BOOL v);
10865
10866     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
10867     VARIANT_BOOL ctrlLeft();
10868
10869     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
10870     LONG_PTR imeCompositionChange();
10871
10872     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
10873     LONG_PTR imeNotifyCommand();
10874
10875     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
10876     LONG_PTR imeNotifyData();
10877
10878     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
10879     LONG_PTR imeRequest();
10880
10881     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
10882     LONG_PTR imeRequestData();
10883
10884     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
10885     LONG_PTR keyboardLayout();
10886
10887     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
10888     LONG behaviorCookie();
10889
10890     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
10891     LONG behaviorPart();
10892
10893     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
10894     BSTR nextPage();
10895
10896     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
10897     LONG wheelDelta();
10898 }
10899
10900 /*****************************************************************************
10901  *    IHTMLFramesCollection2 interface
10902  */
10903 [
10904     odl,
10905     oleautomation,
10906     dual,
10907     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
10908 ]
10909 interface IHTMLFramesCollection2 : IDispatch
10910 {
10911     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10912     HRESULT item(
10913         [in] VARIANT *pvarIndex,
10914         [retval, out] VARIANT *pvarResult);
10915
10916     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10917     HRESULT length([retval, out] LONG *p);
10918 }
10919
10920 /*****************************************************************************
10921  *    IHTMLScreen interface
10922  */
10923 [
10924     odl,
10925     oleautomation,
10926     dual,
10927     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
10928 ]
10929 interface IHTMLScreen : IDispatch
10930 {
10931     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
10932     HRESULT colorDepth([retval, out] LONG *p);
10933
10934     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10935     HRESULT bufferDepth([in] LONG v);
10936
10937     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10938     HRESULT bufferDepth([retval, out] LONG *p);
10939
10940     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10941     HRESULT width([retval, out] LONG *p);
10942
10943     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10944     HRESULT height([retval, out] LONG *p);
10945
10946     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10947     HRESULT updateInterval([in] LONG v);
10948
10949     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10950     HRESULT updateInterval([retval, out] LONG *p);
10951
10952     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
10953     HRESULT availHeight([retval, out] LONG *p);
10954
10955     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
10956     HRESULT availWidth([retval, out] LONG *p);
10957
10958     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10959     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
10960 }
10961
10962 /*****************************************************************************
10963  *    IHTMLWindow2 interface
10964  */
10965 [
10966     odl,
10967     oleautomation,
10968     dual,
10969     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
10970 ]
10971 interface IHTMLWindow2 : IHTMLFramesCollection2
10972 {
10973     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10974     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
10975
10976     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10977     HRESULT defaultStatus([in] BSTR v);
10978
10979     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10980     HRESULT defaultStatus([retval, out] BSTR *p);
10981
10982     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10983     HRESULT status([in] BSTR v);
10984
10985     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10986     HRESULT status([retval, out] BSTR *p);
10987
10988     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
10989     HRESULT setTimeout(
10990         [in] BSTR expression,
10991         [in] LONG msec,
10992         [optional, in] VARIANT *language,
10993         [retval, out] LONG *timerID);
10994
10995     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10996     HRESULT clearTimeout([in] LONG timerID);
10997
10998     [id(DISPID_IHTMLWINDOW2_ALERT)]
10999     HRESULT alert([defaultvalue(""), in] BSTR message);
11000
11001     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11002     HRESULT confirm(
11003         [defaultvalue(""), in] BSTR message,
11004         [retval, out] VARIANT_BOOL *confirmed);
11005
11006     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11007     HRESULT prompt(
11008         [defaultvalue(""), in] BSTR message,
11009         [defaultvalue("undefined"), in] BSTR defstr,
11010         [retval, out] VARIANT *textdata);
11011
11012     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11013     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
11014
11015     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11016     HRESULT location([retval, out] IHTMLLocation **p);
11017
11018     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11019     HRESULT history([retval, out] IOmHistory **p);
11020
11021     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11022     HRESULT close();
11023
11024     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11025     HRESULT opener([in] VARIANT v);
11026
11027     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11028     HRESULT opener([retval, out] VARIANT *p);
11029
11030     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11031     HRESULT navigator([retval, out] IOmNavigator **p);
11032
11033     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11034     HRESULT name([in] BSTR v);
11035
11036     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11037     HRESULT name([retval, out] BSTR *p);
11038
11039     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11040     HRESULT parent([retval, out] IHTMLWindow2 **p);
11041
11042     [id(DISPID_IHTMLWINDOW2_OPEN)]
11043     HRESULT open(
11044         [defaultvalue(""), in] BSTR url,
11045         [defaultvalue(""), in] BSTR name,
11046         [defaultvalue(""), in] BSTR features,
11047         [defaultvalue(0), in] VARIANT_BOOL replace,
11048         [retval, out] IHTMLWindow2 **pomWindowResult);
11049
11050     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11051     HRESULT self([retval, out] IHTMLWindow2 **p);
11052
11053     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11054     HRESULT top([retval, out] IHTMLWindow2 **p);
11055
11056     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11057     HRESULT window([retval, out] IHTMLWindow2 **p);
11058
11059     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11060     HRESULT navigate([in] BSTR url);
11061
11062     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
11063     HRESULT onfocus([in] VARIANT v);
11064
11065     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
11066     HRESULT onfocus([retval, out] VARIANT *p);
11067
11068     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
11069     HRESULT onblur([in] VARIANT v);
11070
11071     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
11072     HRESULT onblur([retval, out] VARIANT *p);
11073
11074     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
11075     HRESULT onload([in] VARIANT v);
11076
11077     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
11078     HRESULT onload([retval, out] VARIANT *p);
11079
11080     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
11081     HRESULT onbeforeunload([in] VARIANT v);
11082
11083     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
11084     HRESULT onbeforeunload([retval, out] VARIANT *p);
11085
11086     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
11087     HRESULT onunload([in] VARIANT v);
11088
11089     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
11090     HRESULT onunload([retval, out] VARIANT *p);
11091
11092     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
11093     HRESULT onhelp([in] VARIANT v);
11094
11095     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
11096     HRESULT onhelp([retval, out] VARIANT *p);
11097
11098     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
11099     HRESULT onerror([in] VARIANT v);
11100
11101     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
11102     HRESULT onerror([retval, out] VARIANT *p);
11103
11104     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
11105     HRESULT onresize([in] VARIANT v);
11106
11107     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
11108     HRESULT onresize([retval, out] VARIANT *p);
11109
11110     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
11111     HRESULT onscroll([in] VARIANT v);
11112
11113     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
11114     HRESULT onscroll([retval, out] VARIANT *p);
11115
11116     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
11117     HRESULT document([retval, out] IHTMLDocument2 **p);
11118
11119     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11120     HRESULT event([retval, out] IHTMLEventObj **p);
11121
11122     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
11123     HRESULT _newEnum([retval, out] IUnknown **p);
11124
11125     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11126     HRESULT showModalDialog(
11127         [in] BSTR dialog,
11128         [optional, in] VARIANT *varArgIn,
11129         [optional, in] VARIANT *varOptions,
11130         [retval, out] VARIANT *varArgOut);
11131
11132     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11133     HRESULT showHelp(
11134         [in] BSTR helpURL,
11135         [optional, in] VARIANT helpArg,
11136         [defaultvalue(""), in] BSTR features);
11137
11138     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11139     HRESULT screen([retval, out] IHTMLScreen **p);
11140
11141     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11142     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
11143
11144     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11145     HRESULT focus();
11146
11147     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11148     HRESULT closed([retval, out] VARIANT_BOOL *p);
11149
11150     [id(DISPID_IHTMLWINDOW2_BLUR)]
11151     HRESULT blur();
11152
11153     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11154     HRESULT scroll([in] LONG x, [in] LONG y);
11155
11156     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11157     HRESULT clientInformation([retval, out] IOmNavigator **p);
11158
11159     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
11160     HRESULT setInterval([
11161         in] BSTR expression,
11162         [in] LONG msec,
11163         [optional, in] VARIANT *language,
11164         [retval, out] LONG *timerID);
11165
11166     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11167     HRESULT clearInterval([in] LONG timerID);
11168
11169     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11170     HRESULT offscreenBuffering([in] VARIANT v);
11171
11172     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11173     HRESULT offscreenBuffering([retval, out] VARIANT *p);
11174
11175     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11176     HRESULT execScript(
11177         [in] BSTR scode,
11178         [defaultvalue("JScript"), in] BSTR language,
11179         [retval, out] VARIANT *pvarRet);
11180
11181     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11182     HRESULT toString([retval, out] BSTR *String);
11183
11184     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11185     HRESULT scrollBy([in] LONG x, [in] LONG y);
11186
11187     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11188     HRESULT scrollTo([in] LONG x, [in] LONG y);
11189
11190     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11191     HRESULT moveTo([in] LONG x, [in] LONG y);
11192
11193     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11194     HRESULT moveBy([in] LONG x, [in] LONG y);
11195
11196     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11197     HRESULT resizeTo([in] LONG x, [in] LONG y);
11198
11199     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11200     HRESULT resizeBy([in] LONG x, [in] LONG y);
11201
11202     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11203     HRESULT external([retval, out] IDispatch **p);
11204 }
11205
11206 /*****************************************************************************
11207  *    IHTMLWindow3 interface
11208  */
11209 [
11210     odl,
11211     oleautomation,
11212     dual,
11213     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
11214 ]
11215 interface IHTMLWindow3 : IDispatch
11216 {
11217     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11218     HRESULT screenLeft([out, retval] LONG *p);
11219
11220     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11221     HRESULT screenTop([out, retval] LONG *p);
11222
11223     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11224     HRESULT attachEvent(
11225             [in] BSTR event,
11226             [in] IDispatch *pDisp,
11227             [out, retval] VARIANT_BOOL *pfResult);
11228
11229     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11230     HRESULT detachEvent(
11231             [in] BSTR event,
11232             [in] IDispatch *pDisp);
11233
11234     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11235     HRESULT setTimeout(
11236             [in] VARIANT *expression,
11237             [in] LONG msec,
11238             [in, optional] VARIANT *language,
11239             [out, retval] LONG *timerID);
11240
11241     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11242     HRESULT setInterval(
11243             [in] VARIANT *expression,
11244             [in] LONG msec,
11245             [in, optional] VARIANT *language,
11246             [out, retval] LONG *timerID);
11247
11248     [id(DISPID_IHTMLWINDOW3_PRINT)]
11249     HRESULT print();
11250
11251     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11252     HRESULT onbeforeprint([in] VARIANT v);
11253
11254     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11255     HRESULT onbeforeprint([out, retval] VARIANT *p);
11256
11257     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11258     HRESULT onafterprint([in] VARIANT v);
11259
11260     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11261     HRESULT onafterprint([out, retval] VARIANT *p);
11262
11263     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11264     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
11265
11266     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11267     HRESULT showModelessDialog(
11268             [in, defaultvalue("")] BSTR url,
11269             [in, optional] VARIANT *varArgIn,
11270             [in, optional] VARIANT *options,
11271             [out, retval] IHTMLWindow2 **pDialog);
11272 }
11273
11274 /*****************************************************************************
11275  *    IHTMLWindow4 interface
11276  */
11277 [
11278     odl,
11279     oleautomation,
11280     dual,
11281     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
11282 ]
11283 interface IHTMLWindow4 : IDispatch
11284 {
11285     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11286     HRESULT createPopup([optional, in] VARIANT* varArgIn,
11287                         [retval, out] IDispatch** ppPopup);
11288
11289     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11290     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
11291 }
11292
11293 /*****************************************************************************
11294  *    IHTMLWindow5 interface
11295  */
11296 [
11297     odl,
11298     oleautomation,
11299     dual,
11300     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
11301 ]
11302 interface IHTMLWindow5 : IDispatch
11303 {
11304     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11305     HRESULT XMLHttpRequest([in] VARIANT v);
11306
11307     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11308     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
11309 }
11310
11311 /*****************************************************************************
11312  *    IHTMLWindow6 interface
11313  */
11314 [
11315     odl,
11316     oleautomation,
11317     dual,
11318     uuid(30510453-98b5-11cf-bb82-00aa00bdce0b)
11319 ]
11320 interface IHTMLWindow6 : IDispatch
11321 {
11322     [propput, id(DISPID_IHTMLWINDOW6_XDOMAINREQUEST)]
11323     HRESULT XDomainRequest([in] VARIANT v);
11324
11325     [propget, id(DISPID_IHTMLWINDOW6_XDOMAINREQUEST)]
11326     HRESULT XDomainRequest([out, retval] VARIANT *p);
11327
11328     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
11329     HRESULT sessionStorage([out, retval] IHTMLStorage **p);
11330
11331     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
11332     HRESULT localStorage([out, retval] IHTMLStorage **p);
11333
11334     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11335     HRESULT onhashchange([in] VARIANT v);
11336
11337     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11338     HRESULT onhashchange([out, retval] VARIANT *p);
11339
11340     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
11341     HRESULT maxConnectionsPerServer([out, retval] long *p);
11342
11343     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
11344     HRESULT postMessage(
11345             [in] BSTR msg,
11346             [in, optional] VARIANT targetOrigin);
11347
11348     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
11349     HRESULT toStaticHTML(
11350             [in] BSTR bstrHTML,
11351             [out, retval] BSTR *pbstrStaticHTML);
11352
11353     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11354     HRESULT onmessage([in] VARIANT v);
11355
11356     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11357     HRESULT onmessage([out, retval] VARIANT *p);
11358
11359     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
11360     HRESULT msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
11361 }
11362
11363 /*****************************************************************************
11364  *    DispHTMLScreen dispinterface
11365  */
11366 [
11367     hidden,
11368     uuid(3050f591-98b5-11cf-bb82-00aa00bdce0b)
11369 ]
11370 dispinterface DispHTMLScreen
11371 {
11372 properties:
11373 methods:
11374     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
11375     long colorDepth();
11376
11377     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11378     void bufferDepth(long v);
11379
11380     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11381     long bufferDepth();
11382
11383     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
11384     long width();
11385
11386     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
11387     long height();
11388
11389     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11390     void updateInterval(long v);
11391
11392     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11393     long updateInterval();
11394
11395     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
11396     long availHeight();
11397
11398     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
11399     long availWidth();
11400
11401     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
11402     VARIANT_BOOL fontSmoothingEnabled();
11403
11404     [propget, id(DISPID_IHTMLSCREEN2_LOGICALXDPI)]
11405     long logicalXDPI();
11406
11407     [propget, id(DISPID_IHTMLSCREEN2_LOGICALYDPI)]
11408     long logicalYDPI();
11409
11410     [propget, id(DISPID_IHTMLSCREEN2_DEVICEXDPI)]
11411     long deviceXDPI();
11412
11413     [propget, id(DISPID_IHTMLSCREEN2_DEVICEYDPI)]
11414     long deviceYDPI();
11415
11416     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMXDPI)]
11417     long systemXDPI();
11418
11419     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMYDPI)]
11420     long systemYDPI();
11421
11422     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
11423     IDispatch *constructor();
11424 }
11425
11426 /*****************************************************************************
11427  *    DispHTMLWindow2 dispinterface
11428  */
11429 [
11430     hidden,
11431     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
11432 ]
11433 dispinterface DispHTMLWindow2
11434 {
11435 properties:
11436 methods:
11437     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11438     VARIANT item([in] VARIANT *pvarIndex);
11439
11440     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11441     LONG length();
11442
11443     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11444     IHTMLFramesCollection2 *frames();
11445
11446     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11447     void defaultStatus(BSTR v);
11448
11449     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11450     BSTR defaultStatus();
11451
11452     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11453     void status(BSTR v);
11454
11455     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11456     BSTR status();
11457
11458     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11459     void clearTimeout([in] LONG timerID);
11460
11461     [id(DISPID_IHTMLWINDOW2_ALERT)]
11462     void alert([in, defaultvalue("")] BSTR message);
11463
11464     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11465     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
11466
11467     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11468     VARIANT prompt(
11469             [in, defaultvalue("")] BSTR message,
11470             [in, defaultvalue("undefined")] BSTR defstr);
11471
11472     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11473     IHTMLImageElementFactory *Image();
11474
11475     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11476     IHTMLLocation *location();
11477
11478     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11479     IOmHistory *history();
11480
11481     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11482     void close();
11483
11484     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11485     void opener(VARIANT v);
11486
11487     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11488     VARIANT opener();
11489
11490     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11491     IOmNavigator *navigator();
11492
11493     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11494     void name(BSTR v);
11495
11496     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11497     BSTR name();
11498
11499     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11500     IHTMLWindow2 *parent();
11501
11502     [id(DISPID_IHTMLWINDOW2_OPEN)]
11503     IHTMLWindow2 *open(
11504             [in, defaultvalue("")] BSTR url,
11505             [in, defaultvalue("")] BSTR name,
11506             [in, defaultvalue("")] BSTR features,
11507             [in, defaultvalue(0)]  VARIANT_BOOL replace);
11508
11509     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11510     IHTMLWindow2 *self();
11511
11512     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11513     IHTMLWindow2 *top();
11514
11515     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11516     IHTMLWindow2 *window();
11517
11518     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11519     void navigate([in] BSTR url);
11520
11521     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11522     void onfocus(VARIANT v);
11523
11524     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11525     VARIANT onfocus();
11526
11527     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11528     void onblur(VARIANT v);
11529
11530     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11531     VARIANT onblur();
11532
11533     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11534     VARIANT onload();
11535
11536     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11537     void onbeforeunload(VARIANT v);
11538
11539     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11540     VARIANT onbeforeunload();
11541
11542     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11543     void onunload(VARIANT v);
11544
11545     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11546     VARIANT onunload();
11547
11548     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11549     void onhelp(VARIANT v);
11550
11551     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11552     VARIANT onhelp();
11553
11554     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11555     void onerror(VARIANT v);
11556
11557     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11558     VARIANT onerror();
11559
11560     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11561     void onresize(VARIANT v);
11562
11563     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11564     VARIANT onresize();
11565
11566     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11567     void onscroll(VARIANT v);
11568
11569     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11570     VARIANT onscroll();
11571
11572     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11573     IHTMLDocument2 *document();
11574
11575     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11576     IHTMLEventObj *event();
11577
11578     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11579     IUnknown *_newEnum();
11580
11581     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11582     VARIANT showModalDialog(
11583             [in] BSTR dialog,
11584             [in, optional] VARIANT *varArgIn,
11585             [in, optional] VARIANT *varOptions);
11586
11587     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11588     void showHelp(
11589             [in] BSTR helpURL,
11590             [in, optional] VARIANT helpArg,
11591             [in, defaultvalue("")] BSTR features);
11592
11593     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11594     IHTMLScreen *screen();
11595
11596     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11597     IHTMLOptionElementFactory *Option();
11598
11599     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11600     void focus();
11601
11602     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11603     VARIANT_BOOL closed();
11604
11605     [id(DISPID_IHTMLWINDOW2_BLUR)]
11606     void blur();
11607
11608     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11609     void scroll([in] LONG x, [in] LONG y);
11610
11611     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11612     IOmNavigator *clientInformation();
11613
11614     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11615     void clearInterval([in] LONG timerID);
11616
11617     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11618     void offscreenBuffering(VARIANT v);
11619
11620     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11621     VARIANT offscreenBuffering();
11622
11623     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11624     VARIANT execScript(
11625             [in] BSTR _code,
11626             [in, defaultvalue("JScript")] BSTR language);
11627
11628     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11629     BSTR toString();
11630
11631     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11632     void scrollBy([in] LONG x, [in] LONG y);
11633
11634     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11635     void scrollTo([in] LONG x, [in] LONG y);
11636
11637     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11638     void moveTo([in] LONG x, [in] LONG y);
11639
11640     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11641     void moveBy([in] LONG x, [in] LONG y);
11642
11643     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11644     void resizeTo([in] LONG x, [in] LONG y);
11645
11646     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11647     void resizeBy([in] LONG x, [in] LONG y);
11648
11649     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11650     IDispatch *external();
11651
11652     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11653     LONG screenLeft();
11654
11655     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11656     LONG screenTop();
11657
11658     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11659     VARIANT_BOOL attachEvent(
11660              [in] BSTR event,
11661              [in] IDispatch *pDisp);
11662
11663     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11664     void detachEvent(
11665             [in] BSTR event,
11666             [in] IDispatch *pDisp);
11667
11668     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11669     LONG setTimeout(
11670             [in] VARIANT *expression,
11671             [in] LONG msec,
11672             [in, optional] VARIANT *language);
11673
11674     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11675     LONG setInterval(
11676             [in] VARIANT *expression,
11677             [in] LONG msec,
11678             [in, optional] VARIANT *language);
11679
11680     [id(DISPID_IHTMLWINDOW3_PRINT)]
11681     void print();
11682
11683     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11684     void onbeforeprint(VARIANT v);
11685
11686     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11687     VARIANT onbeforeprint();
11688
11689     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11690     void onafterprint(VARIANT v);
11691
11692     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11693     VARIANT onafterprint();
11694
11695     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11696     IHTMLDataTransfer *clipboardData();
11697
11698     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11699     IHTMLWindow2 *showModelessDialog(
11700             [in, defaultvalue("")] BSTR url,
11701             [in, optional] VARIANT *varArgIn,
11702             [in, optional] VARIANT *options);
11703
11704     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11705     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
11706
11707     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11708     IHTMLFrameBase *frameElement();
11709
11710     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
11711     IHTMLStorage *sessionStorage();
11712
11713     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
11714     IHTMLStorage *localStorage();
11715
11716     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11717     void onhashchange(VARIANT v);
11718
11719     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11720     VARIANT onhashchange();
11721
11722     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
11723     long maxConnectionsPerServer();
11724
11725     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
11726     void postMessage(
11727             [in] BSTR msg,
11728             [in, optional] VARIANT targetOrigin);
11729
11730     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
11731     BSTR toStaticHTML([in] BSTR bstrHTML);
11732
11733     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11734     void onmessage(VARIANT v);
11735
11736     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11737     VARIANT onmessage();
11738
11739     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
11740     void msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
11741
11742     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
11743 }
11744
11745 /*****************************************************************************
11746  *    DispHTMLWindowProxy dispinterface
11747  */
11748 [
11749     hidden,
11750     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
11751 ]
11752 dispinterface DispHTMLWindowProxy
11753 {
11754 properties:
11755 methods:
11756     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11757     VARIANT item([in] VARIANT* pvarIndex);
11758
11759     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11760     LONG length();
11761
11762     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11763     IHTMLFramesCollection2* frames();
11764
11765     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11766     void defaultStatus(BSTR v);
11767
11768     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11769     BSTR defaultStatus();
11770
11771     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11772     void status(BSTR v);
11773
11774     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11775     BSTR status();
11776
11777     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11778     void clearTimeout([in] LONG timerID);
11779
11780     [id(DISPID_IHTMLWINDOW2_ALERT)]
11781     void alert([defaultvalue(""), in] BSTR message);
11782
11783     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11784     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
11785
11786     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11787     VARIANT prompt([defaultvalue(""), in] BSTR message,
11788                    [defaultvalue("undefined"), in] BSTR defstr);
11789
11790     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11791     IHTMLImageElementFactory* Image();
11792
11793     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11794     IHTMLLocation* location();
11795
11796     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11797     IOmHistory* history();
11798
11799     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11800     void close();
11801
11802     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11803     void opener(VARIANT v);
11804
11805     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11806     VARIANT opener();
11807
11808     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11809     IOmNavigator* navigator();
11810
11811     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11812     void name(BSTR v);
11813
11814     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11815     BSTR name();
11816
11817     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11818     IHTMLWindow2* parent();
11819
11820     [id(DISPID_IHTMLWINDOW2_OPEN)]
11821     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
11822                        [defaultvalue(""), in] BSTR name,
11823                        [defaultvalue(""), in] BSTR features,
11824                        [defaultvalue(0), in] VARIANT_BOOL replace);
11825
11826     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11827     IHTMLWindow2* self();
11828
11829     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11830     IHTMLWindow2* top();
11831
11832     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11833     IHTMLWindow2* window();
11834
11835     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11836     void navigate([in] BSTR url);
11837
11838     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11839     void onfocus(VARIANT v);
11840
11841     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11842     VARIANT onfocus();
11843
11844     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11845     void onblur(VARIANT v);
11846
11847     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11848     VARIANT onblur();
11849
11850     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11851     void onload(VARIANT v);
11852
11853     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11854     VARIANT onload();
11855
11856     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11857     void onbeforeunload(VARIANT v);
11858
11859     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11860     VARIANT onbeforeunload();
11861
11862     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11863     void onunload(VARIANT v);
11864
11865     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11866     VARIANT onunload();
11867
11868     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11869     void onhelp(VARIANT v);
11870
11871     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11872     VARIANT onhelp();
11873
11874     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11875     void onerror(VARIANT v);
11876
11877     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11878     VARIANT onerror();
11879
11880     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11881     void onresize(VARIANT v);
11882
11883     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11884     VARIANT onresize();
11885
11886     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11887     void onscroll(VARIANT v);
11888
11889     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11890     VARIANT onscroll();
11891
11892     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11893     IHTMLDocument2* document();
11894
11895     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11896     IHTMLEventObj* event();
11897
11898     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11899     IUnknown* _newEnum();
11900
11901     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11902     VARIANT showModalDialog([in] BSTR dialog,
11903                             [optional, in] VARIANT* varArgIn,
11904                             [optional, in] VARIANT* varOptions);
11905
11906     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11907     void showHelp([in] BSTR helpURL,
11908                   [optional, in] VARIANT helpArg,
11909                   [defaultvalue(""), in] BSTR features);
11910
11911     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11912     IHTMLScreen* screen();
11913
11914     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11915     IHTMLOptionElementFactory* Option();
11916
11917     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11918     void focus();
11919
11920     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11921     VARIANT_BOOL closed();
11922
11923     [id(DISPID_IHTMLWINDOW2_BLUR)]
11924     void blur();
11925
11926     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11927     void scroll([in] LONG x,
11928                 [in] LONG y);
11929
11930     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11931     IOmNavigator* clientInformation();
11932
11933     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11934     void clearInterval([in] LONG timerID);
11935
11936     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11937     void offscreenBuffering(VARIANT v);
11938
11939     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11940     VARIANT offscreenBuffering();
11941
11942     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11943     VARIANT execScript([in] BSTR code,
11944                        [defaultvalue("JScript"), in] BSTR language);
11945
11946     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11947     BSTR toString();
11948
11949     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11950     void scrollBy([in] LONG x,
11951                   [in] LONG y);
11952
11953     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11954     void scrollTo([in] LONG x,
11955                   [in] LONG y);
11956
11957     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11958     void moveTo([in] LONG x,
11959                 [in] LONG y);
11960
11961     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11962     void moveBy([in] LONG x,
11963                 [in] LONG y);
11964
11965     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11966     void resizeTo([in] LONG x,
11967                   [in] LONG y);
11968
11969     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11970     void resizeBy([in] LONG x,
11971                   [in] LONG y);
11972
11973     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11974     IDispatch* external();
11975
11976     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11977     LONG screenLeft();
11978
11979     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11980     LONG screenTop();
11981
11982     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11983     VARIANT_BOOL attachEvent([in] BSTR event,
11984                              [in] IDispatch* pDisp);
11985
11986     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11987     void detachEvent([in] BSTR event,
11988                      [in] IDispatch* pDisp);
11989
11990     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11991     LONG setTimeout([in] VARIANT* expression,
11992                     [in] LONG msec,
11993                     [optional, in] VARIANT* language);
11994
11995     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11996     LONG setInterval([in] VARIANT* expression,
11997                      [in] LONG msec,
11998                      [optional, in] VARIANT* language);
11999
12000     [id(DISPID_IHTMLWINDOW3_PRINT)]
12001     void print();
12002
12003     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12004     void onbeforeprint(VARIANT v);
12005
12006     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12007     VARIANT onbeforeprint();
12008
12009     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12010     void onafterprint(VARIANT v);
12011
12012     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12013     VARIANT onafterprint();
12014
12015     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
12016     IHTMLDataTransfer* clipboardData();
12017
12018     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
12019     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
12020                                      [optional, in] VARIANT* varArgIn,
12021                                      [optional, in] VARIANT* options);
12022
12023     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
12024     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
12025
12026     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
12027     IHTMLFrameBase* frameElement();
12028
12029     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
12030     void XMLHttpRequest(VARIANT v);
12031
12032     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
12033     VARIANT XMLHttpRequest();
12034
12035     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
12036     IHTMLStorage *sessionStorage();
12037
12038     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
12039     IHTMLStorage *localStorage();
12040
12041     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
12042     void onhashchange(VARIANT v);
12043
12044     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
12045     VARIANT onhashchange();
12046
12047     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
12048     long maxConnectionsPerServer();
12049
12050     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
12051     void postMessage(
12052             [in] BSTR msg,
12053             [in, optional] VARIANT targetOrigin);
12054
12055     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
12056     BSTR toStaticHTML([in] BSTR bstrHTML);
12057
12058     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
12059     void onmessage(VARIANT v);
12060
12061     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
12062     VARIANT onmessage();
12063
12064     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
12065     void msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
12066
12067     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
12068 }
12069
12070 /*****************************************************************************
12071  *    HTMLWindowEvents interface
12072  */
12073 [
12074     hidden,
12075     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
12076 ]
12077 dispinterface HTMLWindowEvents
12078 {
12079 properties:
12080 methods:
12081     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
12082     void onload();
12083
12084     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
12085     void onunload();
12086
12087     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
12088     VARIANT_BOOL onhelp();
12089
12090     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
12091     void onfocus();
12092
12093     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
12094     void onblur();
12095
12096     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
12097     void onerror([in] BSTR description,
12098                  [in] BSTR url,
12099                  [in] LONG line);
12100
12101     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
12102     void onresize();
12103
12104     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
12105     void onscroll();
12106
12107     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
12108     void onbeforeunload();
12109
12110     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
12111     void onbeforeprint();
12112
12113     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
12114     void onafterprint();
12115 }
12116
12117 /*****************************************************************************
12118  *    HTMLWindowEvents2 interface
12119  */
12120 [
12121     hidden,
12122     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
12123 ]
12124 dispinterface HTMLWindowEvents2
12125 {
12126 properties:
12127 methods:
12128     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
12129     void onload([in] IHTMLEventObj* pEvtObj);
12130
12131     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
12132     void onunload([in] IHTMLEventObj* pEvtObj);
12133
12134     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
12135     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
12136
12137     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
12138     void onfocus([in] IHTMLEventObj* pEvtObj);
12139
12140     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
12141     void onblur([in] IHTMLEventObj* pEvtObj);
12142
12143     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
12144     void onerror([in] BSTR description,
12145                  [in] BSTR url,
12146                  [in] LONG line);
12147
12148     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
12149     void onresize([in] IHTMLEventObj* pEvtObj);
12150
12151     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
12152     void onscroll([in] IHTMLEventObj* pEvtObj);
12153
12154     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
12155     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
12156
12157     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
12158     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
12159
12160     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
12161     void onafterprint([in] IHTMLEventObj* pEvtObj);
12162 }
12163
12164 /*****************************************************************************
12165  *    HTMLWindowProxy class
12166  */
12167 [
12168     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
12169 ]
12170 coclass HTMLWindowProxy
12171 {
12172     [default]           dispinterface DispHTMLWindowProxy;
12173     [source, default]   dispinterface HTMLWindowEvents;
12174     [source]            dispinterface HTMLWindowEvents2;
12175                         interface IHTMLWindow2;
12176                         interface IHTMLWindow3;
12177                         interface IHTMLWindow4;
12178                         interface IHTMLWindow5;
12179 }
12180
12181 /*****************************************************************************
12182  *    HTMLDocumentEvents2 interface
12183  */
12184 [
12185     hidden,
12186     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
12187 ]
12188 dispinterface HTMLDocumentEvents2
12189 {
12190     properties:
12191     methods:
12192     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
12193     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
12194
12195     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
12196     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
12197
12198     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
12199     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
12200
12201     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
12202     void onkeydown([in] IHTMLEventObj *pEvtObj);
12203
12204     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
12205     void onkeyup([in] IHTMLEventObj *pEvtObj);
12206
12207     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
12208     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
12209
12210     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
12211     void onmousedown([in] IHTMLEventObj *pEvtObj);
12212
12213     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
12214     void onmousemove([in] IHTMLEventObj *pEvtObj);
12215
12216     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
12217     void onmouseup([in] IHTMLEventObj *pEvtObj);
12218
12219     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
12220     void onmouseout([in] IHTMLEventObj *pEvtObj);
12221
12222     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
12223     void onmouseover([in] IHTMLEventObj *pEvtObj);
12224
12225     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
12226     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
12227
12228     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
12229     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
12230
12231     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
12232     void onafterupdate([in] IHTMLEventObj *pEvtObj);
12233
12234     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
12235     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
12236
12237     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
12238     void onrowenter([in] IHTMLEventObj *pEvtObj);
12239
12240     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
12241     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
12242
12243     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
12244     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
12245
12246     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
12247     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
12248
12249     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
12250     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
12251
12252     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
12253     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
12254
12255     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
12256     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
12257
12258     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
12259     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
12260
12261     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
12262     void oncellchange([in] IHTMLEventObj *pEvtObj);
12263
12264     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
12265     void onpropertychange([in] IHTMLEventObj *pEvtObj);
12266
12267     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
12268     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
12269
12270     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
12271     void ondataavailable([in] IHTMLEventObj *pEvtObj);
12272
12273     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
12274     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
12275
12276     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
12277     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
12278
12279     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
12280     void onselectionchange([in] IHTMLEventObj *pEvtObj);
12281
12282     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
12283     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
12284
12285     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
12286     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
12287
12288     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
12289     void onfocusin([in] IHTMLEventObj *pEvtObj);
12290
12291     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
12292     void onfocusout([in] IHTMLEventObj *pEvtObj);
12293
12294     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
12295     void onactivate([in] IHTMLEventObj *pEvtObj);
12296
12297     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
12298     void ondeactivate([in] IHTMLEventObj *pEvtObj);
12299
12300     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
12301     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
12302
12303     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
12304     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
12305 }
12306
12307 /*****************************************************************************
12308  *    HTMLDocumentEvents interface
12309  */
12310 [
12311     hidden,
12312     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
12313 ]
12314 dispinterface HTMLDocumentEvents
12315 {
12316     properties:
12317     methods:
12318     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
12319     VARIANT_BOOL onhelp();
12320
12321     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
12322     VARIANT_BOOL onclick();
12323
12324     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
12325     VARIANT_BOOL ondblclick();
12326
12327     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
12328     void onkeydown();
12329
12330     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
12331     void onkeyup();
12332
12333     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
12334     VARIANT_BOOL onkeypress();
12335
12336     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
12337     void onmousedown();
12338
12339     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
12340     void onmousemove();
12341
12342     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
12343     void onmouseup();
12344
12345     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
12346     void onmouseout();
12347
12348     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
12349     void onmouseover();
12350
12351     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
12352     void onreadystatechange();
12353
12354     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
12355     VARIANT_BOOL onbeforeupdate();
12356
12357     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
12358     void onafterupdate();
12359
12360     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
12361     VARIANT_BOOL onrowexit();
12362
12363     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
12364     void onrowenter();
12365
12366     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
12367     VARIANT_BOOL ondragstart();
12368
12369     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
12370     VARIANT_BOOL onselectstart();
12371
12372     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
12373     VARIANT_BOOL onerrorupdate();
12374
12375     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
12376     VARIANT_BOOL oncontextmenu();
12377
12378     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
12379     VARIANT_BOOL onstop();
12380
12381     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
12382     void onrowsdelete();
12383
12384     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
12385     void onrowsinserted();
12386
12387     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
12388     void oncellchange();
12389
12390     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
12391     void onpropertychange();
12392
12393     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
12394     void ondatasetchanged();
12395
12396     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
12397     void ondataavailable();
12398
12399     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
12400     void ondatasetcomplete();
12401
12402     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
12403     void onbeforeeditfocus();
12404
12405     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
12406     void onselectionchange();
12407
12408     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
12409     VARIANT_BOOL oncontrolselect();
12410
12411     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
12412     VARIANT_BOOL onmousewheel();
12413
12414     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
12415     void onfocusin();
12416
12417     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
12418     void onfocusout();
12419
12420     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
12421     void onactivate();
12422
12423     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
12424     void ondeactivate();
12425
12426     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
12427     VARIANT_BOOL onbeforeactivate();
12428
12429     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
12430     VARIANT_BOOL onbeforedeactivate();
12431 }
12432
12433 /*****************************************************************************
12434  *    HTMLTextContainerEvents interface
12435  */
12436 [
12437     hidden,
12438     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
12439 ]
12440 dispinterface HTMLTextContainerEvents
12441 {
12442 properties:
12443
12444 methods:
12445     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
12446     VARIANT_BOOL onhelp();
12447
12448     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
12449     VARIANT_BOOL onclick();
12450
12451     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
12452     VARIANT_BOOL ondblclick();
12453
12454     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
12455     VARIANT_BOOL onkeypress();
12456
12457     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
12458     void onkeydown();
12459
12460     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
12461     void onkeyup();
12462
12463     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
12464     void onmouseout();
12465
12466     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
12467     void onmouseover();
12468
12469     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
12470     void onmousemove();
12471
12472     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
12473     void onmousedown();
12474
12475     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
12476     void onmouseup();
12477
12478     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
12479     VARIANT_BOOL onselectstart();
12480
12481     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
12482     void onfilterchange();
12483
12484     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
12485     VARIANT_BOOL ondragstart();
12486
12487     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
12488     VARIANT_BOOL onbeforeupdate();
12489
12490     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
12491     void onafterupdate();
12492
12493     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
12494     VARIANT_BOOL onerrorupdate();
12495
12496     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
12497     VARIANT_BOOL onrowexit();
12498
12499     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
12500     void onrowenter();
12501
12502     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
12503     void ondatasetchanged();
12504
12505     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
12506     void ondataavailable();
12507
12508     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
12509     void ondatasetcomplete();
12510
12511     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
12512     void onlosecapture();
12513
12514     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
12515     void onpropertychange();
12516
12517     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
12518     void onscroll();
12519
12520     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
12521     void onfocus();
12522
12523     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
12524     void onblur();
12525
12526     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
12527     void onresize();
12528
12529     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
12530     VARIANT_BOOL ondrag();
12531
12532     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
12533     void ondragend();
12534
12535     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
12536     VARIANT_BOOL ondragenter();
12537
12538     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
12539     VARIANT_BOOL ondragover();
12540
12541     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
12542     void ondragleave();
12543
12544     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
12545     VARIANT_BOOL ondrop();
12546
12547     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
12548     VARIANT_BOOL onbeforecut();
12549
12550     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
12551     VARIANT_BOOL oncut();
12552
12553     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
12554     VARIANT_BOOL onbeforecopy();
12555
12556     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
12557     VARIANT_BOOL oncopy();
12558
12559     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
12560     VARIANT_BOOL onbeforepaste();
12561
12562     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
12563     VARIANT_BOOL onpaste();
12564
12565     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
12566     VARIANT_BOOL oncontextmenu();
12567
12568     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
12569     void onrowsdelete();
12570
12571     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
12572     void onrowsinserted();
12573
12574     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
12575     void oncellchange();
12576
12577     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
12578     void onreadystatechange();
12579
12580     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
12581     void onbeforeeditfocus();
12582
12583     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
12584     void onlayoutcomplete();
12585
12586     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
12587     void onpage();
12588
12589     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
12590     VARIANT_BOOL onbeforedeactivate();
12591
12592     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
12593     VARIANT_BOOL onbeforeactivate();
12594
12595     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
12596     void onmove();
12597
12598     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
12599     VARIANT_BOOL oncontrolselect();
12600
12601     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
12602     VARIANT_BOOL onmovestart();
12603
12604     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
12605     void onmoveend();
12606
12607     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
12608     VARIANT_BOOL onresizestart();
12609
12610     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
12611     void onresizeend();
12612
12613     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
12614     void onmouseenter();
12615
12616     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
12617     void onmouseleave();
12618
12619     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
12620     VARIANT_BOOL onmousewheel();
12621
12622     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
12623     void onactivate();
12624
12625     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
12626     void ondeactivate();
12627
12628     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
12629     void onfocusin();
12630
12631     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
12632     void onfocusout();
12633
12634     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
12635     void onchange();
12636
12637     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
12638     void onselect();
12639 }
12640
12641 /*****************************************************************************
12642  *    HTMLTextContainerEvents2 interface
12643  */
12644 [
12645     hidden,
12646     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
12647 ]
12648 dispinterface HTMLTextContainerEvents2
12649 {
12650 properties:
12651 methods:
12652     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
12653     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
12654
12655     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
12656     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
12657
12658     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
12659     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
12660
12661     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
12662     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
12663
12664     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
12665     void onkeydown([in] IHTMLEventObj* pEvtObj);
12666
12667     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
12668     void onkeyup([in] IHTMLEventObj* pEvtObj);
12669
12670     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
12671     void onmouseout([in] IHTMLEventObj* pEvtObj);
12672
12673     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
12674     void onmouseover([in] IHTMLEventObj* pEvtObj);
12675
12676     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
12677     void onmousemove([in] IHTMLEventObj* pEvtObj);
12678
12679     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
12680     void onmousedown([in] IHTMLEventObj* pEvtObj);
12681
12682     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
12683     void onmouseup([in] IHTMLEventObj* pEvtObj);
12684
12685     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
12686     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
12687
12688     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
12689     void onfilterchange([in] IHTMLEventObj* pEvtObj);
12690
12691     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
12692     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
12693
12694     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
12695     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
12696
12697     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
12698     void onafterupdate([in] IHTMLEventObj* pEvtObj);
12699
12700     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
12701     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
12702
12703     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
12704     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
12705
12706     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
12707     void onrowenter([in] IHTMLEventObj* pEvtObj);
12708
12709     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
12710     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
12711
12712     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
12713     void ondataavailable([in] IHTMLEventObj* pEvtObj);
12714
12715     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
12716     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
12717
12718     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
12719     void onlosecapture([in] IHTMLEventObj* pEvtObj);
12720
12721     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
12722     void onpropertychange([in] IHTMLEventObj* pEvtObj);
12723
12724     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
12725     void onscroll([in] IHTMLEventObj* pEvtObj);
12726
12727     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
12728     void onfocus([in] IHTMLEventObj* pEvtObj);
12729
12730     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
12731     void onblur([in] IHTMLEventObj* pEvtObj);
12732
12733     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
12734     void onresize([in] IHTMLEventObj* pEvtObj);
12735
12736     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
12737     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
12738
12739     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
12740     void ondragend([in] IHTMLEventObj* pEvtObj);
12741
12742     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
12743     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
12744
12745     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
12746     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
12747
12748     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
12749     void ondragleave([in] IHTMLEventObj* pEvtObj);
12750
12751     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
12752     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
12753
12754     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
12755     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
12756
12757     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
12758     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
12759
12760     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
12761     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
12762
12763     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
12764     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
12765
12766     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
12767     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
12768
12769     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
12770     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
12771
12772     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
12773     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
12774
12775     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
12776     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
12777
12778     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
12779     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
12780
12781     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
12782     void oncellchange([in] IHTMLEventObj* pEvtObj);
12783
12784     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
12785     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
12786
12787     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
12788     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
12789
12790     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
12791     void onpage([in] IHTMLEventObj* pEvtObj);
12792
12793     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
12794     void onmouseenter([in] IHTMLEventObj* pEvtObj);
12795
12796     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
12797     void onmouseleave([in] IHTMLEventObj* pEvtObj);
12798
12799     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
12800     void onactivate([in] IHTMLEventObj* pEvtObj);
12801
12802     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
12803     void ondeactivate([in] IHTMLEventObj* pEvtObj);
12804
12805     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
12806     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
12807
12808     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
12809     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
12810
12811     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
12812     void onfocusin([in] IHTMLEventObj* pEvtObj);
12813
12814     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
12815     void onfocusout([in] IHTMLEventObj* pEvtObj);
12816
12817     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
12818     void onmove([in] IHTMLEventObj* pEvtObj);
12819
12820     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
12821     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
12822
12823     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
12824     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
12825
12826     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
12827     void onmoveend([in] IHTMLEventObj* pEvtObj);
12828
12829     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
12830     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
12831
12832     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
12833     void onresizeend([in] IHTMLEventObj* pEvtObj);
12834
12835     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
12836     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
12837
12838     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
12839     void onchange([in] IHTMLEventObj* pEvtObj);
12840
12841     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
12842     void onselect([in] IHTMLEventObj* pEvtObj);
12843 }
12844
12845 /*****************************************************************************
12846  *    IHTMLDocument interface
12847  */
12848 [
12849     odl,
12850     oleautomation,
12851     dual,
12852     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
12853 ]
12854 interface IHTMLDocument : IDispatch
12855 {
12856     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
12857     HRESULT Script([retval, out] IDispatch **p);
12858 }
12859
12860 /*****************************************************************************
12861  *    IHTMLDocument2 interface
12862  */
12863 [
12864     odl,
12865     oleautomation,
12866     dual,
12867     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
12868 ]
12869 interface IHTMLDocument2 : IHTMLDocument
12870 {
12871     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
12872     HRESULT all([retval, out] IHTMLElementCollection **p);
12873
12874     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
12875     HRESULT body([retval, out] IHTMLElement **p);
12876
12877     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
12878     HRESULT activeElement([retval, out] IHTMLElement **p);
12879
12880     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
12881     HRESULT images([retval, out] IHTMLElementCollection **p);
12882
12883     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
12884     HRESULT applets([retval, out] IHTMLElementCollection **p);
12885
12886     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
12887     HRESULT links([retval, out] IHTMLElementCollection **p);
12888
12889     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
12890     HRESULT forms([retval, out] IHTMLElementCollection **p);
12891
12892     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
12893     HRESULT anchors([retval, out] IHTMLElementCollection **p);
12894
12895     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12896     HRESULT title([in] BSTR v);
12897
12898     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12899     HRESULT title([retval, out] BSTR *p);
12900
12901     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
12902     HRESULT scripts([retval, out] IHTMLElementCollection **p);
12903
12904     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
12905     HRESULT designMode([in] BSTR v);
12906
12907     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
12908     HRESULT designMode([retval, out] BSTR *p);
12909
12910     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
12911     HRESULT selection([retval, out] IHTMLSelectionObject **p);
12912
12913     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
12914      HRESULT readyState([retval, out] BSTR *p);
12915
12916     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
12917     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
12918
12919     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
12920     HRESULT embeds([retval, out] IHTMLElementCollection **p);
12921
12922     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
12923     HRESULT plugins([retval, out] IHTMLElementCollection **p);
12924
12925     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12926     HRESULT alinkColor([in] VARIANT v);
12927
12928     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12929     HRESULT alinkColor([retval, out] VARIANT *p);
12930
12931     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12932     HRESULT bgColor([in] VARIANT v);
12933
12934     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12935     HRESULT bgColor([retval, out] VARIANT *p);
12936
12937     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12938     HRESULT fgColor([in] VARIANT v);
12939
12940     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12941     HRESULT fgColor([retval, out] VARIANT *p);
12942
12943     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12944     HRESULT linkColor([in] VARIANT v);
12945
12946     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12947     HRESULT linkColor([retval, out] VARIANT *p);
12948
12949     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12950     HRESULT vlinkColor([in] VARIANT v);
12951
12952     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12953     HRESULT vlinkColor([retval, out] VARIANT *p);
12954
12955     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
12956     HRESULT referrer([retval, out] BSTR *p);
12957
12958     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
12959     HRESULT location([retval, out] IHTMLLocation **p);
12960
12961     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
12962     HRESULT lastModified([retval, out] BSTR *p);
12963
12964     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
12965     HRESULT URL([in] BSTR v);
12966
12967     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
12968     HRESULT URL([retval, out] BSTR *p);
12969
12970     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12971     HRESULT domain([in] BSTR v);
12972
12973     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12974     HRESULT domain([retval, out] BSTR *p);
12975
12976     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12977     HRESULT cookie([in] BSTR v);
12978
12979     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12980     HRESULT cookie([retval, out] BSTR *p);
12981
12982     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12983     HRESULT expando([in] VARIANT_BOOL v);
12984
12985     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12986     HRESULT expando([retval, out] VARIANT_BOOL *p);
12987
12988     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12989      HRESULT charset([in] BSTR v);
12990
12991     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12992     HRESULT charset([retval, out] BSTR *p);
12993
12994     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12995     HRESULT defaultCharset([in] BSTR v);
12996
12997     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12998     HRESULT defaultCharset([retval, out] BSTR *p);
12999
13000     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
13001     HRESULT mimeType([retval, out] BSTR *p);
13002
13003     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
13004     HRESULT fileSize([retval, out] BSTR *p);
13005
13006     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
13007     HRESULT fileCreatedDate([retval, out] BSTR *p);
13008
13009     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
13010     HRESULT fileModifiedDate([retval, out] BSTR *p);
13011
13012     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
13013     HRESULT fileUpdatedDate([retval, out] BSTR *p);
13014
13015     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
13016     HRESULT security([retval, out] BSTR *p);
13017
13018     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
13019     HRESULT protocol([retval, out] BSTR *p);
13020
13021     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
13022      HRESULT nameProp([retval, out] BSTR *p);
13023
13024     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
13025     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
13026
13027     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
13028     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
13029
13030     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
13031     HRESULT open(
13032         [defaultvalue("text/html"), in] BSTR url,
13033         [optional, in] VARIANT name,
13034         [optional, in] VARIANT features,
13035         [optional, in] VARIANT replace,
13036         [retval, out]  IDispatch **pomWindowResult);
13037
13038     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
13039     HRESULT close();
13040
13041     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
13042     HRESULT clear();
13043
13044     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
13045     HRESULT queryCommandSupported(
13046         [in] BSTR cmdID,
13047         [retval, out] VARIANT_BOOL *pfRet);
13048
13049     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
13050     HRESULT queryCommandEnabled(
13051         [in] BSTR cmdID,
13052         [retval, out] VARIANT_BOOL *pfRet);
13053
13054     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
13055     HRESULT queryCommandState(
13056         [in] BSTR cmdID,
13057         [retval, out] VARIANT_BOOL *pfRet);
13058
13059     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
13060     HRESULT queryCommandIndeterm(
13061         [in] BSTR cmdID,
13062         [retval, out] VARIANT_BOOL *pfRet);
13063
13064     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
13065     HRESULT queryCommandText(
13066         [in] BSTR cmdID,
13067         [retval, out] BSTR *pcmdText);
13068
13069     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
13070     HRESULT queryCommandValue(
13071         [in] BSTR cmdID,
13072         [retval, out] VARIANT *pcmdValue);
13073
13074     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
13075     HRESULT execCommand(
13076         [in] BSTR cmdID,
13077         [defaultvalue(0), in] VARIANT_BOOL showUI,
13078         [optional, in] VARIANT value,
13079         [retval, out] VARIANT_BOOL *pfRet);
13080
13081     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
13082     HRESULT execCommandShowHelp(
13083         [in] BSTR cmdID,
13084         [retval, out] VARIANT_BOOL *pfRet);
13085
13086     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
13087      HRESULT createElement(
13088         [in] BSTR eTag,
13089         [retval, out] IHTMLElement **newElem);
13090
13091     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
13092     HRESULT onhelp([in] VARIANT v);
13093
13094     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
13095     HRESULT onhelp([retval, out] VARIANT *p);
13096
13097     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
13098     HRESULT onclick([in] VARIANT v);
13099
13100     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
13101     HRESULT onclick([retval, out] VARIANT *p);
13102
13103     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
13104     HRESULT ondblclick([in] VARIANT v);
13105
13106     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
13107     HRESULT ondblclick([retval, out] VARIANT *p);
13108
13109     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
13110     HRESULT onkeyup([in] VARIANT v);
13111
13112     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
13113     HRESULT onkeyup([retval, out] VARIANT *p);
13114
13115     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
13116     HRESULT onkeydown([in] VARIANT v);
13117
13118     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
13119     HRESULT onkeydown([retval, out] VARIANT *p);
13120
13121     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
13122      HRESULT onkeypress([in] VARIANT v);
13123
13124     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
13125     HRESULT onkeypress([retval, out] VARIANT *p);
13126
13127     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
13128     HRESULT onmouseup([in] VARIANT v);
13129
13130     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
13131     HRESULT onmouseup([retval, out] VARIANT *p);
13132
13133     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
13134     HRESULT onmousedown([in] VARIANT v);
13135
13136     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
13137     HRESULT onmousedown([retval, out] VARIANT *p);
13138
13139     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
13140     HRESULT onmousemove([in] VARIANT v);
13141
13142     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
13143     HRESULT onmousemove([retval, out] VARIANT *p);
13144
13145     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
13146     HRESULT onmouseout([in] VARIANT v);
13147
13148     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
13149     HRESULT onmouseout([retval, out] VARIANT *p);
13150
13151     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
13152     HRESULT onmouseover([in] VARIANT v);
13153
13154     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
13155     HRESULT onmouseover([retval, out] VARIANT *p);
13156
13157     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
13158     HRESULT onreadystatechange([in] VARIANT v);
13159
13160     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
13161     HRESULT onreadystatechange([retval, out] VARIANT *p);
13162
13163     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
13164     HRESULT onafterupdate([in] VARIANT v);
13165
13166     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
13167     HRESULT onafterupdate([retval, out] VARIANT *p);
13168
13169     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
13170     HRESULT onrowexit([in] VARIANT v);
13171
13172     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
13173     HRESULT onrowexit([retval, out] VARIANT *p);
13174
13175     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
13176     HRESULT onrowenter([in] VARIANT v);
13177
13178     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
13179     HRESULT onrowenter([retval, out] VARIANT *p);
13180
13181     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
13182     HRESULT ondragstart([in] VARIANT v);
13183
13184     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
13185     HRESULT ondragstart([retval, out] VARIANT *p);
13186
13187     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
13188     HRESULT onselectstart([in] VARIANT v);
13189
13190     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
13191     HRESULT onselectstart([retval, out] VARIANT *p);
13192
13193     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
13194     HRESULT elementFromPoint(
13195         [in] LONG x,
13196         [in] LONG y,
13197         [retval, out] IHTMLElement **elementHit);
13198
13199     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
13200     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
13201
13202     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
13203     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
13204
13205     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
13206     HRESULT onbeforeupdate([in] VARIANT v);
13207
13208     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
13209     HRESULT onbeforeupdate([retval, out] VARIANT *p);
13210
13211     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
13212     HRESULT onerrorupdate([in] VARIANT v);
13213
13214     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
13215     HRESULT onerrorupdate([retval, out] VARIANT *p);
13216
13217     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
13218     HRESULT toString([retval, out] BSTR *String);
13219
13220     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
13221     HRESULT createStyleSheet(
13222         [defaultvalue(""), in] BSTR bstrHref,
13223         [defaultvalue(-1), in] LONG lIndex,
13224         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
13225 }
13226
13227 /*****************************************************************************
13228  *    IHTMLDocument3 interface
13229  */
13230 [
13231     odl,
13232     oleautomation,
13233     dual,
13234     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
13235 ]
13236 interface IHTMLDocument3 : IDispatch
13237 {
13238     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
13239     HRESULT releaseCapture();
13240
13241     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
13242     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
13243
13244     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
13245     HRESULT createTextNode(
13246         [in] BSTR text,
13247         [retval, out] IHTMLDOMNode **newTextNode);
13248
13249     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
13250     HRESULT documentElement([retval, out] IHTMLElement **p);
13251
13252     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
13253     HRESULT uniqueID([retval, out] BSTR *p);
13254
13255     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
13256     HRESULT attachEvent(
13257         [in] BSTR event,
13258         [in] IDispatch* pDisp,
13259         [retval, out] VARIANT_BOOL *pfResult);
13260
13261     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
13262     HRESULT detachEvent(
13263         [in] BSTR event,
13264         [in] IDispatch *pDisp);
13265
13266     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13267     HRESULT onrowsdelete([in] VARIANT v);
13268
13269     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13270     HRESULT onrowsdelete([retval, out] VARIANT *p);
13271
13272     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13273     HRESULT onrowsinserted([in] VARIANT v);
13274
13275     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13276     HRESULT onrowsinserted([retval, out] VARIANT *p);
13277
13278     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13279     HRESULT oncellchange([in] VARIANT v);
13280
13281     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13282     HRESULT oncellchange([retval, out] VARIANT *p);
13283
13284     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13285     HRESULT ondatasetchanged([in] VARIANT v);
13286
13287     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13288     HRESULT ondatasetchanged([retval, out] VARIANT *p);
13289
13290     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13291     HRESULT ondataavailable([in] VARIANT v);
13292
13293     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13294     HRESULT ondataavailable([retval, out] VARIANT * p);
13295
13296     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13297     HRESULT ondatasetcomplete([in] VARIANT v);
13298
13299     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13300     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
13301
13302     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13303     HRESULT onpropertychange([in] VARIANT v);
13304
13305     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13306     HRESULT onpropertychange([retval, out] VARIANT *p);
13307
13308     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
13309     HRESULT dir([in] BSTR v);
13310
13311     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
13312     HRESULT dir([retval, out] BSTR *p);
13313
13314     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13315     HRESULT oncontextmenu([in] VARIANT v);
13316
13317     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13318     HRESULT oncontextmenu([retval, out] VARIANT *p);
13319
13320     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13321     HRESULT onstop([in] VARIANT v);
13322
13323     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13324     HRESULT onstop([retval, out] VARIANT *p);
13325
13326     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
13327     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
13328
13329     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
13330     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
13331
13332     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13333     HRESULT enableDownload([in] VARIANT_BOOL v);
13334
13335     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13336     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
13337
13338     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13339     HRESULT baseUrl([in] BSTR v);
13340
13341     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13342     HRESULT baseUrl([retval, out] BSTR *p);
13343
13344     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
13345     HRESULT childNodes([retval, out] IDispatch **p);
13346
13347     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13348     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
13349
13350     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13351     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
13352
13353     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13354     HRESULT onbeforeeditfocus([in] VARIANT v);
13355
13356     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13357     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
13358
13359     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
13360     HRESULT getElementsByName(
13361         [in] BSTR v,
13362         [retval, out] IHTMLElementCollection **pelColl);
13363
13364     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
13365     HRESULT getElementById(
13366         [in] BSTR v,
13367         [retval, out] IHTMLElement **pel);
13368
13369     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
13370     HRESULT getElementsByTagName(
13371         [in] BSTR v,
13372         [retval, out] IHTMLElementCollection **pelColl);
13373 }
13374
13375 /*****************************************************************************
13376  *    IHTMLDocument4 interface
13377  */
13378 [
13379     odl,
13380     oleautomation,
13381     dual,
13382     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
13383 ]
13384 interface IHTMLDocument4 : IDispatch
13385 {
13386     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
13387     HRESULT focus();
13388
13389     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
13390     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
13391
13392     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13393     HRESULT onselectionchange([in] VARIANT v);
13394
13395     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13396     HRESULT onselectionchange([retval, out] VARIANT *p);
13397
13398     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
13399     HRESULT namespaces([retval, out] IDispatch **p);
13400
13401     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
13402     HRESULT createDocumentFromUrl(
13403         [in] BSTR bstrUrl,
13404         [in] BSTR bstrOptions,
13405         [retval, out] IHTMLDocument2 **newDoc);
13406
13407     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13408     HRESULT media([in] BSTR v);
13409
13410     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13411     HRESULT media([retval, out] BSTR *p);
13412
13413     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
13414     HRESULT createEventObject(
13415         [optional, in] VARIANT *pvarEventObject,
13416         [retval, out] IHTMLEventObj **ppEventObj);
13417
13418     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
13419     HRESULT fireEvent(
13420         [in] BSTR bstrEventName,
13421         [optional, in] VARIANT *pvarEventObject,
13422         [retval, out] VARIANT_BOOL *pfCancelled);
13423
13424     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
13425     HRESULT createRenderStyle(
13426         [in] BSTR v,
13427         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
13428
13429     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13430     HRESULT oncontrolselect([in] VARIANT v);
13431
13432     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13433     HRESULT oncontrolselect([retval, out] VARIANT *p);
13434
13435     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
13436     HRESULT URLUnencoded([retval, out] BSTR *p);
13437 }
13438
13439 /*****************************************************************************
13440  *    IHTMLDocument5 interface
13441  */
13442 [
13443     odl,
13444     oleautomation,
13445     dual,
13446     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
13447 ]
13448 interface IHTMLDocument5 : IDispatch
13449 {
13450     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13451     HRESULT onmousewheel([in] VARIANT v);
13452
13453     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13454     HRESULT onmousewheel([retval, out] VARIANT *p);
13455
13456     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
13457     HRESULT doctype([retval, out] IHTMLDOMNode **p);
13458
13459     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13460     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
13461
13462     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13463     HRESULT createAttribute(
13464         [in] BSTR bstrattrName,
13465         [retval, out] IHTMLDOMAttribute **ppattribute);
13466
13467     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13468     HRESULT createComment(
13469         [in] BSTR bstrdata,
13470         [retval, out] IHTMLDOMNode **ppRetNode);
13471
13472     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13473     HRESULT onfocusin([in] VARIANT v);
13474
13475     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13476     HRESULT onfocusin([retval, out] VARIANT *p);
13477
13478     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13479     HRESULT onfocusout([in] VARIANT v);
13480
13481     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13482     HRESULT onfocusout([retval, out] VARIANT *p);
13483
13484     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13485     HRESULT onactivate([in] VARIANT v);
13486
13487     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13488     HRESULT onactivate([retval, out] VARIANT *p);
13489
13490     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13491     HRESULT ondeactivate([in] VARIANT v);
13492
13493     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13494     HRESULT ondeactivate([retval, out] VARIANT *p);
13495
13496     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13497     HRESULT onbeforeactivate([in] VARIANT v);
13498
13499     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13500     HRESULT onbeforeactivate([retval, out] VARIANT *p);
13501
13502     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13503     HRESULT onbeforedeactivate([in] VARIANT v);
13504
13505     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13506     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
13507
13508     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
13509     HRESULT compatMode([retval, out] BSTR *p);
13510 }
13511
13512 /*****************************************************************************
13513  *    IHTMLDocument6 interface
13514  */
13515 [
13516     odl,
13517     oleautomation,
13518     dual,
13519     uuid(30510417-98b5-11cf-bb82-00aa00bdce0b)
13520 ]
13521 interface IHTMLDocument6 : IDispatch
13522 {
13523     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
13524     HRESULT compatible([retval, out] IHTMLDocumentCompatibleInfoCollection **p);
13525
13526     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
13527     HRESULT documentMode([retval, out] VARIANT *p);
13528
13529     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13530     HRESULT onstorage([in] VARIANT v);
13531
13532     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13533     HRESULT onstorage([out] VARIANT *p);
13534
13535     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13536     HRESULT onstoragecommit([in] VARIANT v);
13537
13538     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13539     HRESULT onstoragecommit([out] VARIANT *p);
13540
13541     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
13542     HRESULT getElementById(
13543         [in] BSTR bstrId,
13544         [retval, out] IHTMLElement2 **p);
13545
13546     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
13547     HRESULT updateSettings();
13548 }
13549
13550 /*****************************************************************************
13551  *    DispHTMLDocument dispinterface
13552  */
13553 [
13554     hidden,
13555     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
13556 ]
13557 dispinterface DispHTMLDocument
13558 {
13559 properties:
13560 methods:
13561     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
13562     IDispatch *Script();
13563
13564     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
13565     IHTMLElementCollection *all();
13566
13567     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
13568     IHTMLElement *body();
13569
13570     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
13571     IHTMLElement *activeElement();
13572
13573     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
13574     IHTMLElementCollection *images();
13575
13576     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
13577     IHTMLElementCollection *applets();
13578
13579     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
13580     IHTMLElementCollection *links();
13581
13582     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
13583     IHTMLElementCollection *forms();
13584
13585     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
13586     IHTMLElementCollection *anchors();
13587
13588     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13589     void title(BSTR v);
13590
13591     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13592     BSTR title();
13593
13594     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
13595     IHTMLElementCollection *scripts();
13596
13597     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
13598     void designMode(BSTR v);
13599
13600     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
13601     BSTR designMode();
13602
13603     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
13604     IHTMLSelectionObject *selection();
13605
13606     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
13607     BSTR readyState();
13608
13609     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
13610     IHTMLFramesCollection2 *frames();
13611
13612     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
13613     IHTMLElementCollection *embeds();
13614
13615     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
13616     IHTMLElementCollection *plugins();
13617
13618     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13619     void alinkColor(VARIANT v);
13620
13621     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13622     VARIANT alinkColor();
13623
13624     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13625     void bgColor(VARIANT v);
13626
13627     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13628     VARIANT bgColor();
13629
13630     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13631     void fgColor(VARIANT v);
13632
13633     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13634     VARIANT fgColor();
13635
13636     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13637     void linkColor(VARIANT v);
13638
13639     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13640     VARIANT linkColor();
13641
13642     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13643     void vlinkColor(VARIANT v);
13644
13645     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13646     VARIANT vlinkColor();
13647
13648     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
13649     BSTR referrer();
13650
13651     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
13652     IHTMLLocation *location();
13653
13654     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
13655     BSTR lastModified();
13656
13657     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
13658     void URL(BSTR v);
13659
13660     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
13661     BSTR URL();
13662
13663     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13664     void domain(BSTR v);
13665
13666     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13667     BSTR domain();
13668
13669     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13670     void cookie(BSTR v);
13671
13672     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13673     BSTR cookie();
13674
13675     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
13676     void expando(VARIANT_BOOL v);
13677
13678     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
13679     VARIANT_BOOL expando();
13680
13681     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
13682     void charset(BSTR v);
13683
13684     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
13685     BSTR charset();
13686
13687     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13688     void defaultCharset(BSTR v);
13689
13690     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13691     BSTR defaultCharset();
13692
13693     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
13694     BSTR mimeType();
13695
13696     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
13697     BSTR fileSize();
13698
13699     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
13700     BSTR fileCreatedDate();
13701
13702     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
13703     BSTR fileModifiedDate();
13704
13705     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
13706     BSTR fileUpdatedDate();
13707
13708     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
13709     BSTR security();
13710
13711     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
13712     BSTR protocol();
13713
13714     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
13715     BSTR nameProp();
13716
13717     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
13718     void write([in] SAFEARRAY(VARIANT) psarray);
13719
13720     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
13721     void writeln([in] SAFEARRAY(VARIANT) psarray);
13722
13723     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
13724     IDispatch *open(
13725         [defaultvalue("text/html"), in] BSTR url,
13726         [optional, in] VARIANT name,
13727         [optional, in] VARIANT features,
13728         [optional, in] VARIANT replace);
13729
13730     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
13731     void close();
13732
13733     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
13734     void clear();
13735
13736     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
13737     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
13738
13739     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
13740     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
13741
13742     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
13743     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
13744
13745     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
13746     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
13747
13748     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
13749     BSTR queryCommandText([in] BSTR cmdID);
13750
13751     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
13752     VARIANT queryCommandValue([in] BSTR cmdID);
13753
13754     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
13755     VARIANT_BOOL execCommand(
13756         [in] BSTR cmdID,
13757         [defaultvalue(0), in] VARIANT_BOOL showUI,
13758         [optional, in] VARIANT value);
13759
13760     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
13761     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
13762
13763     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
13764     IHTMLElement *createElement([in] BSTR eTag);
13765
13766     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
13767     void onhelp(VARIANT v);
13768
13769     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
13770     VARIANT onhelp();
13771
13772     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
13773     void onclick(VARIANT v);
13774
13775     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
13776     VARIANT onclick();
13777
13778     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
13779     void ondblclick(VARIANT v);
13780
13781     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
13782     VARIANT ondblclick();
13783
13784     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
13785     void onkeyup(VARIANT v);
13786
13787     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
13788     VARIANT onkeyup();
13789
13790     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
13791     void onkeydown(VARIANT v);
13792
13793     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
13794     VARIANT onkeydown();
13795
13796     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
13797     void onkeypress(VARIANT v);
13798
13799     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
13800     VARIANT onkeypress();
13801
13802     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
13803     void onmouseup(VARIANT v);
13804
13805     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
13806     VARIANT onmouseup();
13807
13808     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
13809     void onmousedown(VARIANT v);
13810
13811     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
13812     VARIANT onmousedown();
13813
13814     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
13815     void onmousemove(VARIANT v);
13816
13817     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
13818     VARIANT onmousemove();
13819
13820     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
13821     void onmouseout(VARIANT v);
13822
13823     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
13824     VARIANT onmouseout();
13825
13826     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
13827     void onmouseover(VARIANT v);
13828
13829     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
13830     VARIANT onmouseover();
13831
13832     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13833     void onreadystatechange(VARIANT v);
13834
13835     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13836     VARIANT onreadystatechange();
13837
13838     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
13839     void onafterupdate(VARIANT v);
13840
13841     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
13842     VARIANT onafterupdate();
13843
13844     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
13845     void onrowexit(VARIANT v);
13846
13847     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
13848     VARIANT onrowexit();
13849
13850     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
13851     void onrowenter(VARIANT v);
13852
13853     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
13854     VARIANT onrowenter();
13855
13856     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
13857     void ondragstart(VARIANT v);
13858
13859     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
13860     VARIANT ondragstart();
13861
13862     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
13863     void onselectstart(VARIANT v);
13864
13865     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
13866     VARIANT onselectstart();
13867
13868     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
13869     IHTMLElement *elementFromPoint(
13870         [in] LONG x,
13871         [in] LONG y);
13872
13873     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
13874     IHTMLWindow2 *parentWindow();
13875
13876     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
13877     IHTMLStyleSheetsCollection *styleSheets();
13878
13879     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
13880     void onbeforeupdate(VARIANT v);
13881
13882     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
13883     VARIANT onbeforeupdate();
13884
13885     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
13886     void onerrorupdate(VARIANT v);
13887
13888     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
13889     VARIANT onerrorupdate();
13890
13891     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
13892     BSTR toString();
13893
13894     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
13895     IHTMLStyleSheet *createStyleSheet(
13896         [defaultvalue(""), in] BSTR bstrHref,
13897         [defaultvalue(-1), in] LONG lIndex);
13898
13899     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
13900     void releaseCapture();
13901
13902     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
13903     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
13904
13905     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
13906     IHTMLDOMNode *createTextNode([in] BSTR text);
13907
13908     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
13909     IHTMLElement *documentElement();
13910
13911     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
13912     BSTR uniqueID();
13913
13914     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
13915     VARIANT_BOOL attachEvent(
13916         [in] BSTR event,
13917         [in] IDispatch *pDisp);
13918
13919     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
13920     void detachEvent(
13921         [in] BSTR event,
13922         [in] IDispatch *pDisp);
13923
13924     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13925     void onrowsdelete(VARIANT v);
13926
13927     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13928     VARIANT onrowsdelete();
13929
13930     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13931     void onrowsinserted(VARIANT v);
13932
13933     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13934     VARIANT onrowsinserted();
13935
13936     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13937     void oncellchange(VARIANT v);
13938
13939     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13940     VARIANT oncellchange();
13941
13942     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13943     void ondatasetchanged(VARIANT v);
13944
13945     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13946     VARIANT ondatasetchanged();
13947
13948     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13949     void ondataavailable(VARIANT v);
13950
13951     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13952     VARIANT ondataavailable();
13953
13954     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13955     void ondatasetcomplete(VARIANT v);
13956
13957     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13958     VARIANT ondatasetcomplete();
13959
13960     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13961     void onpropertychange(VARIANT v);
13962
13963     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13964     VARIANT onpropertychange();
13965
13966     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
13967     void dir(BSTR v);
13968
13969     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
13970     BSTR dir();
13971
13972     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13973     void oncontextmenu(VARIANT v);
13974
13975     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13976     VARIANT oncontextmenu();
13977
13978     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13979     void onstop(VARIANT v);
13980
13981     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13982     VARIANT onstop();
13983
13984     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
13985     IHTMLDocument2 *createDocumentFragment();
13986
13987     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
13988     IHTMLDocument2 *parentDocument();
13989
13990     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13991     void enableDownload(VARIANT_BOOL v);
13992
13993     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13994     VARIANT_BOOL enableDownload();
13995
13996     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13997     void baseUrl(BSTR v);
13998
13999     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
14000     BSTR baseUrl();
14001
14002     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
14003     void inheritStyleSheets(VARIANT_BOOL v);
14004
14005     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
14006     VARIANT_BOOL inheritStyleSheets();
14007
14008     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
14009     void onbeforeeditfocus(VARIANT v);
14010
14011     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
14012     VARIANT onbeforeeditfocus();
14013
14014     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
14015     IHTMLElementCollection *getElementsByName([in] BSTR v);
14016
14017     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
14018     IHTMLElement *getElementById([in] BSTR v);
14019
14020     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
14021     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
14022
14023     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
14024     void focus();
14025
14026     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
14027     VARIANT_BOOL hasFocus();
14028
14029     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
14030     void onselectionchange(VARIANT v);
14031
14032     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
14033     VARIANT onselectionchange();
14034
14035     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
14036     IDispatch *namespaces();
14037
14038     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
14039     IHTMLDocument2 *createDocumentFromUrl(
14040         [in] BSTR bstrUrl,
14041         [in] BSTR bstrOptions);
14042
14043     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
14044     void media(BSTR v);
14045
14046     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
14047     BSTR media();
14048
14049     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
14050     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
14051
14052     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
14053     VARIANT_BOOL fireEvent(
14054         [in] BSTR bstrEventName,
14055         [optional, in] VARIANT *pvarEventObject);
14056
14057     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
14058     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
14059
14060     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
14061     void oncontrolselect(VARIANT v);
14062
14063     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
14064     VARIANT oncontrolselect();
14065
14066     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
14067     BSTR URLUnencoded();
14068
14069     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
14070     void onmousewheel(VARIANT v);
14071
14072     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
14073     VARIANT onmousewheel();
14074
14075     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
14076     IHTMLDOMNode *doctype();
14077
14078     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
14079     IHTMLDOMImplementation *implementation();
14080
14081     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
14082     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
14083
14084     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
14085     IHTMLDOMNode *createComment([in] BSTR bstrdata);
14086
14087     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14088     void onfocusin(VARIANT v);
14089
14090     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14091     VARIANT onfocusin();
14092
14093     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14094     void onfocusout(VARIANT v);
14095
14096     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14097     VARIANT onfocusout();
14098
14099     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14100     void onactivate(VARIANT v);
14101
14102     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14103     VARIANT onactivate();
14104
14105     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14106     void ondeactivate(VARIANT v);
14107
14108     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14109     VARIANT ondeactivate();
14110
14111     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14112     void onbeforeactivate(VARIANT v);
14113
14114     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14115     VARIANT onbeforeactivate();
14116
14117     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14118     void onbeforedeactivate(VARIANT v);
14119
14120     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14121     VARIANT onbeforedeactivate();
14122
14123     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
14124     BSTR compatMode();
14125
14126     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
14127     IHTMLDocumentCompatibleInfoCollection *compatible();
14128
14129     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
14130     VARIANT documentMode();
14131
14132     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
14133     void onstorage(VARIANT v);
14134
14135     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
14136     VARIANT onstorage();
14137
14138     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
14139     void onstoragecommit(VARIANT v);
14140
14141     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
14142     VARIANT onstoragecommit();
14143
14144     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
14145     IHTMLElement2 *ie8_getElementById([in] BSTR bstrId);
14146
14147     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
14148     void updateSettings();
14149
14150     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
14151 }
14152
14153 /*****************************************************************************
14154  *    HTMLDocument coclass
14155  */
14156 [
14157     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
14158 ]
14159 coclass HTMLDocument
14160 {
14161     [default]         dispinterface DispHTMLDocument;
14162     [source, default] dispinterface HTMLDocumentEvents;
14163     [source]          dispinterface HTMLDocumentEvents2;
14164                       interface IHTMLDocument2;
14165                       interface IHTMLDocument3;
14166                       interface IHTMLDocument4;
14167                       interface IHTMLDocument5;
14168                       interface IHTMLDocument6;
14169                       interface IHTMLDOMNode;
14170                       interface IHTMLDOMNode2;
14171 }
14172
14173 /*****************************************************************************
14174  *    DWebBridgeEvents dispinterface
14175  */
14176 [
14177     hidden,
14178     uuid(a6d897ff-0a95-11d1-b0ba-006008166e11)
14179 ]
14180 dispinterface DWebBridgeEvents
14181 {
14182 properties:
14183 methods:
14184     [id(DISPID_DWEBBRIDGEEVENTS_ONSCRIPTLETEVENT)]
14185     void onscriptletevent([in] BSTR name,[in] VARIANT eventData);
14186
14187     [id(DISPID_DWEBBRIDGEEVENTS_ONREADYSTATECHANGE)]
14188     void onreadystatechange();
14189
14190     [id(DISPID_DWEBBRIDGEEVENTS_ONCLICK)]
14191     VARIANT_BOOL onclick();
14192
14193     [id(DISPID_DWEBBRIDGEEVENTS_ONDBLCLICK)]
14194     VARIANT_BOOL ondblclick();
14195
14196     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYDOWN)]
14197     void onkeydown();
14198
14199     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYUP)]
14200     void onkeyup();
14201
14202     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYPRESS)]
14203     VARIANT_BOOL onkeypress();
14204
14205     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEDOWN)]
14206     void onmousedown();
14207
14208     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEMOVE)]
14209     void onmousemove();
14210
14211     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEUP)]
14212     void onmouseup();
14213 }
14214
14215 /*****************************************************************************
14216  *    IWebBridge interface
14217  */
14218 [
14219     odl,
14220     oleautomation,
14221     dual,
14222     uuid(ae24fdad-03c6-11d1-8b76-0080c744f389)
14223 ]
14224 interface IWebBridge : IDispatch
14225 {
14226     [propput, id(DISPID_IWEBBRIDGE_URL)]
14227     HRESULT URL([in] BSTR v);
14228
14229     [propget, id(DISPID_IWEBBRIDGE_URL)]
14230     HRESULT URL([retval, out] BSTR * p);
14231
14232     [propput, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
14233     HRESULT Scrollbar([in] VARIANT_BOOL v);
14234
14235     [propget, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
14236     HRESULT Scrollbar([retval, out] VARIANT_BOOL * p);
14237
14238     [propput, id(DISPID_IWEBBRIDGE_EMBED)]
14239     HRESULT embed([in] VARIANT_BOOL v);
14240
14241     [propget, id(DISPID_IWEBBRIDGE_EMBED)]
14242     HRESULT embed([retval, out] VARIANT_BOOL * p);
14243
14244     [propget, id(DISPID_IWEBBRIDGE_EVENT)]
14245     HRESULT event([retval, out] IDispatch* * p);
14246
14247     [propget, id(DISPID_IWEBBRIDGE_READYSTATE)]
14248     HRESULT readyState([retval, out] long * p);
14249
14250     [id(DISPID_IWEBBRIDGE_ABOUTBOX)]
14251     HRESULT AboutBox();
14252 }
14253
14254 /*****************************************************************************
14255  *    Scriptlet coclass
14256  */
14257 [
14258     control,
14259     helpstring("Microsoft Scriptlet Component"),
14260     progid("ScriptBridge.ScriptBridge.1"),
14261     vi_progid("ScriptBridge.ScriptBridge"),
14262     uuid(ae24fdae-03c6-11d1-8b76-0080c744f389)
14263 ]
14264 coclass Scriptlet
14265 {
14266     [default]           interface IWebBridge;
14267     [source, default]   dispinterface DWebBridgeEvents;
14268 }
14269
14270 /*****************************************************************************
14271  *    IHTMLEmbedElement interface
14272  */
14273 [
14274     odl,
14275     oleautomation,
14276     dual,
14277     uuid(3050f25f-98b5-11cf-bb82-00aa00bdce0b)
14278 ]
14279 interface IHTMLEmbedElement : IDispatch
14280 {
14281     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14282     HRESULT hidden([in] BSTR v);
14283
14284     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14285     HRESULT hidden([retval, out] BSTR *p);
14286
14287     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
14288     HRESULT palette([retval, out] BSTR *p);
14289
14290     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
14291     HRESULT pluginspage([retval, out] BSTR *p);
14292
14293     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14294     HRESULT src([in] BSTR v);
14295
14296     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14297     HRESULT src([retval, out] BSTR *p);
14298
14299     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14300     HRESULT units([in] BSTR v);
14301
14302     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14303     HRESULT units([retval, out] BSTR *p);
14304
14305     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14306     HRESULT name([in] BSTR v);
14307
14308     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14309     HRESULT name([retval, out] BSTR *p);
14310
14311     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14312     HRESULT width([in] VARIANT v);
14313
14314     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14315     HRESULT width([retval, out] VARIANT *p);
14316
14317     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14318     HRESULT height([in] VARIANT v);
14319
14320     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14321     HRESULT height([retval, out] VARIANT *p);
14322 }
14323
14324 /*****************************************************************************
14325  *    DispHTMLEmbedElement dispinterface
14326  */
14327 [
14328     hidden,
14329     uuid(3050f52e-98b5-11cf-bb82-00aa00bdce0b)
14330 ]
14331 dispinterface DispHTMLEmbed
14332 {
14333 properties:
14334 methods:
14335     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14336
14337     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14338     void hidden(BSTR v);
14339
14340     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14341     BSTR hidden();
14342
14343     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
14344     BSTR palette();
14345
14346     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
14347     BSTR pluginspage();
14348
14349     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14350     void src(BSTR v);
14351
14352     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14353     BSTR src();
14354
14355     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14356     void units(BSTR v);
14357
14358     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14359     BSTR units();
14360
14361     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14362     void name(BSTR v);
14363
14364     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14365     BSTR name();
14366
14367     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14368     void width(VARIANT v);
14369
14370     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14371     VARIANT width();
14372
14373     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14374     void height(VARIANT v);
14375
14376     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14377     VARIANT height();
14378
14379     [propput, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
14380     void ie8_src(BSTR v);
14381
14382     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
14383     BSTR ie8_src();
14384
14385     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_PLUGINSPAGE)]
14386     BSTR ie8_pluginspage();
14387 }
14388
14389 /*****************************************************************************
14390  *    IHTMLCommentElement interface
14391  */
14392 [
14393     odl,
14394     oleautomation,
14395     dual,
14396     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
14397 ]
14398 interface IHTMLCommentElement : IDispatch
14399 {
14400     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14401     HRESULT text([in] BSTR v);
14402
14403     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14404     HRESULT text([out, retval] BSTR *p);
14405
14406     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14407     HRESULT atomic([in] LONG v);
14408
14409     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14410     HRESULT atomic([out, retval] LONG *p);
14411 }
14412
14413 /*****************************************************************************
14414  *    IHTMLCommentElement2 interface
14415  */
14416 [
14417     odl,
14418     oleautomation,
14419     dual,
14420     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
14421 ]
14422 interface IHTMLCommentElement2 : IDispatch
14423 {
14424     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14425     HRESULT data([in] BSTR v);
14426
14427     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14428     HRESULT data([out, retval] BSTR *p);
14429
14430     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14431     HRESULT length([out, retval] LONG *p);
14432
14433     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14434     HRESULT substringData(
14435             [in] LONG offset,
14436             [in] LONG Count,
14437             [out, retval] BSTR *pbstrsubString);
14438
14439     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14440     HRESULT appendData([in] BSTR bstrstring);
14441
14442     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14443     HRESULT insertData(
14444             [in] LONG offset,
14445             [in] BSTR bstrstring);
14446
14447     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
14448     HRESULT deleteData(
14449             [in] LONG offset,
14450             [in] LONG Count);
14451
14452     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
14453     HRESULT replaceData(
14454             [in] LONG offset,
14455             [in] LONG Count,
14456             [in] BSTR bstrstring);
14457 }
14458
14459 /*****************************************************************************
14460  *    DispHTMLCommentElement dispinterface
14461  */
14462 [
14463     hidden,
14464     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
14465 ]
14466 dispinterface DispHTMLCommentElement
14467 {
14468 properties:
14469 methods:
14470     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14471
14472     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14473     void text(BSTR v);
14474
14475     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14476     BSTR text();
14477
14478     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14479     void atomic(LONG v);
14480
14481     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14482     LONG atomic();
14483
14484     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14485     void data(BSTR v);
14486
14487     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14488     BSTR data();
14489
14490     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14491     LONG length();
14492
14493     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14494     BSTR substringData(
14495             [in] LONG offset,
14496             [in] LONG Count);
14497
14498     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14499     void appendData([in] BSTR bstrstring);
14500
14501     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14502      void insertData(
14503             [in] LONG offset,
14504             [in] BSTR bstrstring);
14505
14506     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
14507     void deleteData(
14508             [in] LONG offset,
14509             [in] LONG Count);
14510
14511     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
14512     void replaceData(
14513             [in] LONG offset,
14514             [in] LONG Count,
14515             [in] BSTR bstrstring);
14516 }
14517
14518 [
14519     hidden,
14520     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
14521 ]
14522 dispinterface HTMLElementEvents2
14523 {
14524 properties:
14525 methods:
14526     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14527     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14528
14529     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14530     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14531
14532     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14533     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14534
14535     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14536     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14537
14538     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14539     void onkeydown([in] IHTMLEventObj* pEvtObj);
14540
14541     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14542     void onkeyup([in] IHTMLEventObj* pEvtObj);
14543
14544     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14545     void onmouseout([in] IHTMLEventObj* pEvtObj);
14546
14547     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14548     void onmouseover([in] IHTMLEventObj* pEvtObj);
14549
14550     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14551     void onmousemove([in] IHTMLEventObj* pEvtObj);
14552
14553     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14554     void onmousedown([in] IHTMLEventObj* pEvtObj);
14555
14556     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14557     void onmouseup([in] IHTMLEventObj* pEvtObj);
14558
14559     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14560     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14561
14562     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14563     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14564
14565     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14566     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14567
14568     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14569     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14570
14571     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14572     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14573
14574     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14575     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14576
14577     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14578     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14579
14580     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14581     void onrowenter([in] IHTMLEventObj* pEvtObj);
14582
14583     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14584     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14585
14586     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14587     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14588
14589     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14590     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14591
14592     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14593     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14594
14595     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14596     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14597
14598     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14599     void onscroll([in] IHTMLEventObj* pEvtObj);
14600
14601     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14602     void onfocus([in] IHTMLEventObj* pEvtObj);
14603
14604     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14605     void onblur([in] IHTMLEventObj* pEvtObj);
14606
14607     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14608     void onresize([in] IHTMLEventObj* pEvtObj);
14609
14610     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14611     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14612
14613     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14614     void ondragend([in] IHTMLEventObj* pEvtObj);
14615
14616     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14617     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14618
14619     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14620     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14621
14622     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14623     void ondragleave([in] IHTMLEventObj* pEvtObj);
14624
14625     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14626     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14627
14628     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14629     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14630
14631     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14632     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14633
14634     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14635     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14636
14637     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14638     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14639
14640     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14641     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14642
14643     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14644     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14645
14646     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14647     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14648
14649     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14650     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14651
14652     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14653     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14654
14655     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14656     void oncellchange([in] IHTMLEventObj* pEvtObj);
14657
14658     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14659     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14660
14661     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14662     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14663
14664     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14665     void onpage([in] IHTMLEventObj* pEvtObj);
14666
14667     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14668     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14669
14670     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14671     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14672
14673     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14674     void onactivate([in] IHTMLEventObj* pEvtObj);
14675
14676     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14677     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14678
14679     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14680     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14681
14682     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14683     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14684
14685     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14686     void onfocusin([in] IHTMLEventObj* pEvtObj);
14687
14688     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14689     void onfocusout([in] IHTMLEventObj* pEvtObj);
14690
14691     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14692     void onmove([in] IHTMLEventObj* pEvtObj);
14693
14694     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14695     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14696
14697     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14698     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14699
14700     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14701     void onmoveend([in] IHTMLEventObj* pEvtObj);
14702
14703     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14704     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14705
14706     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14707     void onresizeend([in] IHTMLEventObj* pEvtObj);
14708
14709     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14710     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14711 }
14712
14713 [
14714     hidden,
14715     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
14716 ]
14717 dispinterface HTMLElementEvents
14718 {
14719 properties:
14720 methods:
14721     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14722     VARIANT_BOOL onhelp();
14723
14724     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14725     VARIANT_BOOL onclick();
14726
14727     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14728     VARIANT_BOOL ondblclick();
14729
14730     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14731     VARIANT_BOOL onkeypress();
14732
14733     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14734     void onkeydown();
14735
14736     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14737     void onkeyup();
14738
14739     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14740     void onmouseout();
14741
14742     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14743     void onmouseover();
14744
14745     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14746     void onmousemove();
14747
14748     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14749     void onmousedown();
14750
14751     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14752     void onmouseup();
14753
14754     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14755     VARIANT_BOOL onselectstart();
14756
14757     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14758     void onfilterchange();
14759
14760     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14761     VARIANT_BOOL ondragstart();
14762
14763     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14764     VARIANT_BOOL onbeforeupdate();
14765
14766     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14767     void onafterupdate();
14768
14769     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14770     VARIANT_BOOL onerrorupdate();
14771
14772     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14773     VARIANT_BOOL onrowexit();
14774
14775     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14776     void onrowenter();
14777
14778     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14779     void ondatasetchanged();
14780
14781     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14782     void ondataavailable();
14783
14784     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14785     void ondatasetcomplete();
14786
14787     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14788     void onlosecapture();
14789
14790     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14791     void onpropertychange();
14792
14793     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14794     void onscroll();
14795
14796     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14797     void onfocus();
14798
14799     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14800     void onblur();
14801
14802     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14803     void onresize();
14804
14805     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14806     VARIANT_BOOL ondrag();
14807
14808     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14809     void ondragend();
14810
14811     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14812     VARIANT_BOOL ondragenter();
14813
14814     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14815     VARIANT_BOOL ondragover();
14816
14817     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14818     void ondragleave();
14819
14820     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14821     VARIANT_BOOL ondrop();
14822
14823     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14824     VARIANT_BOOL onbeforecut();
14825
14826     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14827     VARIANT_BOOL oncut();
14828
14829     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14830     VARIANT_BOOL onbeforecopy();
14831
14832     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14833     VARIANT_BOOL oncopy();
14834
14835     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14836     VARIANT_BOOL onbeforepaste();
14837
14838     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14839     VARIANT_BOOL onpaste();
14840
14841     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14842     VARIANT_BOOL oncontextmenu();
14843
14844     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14845     void onrowsdelete();
14846
14847     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14848     void onrowsinserted();
14849
14850     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14851     void oncellchange();
14852
14853     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14854     void onreadystatechange();
14855
14856     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14857     void onbeforeeditfocus();
14858
14859     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14860     void onlayoutcomplete();
14861
14862     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14863     void onpage();
14864
14865     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14866     VARIANT_BOOL onbeforedeactivate();
14867
14868     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14869     VARIANT_BOOL onbeforeactivate();
14870
14871     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14872     void onmove();
14873
14874     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14875     VARIANT_BOOL oncontrolselect();
14876
14877     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14878     VARIANT_BOOL onmovestart();
14879
14880     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14881     void onmoveend();
14882
14883     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14884     VARIANT_BOOL onresizestart();
14885
14886     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14887     void onresizeend();
14888
14889     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14890     void onmouseenter();
14891
14892     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14893     void onmouseleave();
14894
14895     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14896     VARIANT_BOOL onmousewheel();
14897
14898     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14899     void onactivate();
14900
14901     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14902     void ondeactivate();
14903
14904     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14905     void onfocusin();
14906
14907     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14908     void onfocusout();
14909 }
14910
14911 [
14912     noncreatable,
14913     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
14914 ]
14915 coclass HTMLCommentElement
14916 {
14917     [default]           dispinterface DispHTMLCommentElement;
14918     [source, default]   dispinterface HTMLElementEvents;
14919     [source]            dispinterface HTMLElementEvents2;
14920                         interface IHTMLElement;
14921                         interface IHTMLElement2;
14922                         interface IHTMLElement3;
14923                         interface IHTMLElement4;
14924                         interface IHTMLUniqueName;
14925                         interface IHTMLDOMNode;
14926                         interface IHTMLDOMNode2;
14927                         interface IHTMLCommentElement;
14928                         interface IHTMLCommentElement2;
14929 }
14930
14931 /*****************************************************************************
14932  *    HTMLTableEvents dispinterface
14933  */
14934 [
14935     hidden,
14936     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
14937 ]
14938 dispinterface HTMLTableEvents
14939 {
14940 properties:
14941 methods:
14942     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14943     VARIANT_BOOL onhelp();
14944
14945     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14946     VARIANT_BOOL onclick();
14947
14948     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14949     VARIANT_BOOL ondblclick();
14950
14951     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14952     VARIANT_BOOL onkeypress();
14953
14954     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14955     void onkeydown();
14956
14957     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14958     void onkeyup();
14959
14960     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14961     void onmouseout();
14962
14963     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14964     void onmouseover();
14965
14966     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14967     void onmousemove();
14968
14969     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14970     void onmousedown();
14971
14972     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14973     void onmouseup();
14974
14975     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14976     VARIANT_BOOL onselectstart();
14977
14978     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14979     void onfilterchange();
14980
14981     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14982     VARIANT_BOOL ondragstart();
14983
14984     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14985     VARIANT_BOOL onbeforeupdate();
14986
14987     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14988     void onafterupdate();
14989
14990     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14991     VARIANT_BOOL onerrorupdate();
14992
14993     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14994     VARIANT_BOOL onrowexit();
14995
14996     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14997     void onrowenter();
14998
14999     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
15000     void ondatasetchanged();
15001
15002     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
15003     void ondataavailable();
15004
15005     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
15006     void ondatasetcomplete();
15007
15008     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
15009     void onlosecapture();
15010
15011     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
15012     void onpropertychange();
15013
15014     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
15015     void onscroll();
15016
15017     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
15018     void onfocus();
15019
15020     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
15021     void onblur();
15022
15023     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
15024     void onresize();
15025
15026     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
15027     VARIANT_BOOL ondrag();
15028
15029     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
15030     void ondragend();
15031
15032     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
15033     VARIANT_BOOL ondragenter();
15034
15035     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
15036     VARIANT_BOOL ondragover();
15037
15038     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
15039     void ondragleave();
15040
15041     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
15042     VARIANT_BOOL ondrop();
15043
15044     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
15045     VARIANT_BOOL onbeforecut();
15046
15047     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
15048     VARIANT_BOOL oncut();
15049
15050     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
15051     VARIANT_BOOL onbeforecopy();
15052
15053     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
15054     VARIANT_BOOL oncopy();
15055
15056     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
15057     VARIANT_BOOL onbeforepaste();
15058
15059     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
15060     VARIANT_BOOL onpaste();
15061
15062     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
15063     VARIANT_BOOL oncontextmenu();
15064
15065     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
15066     void onrowsdelete();
15067
15068     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
15069     void onrowsinserted();
15070
15071     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
15072     void oncellchange();
15073
15074     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
15075     void onreadystatechange();
15076
15077     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
15078     void onbeforeeditfocus();
15079
15080     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
15081     void onlayoutcomplete();
15082
15083     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
15084     void onpage();
15085
15086     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
15087     VARIANT_BOOL onbeforedeactivate();
15088
15089     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
15090     VARIANT_BOOL onbeforeactivate();
15091
15092     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
15093     void onmove();
15094
15095     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
15096     VARIANT_BOOL oncontrolselect();
15097
15098     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
15099     VARIANT_BOOL onmovestart();
15100
15101     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
15102     void onmoveend();
15103
15104     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
15105     VARIANT_BOOL onresizestart();
15106
15107     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
15108     void onresizeend();
15109
15110     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
15111     void onmouseenter();
15112
15113     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
15114     void onmouseleave();
15115
15116     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
15117     VARIANT_BOOL onmousewheel();
15118
15119     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
15120     void onactivate();
15121
15122     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
15123     void ondeactivate();
15124
15125     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
15126     void onfocusin();
15127
15128     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
15129     void onfocusout();
15130 }
15131
15132 [
15133     hidden,
15134     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
15135 ]
15136 dispinterface HTMLTableEvents2
15137 {
15138 properties:
15139 methods:
15140     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
15141     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
15142
15143     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
15144     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
15145
15146     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
15147     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
15148
15149     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
15150     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
15151
15152     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
15153     void onkeydown([in] IHTMLEventObj* pEvtObj);
15154
15155     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
15156     void onkeyup([in] IHTMLEventObj* pEvtObj);
15157
15158     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
15159     void onmouseout([in] IHTMLEventObj* pEvtObj);
15160
15161     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
15162     void onmouseover([in] IHTMLEventObj* pEvtObj);
15163
15164     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
15165     void onmousemove([in] IHTMLEventObj* pEvtObj);
15166
15167     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
15168     void onmousedown([in] IHTMLEventObj* pEvtObj);
15169
15170     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
15171     void onmouseup([in] IHTMLEventObj* pEvtObj);
15172
15173     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
15174     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
15175
15176     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
15177     void onfilterchange([in] IHTMLEventObj* pEvtObj);
15178
15179     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
15180     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
15181
15182     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
15183     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
15184
15185     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
15186     void onafterupdate([in] IHTMLEventObj* pEvtObj);
15187
15188     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
15189     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
15190
15191     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
15192     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
15193
15194     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
15195     void onrowenter([in] IHTMLEventObj* pEvtObj);
15196
15197     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
15198     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
15199
15200     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
15201     void ondataavailable([in] IHTMLEventObj* pEvtObj);
15202
15203     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
15204     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
15205
15206     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
15207     void onlosecapture([in] IHTMLEventObj* pEvtObj);
15208
15209     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
15210     void onpropertychange([in] IHTMLEventObj* pEvtObj);
15211
15212     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
15213     void onscroll([in] IHTMLEventObj* pEvtObj);
15214
15215     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
15216     void onfocus([in] IHTMLEventObj* pEvtObj);
15217
15218     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
15219     void onblur([in] IHTMLEventObj* pEvtObj);
15220
15221     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
15222     void onresize([in] IHTMLEventObj* pEvtObj);
15223
15224     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
15225     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
15226
15227     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
15228     void ondragend([in] IHTMLEventObj* pEvtObj);
15229
15230     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
15231     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
15232
15233     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
15234     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
15235
15236     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
15237     void ondragleave([in] IHTMLEventObj* pEvtObj);
15238
15239     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
15240     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
15241
15242     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
15243     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
15244
15245     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
15246     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
15247
15248     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
15249     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
15250
15251     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
15252     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
15253
15254     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
15255     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
15256
15257     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
15258     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
15259
15260     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
15261     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
15262
15263     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
15264     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
15265
15266     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
15267     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
15268
15269     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
15270     void oncellchange([in] IHTMLEventObj* pEvtObj);
15271
15272     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
15273     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
15274
15275     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
15276     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
15277
15278     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
15279     void onpage([in] IHTMLEventObj* pEvtObj);
15280
15281     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
15282     void onmouseenter([in] IHTMLEventObj* pEvtObj);
15283
15284     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
15285     void onmouseleave([in] IHTMLEventObj* pEvtObj);
15286
15287     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
15288     void onactivate([in] IHTMLEventObj* pEvtObj);
15289
15290     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
15291     void ondeactivate([in] IHTMLEventObj* pEvtObj);
15292
15293     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
15294     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
15295
15296     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
15297     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
15298
15299     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
15300     void onfocusin([in] IHTMLEventObj* pEvtObj);
15301
15302     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
15303     void onfocusout([in] IHTMLEventObj* pEvtObj);
15304
15305     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
15306     void onmove([in] IHTMLEventObj* pEvtObj);
15307
15308     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
15309     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
15310
15311     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
15312     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
15313
15314     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
15315     void onmoveend([in] IHTMLEventObj* pEvtObj);
15316
15317     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
15318     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
15319
15320     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
15321     void onresizeend([in] IHTMLEventObj* pEvtObj);
15322
15323     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
15324     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
15325 }
15326
15327 /*****************************************************************************
15328  *    IHTMLTableCaption interface
15329  */
15330 [
15331     odl,
15332     oleautomation,
15333     dual,
15334     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
15335 ]
15336 interface IHTMLTableCaption : IDispatch
15337 {
15338     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
15339     HRESULT align([in] BSTR v);
15340
15341     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
15342     HRESULT align([retval, out] BSTR *p);
15343
15344     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
15345     HRESULT vAlign([in] BSTR v);
15346
15347     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
15348     HRESULT vAlign([retval, out] BSTR *p);
15349 }
15350
15351 interface IHTMLTableSection;
15352
15353 /*****************************************************************************
15354  *    IHTMLTable interface
15355  */
15356 [
15357     odl,
15358     oleautomation,
15359     dual,
15360     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
15361 ]
15362 interface IHTMLTable : IDispatch
15363 {
15364     [propput, id(DISPID_IHTMLTABLE_COLS)]
15365     HRESULT cols([in] LONG v);
15366
15367     [propget, id(DISPID_IHTMLTABLE_COLS)]
15368     HRESULT cols([retval, out] LONG *p);
15369
15370     [propput, id(DISPID_IHTMLTABLE_BORDER)]
15371     HRESULT border([in] VARIANT v);
15372
15373     [propget, id(DISPID_IHTMLTABLE_BORDER)]
15374     HRESULT border([retval, out] VARIANT *p);
15375
15376     [propput, id(DISPID_IHTMLTABLE_FRAME)]
15377     HRESULT frame([in] BSTR v);
15378
15379     [propget, id(DISPID_IHTMLTABLE_FRAME)]
15380     HRESULT frame([retval, out] BSTR *p);
15381
15382     [propput, id(DISPID_IHTMLTABLE_RULES)]
15383     HRESULT rules([in] BSTR v);
15384
15385     [propget, id(DISPID_IHTMLTABLE_RULES)]
15386     HRESULT rules([retval, out] BSTR *p);
15387
15388     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
15389     HRESULT cellSpacing([in] VARIANT v);
15390
15391     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
15392     HRESULT cellSpacing([retval, out] VARIANT *p);
15393
15394     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
15395     HRESULT cellPadding([in] VARIANT v);
15396
15397     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
15398     HRESULT cellPadding([retval, out] VARIANT *p);
15399
15400     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
15401     HRESULT background([in] BSTR v);
15402
15403     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
15404     HRESULT background([retval, out] BSTR *p);
15405
15406     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
15407     HRESULT bgColor([in] VARIANT v);
15408
15409     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
15410     HRESULT bgColor([retval, out] VARIANT *p);
15411
15412     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15413     HRESULT borderColor([in] VARIANT v);
15414
15415     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15416     HRESULT borderColor([retval, out] VARIANT *p);
15417
15418     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15419     HRESULT borderColorLight([in] VARIANT v);
15420
15421     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15422     HRESULT borderColorLight([retval, out] VARIANT *p);
15423
15424     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15425     HRESULT borderColorDark([in] VARIANT v);
15426
15427     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15428     HRESULT borderColorDark([retval, out] VARIANT *p);
15429
15430     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
15431     HRESULT align([in] BSTR v);
15432
15433     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
15434     HRESULT align([retval, out] BSTR * p);
15435
15436     [id(DISPID_IHTMLTABLE_REFRESH)]
15437     HRESULT refresh();
15438
15439     [propget, id(DISPID_IHTMLTABLE_ROWS)]
15440     HRESULT rows([retval, out] IHTMLElementCollection **p);
15441
15442     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
15443     HRESULT width([in] VARIANT v);
15444
15445     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
15446     HRESULT width([retval, out] VARIANT *p);
15447
15448     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
15449     HRESULT height([in] VARIANT v);
15450
15451     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
15452     HRESULT height([retval, out] VARIANT *p);
15453
15454     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15455     HRESULT dataPageSize([in] LONG v);
15456
15457     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15458     HRESULT dataPageSize([retval, out] LONG *p);
15459
15460     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
15461     HRESULT nextPage();
15462
15463     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
15464     HRESULT previousPage();
15465
15466     [propget, id(DISPID_IHTMLTABLE_THEAD)]
15467     HRESULT tHead([retval, out] IHTMLTableSection **p);
15468
15469     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
15470     HRESULT tFoot([retval, out] IHTMLTableSection **p);
15471
15472     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
15473     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
15474
15475     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
15476     HRESULT caption([retval, out] IHTMLTableCaption **p);
15477
15478     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
15479     HRESULT createTHead([retval, out] IDispatch **head);
15480
15481     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
15482     HRESULT deleteTHead();
15483
15484     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
15485     HRESULT createTFoot([retval, out] IDispatch **foot);
15486
15487     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
15488     HRESULT deleteTFoot();
15489
15490     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
15491     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
15492
15493     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
15494     HRESULT deleteCaption();
15495
15496     [id(DISPID_IHTMLTABLE_INSERTROW)]
15497     HRESULT insertRow(
15498             [defaultvalue(-1), in] LONG index,
15499             [retval, out] IDispatch **row);
15500
15501     [id(DISPID_IHTMLTABLE_DELETEROW)]
15502     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
15503
15504     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
15505     HRESULT readyState([retval, out] BSTR *p);
15506
15507     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
15508     HRESULT onreadystatechange([in] VARIANT v);
15509
15510     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
15511     HRESULT onreadystatechange([retval, out] VARIANT *p);
15512 }
15513
15514 [
15515     odl,
15516     oleautomation,
15517     dual,
15518     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
15519 ]
15520 interface IHTMLTable2 : IDispatch
15521 {
15522     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
15523     HRESULT firstPage();
15524
15525     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
15526     HRESULT lastPage();
15527
15528     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
15529     HRESULT cells([retval, out] IHTMLElementCollection* * p);
15530
15531     [id(DISPID_IHTMLTABLE2_MOVEROW)]
15532     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
15533         [defaultvalue(-1), in] LONG indexTo,
15534         [retval, out] IDispatch** row);
15535 }
15536
15537 [
15538     odl,
15539     oleautomation,
15540     dual,
15541     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
15542 ]
15543 interface IHTMLTable3 : IDispatch
15544 {
15545     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15546     HRESULT summary([in] BSTR v);
15547
15548     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15549     HRESULT summary([retval, out] BSTR * p);
15550 }
15551
15552 [
15553     noncreatable,
15554     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
15555 ]
15556 coclass HTMLTable
15557 {
15558     [default]           dispinterface DispHTMLTable;
15559     [source, default]   dispinterface HTMLTableEvents;
15560     [source]            dispinterface HTMLTableEvents2;
15561                         interface IHTMLElement;
15562                         interface IHTMLElement2;
15563                         interface IHTMLElement3;
15564                         interface IHTMLElement4;
15565                         interface IHTMLUniqueName;
15566                         interface IHTMLDOMNode;
15567                         interface IHTMLDOMNode2;
15568                         interface IHTMLDatabinding;
15569                         interface IHTMLControlElement;
15570                         interface IHTMLTable;
15571                         interface IHTMLTable2;
15572                         interface IHTMLTable3;
15573 }
15574
15575 [
15576     odl,
15577     oleautomation,
15578     dual,
15579     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
15580 ]
15581 interface IHTMLTableSection : IDispatch
15582 {
15583     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
15584     HRESULT align([in] BSTR v);
15585
15586     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
15587     HRESULT align([retval, out] BSTR *p);
15588
15589     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
15590     HRESULT vAlign([in] BSTR v);
15591
15592     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
15593     HRESULT vAlign([retval, out] BSTR *p);
15594
15595     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
15596     HRESULT bgColor([in] VARIANT v);
15597
15598     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
15599     HRESULT bgColor([retval, out] VARIANT *p);
15600
15601     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
15602     HRESULT rows([retval, out] IHTMLElementCollection **p);
15603
15604     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
15605     HRESULT insertRow(
15606             [defaultvalue(-1), in] LONG index,
15607             [retval, out] IDispatch **row);
15608
15609     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
15610     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
15611 }
15612
15613 /*****************************************************************************
15614  *    IHTMLTableRow interface
15615  */
15616 [
15617     odl,
15618     oleautomation,
15619     dual,
15620     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
15621 ]
15622 interface IHTMLTableRow : IDispatch
15623 {
15624     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
15625     HRESULT align([in] BSTR v);
15626
15627     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
15628     HRESULT align([out, retval] BSTR *p);
15629
15630     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
15631     HRESULT vAlign([in] BSTR v);
15632
15633     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
15634     HRESULT vAlign([out, retval] BSTR *p);
15635
15636     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15637     HRESULT bgColor([in] VARIANT v);
15638
15639     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15640     HRESULT bgColor([out, retval] VARIANT *p);
15641
15642     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15643     HRESULT borderColor([in] VARIANT v);
15644
15645     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15646     HRESULT borderColor([out, retval] VARIANT *p);
15647
15648     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15649     HRESULT borderColorLight([in] VARIANT v);
15650
15651     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15652     HRESULT borderColorLight([out, retval] VARIANT *p);
15653
15654     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15655     HRESULT borderColorDark([in] VARIANT v);
15656
15657     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15658     HRESULT borderColorDark([out, retval] VARIANT *p);
15659
15660     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
15661     HRESULT rowIndex([out, retval] LONG *p);
15662
15663     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
15664     HRESULT sectionRowIndex([out, retval] LONG *p);
15665
15666     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
15667     HRESULT cells([out, retval] IHTMLElementCollection **p);
15668
15669     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
15670     HRESULT insertCell(
15671             [in, defaultvalue(-1)] LONG index,
15672             [out, retval] IDispatch **row);
15673
15674     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
15675     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
15676 }
15677
15678 /*****************************************************************************
15679  *    IHTMLTableCell interface
15680  */
15681 [
15682     odl,
15683     oleautomation,
15684     dual,
15685     uuid(3050f23d-98b5-11cf-bb82-00aa00bdce0b)
15686 ]
15687 interface IHTMLTableCell : IDispatch
15688 {
15689     [propput, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
15690     HRESULT rowSpan([in] long v);
15691
15692     [propget, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
15693     HRESULT rowSpan([retval, out] long *p);
15694
15695     [propput, id(DISPID_IHTMLTABLECELL_COLSPAN)]
15696     HRESULT colSpan([in] long v);
15697
15698     [propget, id(DISPID_IHTMLTABLECELL_COLSPAN)]
15699     HRESULT colSpan([retval, out] long *p);
15700
15701     [propput, id(DISPID_IHTMLTABLECELL_ALIGN)]
15702     HRESULT align([in] BSTR v);
15703
15704     [propget, id(DISPID_IHTMLTABLECELL_ALIGN)]
15705     HRESULT align([retval, out] BSTR *p);
15706
15707     [propput, id(DISPID_IHTMLTABLECELL_VALIGN)]
15708     HRESULT vAlign([in] BSTR v);
15709
15710     [propget, id(DISPID_IHTMLTABLECELL_VALIGN)]
15711     HRESULT vAlign([retval, out] BSTR *p);
15712
15713     [propput, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
15714     HRESULT bgColor([in] VARIANT v);
15715
15716     [propget, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
15717     HRESULT bgColor([retval, out] VARIANT *p);
15718
15719     [propput, id(DISPID_IHTMLTABLECELL_NOWRAP)]
15720     HRESULT noWrap([in] VARIANT_BOOL v);
15721
15722     [propget, id(DISPID_IHTMLTABLECELL_NOWRAP)]
15723     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
15724
15725     [propput, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
15726     HRESULT background([in] BSTR v);
15727
15728     [propget, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
15729     HRESULT background([retval, out] BSTR *p);
15730
15731     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
15732     HRESULT borderColor([in] VARIANT v);
15733
15734     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
15735     HRESULT borderColor([retval, out] VARIANT *p);
15736
15737     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
15738     HRESULT borderColorLight([in] VARIANT v);
15739
15740     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
15741     HRESULT borderColorLight([retval, out] VARIANT *p);
15742
15743     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
15744     HRESULT borderColorDark([in] VARIANT v);
15745
15746     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
15747     HRESULT borderColorDark([retval, out] VARIANT *p);
15748
15749     [propput, id(DISPID_IHTMLTABLECELL_WIDTH)]
15750     HRESULT width([in] VARIANT v);
15751
15752     [propget, id(DISPID_IHTMLTABLECELL_WIDTH)]
15753     HRESULT width([retval, out] VARIANT *p);
15754
15755     [propput, id(DISPID_IHTMLTABLECELL_HEIGHT)]
15756     HRESULT height([in] VARIANT v);
15757
15758     [propget, id(DISPID_IHTMLTABLECELL_HEIGHT)]
15759     HRESULT height([retval, out] VARIANT *p);
15760
15761     [propget, id(DISPID_IHTMLTABLECELL_CELLINDEX)]
15762     HRESULT cellIndex([retval, out] long *p);
15763 }
15764
15765 /*****************************************************************************
15766  *    DispHTMLTable dispinterface
15767  */
15768 [
15769     hidden,
15770     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
15771 ]
15772 dispinterface DispHTMLTable
15773 {
15774 properties:
15775 methods:
15776     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
15777
15778     [propput, id(DISPID_IHTMLTABLE_COLS)]
15779     void cols(LONG v);
15780
15781     [propget, id(DISPID_IHTMLTABLE_COLS)]
15782     LONG cols();
15783
15784     [propput, id(DISPID_IHTMLTABLE_BORDER)]
15785     void border(VARIANT v);
15786
15787     [propget, id(DISPID_IHTMLTABLE_BORDER)]
15788     VARIANT border();
15789
15790     [propput, id(DISPID_IHTMLTABLE_FRAME)]
15791     void frame(BSTR v);
15792
15793     [propget, id(DISPID_IHTMLTABLE_FRAME)]
15794     BSTR frame();
15795
15796     [propput, id(DISPID_IHTMLTABLE_RULES)]
15797     void rules(BSTR v);
15798
15799     [propget, id(DISPID_IHTMLTABLE_RULES)]
15800     BSTR rules();
15801
15802     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
15803     void cellSpacing(VARIANT v);
15804
15805     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
15806     VARIANT cellSpacing();
15807
15808     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
15809     void cellPadding(VARIANT v);
15810
15811     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
15812     VARIANT cellPadding();
15813
15814     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
15815     void background(BSTR v);
15816
15817     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
15818     BSTR background();
15819
15820     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
15821     void bgColor(VARIANT v);
15822
15823     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
15824     VARIANT bgColor();
15825
15826     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15827     void borderColor(VARIANT v);
15828
15829     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15830     VARIANT borderColor();
15831
15832     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15833     void borderColorLight(VARIANT v);
15834
15835     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15836     VARIANT borderColorLight();
15837
15838     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15839     void borderColorDark(VARIANT v);
15840
15841     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15842     VARIANT borderColorDark();
15843
15844     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
15845     void align(BSTR v);
15846
15847     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
15848     BSTR align();
15849
15850     [id(DISPID_IHTMLTABLE_REFRESH)]
15851     void refresh();
15852
15853     [propget, id(DISPID_IHTMLTABLE_ROWS)]
15854     IHTMLElementCollection *rows();
15855
15856     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
15857     void width(VARIANT v);
15858
15859     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
15860     VARIANT width();
15861
15862     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
15863     void height(VARIANT v);
15864
15865     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
15866     VARIANT height();
15867
15868     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15869     void dataPageSize(LONG v);
15870
15871     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15872     LONG dataPageSize();
15873
15874     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
15875     void nextPage();
15876
15877     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
15878     void previousPage();
15879
15880     [propget, id(DISPID_IHTMLTABLE_THEAD)]
15881     IHTMLTableSection *tHead();
15882
15883     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
15884     IHTMLTableSection *tFoot();
15885
15886     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
15887     IHTMLElementCollection *tBodies();
15888
15889     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
15890     IHTMLTableCaption *caption();
15891
15892     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
15893     IDispatch *createTHead();
15894
15895     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
15896     void deleteTHead();
15897
15898     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
15899     IDispatch *createTFoot();
15900
15901     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
15902     void deleteTFoot();
15903
15904     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
15905     IHTMLTableCaption *createCaption();
15906
15907     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
15908     void deleteCaption();
15909
15910     [id(DISPID_IHTMLTABLE_INSERTROW)]
15911     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
15912
15913     [id(DISPID_IHTMLTABLE_DELETEROW)]
15914     void deleteRow([in, defaultvalue(-1)] LONG index);
15915
15916     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
15917     void firstPage();
15918
15919     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
15920     void lastPage();
15921
15922     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
15923     IHTMLElementCollection *cells();
15924
15925     [id(DISPID_IHTMLTABLE2_MOVEROW)]
15926     IDispatch *moveRow(
15927             [in, defaultvalue(-1)] LONG indexFrom,
15928             [in, defaultvalue(-1)] LONG indexTo);
15929
15930     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15931     void summary(BSTR v);
15932
15933     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15934     BSTR summary();
15935 }
15936
15937 /*****************************************************************************
15938  *    DispHTMLTableRow dispinterface
15939  */
15940 [
15941     hidden,
15942     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
15943 ]
15944 dispinterface DispHTMLTableRow
15945 {
15946 properties:
15947 methods:
15948     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15949
15950     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
15951     void align(BSTR v);
15952
15953     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
15954     BSTR align();
15955
15956     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
15957     void vAlign(BSTR v);
15958
15959     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
15960     BSTR vAlign();
15961
15962     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15963     void bgColor(VARIANT v);
15964
15965     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15966     VARIANT bgColor();
15967
15968     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15969     void borderColor(VARIANT v);
15970
15971     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15972     VARIANT borderColor();
15973
15974     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15975     void borderColorLight(VARIANT v);
15976
15977     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15978     VARIANT borderColorLight();
15979
15980     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15981     void borderColorDark(VARIANT v);
15982
15983     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15984     VARIANT borderColorDark();
15985
15986     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
15987     LONG rowIndex();
15988
15989     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
15990     LONG sectionRowIndex();
15991
15992     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
15993     IHTMLElementCollection *cells();
15994
15995     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
15996     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
15997
15998     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
15999     void deleteCell([in, defaultvalue(-1)] LONG index);
16000
16001     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
16002     void height(VARIANT v);
16003
16004     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
16005     VARIANT height();
16006
16007     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
16008     void ch(BSTR v);
16009
16010     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
16011     BSTR ch();
16012
16013     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
16014     void chOff(BSTR v);
16015
16016     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
16017     BSTR chOff();
16018 }
16019
16020 /*****************************************************************************
16021  *    DispHTMLTableCell dispinterface
16022  */
16023 [
16024     hidden,
16025     uuid(3050f536-98b5-11cf-bb82-00aa00bdce0b)
16026 ]
16027 dispinterface DispHTMLTableCell
16028 {
16029 properties:
16030 methods:
16031     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16032
16033     [propput, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
16034     void rowSpan(long v);
16035
16036     [propget, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
16037     long rowSpan();
16038
16039     [propput, id(DISPID_IHTMLTABLECELL_COLSPAN)]
16040     void colSpan(long v);
16041
16042     [propget, id(DISPID_IHTMLTABLECELL_COLSPAN)]
16043     long colSpan();
16044
16045     [propput, id(DISPID_IHTMLTABLECELL_ALIGN)]
16046     void align(BSTR v);
16047
16048     [propget, id(DISPID_IHTMLTABLECELL_ALIGN)]
16049     BSTR align();
16050
16051     [propput, id(DISPID_IHTMLTABLECELL_VALIGN)]
16052     void vAlign(BSTR v);
16053
16054     [propget, id(DISPID_IHTMLTABLECELL_VALIGN)]
16055     BSTR vAlign();
16056
16057     [propput, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
16058     void bgColor(VARIANT v);
16059
16060     [propget, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
16061     VARIANT bgColor();
16062
16063     [propput, id(DISPID_IHTMLTABLECELL_NOWRAP)]
16064     void noWrap(VARIANT_BOOL v);
16065
16066     [propget, id(DISPID_IHTMLTABLECELL_NOWRAP)]
16067     VARIANT_BOOL noWrap();
16068
16069     [propput, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
16070     void background(BSTR v);
16071
16072     [propget, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
16073     BSTR background();
16074
16075     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
16076     void borderColor(VARIANT v);
16077
16078     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
16079     VARIANT borderColor();
16080
16081     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
16082     void borderColorLight(VARIANT v);
16083
16084     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
16085     VARIANT borderColorLight();
16086
16087     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
16088     void borderColorDark(VARIANT v);
16089
16090     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
16091     VARIANT borderColorDark();
16092
16093     [propput, id(DISPID_IHTMLTABLECELL_WIDTH)]
16094     void width(VARIANT v);
16095
16096     [propget, id(DISPID_IHTMLTABLECELL_WIDTH)]
16097     VARIANT width();
16098
16099     [propput, id(DISPID_IHTMLTABLECELL_HEIGHT)]
16100     void height(VARIANT v);
16101
16102     [propget, id(DISPID_IHTMLTABLECELL_HEIGHT)]
16103     VARIANT height();
16104
16105     [propget, id(DISPID_IHTMLTABLECELL_CELLINDEX)]
16106     long cellIndex();
16107
16108     [propput, id(DISPID_IHTMLTABLECELL2_ABBR), displaybind, bindable]
16109     void abbr(BSTR v);
16110
16111     [propget, id(DISPID_IHTMLTABLECELL2_ABBR), displaybind, bindable]
16112     BSTR abbr();
16113
16114     [propput, id(DISPID_IHTMLTABLECELL2_AXIS), displaybind, bindable]
16115     void axis(BSTR v);
16116
16117     [propget, id(DISPID_IHTMLTABLECELL2_AXIS), displaybind, bindable]
16118     BSTR axis();
16119
16120     [propput, id(DISPID_IHTMLTABLECELL2_CH), displaybind, bindable]
16121     void ch(BSTR v);
16122
16123     [propget, id(DISPID_IHTMLTABLECELL2_CH), displaybind, bindable]
16124     BSTR ch();
16125
16126     [propput, id(DISPID_IHTMLTABLECELL2_CHOFF), displaybind, bindable]
16127     void chOff(BSTR v);
16128
16129     [propget, id(DISPID_IHTMLTABLECELL2_CHOFF), displaybind, bindable]
16130     BSTR chOff();
16131
16132     [propput, id(DISPID_IHTMLTABLECELL2_HEADERS), displaybind, bindable]
16133     void headers(BSTR v);
16134
16135     [propget, id(DISPID_IHTMLTABLECELL2_HEADERS), displaybind, bindable]
16136     BSTR headers();
16137
16138     [propput, id(DISPID_IHTMLTABLECELL2_SCOPE), displaybind, bindable]
16139     void scope(BSTR v);
16140
16141     [propget, id(DISPID_IHTMLTABLECELL2_SCOPE), displaybind, bindable]
16142     BSTR scope();
16143
16144     [propput, id(DISPID_IHTMLTABLECELL3_IE9_CH), displaybind, bindable]
16145     void ie9_ch(BSTR v);
16146
16147     [propget, id(DISPID_IHTMLTABLECELL3_IE9_CH), displaybind, bindable]
16148     BSTR ie9_ch();
16149
16150     [propput, id(DISPID_IHTMLTABLECELL3_IE9_CHOFF), displaybind, bindable]
16151     void ie9_chOff(BSTR v);
16152
16153     [propget, id(DISPID_IHTMLTABLECELL3_IE9_CHOFF), displaybind, bindable]
16154     BSTR ie9_chOff();
16155 }
16156
16157 /*****************************************************************************
16158  *    IHTMLScriptElement interface
16159  */
16160 [
16161     odl,
16162     oleautomation,
16163     dual,
16164     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
16165 ]
16166 interface IHTMLScriptElement : IDispatch
16167 {
16168     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16169     HRESULT src([in] BSTR v);
16170
16171     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16172     HRESULT src([retval, out] BSTR *p);
16173
16174     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16175     HRESULT htmlFor([in] BSTR v);
16176
16177     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16178     HRESULT htmlFor([retval, out] BSTR *p);
16179
16180     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16181     HRESULT event([in] BSTR v);
16182
16183     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16184     HRESULT event([retval, out] BSTR *p);
16185
16186     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16187     HRESULT text([in] BSTR v);
16188
16189     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16190     HRESULT text([retval, out] BSTR *p);
16191
16192     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16193     HRESULT defer([in] VARIANT_BOOL v);
16194
16195     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16196     HRESULT defer([retval, out] VARIANT_BOOL *p);
16197
16198     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
16199     HRESULT readyState([retval, out] BSTR *p);
16200
16201     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16202     HRESULT onerror([in] VARIANT v);
16203
16204     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16205     HRESULT onerror([retval, out] VARIANT *p);
16206
16207     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16208     HRESULT type([in] BSTR v);
16209
16210     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16211     HRESULT type([retval, out] BSTR *p);
16212 }
16213
16214 /*****************************************************************************
16215  *    IHTMLScriptElement2 interface
16216  */
16217 [
16218     odl,
16219     oleautomation,
16220     dual,
16221     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
16222 ]
16223 interface IHTMLScriptElement2 : IDispatch
16224 {
16225     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16226     HRESULT charset([in] BSTR v);
16227
16228     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16229     HRESULT charset([retval, out] BSTR *p);
16230 }
16231
16232 /*****************************************************************************
16233  *    DispHTMLScriptElement dispinterface
16234  */
16235 [
16236     hidden,
16237     uuid(3050f530-98b5-11cf-bb82-00aa00bdce0b)
16238 ]
16239 dispinterface DispHTMLScriptElement
16240 {
16241 properties:
16242 methods:
16243     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16244
16245     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16246     void src(BSTR v);
16247
16248     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16249     BSTR src();
16250
16251     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16252     void htmlFor(BSTR v);
16253
16254     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16255     BSTR htmlFor();
16256
16257     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16258     void event(BSTR v);
16259
16260     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16261     BSTR event();
16262
16263     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16264     void text(BSTR v);
16265
16266     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16267     BSTR text();
16268
16269     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16270     void defer(VARIANT_BOOL v);
16271
16272     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16273     VARIANT_BOOL defer();
16274
16275     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16276     void onerror(VARIANT v);
16277
16278     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16279     VARIANT onerror();
16280
16281     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16282     void type(BSTR v);
16283
16284     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16285     BSTR type();
16286
16287     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16288     void charset(BSTR v);
16289
16290     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16291     BSTR charset();
16292
16293     [propput, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
16294     void ie8_src(BSTR v);
16295
16296     [propget, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
16297     BSTR ie8_src();
16298 }
16299
16300 /*****************************************************************************
16301  *    IHTMLObjectElement interface
16302  */
16303 [
16304     odl,
16305     oleautomation,
16306     dual,
16307     uuid(3050f24f-98b5-11cf-bb82-00aa00bdce0b)
16308 ]
16309 interface IHTMLObjectElement : IDispatch
16310 {
16311     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
16312     HRESULT object([retval, out] IDispatch **p);
16313
16314     [propget, id(DISPID_IHTMLOBJECTELEMENT_CLASSID), hidden]
16315     HRESULT classid([retval, out] BSTR *p);
16316
16317     [propget, id(DISPID_IHTMLOBJECTELEMENT_DATA), hidden]
16318     HRESULT data([retval, out] BSTR *p);
16319
16320     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16321     HRESULT recordset([in] IDispatch *v);
16322
16323     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16324     HRESULT recordset([retval, out] IDispatch **p);
16325
16326     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16327     HRESULT align([in] BSTR v);
16328
16329     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16330     HRESULT align([retval, out] BSTR *p);
16331
16332     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16333     HRESULT name([in] BSTR v);
16334
16335     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16336     HRESULT name([retval, out] BSTR *p);
16337
16338     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16339     HRESULT codeBase([in] BSTR v);
16340
16341     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16342     HRESULT codeBase([retval, out] BSTR *p);
16343
16344     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16345     HRESULT codeType([in] BSTR v);
16346
16347     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16348     HRESULT codeType([retval, out] BSTR *p);
16349
16350     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16351     HRESULT code([in] BSTR v);
16352
16353     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16354     HRESULT code([retval, out] BSTR *p);
16355
16356     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
16357     HRESULT BaseHref([retval, out] BSTR *p);
16358
16359     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16360     HRESULT type([in] BSTR v);
16361
16362     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16363     HRESULT type([retval, out] BSTR *p);
16364
16365     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
16366     HRESULT form([retval, out] IHTMLFormElement **p);
16367
16368     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16369     HRESULT width([in] VARIANT v);
16370
16371     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16372     HRESULT width([retval, out] VARIANT *p);
16373
16374     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16375     HRESULT height([in] VARIANT v);
16376
16377     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16378     HRESULT height([retval, out] VARIANT *p);
16379
16380     [propget, id(DISPID_IHTMLOBJECTELEMENT_READYSTATE), hidden]
16381     HRESULT readyState([retval, out] long *p);
16382
16383     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16384     HRESULT onreadystatechange([in] VARIANT v);
16385
16386     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16387     HRESULT onreadystatechange([retval, out] VARIANT *p);
16388
16389     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16390     HRESULT onerror([in] VARIANT v);
16391
16392     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16393     HRESULT onerror([retval, out] VARIANT *p);
16394
16395     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16396     HRESULT altHtml([in] BSTR v);
16397
16398     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16399     HRESULT altHtml([retval, out] BSTR *p);
16400
16401     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16402     HRESULT vspace([in] long v);
16403
16404     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16405     HRESULT vspace([retval, out] long *p);
16406
16407     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16408     HRESULT hspace([in] long v);
16409
16410     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16411     HRESULT hspace([retval, out] long *p);
16412 }
16413
16414 /*****************************************************************************
16415  *    IHTMLObjectElement2 interface
16416  */
16417 [
16418     odl,
16419     oleautomation,
16420     dual,
16421     uuid(3050f4cd-98b5-11cf-bb82-00aa00bdce0b)
16422 ]
16423 interface IHTMLObjectElement2 : IDispatch
16424 {
16425     [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
16426     HRESULT namedRecordset(
16427             [in] BSTR dataMember,
16428             [in, optional] VARIANT *hierarchy,
16429             [out, retval] IDispatch **ppRecordset);
16430
16431     [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16432     HRESULT classid([in] BSTR v);
16433
16434     [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16435     HRESULT classid([out, retval] BSTR *p);
16436
16437     [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16438     HRESULT data([in] BSTR v);
16439
16440     [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16441     HRESULT data([out, retval] BSTR *p);
16442 }
16443
16444 /*****************************************************************************
16445  *    IHTMLParamElement interface
16446  */
16447 [
16448     odl,
16449     oleautomation,
16450     dual,
16451     uuid(3050f83d-98b5-11cf-bb82-00aa00bdce0b)
16452 ]
16453 interface IHTMLParamElement : IDispatch
16454 {
16455     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16456     HRESULT name([in] BSTR v);
16457
16458     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16459     HRESULT name([retval, out] BSTR *p);
16460
16461     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16462     HRESULT value([in] BSTR v);
16463
16464     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16465     HRESULT value([retval, out] BSTR *p);
16466
16467     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16468     HRESULT type([in] BSTR v);
16469
16470     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16471     HRESULT type([retval, out] BSTR *p);
16472
16473     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16474     HRESULT valueType([in] BSTR v);
16475
16476     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16477     HRESULT valueType([retval, out] BSTR *p);
16478 }
16479
16480 /*****************************************************************************
16481  *    IHTMLParamElement2 interface
16482  */
16483 [
16484     odl,
16485     oleautomation,
16486     dual,
16487     uuid(30510444-98b5-11cf-bb82-00aa00bdce0b)
16488 ]
16489 interface IHTMLParamElement2 : IDispatch
16490 {
16491     [propput, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
16492     HRESULT name([in] BSTR v);
16493
16494     [propget, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
16495     HRESULT name([retval, out] BSTR *p);
16496
16497     [propput, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
16498     HRESULT type([in] BSTR v);
16499
16500     [propget, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
16501     HRESULT type([retval, out] BSTR *p);
16502
16503     [propput, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
16504     HRESULT value([in] BSTR v);
16505
16506     [propget, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
16507     HRESULT value([retval, out] BSTR *p);
16508
16509     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16510     HRESULT valueType([in] BSTR v);
16511
16512     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16513     HRESULT valueType([retval, out] BSTR *p);
16514 }
16515
16516 /*****************************************************************************
16517  *    DispHTMLObjectElement dispinterface
16518  */
16519 [
16520     hidden,
16521     uuid(3050f529-98b5-11cf-bb82-00aa00bdce0b)
16522 ]
16523 dispinterface DispHTMLObjectElement
16524 {
16525 properties:
16526 methods:
16527     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16528
16529     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
16530     IDispatch *object();
16531
16532     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16533     void recordset(IDispatch *v);
16534
16535     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16536     IDispatch *recordset();
16537
16538     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16539     void align(BSTR v);
16540
16541     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16542     BSTR align();
16543
16544     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16545     void name(BSTR v);
16546
16547     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16548     BSTR name();
16549
16550     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16551     void codeBase(BSTR v);
16552
16553     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16554     BSTR codeBase();
16555
16556     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16557     void codeType(BSTR v);
16558
16559     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16560     BSTR codeType();
16561
16562     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16563     void code(BSTR v);
16564
16565     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16566     BSTR code();
16567
16568     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
16569     BSTR BaseHref();
16570
16571     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16572     void type(BSTR v);
16573
16574     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16575     BSTR type();
16576
16577     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
16578     IHTMLFormElement *form();
16579
16580     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16581     void width(VARIANT v);
16582
16583     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16584     VARIANT width();
16585
16586     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16587     void height(VARIANT v);
16588
16589     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16590     VARIANT height();
16591
16592     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16593     void onerror(VARIANT v);
16594
16595     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16596     VARIANT onerror();
16597
16598     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16599     void altHtml(BSTR v);
16600
16601     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16602     BSTR altHtml();
16603
16604     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16605     void vspace(long v);
16606
16607     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16608     long vspace();
16609
16610     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16611     void hspace(long v);
16612
16613     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16614     long hspace();
16615
16616     [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
16617     IDispatch *namedRecordset(
16618             [in] BSTR dataMember,
16619             [optional, in] VARIANT *hierarchy);
16620
16621     [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16622     void classid(BSTR v);
16623
16624     [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16625     BSTR classid();
16626
16627     [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16628     void data(BSTR v);
16629
16630     [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16631     BSTR data();
16632
16633     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
16634     void archive(BSTR v);
16635
16636     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
16637     BSTR archive();
16638
16639     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
16640     void alt(BSTR v);
16641
16642     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
16643     BSTR alt();
16644
16645     [propput, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
16646     void declare(VARIANT_BOOL v);
16647
16648     [propget, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
16649     VARIANT_BOOL declare();
16650
16651     [propput, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
16652     void standby(BSTR v);
16653
16654     [propget, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
16655     BSTR standby();
16656
16657     [propput, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
16658     void border(VARIANT v);
16659
16660     [propget, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
16661     VARIANT border();
16662
16663     [propput, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
16664     void useMap(BSTR v);
16665
16666     [propget, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
16667     BSTR useMap();
16668
16669     [propget, id(DISPID_IHTMLOBJECTELEMENT4_CONTENTDOCUMENT)]
16670     IDispatch *contentDocument();
16671
16672     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
16673     void ie8_codeBase(BSTR v);
16674
16675     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
16676     BSTR ie8_codeBase();
16677
16678     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
16679     void ie8_data(BSTR v);
16680
16681     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
16682     BSTR ie8_data();
16683 }
16684
16685 /*****************************************************************************
16686  *    DispHTMLParamElement dispinterface
16687  */
16688 [
16689     hidden,
16690     uuid(3050f590-98b5-11cf-bb82-00aa00bdce0b)
16691 ]
16692 dispinterface DispHTMLParamElement
16693 {
16694 properties:
16695 methods:
16696     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16697
16698     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16699     void name(BSTR v);
16700
16701     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16702     BSTR name();
16703
16704     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16705     void value(BSTR v);
16706
16707     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16708     BSTR value();
16709
16710     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16711     void type(BSTR v);
16712
16713     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16714     BSTR type();
16715
16716     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16717     void valueType(BSTR v);
16718
16719     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16720     BSTR valueType();
16721
16722     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16723     void ie8_valueType(BSTR v);
16724
16725     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16726     BSTR ie8_valueType();
16727 }
16728
16729 /*****************************************************************************
16730  *    IHTMLFrameBase interface
16731  */
16732 [
16733     odl,
16734     oleautomation,
16735     dual,
16736     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
16737 ]
16738 interface IHTMLFrameBase : IDispatch
16739 {
16740     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
16741     HRESULT src([in] BSTR v);
16742
16743     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
16744     HRESULT src([out, retval] BSTR *p);
16745
16746     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
16747     HRESULT name([in] BSTR v);
16748
16749     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
16750     HRESULT name([out, retval] BSTR *p);
16751
16752     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
16753     HRESULT border([in] VARIANT v);
16754
16755     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
16756     HRESULT border([out, retval] VARIANT *p);
16757
16758     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
16759     HRESULT frameBorder([in] BSTR v);
16760
16761     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
16762     HRESULT frameBorder([out, retval] BSTR *p);
16763
16764     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
16765     HRESULT frameSpacing([in] VARIANT v);
16766
16767     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
16768     HRESULT frameSpacing([out, retval] VARIANT *p);
16769
16770     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
16771     HRESULT marginWidth([in] VARIANT v);
16772
16773     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
16774     HRESULT marginWidth([out, retval] VARIANT *p);
16775
16776     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
16777     HRESULT marginHeight([in] VARIANT v);
16778
16779     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
16780     HRESULT marginHeight([out, retval] VARIANT *p);
16781
16782     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
16783     HRESULT noResize([in] VARIANT_BOOL v);
16784
16785     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
16786     HRESULT noResize([out, retval] VARIANT_BOOL *p);
16787
16788     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
16789     HRESULT scrolling([in] BSTR v);
16790
16791     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
16792     HRESULT scrolling([out, retval] BSTR *p);
16793 }
16794
16795 #define WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL          \
16796     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
16797     void src(BSTR v);                                   \
16798                                                         \
16799     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
16800     BSTR src();                                         \
16801                                                         \
16802     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
16803     void name(BSTR v);                                  \
16804                                                         \
16805     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
16806     BSTR name();                                        \
16807                                                         \
16808     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
16809     void border(VARIANT v);                             \
16810                                                         \
16811     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
16812     VARIANT border();                                   \
16813                                                         \
16814     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
16815     void frameBorder(BSTR v);                           \
16816                                                         \
16817     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
16818     BSTR frameBorder();                                 \
16819                                                         \
16820     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
16821     void frameSpacing(VARIANT v);                       \
16822                                                         \
16823     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
16824     VARIANT frameSpacing();                             \
16825                                                         \
16826     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
16827     void marginWidth(VARIANT v);                        \
16828                                                         \
16829     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
16830     VARIANT marginWidth();                              \
16831                                                         \
16832     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
16833     void marginHeight(VARIANT v);                       \
16834                                                         \
16835     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
16836     VARIANT marginHeight();                             \
16837                                                         \
16838     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
16839     void noResize(VARIANT_BOOL v);                      \
16840                                                         \
16841     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
16842     VARIANT_BOOL noResize();                            \
16843                                                         \
16844     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
16845     void scrolling(BSTR v);                             \
16846                                                         \
16847     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
16848     BSTR scrolling()
16849
16850 /*****************************************************************************
16851  *    IHTMLFrameBase2 interface
16852  */
16853 [
16854     odl,
16855     oleautomation,
16856     dual,
16857     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
16858 ]
16859 interface IHTMLFrameBase2 : IDispatch
16860 {
16861     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
16862     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
16863
16864     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
16865     HRESULT onload([in] VARIANT v);
16866
16867     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
16868     HRESULT onload([retval, out] VARIANT *p);
16869
16870     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
16871     HRESULT onreadystatechange([in] VARIANT v);
16872
16873     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
16874     HRESULT onreadystatechange([retval, out] VARIANT *p);
16875
16876     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
16877     HRESULT readyState([retval, out] BSTR *p);
16878
16879     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
16880     HRESULT allowTransparency([in] VARIANT_BOOL v);
16881
16882     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
16883     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
16884 }
16885
16886 #define WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL                         \
16887     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]                 \
16888     IHTMLWindow2 *contentWindow();                                      \
16889                                                                         \
16890     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
16891     void onload(VARIANT v);                                             \
16892                                                                         \
16893     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
16894     VARIANT onload();                                                   \
16895                                                                         \
16896     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
16897     void allowTransparency(VARIANT_BOOL v);                             \
16898                                                                         \
16899     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
16900     VARIANT_BOOL allowTransparency()
16901
16902 #define WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL                           \
16903     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
16904     void longDesc(BSTR v);                                                \
16905                                                                           \
16906     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
16907     BSTR longDesc()
16908
16909
16910 #define WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL \
16911     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;  \
16912     WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL;   \
16913     WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL;  \
16914     WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL
16915
16916 /*****************************************************************************
16917  *    IHTMLFrameElement3 interface
16918  */
16919 [
16920     odl,
16921     oleautomation,
16922     dual,
16923     uuid(3051042d-98b5-11cf-bb82-00aa00bdce0b)
16924 ]
16925 interface IHTMLFrameElement3 : IDispatch
16926 {
16927     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
16928     HRESULT contentDocument([out, retval] IDispatch **p);
16929
16930     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16931     HRESULT src([in] BSTR v);
16932
16933     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16934     HRESULT src([out, retval] BSTR *p);
16935
16936     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16937     HRESULT longDesc([in] BSTR v);
16938
16939     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16940     HRESULT longDesc([out, retval] BSTR *p);
16941
16942     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16943     HRESULT frameBorder([in] BSTR v);
16944
16945     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16946     HRESULT frameBorder([out, retval] BSTR * p);
16947 }
16948
16949 /*****************************************************************************
16950  *    DispHTMLFrameElement dispinterface
16951  */
16952 [
16953     hidden,
16954     uuid(3050f513-98b5-11cf-bb82-00aa00bdce0b)
16955 ]
16956 dispinterface DispHTMLFrameElement
16957 {
16958 properties:
16959 methods:
16960     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
16961
16962     [propput, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
16963     void borderColor(VARIANT v);
16964
16965     [propget, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
16966     VARIANT borderColor();
16967
16968     [propput, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
16969     void height(VARIANT v);
16970
16971     [propget, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
16972     VARIANT height();
16973
16974     [propput, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
16975     void width(VARIANT v);
16976
16977     [propget, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
16978     VARIANT width();
16979
16980     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
16981     IDispatch *contentDocument();
16982
16983     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16984     void ie8_src(BSTR v);
16985
16986     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16987     BSTR ie8_src();
16988
16989     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16990     void ie8_longDesc(BSTR v);
16991
16992     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16993     BSTR ie8_longDesc();
16994
16995     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16996     void ie8_frameBorder(BSTR v);
16997
16998     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16999     BSTR ie8_frameBorder();
17000 }
17001
17002 /*****************************************************************************
17003  *    IHTMLIFrameElement interface
17004  */
17005 [
17006     odl,
17007     oleautomation,
17008     dual,
17009     uuid(3050f315-98b5-11cf-bb82-00aa00bdce0b)
17010 ]
17011 interface IHTMLIFrameElement : IDispatch
17012 {
17013     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
17014     HRESULT vspace([in] LONG v);
17015
17016     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
17017     HRESULT vspace([retval, out] LONG *p);
17018
17019     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
17020     HRESULT hspace([in] LONG v);
17021
17022     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
17023     HRESULT hspace([retval, out] LONG *p);
17024
17025     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
17026     HRESULT align([in] BSTR v);
17027
17028     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
17029     HRESULT align([retval, out] BSTR *p);
17030 }
17031
17032 /*****************************************************************************
17033  *    DispHTMLIFrame dispinterface
17034  */
17035 [
17036     hidden,
17037     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
17038 ]
17039 dispinterface DispHTMLIFrame
17040 {
17041 properties:
17042 methods:
17043     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
17044
17045     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
17046     void vspace(LONG v);
17047
17048     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
17049     LONG vspace();
17050
17051     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
17052     void hspace(LONG v);
17053
17054     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
17055     LONG hspace();
17056
17057     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
17058     void align(BSTR v);
17059
17060     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
17061     BSTR align();
17062
17063     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
17064     void height(VARIANT v);
17065
17066     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
17067     VARIANT height();
17068
17069     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
17070     void width(VARIANT v);
17071
17072     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
17073     VARIANT width();
17074 }
17075
17076 /*****************************************************************************
17077  *    IHTMLStyleElement interface
17078  */
17079 [
17080     odl,
17081     oleautomation,
17082     dual,
17083     uuid(3050f375-98b5-11cf-bb82-00aa00bdce0b)
17084 ]
17085 interface IHTMLStyleElement : IDispatch
17086 {
17087     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
17088     HRESULT type([in] BSTR v);
17089
17090     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
17091     HRESULT type([retval, out] BSTR *p);
17092
17093     [propget, id(DISPID_IHTMLSTYLEELEMENT_READYSTATE)]
17094     HRESULT readyState([retval, out] BSTR *p);
17095
17096     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
17097     HRESULT onreadystatechange([in] VARIANT v);
17098
17099     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
17100     HRESULT onreadystatechange([retval, out] VARIANT *p);
17101
17102     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
17103     HRESULT onload([in] VARIANT v);
17104
17105     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
17106     HRESULT onload([retval, out] VARIANT *p);
17107
17108     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
17109     HRESULT onerror([in] VARIANT v);
17110
17111     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
17112     HRESULT onerror([retval, out] VARIANT *p);
17113
17114     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
17115     HRESULT styleSheet([retval, out] IHTMLStyleSheet **p);
17116
17117     [propput, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
17118     HRESULT disabled([in] VARIANT_BOOL v);
17119
17120     [propget, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
17121     HRESULT disabled([retval, out] VARIANT_BOOL *p);
17122
17123     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
17124     HRESULT media([in] BSTR v);
17125
17126     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
17127     HRESULT media([retval, out] BSTR *p);
17128 }
17129
17130 /*****************************************************************************
17131  *    DispHTMLStyleElement dispinterface
17132  */
17133 [
17134     hidden,
17135     uuid(3050f511-98b5-11cf-bb82-00aa00bdce0b)
17136 ]
17137 dispinterface DispHTMLStyleElement
17138 {
17139 properties:
17140 methods:
17141     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
17142
17143     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
17144     void type(BSTR v);
17145
17146     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
17147     BSTR type();
17148
17149     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
17150     void onload(VARIANT v);
17151
17152     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
17153     VARIANT onload();
17154
17155     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
17156     void onerror(VARIANT v);
17157
17158     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
17159     VARIANT onerror();
17160
17161     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
17162     IHTMLStyleSheet *styleSheet();
17163
17164     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
17165     void media(BSTR v);
17166
17167     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
17168     BSTR media();
17169 }
17170
17171 /*****************************************************************************
17172  *    IHTMLStorage interface
17173  */
17174 [
17175     odl,
17176     oleautomation,
17177     dual,
17178     uuid(30510474-98b5-11cf-bb82-00aa00bdce0b)
17179 ]
17180 interface IHTMLStorage : IDispatch
17181 {
17182     [propget, id(DISPID_IHTMLSTORAGE_LENGTH), hidden]
17183     HRESULT length([out, retval] long *p);
17184
17185     [propget, id(DISPID_IHTMLSTORAGE_REMAININGSPACE), hidden]
17186     HRESULT remainingSpace([out, retval] long *p);
17187
17188     [id(DISPID_IHTMLSTORAGE_KEY)]
17189     HRESULT key(
17190             [in] long lIndex,
17191             [out, retval] BSTR *);
17192
17193     [id(DISPID_IHTMLSTORAGE_GETITEM)]
17194     HRESULT getItem(
17195             [in] BSTR bstrKey,
17196             [out, retval] VARIANT *);
17197
17198     [id(DISPID_IHTMLSTORAGE_SETITEM)]
17199     HRESULT setItem(
17200             [in] BSTR bstrKey,
17201             [in] BSTR bstrValue);
17202
17203     [id(DISPID_IHTMLSTORAGE_REMOVEITEM)]
17204     HRESULT removeItem([in] BSTR bstrKey);
17205
17206     [id(DISPID_IHTMLSTORAGE_CLEAR)]
17207     HRESULT clear();
17208 }
17209
17210 /*****************************************************************************
17211  *    IMarkupContainer interface
17212  */
17213 [
17214     object,
17215     pointer_default(unique),
17216     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
17217 ]
17218 interface IMarkupContainer : IUnknown
17219 {
17220     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
17221 }
17222
17223 /*****************************************************************************
17224  *    IMarkupPointer interface
17225  */
17226 [
17227     object,
17228     pointer_default(unique),
17229     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
17230 ]
17231 interface IMarkupPointer : IUnknown
17232 {
17233     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
17234
17235     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
17236
17237     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
17238
17239     HRESULT Cling([out] BOOL *pfCling);
17240
17241     HRESULT SetCling([in] BOOL fCLing);
17242
17243     HRESULT UnPosition();
17244
17245     HRESULT IsPositioned([out] BOOL *pfPositioned);
17246
17247     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
17248
17249     HRESULT MoveAdjacentToElement(
17250         [in] IHTMLElement *pElement,
17251         [in] ELEMENT_ADJACENCY eAdj);
17252
17253     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
17254
17255     HRESULT MoveToContainer(
17256         [in] IMarkupContainer *pContainer,
17257         [in] BOOL fAtStart);
17258
17259     HRESULT Left(
17260         [in] BOOL fMove,
17261         [out] MARKUP_CONTEXT_TYPE *pContext,
17262         [out] IHTMLElement **ppElement,
17263         [in, out] LONG *pcch,
17264         [out, size_is(*pcch)] OLECHAR *pchText);
17265
17266     HRESULT Right(
17267         [in] BOOL fMove,
17268         [out] MARKUP_CONTEXT_TYPE *pContext,
17269         [out] IHTMLElement **ppElement,
17270         [in, out] LONG *pcch,
17271         [out, size_is(*pcch)] OLECHAR *pchText);
17272
17273     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
17274
17275     HRESULT IsLeftOf(
17276         [in] IMarkupPointer *pPointerThat,
17277         [out] BOOL *pfResult);
17278
17279     HRESULT IsLeftOfOrEqualTo(
17280         [in] IMarkupPointer *pPointerThat,
17281         [out] BOOL *pfResult);
17282
17283     HRESULT IsRightOf(
17284         [in] IMarkupPointer *pPointerThat,
17285         [out] BOOL *pfResult);
17286
17287     HRESULT IsRightOfOrEqualTo(
17288         [in] IMarkupPointer *pPointerThat,
17289         [out] BOOL *pfResult);
17290
17291     HRESULT IsEqualTo(
17292         [in] IMarkupPointer *pPointerThat,
17293         [out] BOOL *pfAreEqual);
17294
17295     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
17296
17297     HRESULT FindText(
17298         [in] OLECHAR *pchFindText,
17299         [in] DWORD dwFlags,
17300         [in] IMarkupPointer *pIEndMatch,
17301         [in] IMarkupPointer *pIEndSearch);
17302 }
17303
17304 /*****************************************************************************
17305  *    IXMLGenericParse interface
17306  */
17307 [
17308     object,
17309     pointer_default(unique),
17310     uuid(E4E23071-4D07-11d2-AE76-0080C73BC199)
17311 ]
17312 interface IXMLGenericParse : IUnknown
17313 {
17314     HRESULT SetGenericParse(
17315         [in] VARIANT_BOOL fDoGeneric);
17316 }
17317
17318 /*****************************************************************************
17319  *    ISegment interface
17320  */
17321 [
17322     object,
17323     pointer_default(unique),
17324     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
17325 ]
17326 interface ISegment : IUnknown
17327 {
17328     HRESULT GetPointers(
17329         [in] IMarkupPointer *pIStart,
17330         [in] IMarkupPointer *pIEnd);
17331 }
17332
17333 /*****************************************************************************
17334  *    IElementSegment interface
17335  */
17336 [
17337     object,
17338     pointer_default(unique),
17339     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
17340 ]
17341 interface IElementSegment : ISegment
17342 {
17343     HRESULT GetElement([out] IHTMLElement **ppIElement);
17344
17345     HRESULT SetPrimary([in] BOOL fPrimary);
17346
17347     HRESULT IsPrimary([out] BOOL *pfPrimary);
17348 }
17349
17350 /*****************************************************************************
17351  *    ISelectionServicesListener interface
17352  */
17353 [
17354     object,
17355     pointer_default(unique),
17356     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
17357 ]
17358 interface ISelectionServicesListener : IUnknown
17359 {
17360     HRESULT BeginSelectionUndo();
17361
17362     HRESULT EndSelectionUndo();
17363
17364     HRESULT OnSelectedElementExit(
17365         [in] IMarkupPointer *pIElementStart,
17366         [in] IMarkupPointer *pIElementEnd,
17367         [in] IMarkupPointer *pIElementContentStart,
17368         [in] IMarkupPointer *pIElementContentEnd);
17369
17370     HRESULT OnChangeType(
17371         [in] SELECTION_TYPE eType,
17372         [in] ISelectionServicesListener *pIListener);
17373
17374     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
17375 }
17376
17377 /*****************************************************************************
17378  *    ISelectionServices interface
17379  */
17380 [
17381     object,
17382     pointer_default(unique),
17383     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
17384 ]
17385 interface ISelectionServices : IUnknown
17386 {
17387     HRESULT SetSelectionType(
17388         [in] SELECTION_TYPE eType,
17389         [in] ISelectionServicesListener *pIListener);
17390
17391     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
17392
17393     HRESULT AddSegment(
17394         [in] IMarkupPointer *pIStart,
17395         [in] IMarkupPointer *pIEnd,
17396         [out] ISegment **ppISegmentAdded);
17397
17398     HRESULT AddElementSegment(
17399         [in] IHTMLElement *pIElement,
17400         [out] IElementSegment **ppISegmentAdded);
17401
17402     HRESULT RemoveSegment([in] ISegment *pISegment);
17403
17404     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
17405 }
17406
17407 /*****************************************************************************
17408  *    IHTMLEditDesigner interface
17409  */
17410 [
17411     object,
17412     pointer_default(unique),
17413     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
17414 ]
17415 interface IHTMLEditDesigner : IUnknown
17416 {
17417     HRESULT PreHandleEvent(
17418         [in] DISPID inEvtDispId,
17419         [in] IHTMLEventObj *pIEventObj);
17420
17421     HRESULT PostHandleEvent(
17422         [in] DISPID inEvtDispId,
17423         [in] IHTMLEventObj *pIEventObj);
17424
17425     HRESULT TranslateAccelerator(
17426         [in] DISPID inEvtDispId,
17427         [in] IHTMLEventObj *pIEventObj);
17428
17429     HRESULT PostEditorEventNotify(
17430         [in] DISPID inEvtDispId,
17431         [in] IHTMLEventObj *pIEventObj);
17432 }
17433
17434 /*****************************************************************************
17435  *    IHTMLEditServices interface
17436  */
17437 [
17438     object,
17439     pointer_default(unique),
17440     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
17441 ]
17442 interface IHTMLEditServices : IUnknown
17443 {
17444     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
17445
17446     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
17447
17448     HRESULT GetSelectionServices(
17449         [in] IMarkupContainer *pIContainer,
17450         [out] ISelectionServices **ppSelSvc);
17451
17452     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
17453
17454     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
17455
17456     HRESULT SelectRange(
17457         [in] IMarkupPointer* pStart,
17458         [in] IMarkupPointer* pEnd,
17459         [in] SELECTION_TYPE eType);
17460 }
17461
17462 /*****************************************************************************
17463  *    IElementBehaviorSite interface
17464  */
17465 [
17466     odl,
17467     uuid(3050F427-98B5-11CF-BB82-00AA00BDCE0B)
17468 ]
17469 interface IElementBehaviorSite : IUnknown {
17470     HRESULT GetElement([out, retval] IHTMLElement **ppElement);
17471     HRESULT RegisterNotification([in] long lEvent);
17472 }
17473
17474 /*****************************************************************************
17475  *    IElementBehavior interface
17476  */
17477 [
17478     odl,
17479     uuid(3050F425-98B5-11CF-BB82-00AA00BDCE0B)
17480 ]
17481 interface IElementBehavior : IUnknown {
17482     HRESULT Init([in] IElementBehaviorSite *pBehaviorSite);
17483     HRESULT Notify([in] long lEvent,  [in, out] VARIANT *pVar);
17484     HRESULT Detach();
17485 }
17486
17487 /*****************************************************************************
17488  *    IElementBehaviorFactory interface
17489  */
17490 [
17491     odl,
17492     uuid(3050f429-98b5-11cf-bb82-00aa00bdce0b)
17493 ]
17494 interface IElementBehaviorFactory : IUnknown
17495 {
17496     HRESULT FindBehavior(
17497         [in] BSTR bstrBehavior,
17498         [in] BSTR bstrBehaviorUrl,
17499         [in] IElementBehaviorSite *pSite,
17500         [out] IElementBehavior **ppBehavior);
17501 }
17502
17503 } /* library MSHTML */
17504
17505 interface IOleCommandTarget;
17506
17507 /*****************************************************************************
17508  *    IHTMLPrivateWindow interface
17509  */
17510 [
17511     object,
17512     uuid(3050f6dc-98b5-11cf-bb82-00aa00bdce0b),
17513     local
17514 ]
17515 interface IHTMLPrivateWindow : IUnknown
17516 {
17517     HRESULT SuperNavigate(BSTR url, BSTR arg2, BSTR arg3, BSTR arg4, VARIANT *post_data, VARIANT *headers, ULONG flags);
17518     HRESULT GetPendingUrl(BSTR *url);
17519     HRESULT SetPICSTarget(IOleCommandTarget *cmdtrg);
17520     HRESULT PICSComplete(int arg);
17521     HRESULT FindWindowByName(LPCWSTR name, IHTMLWindow2 **ret);
17522     HRESULT GetAddressBarUrl(BSTR *url);
17523 }