krnl386.exe: Removed unused owner_exists variable (Coverity).
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004-2007 Jacek Caban for CodeWeavers
3  * Copyright 2008      Konstantin Kondratyuk (Etersoft)
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18  */
19
20 #include <mshtmdid.h>
21 #include <mshtmcid.h>
22 #include <olectl.h>
23
24 import "ocidl.idl";
25 import "dimm.idl";
26 import "shtypes.idl";
27
28 cpp_quote("#include <olectl.h>")
29
30 cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
31 cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
32 cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
33 cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
34 cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
35
36 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
37 cpp_quote("#undef FindText")
38 cpp_quote("#endif")
39
40 typedef enum {
41     POINTER_GRAVITY_Left,
42     POINTER_GRAVITY_Right,
43     POINTER_GRAVITY_Max = 2147483647
44 } POINTER_GRAVITY;
45
46 typedef enum {
47     CONTEXT_TYPE_None,
48     CONTEXT_TYPE_Text,
49     CONTEXT_TYPE_EnterScope,
50     CONTEXT_TYPE_ExitScope,
51     CONTEXT_TYPE_NoScope,
52     MARKUP_CONTEXT_TYPE_Max = 2147483647
53 } MARKUP_CONTEXT_TYPE;
54
55 typedef enum {
56     ELEM_ADJ_BeforeBegin,
57     ELEM_ADJ_AfterBegin,
58     ELEM_ADJ_BeforeEnd,
59     ELEM_ADJ_AfterEnd,
60     ELEMENT_ADJACENCY_Max = 2147483647
61 } ELEMENT_ADJACENCY;
62
63 typedef enum {
64     MOVEUNIT_PREVCHAR,
65     MOVEUNIT_NEXTCHAR,
66     MOVEUNIT_PREVCLUSTERBEG,
67     MOVEUNIT_NEXTCLUSTERBEG,
68     MOVEUNIT_PREVCLUSTEREND,
69     MOVEUNIT_NEXTCLUSTEREND,
70     MOVEUNIT_PREVWORDBEG,
71     MOVEUNIT_NEXTWORDBEG,
72     MOVEUNIT_PREVWORDEND,
73     MOVEUNIT_NEXTWORDEND,
74     MOVEUNIT_PREVPROOFWORD,
75     MOVEUNIT_NEXTPROOFWORD,
76     MOVEUNIT_NEXTURLBEG,
77     MOVEUNIT_PREVURLBEG,
78     MOVEUNIT_NEXTURLEND,
79     MOVEUNIT_PREVURLEND,
80     MOVEUNIT_PREVSENTENCE,
81     MOVEUNIT_NEXTSENTENCE,
82     MOVEUNIT_PREVBLOCK,
83     MOVEUNIT_NEXTBLOCK,
84     MOVEUNIT_ACTION_Max = 2147483647
85 } MOVEUNIT_ACTION;
86
87 typedef enum _SELECTION_TYPE {
88     SELECTION_TYPE_None,
89     SELECTION_TYPE_Caret,
90     SELECTION_TYPE_Text,
91     SELECTION_TYPE_Control,
92     SELECTION_TYPE_Max = 2147483647
93 } SELECTION_TYPE;
94
95 [
96     odl,
97     oleautomation,
98     dual,
99     uuid(3051049b-98b5-11cf-bb82-00aa00bdce0b)
100 ]
101 interface IHTMLDOMConstructor : IDispatch
102 {
103     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
104     HRESULT constructor([retval, out] IDispatch* * p);
105
106     HRESULT LookupGetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
107
108     HRESULT LookupSetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
109
110     HRESULT DefineGetter([in] BSTR propname, [in] VARIANT* pdispHandler);
111
112     HRESULT DefineSetter([in] BSTR propname, [in] VARIANT* pdispHandler);
113 }
114
115 #define WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL                     \
116     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]       \
117     IDispatch *constructor()
118
119 interface IHTMLDocument2;
120 interface IHTMLStyleSheetsCollection;
121 interface IHTMLFrameBase;
122
123 /*****************************************************************************
124  *    IHTMLFiltersCollection interface
125  */
126 [
127     odl,
128     oleautomation,
129     dual,
130     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
131 ]
132 interface IHTMLFiltersCollection : IDispatch
133 {
134     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
135     HRESULT length([retval, out] LONG *p);
136
137     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
138     HRESULT _newEnum([retval, out] IUnknown **p);
139
140     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
141     HRESULT item(
142         [in] VARIANT *pvarIndex,
143         [retval, out] VARIANT *pvarResult);
144 }
145
146 [
147     version(4.0),
148     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
149 ]
150 library MSHTML
151 {
152
153 importlib("stdole2.tlb");
154
155 /*****************************************************************************
156  *    IHTMLStyle interface
157  */
158 [
159     odl,
160     oleautomation,
161     dual,
162     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
163 ]
164 interface IHTMLStyle : IDispatch
165 {
166     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
167     HRESULT fontFamily([in] BSTR v);
168
169     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
170     HRESULT fontFamily([retval, out] BSTR *p);
171
172     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
173     HRESULT fontStyle([in] BSTR v);
174
175     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
176     HRESULT fontStyle([retval, out] BSTR *p);
177
178     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
179     HRESULT fontVariant([in] BSTR v);
180
181     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
182     HRESULT fontVariant([retval, out] BSTR *p);
183
184     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
185     HRESULT fontWeight([in] BSTR v);
186
187     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
188     HRESULT fontWeight([retval, out] BSTR *p);
189
190     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
191     HRESULT fontSize([in] VARIANT v);
192
193     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
194     HRESULT fontSize([retval, out] VARIANT *p);
195
196     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
197     HRESULT font([in] BSTR v);
198
199     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
200     HRESULT font([retval, out] BSTR *p);
201
202     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
203     HRESULT color([in] VARIANT v);
204
205     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
206     HRESULT color([retval, out] VARIANT *p);
207
208     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
209     HRESULT background([in] BSTR v);
210
211     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
212     HRESULT background([retval, out] BSTR *p);
213
214     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
215     HRESULT backgroundColor([in] VARIANT v);
216
217     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
218     HRESULT backgroundColor([retval, out] VARIANT *p);
219
220     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
221     HRESULT backgroundImage([in] BSTR v);
222
223     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
224     HRESULT backgroundImage([retval, out] BSTR *p);
225
226     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
227     HRESULT backgroundRepeat([in] BSTR v);
228
229     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
230     HRESULT backgroundRepeat([retval, out] BSTR *p);
231
232     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
233     HRESULT backgroundAttachment([in] BSTR v);
234
235     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
236     HRESULT backgroundAttachment([retval, out] BSTR *p);
237
238     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
239     HRESULT backgroundPosition([in] BSTR v);
240
241     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
242     HRESULT backgroundPosition([retval, out] BSTR *p);
243
244     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
245     HRESULT backgroundPositionX([in] VARIANT v);
246
247     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
248     HRESULT backgroundPositionX([retval, out] VARIANT *p);
249
250     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
251     HRESULT backgroundPositionY([in] VARIANT v);
252
253     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
254     HRESULT backgroundPositionY([retval, out] VARIANT *p);
255
256     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
257     HRESULT wordSpacing([in] VARIANT v);
258
259     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
260     HRESULT wordSpacing([retval, out] VARIANT *p);
261
262     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
263     HRESULT letterSpacing([in] VARIANT v);
264
265     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
266     HRESULT letterSpacing([retval, out] VARIANT *p);
267
268     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
269     HRESULT textDecoration([in] BSTR v);
270
271     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
272     HRESULT textDecoration([retval, out] BSTR *p);
273
274     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
275     HRESULT textDecorationNone([in] VARIANT_BOOL v);
276
277     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
278     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
279
280     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
281     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
282
283     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
284     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
285
286     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
287     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
288
289     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
290     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
291
292     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
293     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
294
295     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
296     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
297
298     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
299     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
300
301     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
302     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
303
304     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
305     HRESULT verticalAlign([in] VARIANT v);
306
307     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
308     HRESULT verticalAlign([retval, out] VARIANT *p);
309
310     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
311     HRESULT textTransform([in] BSTR v);
312
313     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
314     HRESULT textTransform([retval, out] BSTR *p);
315
316     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
317     HRESULT textAlign([in] BSTR v);
318
319     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
320     HRESULT textAlign([retval, out] BSTR *p);
321
322     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
323     HRESULT textIndent([in] VARIANT v);
324
325     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
326     HRESULT textIndent([retval, out] VARIANT *p);
327
328     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
329     HRESULT lineHeight([in] VARIANT v);
330
331     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
332     HRESULT lineHeight([retval, out] VARIANT *p);
333
334     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
335     HRESULT marginTop([in] VARIANT v);
336
337     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
338     HRESULT marginTop([retval, out] VARIANT *p);
339
340     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
341     HRESULT marginRight([in] VARIANT v);
342
343     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
344     HRESULT marginRight([retval, out] VARIANT *p);
345
346     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
347     HRESULT marginBottom([in] VARIANT v);
348
349     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
350     HRESULT marginBottom([retval, out] VARIANT *p);
351
352     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
353     HRESULT marginLeft([in] VARIANT v);
354
355     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
356     HRESULT marginLeft([retval, out] VARIANT *p);
357
358     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
359     HRESULT margin([in] BSTR v);
360
361     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
362     HRESULT margin([retval, out] BSTR *p);
363
364     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
365     HRESULT paddingTop([in] VARIANT v);
366
367     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
368     HRESULT paddingTop([retval, out] VARIANT *p);
369
370     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
371     HRESULT paddingRight([in] VARIANT v);
372
373     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
374     HRESULT paddingRight([retval, out] VARIANT *p);
375
376     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
377     HRESULT paddingBottom([in] VARIANT v);
378
379     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
380     HRESULT paddingBottom([retval, out] VARIANT *p);
381
382     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
383     HRESULT paddingLeft([in] VARIANT v);
384
385     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
386     HRESULT paddingLeft([retval, out] VARIANT *p);
387
388     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
389     HRESULT padding([in] BSTR v);
390
391     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
392     HRESULT padding([retval, out] BSTR *p);
393
394     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
395     HRESULT border([in] BSTR v);
396
397     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
398     HRESULT border([retval, out] BSTR *p);
399
400     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
401     HRESULT borderTop([in] BSTR v);
402
403     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
404     HRESULT borderTop([retval, out] BSTR *p);
405
406     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
407     HRESULT borderRight([in] BSTR v);
408
409     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
410     HRESULT borderRight([retval, out] BSTR *p);
411
412     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
413     HRESULT borderBottom([in] BSTR v);
414
415     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
416     HRESULT borderBottom([retval, out] BSTR *p);
417
418     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
419     HRESULT borderLeft([in] BSTR v);
420
421     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
422     HRESULT borderLeft([retval, out] BSTR *p);
423
424     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
425     HRESULT borderColor([in] BSTR v);
426
427     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
428     HRESULT borderColor([retval, out] BSTR *p);
429
430     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
431     HRESULT borderTopColor([in] VARIANT v);
432
433     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
434     HRESULT borderTopColor([retval, out] VARIANT *p);
435
436     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
437     HRESULT borderRightColor([in] VARIANT v);
438
439     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
440     HRESULT borderRightColor([retval, out] VARIANT *p);
441
442     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
443     HRESULT borderBottomColor([in] VARIANT v);
444
445     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
446     HRESULT borderBottomColor([retval, out] VARIANT *p);
447
448     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
449     HRESULT borderLeftColor([in] VARIANT v);
450
451     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
452     HRESULT borderLeftColor([retval, out] VARIANT *p);
453
454     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
455     HRESULT borderWidth([in] BSTR v);
456
457     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
458     HRESULT borderWidth([retval, out] BSTR *p);
459
460     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
461     HRESULT borderTopWidth([in] VARIANT v);
462
463     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
464     HRESULT borderTopWidth([retval, out] VARIANT *p);
465
466     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
467     HRESULT borderRightWidth([in] VARIANT v);
468
469     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
470     HRESULT borderRightWidth([retval, out] VARIANT *p);
471
472     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
473     HRESULT borderBottomWidth([in] VARIANT v);
474
475     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
476     HRESULT borderBottomWidth([retval, out] VARIANT *p);
477
478     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
479     HRESULT borderLeftWidth([in] VARIANT v);
480
481     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
482     HRESULT borderLeftWidth([retval, out] VARIANT *p);
483
484     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
485     HRESULT borderStyle([in] BSTR v);
486
487     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
488     HRESULT borderStyle([retval, out] BSTR *p);
489
490     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
491     HRESULT borderTopStyle([in] BSTR v);
492
493     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
494     HRESULT borderTopStyle([retval, out] BSTR *p);
495
496     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
497     HRESULT borderRightStyle([in] BSTR v);
498
499     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
500     HRESULT borderRightStyle([retval, out] BSTR *p);
501
502     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
503     HRESULT borderBottomStyle([in] BSTR v);
504
505     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
506     HRESULT borderBottomStyle([retval, out] BSTR *p);
507
508     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
509     HRESULT borderLeftStyle([in] BSTR v);
510
511     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
512     HRESULT borderLeftStyle([retval, out] BSTR *p);
513
514     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
515     HRESULT width([in] VARIANT v);
516
517     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
518     HRESULT width([retval, out] VARIANT *p);
519
520     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
521     HRESULT height([in] VARIANT v);
522
523     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
524     HRESULT height([retval, out] VARIANT *p);
525
526     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
527     HRESULT styleFloat([in] BSTR v);
528
529     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
530     HRESULT styleFloat([retval, out] BSTR *p);
531
532     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
533     HRESULT clear([in] BSTR v);
534
535     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
536     HRESULT clear([retval, out] BSTR *p);
537
538     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
539     HRESULT display([in] BSTR v);
540
541     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
542     HRESULT display([retval, out] BSTR *p);
543
544     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
545     HRESULT visibility([in] BSTR v);
546
547     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
548     HRESULT visibility([retval, out] BSTR *p);
549
550     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
551     HRESULT listStyleType([in] BSTR v);
552
553     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
554     HRESULT listStyleType([retval, out] BSTR *p);
555
556     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
557     HRESULT listStylePosition([in] BSTR v);
558
559     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
560     HRESULT listStylePosition([retval, out] BSTR *p);
561
562     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
563     HRESULT listStyleImage([in] BSTR v);
564
565     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
566     HRESULT listStyleImage([retval, out] BSTR *p);
567
568     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
569     HRESULT listStyle([in] BSTR v);
570
571     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
572     HRESULT listStyle([retval, out] BSTR *p);
573
574     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
575     HRESULT whiteSpace([in] BSTR v);
576
577     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
578     HRESULT whiteSpace([retval, out] BSTR *p);
579
580     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
581     HRESULT top([in] VARIANT v);
582
583     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
584     HRESULT top([retval, out] VARIANT *p);
585
586     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
587     HRESULT left([in] VARIANT v);
588
589     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
590     HRESULT left([retval, out] VARIANT *p);
591
592     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
593     HRESULT position([retval, out] BSTR *p);
594
595     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
596     HRESULT zIndex([in] VARIANT v);
597
598     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
599     HRESULT zIndex([retval, out] VARIANT *p);
600
601     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
602     HRESULT overflow([in] BSTR v);
603
604     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
605     HRESULT overflow([retval, out] BSTR *p);
606
607     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
608     HRESULT pageBreakBefore([in] BSTR v);
609
610     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
611     HRESULT pageBreakBefore([retval, out] BSTR *p);
612
613     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
614     HRESULT pageBreakAfter([in] BSTR v);
615
616     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
617     HRESULT pageBreakAfter([retval, out] BSTR *p);
618
619     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
620     HRESULT cssText([in] BSTR v);
621
622     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
623     HRESULT cssText([retval, out] BSTR *p);
624
625     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
626     HRESULT pixelTop([in] LONG v);
627
628     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
629     HRESULT pixelTop([retval, out] LONG *p);
630
631     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
632     HRESULT pixelLeft([in] LONG v);
633
634     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
635     HRESULT pixelLeft([retval, out] LONG *p);
636
637     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
638     HRESULT pixelWidth([in] LONG v);
639
640     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
641     HRESULT pixelWidth([retval, out] LONG *p);
642
643     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
644     HRESULT pixelHeight([in] LONG v);
645
646     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
647     HRESULT pixelHeight([retval, out] LONG *p);
648
649     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
650     HRESULT posTop([in] float v);
651
652     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
653     HRESULT posTop([retval, out] float *p);
654
655     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
656     HRESULT posLeft([in] float v);
657
658     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
659     HRESULT posLeft([retval, out] float *p);
660
661     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
662     HRESULT posWidth([in] float v);
663
664     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
665     HRESULT posWidth([retval, out] float *p);
666
667     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
668     HRESULT posHeight([in] float v);
669
670     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
671     HRESULT posHeight([retval, out] float *p);
672
673     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
674     HRESULT cursor([in] BSTR v);
675
676     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
677     HRESULT cursor([retval, out] BSTR *p);
678
679     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
680     HRESULT clip([in] BSTR v);
681
682     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
683     HRESULT clip([retval, out] BSTR *p);
684
685     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
686     HRESULT filter([in] BSTR v);
687
688     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
689     HRESULT filter([retval, out] BSTR *p);
690
691     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
692     HRESULT setAttribute(
693         [in] BSTR strAttributeName,
694         [in] VARIANT AttributeValue,
695         [defaultvalue(1), in] LONG lFlags);
696
697     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
698     HRESULT getAttribute(
699         [in] BSTR strAttributeName,
700         [defaultvalue(0), in] LONG lFlags,
701         [retval, out] VARIANT *AttributeValue);
702
703     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
704     HRESULT removeAttribute(
705         [in] BSTR strAttributeName,
706         [defaultvalue(1), in]
707         LONG lFlags,
708         [retval, out] VARIANT_BOOL *pfSuccess);
709
710     [id(DISPID_IHTMLSTYLE_TOSTRING)]
711     HRESULT toString([retval, out] BSTR *String);
712 }
713
714 /*****************************************************************************
715  *    IHTMLStyle2 interface
716  */
717 [
718     odl,
719     oleautomation,
720     dual,
721     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
722 ]
723 interface IHTMLStyle2 : IDispatch
724 {
725     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
726     HRESULT tableLayout([in] BSTR v);
727
728     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
729     HRESULT tableLayout([out, retval] BSTR *p);
730
731     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
732     HRESULT borderCollapse([in] BSTR v);
733
734     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
735     HRESULT borderCollapse([out, retval] BSTR *p);
736
737     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
738     HRESULT direction([in] BSTR v);
739
740     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
741     HRESULT direction([out, retval] BSTR *p);
742
743     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
744     HRESULT behavior([in] BSTR v);
745
746     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
747     HRESULT behavior([out, retval] BSTR *p);
748
749     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
750     HRESULT setExpression(
751             [in] BSTR propname,
752             [in] BSTR expression,
753             [in, defaultvalue("")] BSTR language);
754
755     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
756     HRESULT getExpression(
757             [in] BSTR propname,
758             [out, retval] VARIANT *expression);
759
760     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
761     HRESULT removeExpression(
762             [in] BSTR propname,
763             [out, retval] VARIANT_BOOL *pfSuccess);
764
765     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
766     HRESULT position([in] BSTR v);
767
768     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
769     HRESULT position([out, retval] BSTR *p);
770
771     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
772     HRESULT unicodeBidi([in] BSTR v);
773
774     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
775     HRESULT unicodeBidi([out, retval] BSTR *p);
776
777     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
778     HRESULT bottom([in] VARIANT v);
779
780     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
781     HRESULT bottom([out, retval] VARIANT *p);
782
783     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
784     HRESULT right([in] VARIANT v);
785
786     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
787     HRESULT right([out, retval] VARIANT *p);
788
789     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
790     HRESULT pixelBottom([in] LONG v);
791
792     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
793     HRESULT pixelBottom([out, retval] LONG *p);
794
795     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
796     HRESULT pixelRight([in] LONG v);
797
798     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
799     HRESULT pixelRight([out, retval] LONG *p);
800
801     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
802     HRESULT posBottom([in] float v);
803
804     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
805     HRESULT posBottom([out, retval] float *p);
806
807     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
808     HRESULT posRight([in] float v);
809
810     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
811     HRESULT posRight([out, retval] float *p);
812
813     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
814     HRESULT imeMode([in] BSTR v);
815
816     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
817     HRESULT imeMode([out, retval] BSTR *p);
818
819     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
820     HRESULT rubyAlign([in] BSTR v);
821
822     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
823     HRESULT rubyAlign([out, retval] BSTR *p);
824
825     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
826     HRESULT rubyPosition([in] BSTR v);
827
828     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
829     HRESULT rubyPosition([out, retval] BSTR *p);
830
831     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
832     HRESULT rubyOverhang([in] BSTR v);
833
834     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
835     HRESULT rubyOverhang([out, retval] BSTR *p);
836
837     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
838     HRESULT layoutGridChar([in] VARIANT v);
839
840     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
841     HRESULT layoutGridChar([out, retval] VARIANT *p);
842
843     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
844     HRESULT layoutGridLine([in] VARIANT v);
845
846     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
847     HRESULT layoutGridLine([out, retval] VARIANT *p);
848
849     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
850     HRESULT layoutGridMode([in] BSTR v);
851
852     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
853     HRESULT layoutGridMode([out, retval] BSTR *p);
854
855     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
856     HRESULT layoutGridType([in] BSTR v);
857
858     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
859     HRESULT layoutGridType([out, retval] BSTR *p);
860
861     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
862     HRESULT layoutGrid([in] BSTR v);
863
864     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
865     HRESULT layoutGrid([out, retval] BSTR *p);
866
867     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
868     HRESULT wordBreak([in] BSTR v);
869
870     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
871     HRESULT wordBreak([out, retval] BSTR *p);
872
873     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
874     HRESULT lineBreak([in] BSTR v);
875
876     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
877     HRESULT lineBreak([out, retval] BSTR *p);
878
879     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
880     HRESULT textJustify([in] BSTR v);
881
882     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
883     HRESULT textJustify([out, retval] BSTR *p);
884
885     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
886     HRESULT textJustifyTrim([in] BSTR v);
887
888     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
889     HRESULT textJustifyTrim([out, retval] BSTR *p);
890
891     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
892     HRESULT textKashida([in] VARIANT v);
893
894     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
895     HRESULT textKashida([out, retval] VARIANT *p);
896
897     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
898     HRESULT textAutospace([in] BSTR v);
899
900     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
901     HRESULT textAutospace([out, retval] BSTR *p);
902
903     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
904     HRESULT overflowX([in] BSTR v);
905
906     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
907     HRESULT overflowX([out, retval] BSTR *p);
908
909     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
910     HRESULT overflowY([in] BSTR v);
911
912     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
913     HRESULT overflowY([out, retval] BSTR *p);
914
915     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
916     HRESULT accelerator([in] BSTR v);
917
918     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
919     HRESULT accelerator([out, retval] BSTR *p);
920 }
921
922 /*****************************************************************************
923  *    IHTMLRuleStyle interface
924  */
925 [
926     odl,
927     oleautomation,
928     dual,
929     uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
930 ]
931 interface IHTMLRuleStyle : IDispatch
932 {
933     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
934     HRESULT fontFamily([in] BSTR v);
935
936     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
937     HRESULT fontFamily([retval, out] BSTR *p);
938
939     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
940     HRESULT fontStyle([in] BSTR v);
941
942     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
943     HRESULT fontStyle([retval, out] BSTR *p);
944
945     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
946     HRESULT fontVariant([in] BSTR v);
947
948     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
949     HRESULT fontVariant([retval, out] BSTR *p);
950
951     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
952     HRESULT fontWeight([in] BSTR v);
953
954     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
955     HRESULT fontWeight([retval, out] BSTR *p);
956
957     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
958     HRESULT fontSize([in] VARIANT v);
959
960     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
961     HRESULT fontSize([retval, out] VARIANT *p);
962
963     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
964     HRESULT font([in] BSTR v);
965
966     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
967     HRESULT font([retval, out] BSTR *p);
968
969     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
970     HRESULT color([in] VARIANT v);
971
972     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
973     HRESULT color([retval, out] VARIANT *p);
974
975     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
976     HRESULT background([in] BSTR v);
977
978     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
979     HRESULT background([retval, out] BSTR *p);
980
981     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
982     HRESULT backgroundColor([in] VARIANT v);
983
984     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
985     HRESULT backgroundColor([retval, out] VARIANT *p);
986
987     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
988     HRESULT backgroundImage([in] BSTR v);
989
990     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
991     HRESULT backgroundImage([retval, out] BSTR *p);
992
993     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
994     HRESULT backgroundRepeat([in] BSTR v);
995
996     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
997     HRESULT backgroundRepeat([retval, out] BSTR *p);
998
999     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1000     HRESULT backgroundAttachment([in] BSTR v);
1001
1002     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1003     HRESULT backgroundAttachment([retval, out] BSTR *p);
1004
1005     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1006     HRESULT backgroundPosition([in] BSTR v);
1007
1008     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1009     HRESULT backgroundPosition([retval, out] BSTR *p);
1010
1011     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1012     HRESULT backgroundPositionX([in] VARIANT v);
1013
1014     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1015     HRESULT backgroundPositionX([retval, out] VARIANT *p);
1016
1017     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1018     HRESULT backgroundPositionY([in] VARIANT v);
1019
1020     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1021     HRESULT backgroundPositionY([retval, out] VARIANT *p);
1022
1023     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1024     HRESULT wordSpacing([in] VARIANT v);
1025
1026     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1027     HRESULT wordSpacing([retval, out] VARIANT *p);
1028
1029     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1030     HRESULT letterSpacing([in] VARIANT v);
1031
1032     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1033     HRESULT letterSpacing([retval, out] VARIANT *p);
1034
1035     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1036     HRESULT textDecoration([in] BSTR v);
1037
1038     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1039     HRESULT textDecoration([retval, out] BSTR *p);
1040
1041     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1042     HRESULT textDecorationNone([in] VARIANT_BOOL v);
1043
1044     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1045     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1046
1047     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1048     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1049
1050     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1051     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1052
1053     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1054     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1055
1056     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1057     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1058
1059     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1060     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1061
1062     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1063     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1064
1065     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1066     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1067
1068     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1069     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1070
1071     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1072     HRESULT verticalAlign([in] VARIANT v);
1073
1074     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1075     HRESULT verticalAlign([retval, out] VARIANT *p);
1076
1077     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1078     HRESULT textTransform([in] BSTR v);
1079
1080     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1081     HRESULT textTransform([retval, out] BSTR *p);
1082
1083     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1084     HRESULT textAlign([in] BSTR v);
1085
1086     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1087     HRESULT textAlign([retval, out] BSTR *p);
1088
1089     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1090     HRESULT textIndent([in] VARIANT v);
1091
1092     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1093     HRESULT textIndent([retval, out] VARIANT *p);
1094
1095     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1096     HRESULT lineHeight([in] VARIANT v);
1097
1098     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1099     HRESULT lineHeight([retval, out] VARIANT *p);
1100
1101     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1102     HRESULT marginTop([in] VARIANT v);
1103
1104     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1105     HRESULT marginTop([retval, out] VARIANT *p);
1106
1107     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1108     HRESULT marginRight([in] VARIANT v);
1109
1110     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1111     HRESULT marginRight([retval, out] VARIANT *p);
1112
1113     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1114     HRESULT marginBottom([in] VARIANT v);
1115
1116     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1117     HRESULT marginBottom([retval, out] VARIANT *p);
1118
1119     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1120     HRESULT marginLeft([in] VARIANT v);
1121
1122     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1123     HRESULT marginLeft([retval, out] VARIANT *p);
1124
1125     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1126     HRESULT margin([in] BSTR v);
1127
1128     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1129     HRESULT margin([retval, out] BSTR *p);
1130
1131     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1132     HRESULT paddingTop([in] VARIANT v);
1133
1134     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1135     HRESULT paddingTop([retval, out] VARIANT *p);
1136
1137     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1138     HRESULT paddingRight([in] VARIANT v);
1139
1140     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1141     HRESULT paddingRight([retval, out] VARIANT *p);
1142
1143     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1144     HRESULT paddingBottom([in] VARIANT v);
1145
1146     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1147     HRESULT paddingBottom([retval, out] VARIANT *p);
1148
1149     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1150     HRESULT paddingLeft([in] VARIANT v);
1151
1152     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1153     HRESULT paddingLeft([retval, out] VARIANT *p);
1154
1155     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1156     HRESULT padding([in] BSTR v);
1157
1158     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1159     HRESULT padding([retval, out] BSTR *p);
1160
1161     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1162     HRESULT border([in] BSTR v);
1163
1164     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1165     HRESULT border([retval, out] BSTR *p);
1166
1167     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1168     HRESULT borderTop([in] BSTR v);
1169
1170     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1171     HRESULT borderTop([retval, out] BSTR *p);
1172
1173     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1174     HRESULT borderRight([in] BSTR v);
1175
1176     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1177     HRESULT borderRight([retval, out] BSTR *p);
1178
1179     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1180     HRESULT borderBottom([in] BSTR v);
1181
1182     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1183     HRESULT borderBottom([retval, out] BSTR *p);
1184
1185     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1186     HRESULT borderLeft([in] BSTR v);
1187
1188     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1189     HRESULT borderLeft([retval, out] BSTR *p);
1190
1191     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1192     HRESULT borderColor([in] BSTR v);
1193
1194     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1195     HRESULT borderColor([retval, out] BSTR *p);
1196
1197     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1198     HRESULT borderTopColor([in] VARIANT v);
1199
1200     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1201     HRESULT borderTopColor([retval, out] VARIANT *p);
1202
1203     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1204     HRESULT borderRightColor([in] VARIANT v);
1205
1206     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1207     HRESULT borderRightColor([retval, out] VARIANT *p);
1208
1209     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1210     HRESULT borderBottomColor([in] VARIANT v);
1211
1212     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1213     HRESULT borderBottomColor([retval, out] VARIANT *p);
1214
1215     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1216     HRESULT borderLeftColor([in] VARIANT v);
1217
1218     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1219     HRESULT borderLeftColor([retval, out] VARIANT *p);
1220
1221     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1222     HRESULT borderWidth([in] BSTR v);
1223
1224     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1225     HRESULT borderWidth([retval, out] BSTR *p);
1226
1227     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1228     HRESULT borderTopWidth([in] VARIANT v);
1229
1230     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1231     HRESULT borderTopWidth([retval, out] VARIANT *p);
1232
1233     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1234     HRESULT borderRightWidth([in] VARIANT v);
1235
1236     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1237     HRESULT borderRightWidth([retval, out] VARIANT *p);
1238
1239     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1240     HRESULT borderBottomWidth([in] VARIANT v);
1241
1242     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1243     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1244
1245     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1246     HRESULT borderLeftWidth([in] VARIANT v);
1247
1248     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1249     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1250
1251     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1252     HRESULT borderStyle([in] BSTR v);
1253
1254     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1255     HRESULT borderStyle([retval, out] BSTR *p);
1256
1257     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1258     HRESULT borderTopStyle([in] BSTR v);
1259
1260     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1261     HRESULT borderTopStyle([retval, out] BSTR *p);
1262
1263     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1264     HRESULT borderRightStyle([in] BSTR v);
1265
1266     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1267     HRESULT borderRightStyle([retval, out] BSTR *p);
1268
1269     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1270     HRESULT borderBottomStyle([in] BSTR v);
1271
1272     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1273     HRESULT borderBottomStyle([retval, out] BSTR *p);
1274
1275     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1276     HRESULT borderLeftStyle([in] BSTR v);
1277
1278     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1279     HRESULT borderLeftStyle([retval, out] BSTR *p);
1280
1281     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1282     HRESULT width([in] VARIANT v);
1283
1284     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1285     HRESULT width([retval, out] VARIANT *p);
1286
1287     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1288     HRESULT height([in] VARIANT v);
1289
1290     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1291     HRESULT height([retval, out] VARIANT *p);
1292
1293     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1294     HRESULT styleFloat([in] BSTR v);
1295
1296     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1297     HRESULT styleFloat([retval, out] BSTR *p);
1298
1299     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1300     HRESULT clear([in] BSTR v);
1301
1302     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1303     HRESULT clear([retval, out] BSTR *p);
1304
1305     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1306     HRESULT display([in] BSTR v);
1307
1308     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1309     HRESULT display([retval, out] BSTR *p);
1310
1311     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1312     HRESULT visibility([in] BSTR v);
1313
1314     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1315     HRESULT visibility([retval, out] BSTR *p);
1316
1317     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1318     HRESULT listStyleType([in] BSTR v);
1319
1320     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1321     HRESULT listStyleType([retval, out] BSTR *p);
1322
1323     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1324     HRESULT listStylePosition([in] BSTR v);
1325
1326     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1327     HRESULT listStylePosition([retval, out] BSTR *p);
1328
1329     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1330     HRESULT listStyleImage([in] BSTR v);
1331
1332     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1333     HRESULT listStyleImage([retval, out] BSTR *p);
1334
1335     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1336     HRESULT listStyle([in] BSTR v);
1337
1338     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1339     HRESULT listStyle([retval, out] BSTR *p);
1340
1341     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1342     HRESULT whiteSpace([in] BSTR v);
1343
1344     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1345     HRESULT whiteSpace([retval, out] BSTR *p);
1346
1347     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1348     HRESULT top([in] VARIANT v);
1349
1350     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1351     HRESULT top([retval, out] VARIANT *p);
1352
1353     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1354     HRESULT left([in] VARIANT v);
1355
1356     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1357     HRESULT left([retval, out] VARIANT *p);
1358
1359     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1360     HRESULT position([retval, out] BSTR *p);
1361
1362     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1363     HRESULT zIndex([in] VARIANT v);
1364
1365     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1366     HRESULT zIndex([retval, out] VARIANT *p);
1367
1368     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1369     HRESULT overflow([in] BSTR v);
1370
1371     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1372     HRESULT overflow([retval, out] BSTR *p);
1373
1374     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1375     HRESULT pageBreakBefore([in] BSTR v);
1376
1377     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1378     HRESULT pageBreakBefore([retval, out] BSTR *p);
1379
1380     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1381     HRESULT pageBreakAfter([in] BSTR v);
1382
1383     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1384     HRESULT pageBreakAfter([retval, out] BSTR *p);
1385
1386     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1387     HRESULT cssText([in] BSTR v);
1388
1389     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1390     HRESULT cssText([retval, out] BSTR *p);
1391
1392     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1393     HRESULT cursor([in] BSTR v);
1394
1395     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1396     HRESULT cursor([retval, out] BSTR *p);
1397
1398     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1399     HRESULT clip([in] BSTR v);
1400
1401     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1402     HRESULT clip([retval, out] BSTR *p);
1403
1404     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1405     HRESULT filter([in] BSTR v);
1406
1407     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1408     HRESULT filter([retval, out] BSTR *p);
1409
1410     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1411     HRESULT setAttribute(
1412         [in] BSTR strAttributeName,
1413         [in] VARIANT AttributeValue,
1414         [defaultvalue(1), in] LONG lFlags);
1415
1416     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1417     HRESULT getAttribute(
1418         [in] BSTR strAttributeName,
1419         [defaultvalue(0), in] LONG lFlags,
1420         [retval, out] VARIANT *AttributeValue);
1421
1422     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1423     HRESULT removeAttribute(
1424         [in] BSTR strAttributeName,
1425         [defaultvalue(1), in] LONG lFlags,
1426         [retval, out] VARIANT_BOOL *pfSuccess);
1427 }
1428
1429 /*****************************************************************************
1430  *    DispHTMLStyle dispinterface
1431  */
1432 [
1433     hidden,
1434     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1435 ]
1436 dispinterface DispHTMLStyle
1437 {
1438 properties:
1439 methods:
1440     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1441     void fontFamily(BSTR v);
1442
1443     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1444     BSTR fontFamily();
1445
1446     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1447     void fontStyle(BSTR v);
1448
1449     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1450     BSTR fontStyle();
1451
1452     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1453     void fontVariant(BSTR v);
1454
1455     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1456     BSTR fontVariant();
1457
1458     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1459     void fontWeight(BSTR v);
1460
1461     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1462     BSTR fontWeight();
1463
1464     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1465     void fontSize(VARIANT v);
1466
1467     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1468     VARIANT fontSize();
1469
1470     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1471     void font(BSTR v);
1472
1473     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1474     BSTR font();
1475
1476     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1477     void color(VARIANT v);
1478
1479     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1480     VARIANT color();
1481
1482     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1483     void background(BSTR v);
1484
1485     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1486     BSTR background();
1487
1488     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1489     void backgroundColor(VARIANT v);
1490
1491     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1492     VARIANT backgroundColor();
1493
1494     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1495     void backgroundImage(BSTR v);
1496
1497     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1498     BSTR backgroundImage();
1499
1500     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1501     void backgroundRepeat(BSTR v);
1502
1503     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1504     BSTR backgroundRepeat();
1505
1506     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1507     void backgroundAttachment(BSTR v);
1508
1509     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1510     BSTR backgroundAttachment();
1511
1512     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1513     void backgroundPosition(BSTR v);
1514
1515     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1516     BSTR backgroundPosition();
1517
1518     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1519     void backgroundPositionX(VARIANT v);
1520
1521     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1522     VARIANT backgroundPositionX();
1523
1524     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1525     void backgroundPositionY(VARIANT v);
1526
1527     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1528     VARIANT backgroundPositionY();
1529
1530     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1531     void wordSpacing(VARIANT v);
1532
1533     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1534     VARIANT wordSpacing();
1535
1536     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1537     void letterSpacing(VARIANT v);
1538
1539     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1540     VARIANT letterSpacing();
1541
1542     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1543     void textDecoration(BSTR v);
1544
1545     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1546     BSTR textDecoration();
1547
1548     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1549     void textDecorationNone(VARIANT_BOOL v);
1550
1551     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1552     VARIANT_BOOL textDecorationNone();
1553
1554     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1555     void textDecorationUnderline(VARIANT_BOOL v);
1556
1557     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1558     VARIANT_BOOL textDecorationUnderline();
1559
1560     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1561     void textDecorationOverline(VARIANT_BOOL v);
1562
1563     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1564     VARIANT_BOOL textDecorationOverline();
1565
1566     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1567     void textDecorationLineThrough(VARIANT_BOOL v);
1568
1569     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1570     VARIANT_BOOL textDecorationLineThrough();
1571
1572     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1573     void textDecorationBlink(VARIANT_BOOL v);
1574
1575     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1576     VARIANT_BOOL textDecorationBlink();
1577
1578     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1579     void verticalAlign(VARIANT v);
1580
1581     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1582     VARIANT verticalAlign();
1583
1584     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1585     void textTransform(BSTR v);
1586
1587     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1588     BSTR textTransform();
1589
1590     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1591     void textAlign(BSTR v);
1592
1593     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1594     BSTR textAlign();
1595
1596     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1597     void textIndent(VARIANT v);
1598
1599     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1600     VARIANT textIndent();
1601
1602     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1603     void lineHeight(VARIANT v);
1604
1605     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1606     VARIANT lineHeight();
1607
1608     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1609     void marginTop(VARIANT v);
1610
1611     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1612     VARIANT marginTop();
1613
1614     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1615     void marginRight(VARIANT v);
1616
1617     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1618     VARIANT marginRight();
1619
1620     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1621     void marginBottom(VARIANT v);
1622
1623     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1624     VARIANT marginBottom();
1625
1626     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1627     void marginLeft(VARIANT v);
1628
1629     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1630     VARIANT marginLeft();
1631
1632     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1633     void margin(BSTR v);
1634
1635     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1636     BSTR margin();
1637
1638     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1639     void paddingTop(VARIANT v);
1640
1641     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1642     VARIANT paddingTop();
1643
1644     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1645     void paddingRight(VARIANT v);
1646
1647     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1648     VARIANT paddingRight();
1649
1650     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1651     void paddingBottom(VARIANT v);
1652
1653     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1654     VARIANT paddingBottom();
1655
1656     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1657     void paddingLeft(VARIANT v);
1658
1659     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1660     VARIANT paddingLeft();
1661
1662     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1663     void padding(BSTR v);
1664
1665     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1666     BSTR padding();
1667
1668     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1669     void border(BSTR v);
1670
1671     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1672     BSTR border();
1673
1674     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1675     void borderTop(BSTR v);
1676
1677     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1678     BSTR borderTop();
1679
1680     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1681     void borderRight(BSTR v);
1682
1683     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1684     BSTR borderRight();
1685
1686     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1687     void borderBottom(BSTR v);
1688
1689     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1690     BSTR borderBottom();
1691
1692     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1693     void borderLeft(BSTR v);
1694
1695     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1696     BSTR borderLeft();
1697
1698     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1699     void borderColor(BSTR v);
1700
1701     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1702     BSTR borderColor();
1703
1704     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1705     void borderTopColor(VARIANT v);
1706
1707     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1708     VARIANT borderTopColor();
1709
1710     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1711     void borderRightColor(VARIANT v);
1712
1713     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1714     VARIANT borderRightColor();
1715
1716     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1717     void borderBottomColor(VARIANT v);
1718
1719     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1720     VARIANT borderBottomColor();
1721
1722     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1723     void borderLeftColor(VARIANT v);
1724
1725     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1726     VARIANT borderLeftColor();
1727
1728     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1729     void borderWidth(BSTR v);
1730
1731     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1732     BSTR borderWidth();
1733
1734     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1735     void borderTopWidth(VARIANT v);
1736
1737     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1738     VARIANT borderTopWidth();
1739
1740     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1741     void borderRightWidth(VARIANT v);
1742
1743     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1744     VARIANT borderRightWidth();
1745
1746     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1747     void borderBottomWidth(VARIANT v);
1748
1749     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1750     VARIANT borderBottomWidth();
1751
1752     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1753     void borderLeftWidth(VARIANT v);
1754
1755     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1756     VARIANT borderLeftWidth();
1757
1758     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1759     void borderStyle(BSTR v);
1760
1761     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1762     BSTR borderStyle();
1763
1764     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1765     void borderTopStyle(BSTR v);
1766
1767     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1768     BSTR borderTopStyle();
1769
1770     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1771     void borderRightStyle(BSTR v);
1772
1773     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1774     BSTR borderRightStyle();
1775
1776     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1777     void borderBottomStyle(BSTR v);
1778
1779     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1780     BSTR borderBottomStyle();
1781
1782     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1783     void borderLeftStyle(BSTR v);
1784
1785     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1786     BSTR borderLeftStyle();
1787
1788     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1789     void width(VARIANT v);
1790
1791     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1792     VARIANT width();
1793
1794     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1795     void height(VARIANT v);
1796
1797     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1798     VARIANT height();
1799
1800     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1801     void styleFloat(BSTR v);
1802
1803     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1804     BSTR styleFloat();
1805
1806     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1807     void clear(BSTR v);
1808
1809     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1810     BSTR clear();
1811
1812     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1813     void display(BSTR v);
1814
1815     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1816     BSTR display();
1817
1818     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1819     void visibility(BSTR v);
1820
1821     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1822     BSTR visibility();
1823
1824     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1825     void listStyleType(BSTR v);
1826
1827     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1828     BSTR listStyleType();
1829
1830     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1831     void listStylePosition(BSTR v);
1832
1833     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1834     BSTR listStylePosition();
1835
1836     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1837     void listStyleImage(BSTR v);
1838
1839     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1840     BSTR listStyleImage();
1841
1842     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1843     void listStyle(BSTR v);
1844
1845     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1846     BSTR listStyle();
1847
1848     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1849     void whiteSpace(BSTR v);
1850
1851     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1852     BSTR whiteSpace();
1853
1854     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1855     void top(VARIANT v);
1856
1857     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1858     VARIANT top();
1859
1860     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1861     void left(VARIANT v);
1862
1863     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1864     VARIANT left();
1865
1866     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1867     void zIndex(VARIANT v);
1868
1869     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1870     VARIANT zIndex();
1871
1872     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1873     void overflow(BSTR v);
1874
1875     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1876     BSTR overflow();
1877
1878     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1879     void pageBreakBefore(BSTR v);
1880
1881     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1882     BSTR pageBreakBefore();
1883
1884     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1885     void pageBreakAfter(BSTR v);
1886
1887     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1888     BSTR pageBreakAfter();
1889
1890     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1891     void cssText(BSTR v);
1892
1893     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1894     BSTR cssText();
1895
1896     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1897     void pixelTop(LONG v);
1898
1899     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1900     LONG pixelTop();
1901
1902     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1903     void pixelLeft(LONG v);
1904
1905     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1906     LONG pixelLeft();
1907
1908     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1909     void pixelWidth(LONG v);
1910
1911     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1912     LONG pixelWidth();
1913
1914     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1915     void pixelHeight(LONG v);
1916
1917     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1918     LONG pixelHeight();
1919
1920     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1921     void posTop(float v);
1922
1923     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1924     float posTop();
1925
1926     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1927     void posLeft(float v);
1928
1929     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1930     float posLeft();
1931
1932     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1933     void posWidth(float v);
1934
1935     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1936     float posWidth();
1937
1938     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1939     void posHeight(float v);
1940
1941     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1942     float posHeight();
1943
1944     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1945     void cursor(BSTR v);
1946
1947     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1948     BSTR cursor();
1949
1950     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1951     void clip(BSTR v);
1952
1953     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1954     BSTR clip();
1955
1956     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1957     void filter(BSTR v);
1958
1959     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1960     BSTR filter();
1961
1962     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1963     void setAttribute(
1964             [in] BSTR strAttributeName,
1965             [in] VARIANT AttributeValue,
1966             [in, defaultvalue(1)] LONG lFlags);
1967
1968     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1969     VARIANT getAttribute(
1970             [in] BSTR strAttributeName,
1971             [in, defaultvalue(0)] LONG lFlags);
1972
1973     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1974     VARIANT_BOOL removeAttribute(
1975             [in] BSTR strAttributeName,
1976             [in, defaultvalue(1)] LONG lFlags);
1977
1978     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1979     BSTR toString();
1980
1981     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1982     void tableLayout(BSTR v);
1983
1984     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1985     BSTR tableLayout();
1986
1987     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1988     void borderCollapse(BSTR v);
1989
1990     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1991     BSTR borderCollapse();
1992
1993     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1994     void direction(BSTR v);
1995
1996     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1997     BSTR direction();
1998
1999     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2000     void behavior(BSTR v);
2001
2002     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2003     BSTR behavior();
2004
2005     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
2006     void setExpression(
2007             [in] BSTR propname,
2008             [in] BSTR expression,
2009             [in, defaultvalue("")] BSTR language);
2010
2011     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
2012     VARIANT getExpression([in] BSTR propname);
2013
2014     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
2015     VARIANT_BOOL removeExpression([in] BSTR propname);
2016
2017     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2018     void position(BSTR v);
2019
2020     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2021     BSTR position();
2022
2023     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2024     void unicodeBidi(BSTR v);
2025
2026     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2027     BSTR unicodeBidi();
2028
2029     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2030     void bottom(VARIANT v);
2031
2032     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2033     VARIANT bottom();
2034
2035     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2036     void right(VARIANT v);
2037
2038     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2039     VARIANT right();
2040
2041     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2042     void pixelBottom(LONG v);
2043
2044     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2045     LONG pixelBottom();
2046
2047     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2048     void pixelRight(LONG v);
2049
2050     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2051     LONG pixelRight();
2052
2053     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2054     void posBottom(float v);
2055
2056     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2057     float posBottom();
2058
2059     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2060     void posRight(float v);
2061
2062     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2063     float posRight();
2064
2065     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2066     void imeMode(BSTR v);
2067
2068     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2069     BSTR imeMode();
2070
2071     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2072     void rubyAlign(BSTR v);
2073
2074     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2075     BSTR rubyAlign();
2076
2077     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2078     void rubyPosition(BSTR v);
2079
2080     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2081     BSTR rubyPosition();
2082
2083     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2084     void rubyOverhang(BSTR v);
2085
2086     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2087     BSTR rubyOverhang();
2088
2089     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2090     void layoutGridChar(VARIANT v);
2091
2092     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2093     VARIANT layoutGridChar();
2094
2095     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2096     void layoutGridLine(VARIANT v);
2097
2098     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2099     VARIANT layoutGridLine();
2100
2101     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2102     void layoutGridMode(BSTR v);
2103
2104     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2105     BSTR layoutGridMode();
2106
2107     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2108     void layoutGridType(BSTR v);
2109
2110     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2111     BSTR layoutGridType();
2112
2113     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2114     void layoutGrid(BSTR v);
2115
2116     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2117     BSTR layoutGrid();
2118
2119     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2120     void wordBreak(BSTR v);
2121
2122     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2123     BSTR wordBreak();
2124
2125     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2126     void lineBreak(BSTR v);
2127
2128     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2129     BSTR lineBreak();
2130
2131     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2132     void textJustify(BSTR v);
2133
2134     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2135     BSTR textJustify();
2136
2137     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2138     void textJustifyTrim(BSTR v);
2139
2140     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2141     BSTR textJustifyTrim();
2142
2143     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2144     void textKashida(VARIANT v);
2145
2146     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2147     VARIANT textKashida();
2148
2149     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2150     void textAutospace(BSTR v);
2151
2152     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2153     BSTR textAutospace();
2154
2155     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2156     void overflowX(BSTR v);
2157
2158     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2159     BSTR overflowX();
2160
2161     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2162     void overflowY(BSTR v);
2163
2164     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2165     BSTR overflowY();
2166
2167     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2168     void accelerator(BSTR v);
2169
2170     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2171     BSTR accelerator();
2172
2173     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2174     void layoutFlow(BSTR v);
2175
2176     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2177     BSTR layoutFlow();
2178
2179     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2180     void zoom(VARIANT v);
2181
2182     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2183     VARIANT zoom();
2184
2185     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2186     void wordWrap(BSTR v);
2187
2188     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2189     BSTR wordWrap();
2190
2191     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2192     void textUnderlinePosition(BSTR v);
2193
2194     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2195     BSTR textUnderlinePosition();
2196
2197     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2198     void scrollbarBaseColor(VARIANT v);
2199
2200     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2201     VARIANT scrollbarBaseColor();
2202
2203     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2204     void scrollbarFaceColor(VARIANT v);
2205
2206     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2207     VARIANT scrollbarFaceColor();
2208
2209     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2210     void scrollbar3dLightColor(VARIANT v);
2211
2212     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2213     VARIANT scrollbar3dLightColor();
2214
2215     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2216     void scrollbarShadowColor(VARIANT v);
2217
2218     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2219     VARIANT scrollbarShadowColor();
2220
2221     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2222     void scrollbarHighlightColor(VARIANT v);
2223
2224     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2225     VARIANT scrollbarHighlightColor();
2226
2227     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2228     void scrollbarDarkShadowColor(VARIANT v);
2229
2230     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2231     VARIANT scrollbarDarkShadowColor();
2232
2233     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2234     void scrollbarArrowColor(VARIANT v);
2235
2236     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2237     VARIANT scrollbarArrowColor();
2238
2239     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2240     void scrollbarTrackColor(VARIANT v);
2241
2242     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2243     VARIANT scrollbarTrackColor();
2244
2245     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2246     void writingMode(BSTR v);
2247
2248     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2249     BSTR writingMode();
2250
2251     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2252     void textAlignLast(BSTR v);
2253
2254     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2255     BSTR textAlignLast();
2256
2257     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2258     void textKashidaSpace(VARIANT v);
2259
2260     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2261     VARIANT textKashidaSpace();
2262
2263     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2264     void textOverflow(BSTR v);
2265
2266     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2267     BSTR textOverflow();
2268
2269     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2270     void minHeight(VARIANT v);
2271
2272     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2273     VARIANT minHeight();
2274 }
2275
2276 [
2277     odl,
2278     oleautomation,
2279     dual,
2280     uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2281 ]
2282 interface IHTMLStyle3 : IDispatch
2283 {
2284     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2285     HRESULT layoutFlow([in] BSTR v);
2286
2287     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2288     HRESULT layoutFlow([retval, out] BSTR * p);
2289
2290     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2291     HRESULT zoom([in] VARIANT v);
2292
2293     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2294     HRESULT zoom([retval, out] VARIANT * p);
2295
2296     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2297     HRESULT wordWrap([in] BSTR v);
2298
2299     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2300     HRESULT wordWrap([retval, out] BSTR * p);
2301
2302     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2303     HRESULT textUnderlinePosition([in] BSTR v);
2304
2305     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2306     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2307
2308     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2309     HRESULT scrollbarBaseColor([in] VARIANT v);
2310
2311     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2312     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2313
2314     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2315     HRESULT scrollbarFaceColor([in] VARIANT v);
2316
2317     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2318     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2319
2320     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2321     HRESULT scrollbar3dLightColor([in] VARIANT v);
2322
2323     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2324     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2325
2326     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2327     HRESULT scrollbarShadowColor([in] VARIANT v);
2328
2329     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2330     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2331
2332     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2333     HRESULT scrollbarHighlightColor([in] VARIANT v);
2334
2335     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2336     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2337
2338     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2339     HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2340
2341     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2342     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2343
2344     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2345     HRESULT scrollbarArrowColor([in] VARIANT v);
2346
2347     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2348     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2349
2350     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2351     HRESULT scrollbarTrackColor([in] VARIANT v);
2352
2353     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2354     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2355
2356     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2357     HRESULT writingMode([in] BSTR v);
2358
2359     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2360     HRESULT writingMode([retval, out] BSTR * p);
2361
2362     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2363     HRESULT textAlignLast([in] BSTR v);
2364
2365     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2366     HRESULT textAlignLast([retval, out] BSTR * p);
2367
2368     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2369     HRESULT textKashidaSpace([in] VARIANT v);
2370
2371     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2372     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2373 }
2374
2375 /*****************************************************************************
2376  *    IHTMLSytyle4 interface
2377  */
2378 [
2379     odl,
2380     oleautomation,
2381     dual,
2382     uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2383 ]
2384 interface IHTMLStyle4 : IDispatch
2385 {
2386     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2387     HRESULT textOverflow([in] BSTR v);
2388
2389     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2390     HRESULT textOverflow([retval, out] BSTR * p);
2391
2392     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2393     HRESULT minHeight([in] VARIANT v);
2394
2395     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2396     HRESULT minHeight([retval, out] VARIANT * p);
2397 }
2398
2399 [
2400     noncreatable,
2401     uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2402 ]
2403 coclass HTMLStyle
2404 {
2405     [default] dispinterface DispHTMLStyle;
2406     interface IHTMLStyle;
2407     interface IHTMLStyle2;
2408     interface IHTMLStyle3;
2409     interface IHTMLStyle4;
2410     /* interface IHTMLStyle5; */
2411 }
2412
2413 /*****************************************************************************
2414  *    IHTMLRenderStyle interface
2415  */
2416 [
2417     odl,
2418     oleautomation,
2419     dual,
2420     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2421 ]
2422 interface IHTMLRenderStyle : IDispatch
2423 {
2424     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2425     HRESULT textLineThroughStyle([in] BSTR v);
2426
2427     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2428     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2429
2430     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2431     HRESULT textUnderlineStyle([in] BSTR v);
2432
2433     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2434     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2435
2436     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2437     HRESULT textEffect([in] BSTR v);
2438
2439     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2440     HRESULT textEffect([retval, out] BSTR *p);
2441
2442     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2443     HRESULT textColor([in] VARIANT v);
2444
2445     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2446     HRESULT textColor([retval, out] VARIANT *p);
2447
2448     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2449     HRESULT textBackgroundColor([in] VARIANT v);
2450
2451     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2452     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2453
2454     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2455     HRESULT textDecorationColor([in] VARIANT v);
2456
2457     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2458     HRESULT textDecorationColor([retval, out] VARIANT *p);
2459
2460     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2461     HRESULT renderingPriority([in] LONG v);
2462
2463     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2464     HRESULT renderingPriority([retval, out] LONG *p);
2465
2466     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2467     HRESULT defaultTextSelection([in] BSTR v);
2468
2469     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2470     HRESULT defaultTextSelection([retval, out] BSTR *p);
2471
2472     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2473     HRESULT textDecoration([in] BSTR v);
2474
2475     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2476     HRESULT textDecoration([retval, out] BSTR *p);
2477 }
2478
2479 /*****************************************************************************
2480  *    IHTMLCurrentStyle interface
2481  */
2482 [
2483     odl,
2484     oleautomation,
2485     dual,
2486     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2487 ]
2488 interface IHTMLCurrentStyle : IDispatch
2489 {
2490     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2491     HRESULT position([retval, out] BSTR *p);
2492
2493     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2494     HRESULT styleFloat([retval, out] BSTR *p);
2495
2496     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2497     HRESULT color([retval, out] VARIANT *p);
2498
2499     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2500     HRESULT backgroundColor([retval, out] VARIANT *p);
2501
2502     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2503     HRESULT fontFamily([retval, out] BSTR *p);
2504
2505     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2506     HRESULT fontStyle([retval, out] BSTR *p);
2507
2508     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2509     HRESULT fontVariant([retval, out] BSTR *p);
2510
2511     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2512     HRESULT fontWeight([retval, out] VARIANT *p);
2513
2514     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2515     HRESULT fontSize([retval, out] VARIANT *p);
2516
2517     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2518     HRESULT backgroundImage([retval, out] BSTR *p);
2519
2520     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2521     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2522
2523     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2524     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2525
2526     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2527     HRESULT backgroundRepeat([retval, out] BSTR *p);
2528
2529     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2530     HRESULT borderLeftColor([retval, out] VARIANT *p);
2531
2532     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2533     HRESULT borderTopColor([retval, out] VARIANT *p);
2534
2535     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2536     HRESULT borderRightColor([retval, out] VARIANT *p);
2537
2538     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2539     HRESULT borderBottomColor([retval, out] VARIANT *p);
2540
2541     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2542     HRESULT borderTopStyle([retval, out] BSTR *p);
2543
2544     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2545     HRESULT borderRightStyle([retval, out] BSTR *p);
2546
2547     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2548     HRESULT borderBottomStyle([retval, out] BSTR *p);
2549
2550     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2551     HRESULT borderLeftStyle([retval, out] BSTR *p);
2552
2553     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2554     HRESULT borderTopWidth([retval, out] VARIANT *p);
2555
2556     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2557     HRESULT borderRightWidth([retval, out] VARIANT *p);
2558
2559     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2560     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2561
2562     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2563     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2564
2565     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2566     HRESULT left([retval, out] VARIANT *p);
2567
2568     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2569     HRESULT top([retval, out] VARIANT *p);
2570
2571     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2572     HRESULT width([retval, out] VARIANT *p);
2573
2574     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2575     HRESULT height([retval, out] VARIANT *p);
2576
2577     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2578     HRESULT paddingLeft([retval, out] VARIANT *p);
2579
2580     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2581     HRESULT paddingTop([retval, out] VARIANT *p);
2582
2583     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2584     HRESULT paddingRight([retval, out] VARIANT *p);
2585
2586     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2587     HRESULT paddingBottom([retval, out] VARIANT *p);
2588
2589     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2590     HRESULT textAlign([retval, out] BSTR *p);
2591
2592     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2593     HRESULT textDecoration([retval, out] BSTR *p);
2594
2595     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2596     HRESULT display([retval, out] BSTR *p);
2597
2598     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2599     HRESULT visibility([retval, out] BSTR *p);
2600
2601     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2602     HRESULT zIndex([retval, out] VARIANT *p);
2603
2604     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2605     HRESULT letterSpacing([retval, out] VARIANT *p);
2606
2607     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2608     HRESULT lineHeight([retval, out] VARIANT *p);
2609
2610     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2611     HRESULT textIndent([retval, out] VARIANT *p);
2612
2613     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2614     HRESULT verticalAlign([retval, out] VARIANT *p);
2615
2616     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2617     HRESULT backgroundAttachment([retval, out] BSTR *p);
2618
2619     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2620     HRESULT marginTop([retval, out] VARIANT *p);
2621
2622     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2623     HRESULT marginRight([retval, out] VARIANT *p);
2624
2625     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2626     HRESULT marginBottom([retval, out] VARIANT *p);
2627
2628     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2629     HRESULT marginLeft([retval, out] VARIANT *p);
2630
2631     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2632     HRESULT clear([retval, out] BSTR *p);
2633
2634     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2635     HRESULT listStyleType([retval, out] BSTR *p);
2636
2637     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2638     HRESULT listStylePosition([retval, out] BSTR *p);
2639
2640     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2641     HRESULT listStyleImage([retval, out] BSTR *p);
2642
2643     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2644     HRESULT clipTop([retval, out] VARIANT *p);
2645
2646     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2647     HRESULT clipRight([retval, out] VARIANT *p);
2648
2649     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2650     HRESULT clipBottom([retval, out] VARIANT *p);
2651
2652     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2653     HRESULT clipLeft([retval, out] VARIANT *p);
2654
2655     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2656     HRESULT overflow([retval, out] BSTR *p);
2657
2658     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2659     HRESULT pageBreakBefore([retval, out] BSTR *p);
2660
2661     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2662     HRESULT pageBreakAfter([retval, out] BSTR *p);
2663
2664     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2665     HRESULT cursor([retval, out] BSTR *p);
2666
2667     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2668     HRESULT tableLayout([retval, out] BSTR *p);
2669
2670     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2671     HRESULT borderCollapse([retval, out] BSTR *p);
2672
2673     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2674     HRESULT direction([retval, out] BSTR *p);
2675
2676     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2677     HRESULT behavior([retval, out] BSTR *p);
2678
2679     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2680     HRESULT getAttribute(
2681         [in] BSTR strAttributeName,
2682         [defaultvalue(0), in] LONG lFlags,
2683         [retval, out] VARIANT *AttributeValue);
2684
2685     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2686     HRESULT unicodeBidi([retval, out] BSTR *p);
2687
2688     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2689     HRESULT right([retval, out] VARIANT *p);
2690
2691     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2692     HRESULT bottom([retval, out] VARIANT *p);
2693
2694     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2695     HRESULT imeMode([retval, out] BSTR *p);
2696
2697     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2698     HRESULT rubyAlign([retval, out] BSTR *p);
2699
2700     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2701     HRESULT rubyPosition([retval, out] BSTR *p);
2702
2703     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2704     HRESULT rubyOverhang([retval, out] BSTR *p);
2705
2706     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2707     HRESULT textAutospace([retval, out] BSTR *p);
2708
2709     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2710     HRESULT lineBreak([retval, out] BSTR *p);
2711
2712     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2713     HRESULT wordBreak([retval, out] BSTR *p);
2714
2715     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2716     HRESULT textJustify([retval, out] BSTR *p);
2717
2718     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2719     HRESULT textJustifyTrim([retval, out] BSTR *p);
2720
2721     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2722     HRESULT textKashida([retval, out] VARIANT *p);
2723
2724     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2725     HRESULT blockDirection([retval, out] BSTR *p);
2726
2727     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2728     HRESULT layoutGridChar([retval, out] VARIANT *p);
2729
2730     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
2731     HRESULT layoutGridLine([retval, out] VARIANT *p);
2732
2733     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
2734     HRESULT layoutGridMode([retval, out] BSTR *p);
2735
2736     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
2737     HRESULT layoutGridType([retval, out] BSTR *p);
2738
2739     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
2740     HRESULT borderStyle([retval, out] BSTR *p);
2741
2742     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
2743     HRESULT borderColor([retval, out] BSTR *p);
2744
2745     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
2746     HRESULT borderWidth([retval, out] BSTR *p);
2747
2748     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
2749     HRESULT padding([retval, out] BSTR *p);
2750
2751     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
2752     HRESULT margin([retval, out] BSTR *p);
2753
2754     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
2755     HRESULT accelerator([retval, out] BSTR *p);
2756
2757     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
2758     HRESULT overflowX([retval, out] BSTR *p);
2759
2760     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
2761     HRESULT overflowY([retval, out] BSTR *p);
2762
2763     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
2764     HRESULT textTransform([retval, out] BSTR *p);
2765 }
2766
2767 /*****************************************************************************
2768  *    IHTMLCurrentStyle2 interface
2769  */
2770 [
2771     odl,
2772     oleautomation,
2773     dual,
2774     uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
2775 ]
2776 interface IHTMLCurrentStyle2 : IDispatch
2777 {
2778     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
2779     HRESULT layoutFlow([retval, out] BSTR * p);
2780
2781     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
2782     HRESULT wordWrap([retval, out] BSTR * p);
2783
2784     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
2785     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2786
2787     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
2788     HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
2789
2790     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
2791     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2792
2793     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
2794     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2795
2796     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2797     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2798
2799     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2800     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2801
2802     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2803     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2804
2805     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2806     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2807
2808     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
2809     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2810
2811     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
2812     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2813
2814     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
2815     HRESULT writingMode([retval, out] BSTR * p);
2816
2817     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
2818     HRESULT zoom([retval, out] VARIANT * p);
2819
2820     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
2821     HRESULT filter([retval, out] BSTR * p);
2822
2823     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
2824     HRESULT textAlignLast([retval, out] BSTR * p);
2825
2826     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
2827     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2828
2829     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
2830     HRESULT isBlock([retval, out] VARIANT_BOOL * p);
2831 }
2832
2833 /*****************************************************************************
2834  *    IHTMLCurrentStyle3 interface
2835  */
2836 [
2837     odl,
2838     oleautomation,
2839     dual,
2840     uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
2841 ]
2842 interface IHTMLCurrentStyle3 : IDispatch
2843 {
2844     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
2845     HRESULT textOverflow([retval, out] BSTR * p);
2846
2847     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
2848     HRESULT minHeight([retval, out] VARIANT * p);
2849
2850     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
2851     HRESULT wordSpacing([retval, out] VARIANT * p);
2852
2853     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
2854     HRESULT whiteSpace([retval, out] BSTR * p);
2855 }
2856
2857 /*****************************************************************************
2858  *    IHTMLCurrentStyle4 interface
2859  */
2860 [
2861     odl,
2862     oleautomation,
2863     dual,
2864     uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
2865 ]
2866 interface IHTMLCurrentStyle4 : IDispatch
2867 {
2868     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
2869     HRESULT msInterpolationMode([retval, out] BSTR * p);
2870
2871     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
2872     HRESULT maxHeight([retval, out] VARIANT * p);
2873
2874     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
2875     HRESULT minWidth([retval, out] VARIANT * p);
2876
2877     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
2878     HRESULT maxWidth([retval, out] VARIANT * p);
2879 };
2880
2881 /*****************************************************************************
2882  *    DispHTMLCurrentStyle dispinterface
2883  */
2884 [
2885     hidden,
2886     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
2887 ]
2888 dispinterface DispHTMLCurrentStyle
2889 {
2890 properties:
2891 methods:
2892     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2893     BSTR position();
2894
2895     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2896     BSTR styleFloat();
2897
2898     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2899     VARIANT color();
2900
2901     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2902     VARIANT backgroundColor();
2903
2904     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2905     BSTR fontFamily();
2906
2907     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2908     BSTR fontStyle();
2909
2910     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2911     BSTR fontVariant();
2912
2913     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2914     VARIANT fontWeight();
2915
2916     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2917     VARIANT fontSize();
2918
2919     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2920     BSTR backgroundImage();
2921
2922     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2923     VARIANT backgroundPositionX();
2924
2925     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2926     VARIANT backgroundPositionY();
2927
2928     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2929     BSTR backgroundRepeat();
2930
2931     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2932     VARIANT borderLeftColor();
2933
2934     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2935     VARIANT borderTopColor();
2936
2937     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2938     VARIANT borderRightColor();
2939
2940     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2941     VARIANT borderBottomColor();
2942
2943     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2944     BSTR borderTopStyle();
2945
2946     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2947     BSTR borderRightStyle();
2948
2949     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2950     BSTR borderBottomStyle();
2951
2952     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2953     BSTR borderLeftStyle();
2954
2955     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2956     VARIANT borderTopWidth();
2957
2958     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2959     VARIANT borderRightWidth();
2960
2961     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2962     VARIANT borderBottomWidth();
2963
2964     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2965     VARIANT borderLeftWidth();
2966
2967     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2968     VARIANT left();
2969
2970     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2971     VARIANT top();
2972
2973     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2974     VARIANT width();
2975
2976     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2977     VARIANT height();
2978
2979     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2980     VARIANT paddingLeft();
2981
2982     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2983     VARIANT paddingTop();
2984
2985     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2986     VARIANT paddingRight();
2987
2988     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2989     VARIANT paddingBottom();
2990
2991     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2992     BSTR textAlign();
2993
2994     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2995     BSTR textDecoration();
2996
2997     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2998     BSTR display();
2999
3000     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
3001     BSTR visibility();
3002
3003     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
3004     VARIANT zIndex();
3005
3006     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
3007     VARIANT letterSpacing();
3008
3009     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
3010     VARIANT lineHeight();
3011
3012     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
3013     VARIANT textIndent();
3014
3015     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
3016     VARIANT verticalAlign();
3017
3018     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
3019     BSTR backgroundAttachment();
3020
3021     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
3022     VARIANT marginTop();
3023
3024     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3025     VARIANT marginRight();
3026
3027     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3028     VARIANT marginBottom();
3029
3030     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3031     VARIANT marginLeft();
3032
3033     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3034     BSTR clear();
3035
3036     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3037     BSTR listStyleType();
3038
3039     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3040     BSTR listStylePosition();
3041
3042     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3043     BSTR listStyleImage();
3044
3045     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3046     VARIANT clipTop();
3047
3048     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3049     VARIANT clipRight();
3050
3051     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3052     VARIANT clipBottom();
3053
3054     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3055     VARIANT clipLeft();
3056
3057     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3058     BSTR overflow();
3059
3060     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3061     BSTR pageBreakBefore();
3062
3063     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3064     BSTR pageBreakAfter();
3065
3066     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3067     BSTR cursor();
3068
3069     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3070     BSTR tableLayout();
3071
3072     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3073     BSTR borderCollapse();
3074
3075     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3076     BSTR direction();
3077
3078     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3079     BSTR behavior();
3080
3081     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3082     VARIANT getAttribute(
3083             [in] BSTR strAttributeName,
3084             [in, defaultvalue(0)] LONG lFlags);
3085
3086     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3087     BSTR unicodeBidi();
3088
3089     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3090     VARIANT right();
3091
3092     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3093     VARIANT bottom();
3094
3095     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3096     BSTR imeMode();
3097
3098     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3099     BSTR rubyAlign();
3100
3101     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3102     BSTR rubyPosition();
3103
3104     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3105     BSTR rubyOverhang();
3106
3107     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3108     BSTR textAutospace();
3109
3110     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3111     BSTR lineBreak();
3112
3113     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3114     BSTR wordBreak();
3115
3116     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3117     BSTR textJustify();
3118
3119     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3120     BSTR textJustifyTrim();
3121
3122     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3123     VARIANT textKashida();
3124
3125     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3126     BSTR blockDirection();
3127
3128     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3129     VARIANT layoutGridChar();
3130
3131     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3132     VARIANT layoutGridLine();
3133
3134     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3135     BSTR layoutGridMode();
3136
3137     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3138     BSTR layoutGridType();
3139
3140     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3141     BSTR borderStyle();
3142
3143     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3144     BSTR borderColor();
3145
3146     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3147     BSTR borderWidth();
3148
3149     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3150     BSTR padding();
3151
3152     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3153     BSTR margin();
3154
3155     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3156     BSTR accelerator();
3157
3158     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3159     BSTR overflowX();
3160
3161     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3162     BSTR overflowY();
3163
3164     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3165     BSTR textTransform();
3166
3167     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3168     BSTR layoutFlow();
3169
3170     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3171     BSTR wordWrap();
3172
3173     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3174     BSTR textUnderlinePosition();
3175
3176     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3177     VARIANT_BOOL hasLayout();
3178
3179     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3180     VARIANT scrollbarBaseColor();
3181
3182     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3183     VARIANT scrollbarFaceColor();
3184
3185     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3186     VARIANT scrollbar3dLightColor();
3187
3188     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3189     VARIANT scrollbarShadowColor();
3190
3191     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3192     VARIANT scrollbarHighlightColor();
3193
3194     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3195     VARIANT scrollbarDarkShadowColor();
3196
3197     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3198     VARIANT scrollbarArrowColor();
3199
3200     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3201     VARIANT scrollbarTrackColor();
3202
3203     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3204     BSTR writingMode();
3205
3206     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3207     VARIANT zoom();
3208
3209     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3210     BSTR filter();
3211
3212     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3213     BSTR textAlignLast();
3214
3215     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3216     VARIANT textKashidaSpace();
3217
3218     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3219     VARIANT_BOOL isBlock();
3220
3221     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3222     BSTR textOverflow();
3223
3224     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3225     VARIANT minHeight();
3226
3227     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3228     VARIANT wordSpacing();
3229
3230     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3231     BSTR whiteSpace();
3232
3233     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3234     BSTR msInterpolationMode();
3235
3236     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3237     VARIANT maxHeight();
3238
3239     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3240     VARIANT minWidth();
3241
3242     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3243     VARIANT maxWidth();
3244 }
3245
3246 [
3247     noncreatable,
3248     uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3249 ]
3250 coclass HTMLCurrentStyle
3251 {
3252     [default] dispinterface DispHTMLCurrentStyle;
3253     interface IHTMLCurrentStyle;
3254     interface IHTMLCurrentStyle2;
3255     interface IHTMLCurrentStyle3;
3256     interface IHTMLCurrentStyle4;
3257 }
3258
3259 /*****************************************************************************
3260  *    IHTMLRect interface
3261  */
3262 [
3263     odl,
3264     oleautomation,
3265     dual,
3266     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3267 ]
3268 interface IHTMLRect : IDispatch
3269 {
3270     [propput, id(DISPID_IHTMLRECT_LEFT)]
3271     HRESULT left([in] LONG v);
3272
3273     [propget, id(DISPID_IHTMLRECT_LEFT)]
3274     HRESULT left([retval, out] LONG *p);
3275
3276     [propput, id(DISPID_IHTMLRECT_TOP)]
3277     HRESULT top([in] LONG v);
3278
3279     [propget, id(DISPID_IHTMLRECT_TOP)]
3280     HRESULT top([retval, out] LONG *p);
3281
3282     [propput, id(DISPID_IHTMLRECT_RIGHT)]
3283     HRESULT right([in] LONG v);
3284
3285     [propget, id(DISPID_IHTMLRECT_RIGHT)]
3286     HRESULT right([retval, out] LONG *p);
3287
3288     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3289     HRESULT bottom([in] LONG v);
3290
3291     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3292     HRESULT bottom([retval, out] LONG *p);
3293 }
3294
3295 /*****************************************************************************
3296  *    IHTMLRectCollection interface
3297  */
3298 [
3299     odl,
3300     oleautomation,
3301     dual,
3302     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3303 ]
3304 interface IHTMLRectCollection : IDispatch
3305 {
3306     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3307     HRESULT length([retval, out] LONG *p);
3308
3309     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3310     HRESULT _newEnum([retval, out] IUnknown **p);
3311
3312     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3313     HRESULT item(
3314         [in] VARIANT *pvarIndex,
3315         [retval, out] VARIANT *pvarResult);
3316 }
3317
3318 /*****************************************************************************
3319  *    IHTMLDOMNode interface
3320  */
3321 [
3322     odl,
3323     oleautomation,
3324     dual,
3325     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3326 ]
3327 interface IHTMLDOMNode : IDispatch
3328 {
3329     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3330     HRESULT nodeType([retval, out] LONG *p);
3331
3332     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3333     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3334
3335     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3336     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3337
3338     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3339     HRESULT childNodes([retval, out] IDispatch **p);
3340
3341     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3342     HRESULT attributes([retval, out] IDispatch **p);
3343
3344     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3345     HRESULT insertBefore(
3346         [in] IHTMLDOMNode *newChild,
3347         [optional, in] VARIANT refChild,
3348         [retval, out] IHTMLDOMNode **node);
3349
3350     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3351     HRESULT removeChild(
3352         [in] IHTMLDOMNode *oldChild,
3353         [retval, out] IHTMLDOMNode **node);
3354
3355     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3356     HRESULT replaceChild(
3357         [in] IHTMLDOMNode *newChild,
3358         [in] IHTMLDOMNode *oldChild,
3359         [retval, out] IHTMLDOMNode **node);
3360
3361     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3362     HRESULT cloneNode(
3363         [in] VARIANT_BOOL fDeep,
3364         [retval, out] IHTMLDOMNode **clonedNode);
3365
3366     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3367     HRESULT removeNode(
3368         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3369         [retval, out] IHTMLDOMNode **removed);
3370
3371     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3372     HRESULT swapNode(
3373         [in] IHTMLDOMNode *otherNode,
3374         [retval, out] IHTMLDOMNode **swappedNode);
3375
3376     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3377     HRESULT replaceNode(
3378         [in] IHTMLDOMNode *replacement,
3379         [retval, out] IHTMLDOMNode **replaced);
3380
3381     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3382     HRESULT appendChild(
3383         [in] IHTMLDOMNode *newChild,
3384         [retval, out] IHTMLDOMNode **node);
3385
3386     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3387     HRESULT nodeName([retval, out] BSTR *p);
3388
3389     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3390     HRESULT nodeValue([in] VARIANT v);
3391
3392     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3393     HRESULT nodeValue([retval, out] VARIANT *p);
3394
3395     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3396     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3397
3398     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3399     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3400
3401     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3402     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3403
3404     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3405     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3406 }
3407
3408 #define WINE_IHTMLDOMNODE_DISPINTERFACE_DECL                            \
3409     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]                         \
3410     LONG nodeType();                                                    \
3411                                                                         \
3412     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]                       \
3413     IHTMLDOMNode* parentNode();                                         \
3414                                                                         \
3415     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]                             \
3416     VARIANT_BOOL hasChildNodes();                                       \
3417                                                                         \
3418     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]                       \
3419     IDispatch* childNodes();                                            \
3420                                                                         \
3421     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]                       \
3422     IDispatch* attributes();                                            \
3423                                                                         \
3424     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]                              \
3425     IHTMLDOMNode* insertBefore(                                         \
3426             [in] IHTMLDOMNode* newChild,                                \
3427             [optional, in] VARIANT refChild);                           \
3428                                                                         \
3429     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]                               \
3430     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);             \
3431                                                                         \
3432     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]                              \
3433     IHTMLDOMNode* replaceChild(                                         \
3434         [in] IHTMLDOMNode* newChild,                                    \
3435         [in] IHTMLDOMNode* oldChild);                                   \
3436                                                                         \
3437     [id(DISPID_IHTMLDOMNODE_CLONENODE)]                                 \
3438     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);                   \
3439                                                                         \
3440     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]                                \
3441     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep); \
3442                                                                         \
3443     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]                                  \
3444     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);               \
3445                                                                         \
3446     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]                               \
3447     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);          \
3448                                                                         \
3449     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]                               \
3450     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);             \
3451                                                                         \
3452     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]                         \
3453     BSTR nodeName();                                                    \
3454                                                                         \
3455     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3456     void nodeValue(VARIANT v);                                          \
3457                                                                         \
3458     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3459     VARIANT nodeValue();                                                \
3460                                                                         \
3461     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]                       \
3462     IHTMLDOMNode* firstChild();                                         \
3463                                                                         \
3464     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]                        \
3465     IHTMLDOMNode* lastChild();                                          \
3466                                                                         \
3467     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]                  \
3468     IHTMLDOMNode* previousSibling();                                    \
3469                                                                         \
3470     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]                      \
3471     IHTMLDOMNode* nextSibling()
3472
3473 /*****************************************************************************
3474  *    IHTMLDOMNode2 interface
3475  */
3476 [
3477     odl,
3478     oleautomation,
3479     dual,
3480     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3481 ]
3482 interface IHTMLDOMNode2 : IDispatch
3483 {
3484     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3485     HRESULT ownerDocument([retval, out] IDispatch **p);
3486 }
3487
3488 #define WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL           \
3489     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]   \
3490     IDispatch *ownerDocument()
3491
3492 #define WINE_HTMLDOMNODE_DISPINTERFACE_DECL     \
3493     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;       \
3494     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL
3495
3496 /*****************************************************************************
3497  *    IHTMLDOMAttribute interface
3498  */
3499 [
3500     odl,
3501     oleautomation,
3502     dual,
3503     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3504 ]
3505 interface IHTMLDOMAttribute : IDispatch
3506 {
3507     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3508     HRESULT nodeName([retval, out] BSTR *p);
3509
3510     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3511     HRESULT nodeValue([in] VARIANT v);
3512
3513     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3514     HRESULT nodeValue([retval, out] VARIANT *p);
3515
3516     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3517     HRESULT specified([retval, out] VARIANT_BOOL *p);
3518 }
3519
3520 /*****************************************************************************
3521  *    IHTMLDOMAttribute2 interface
3522  */
3523 [
3524     odl,
3525     oleautomation,
3526     dual,
3527     uuid(3050f810-98b5-11cf-bb82-00aa00bdce0b)
3528 ]
3529 interface IHTMLDOMAttribute2 : IDispatch
3530 {
3531     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3532     HRESULT name([retval, out] BSTR *p);
3533
3534     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3535     HRESULT value([in] BSTR v);
3536
3537     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3538     HRESULT value([retval, out] BSTR *p);
3539
3540     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3541     HRESULT expando([retval, out] VARIANT_BOOL *p);
3542
3543     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3544     HRESULT nodeType([retval, out] long *p);
3545
3546     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3547     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3548
3549     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
3550     HRESULT childNodes([retval, out] IDispatch **p);
3551
3552     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
3553     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3554
3555     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
3556     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3557
3558     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
3559     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3560
3561     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
3562     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3563
3564     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
3565     HRESULT attributes([retval, out] IDispatch **p);
3566
3567     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
3568     HRESULT ownerDocument([retval, out] IDispatch **p);
3569
3570     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
3571     HRESULT insertBefore(
3572             [in] IHTMLDOMNode *newChild,
3573             [optional, in] VARIANT refChild,
3574             [retval, out] IHTMLDOMNode **node);
3575
3576     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
3577     HRESULT replaceChild(
3578             [in] IHTMLDOMNode *newChild,
3579             [in] IHTMLDOMNode *oldChild,
3580             [retval, out] IHTMLDOMNode **node);
3581
3582     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
3583     HRESULT removeChild(
3584             [in] IHTMLDOMNode *oldChild,
3585             [retval, out] IHTMLDOMNode **node);
3586
3587     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
3588     HRESULT appendChild(
3589             [in] IHTMLDOMNode *newChild,
3590             [retval, out] IHTMLDOMNode **node);
3591
3592     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
3593     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3594
3595     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
3596     HRESULT cloneNode(
3597             [in] VARIANT_BOOL fDeep,
3598             [retval, out] IHTMLDOMAttribute **clonedNode);
3599 }
3600
3601 /*****************************************************************************
3602  *    IHTMLDOMTextNode interface
3603  */
3604 [
3605     odl,
3606     oleautomation,
3607     dual,
3608     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3609 ]
3610 interface IHTMLDOMTextNode : IDispatch
3611 {
3612     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3613     HRESULT data([in] BSTR v);
3614
3615     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3616     HRESULT data([out, retval] BSTR *p);
3617
3618     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3619     HRESULT toString([out, retval] BSTR *String);
3620
3621     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3622     HRESULT length([out, retval] LONG *p);
3623
3624     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3625     HRESULT splitText(
3626             [in] LONG offset,
3627             [out, retval] IHTMLDOMNode **pRetNode);
3628 }
3629
3630 /*****************************************************************************
3631  *    IHTMLDOMTextNode2 interface
3632  */
3633 [
3634     odl,
3635     oleautomation,
3636     dual,
3637     uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
3638 ]
3639 interface IHTMLDOMTextNode2 : IDispatch
3640 {
3641     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3642     HRESULT substringData([in] LONG offset,[in] LONG Count,[retval, out] BSTR* pbstrsubString);
3643
3644     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3645     HRESULT appendData([in] BSTR bstrstring);
3646
3647     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3648     HRESULT insertData([in] LONG offset,[in] BSTR bstrstring);
3649
3650     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3651     HRESULT deleteData([in] LONG offset,[in] LONG Count);
3652
3653     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3654     HRESULT replaceData([in] LONG offset,[in] LONG Count,[in] BSTR bstrstring);
3655 }
3656
3657 [
3658     noncreatable,
3659     uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
3660 ]
3661 coclass HTMLDOMTextNode
3662 {
3663     [default]           dispinterface DispHTMLDOMTextNode;
3664                         interface IHTMLDOMTextNode;
3665                         interface IHTMLDOMTextNode2;
3666                         interface IHTMLDOMNode;
3667                         interface IHTMLDOMNode2;
3668 }
3669
3670 /*****************************************************************************
3671  *    IHTMLDOMImplementation interface
3672  */
3673 [
3674     odl,
3675     oleautomation,
3676     dual,
3677     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3678 ]
3679 interface IHTMLDOMImplementation : IDispatch
3680 {
3681     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3682     HRESULT hasFeature(
3683         [in] BSTR bstrfeature,
3684         [optional, in] VARIANT version,
3685         [retval, out] VARIANT_BOOL *pfHasFeature);
3686 }
3687
3688 /*****************************************************************************
3689  *    IHTMLDocumentCompatibleInfo interface
3690  */
3691 [
3692     odl,
3693     oleautomation,
3694     dual,
3695     uuid(3051041a-98b5-11cf-bb82-00aa00bdce0b)
3696 ]
3697 interface IHTMLDocumentCompatibleInfo : IDispatch
3698 {
3699     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_USERAGENT)]
3700     HRESULT userAgent([retval, out] BSTR *p);
3701
3702     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_VERSION)]
3703     HRESULT version([retval, out] BSTR *p);
3704 }
3705
3706 /*****************************************************************************
3707  *    IHTMLDocumentCompatibleInfoCollection interface
3708  */
3709 [
3710     odl,
3711     oleautomation,
3712     dual,
3713     uuid(30510418-98b5-11cf-bb82-00aa00bdce0b)
3714 ]
3715 interface IHTMLDocumentCompatibleInfoCollection : IDispatch
3716 {
3717     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_LENGTH)]
3718     HRESULT length([retval, out] long *p);
3719
3720     [id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_ITEM)]
3721     HRESULT item([in] long i, [retval, out]IHTMLDocumentCompatibleInfo **p);
3722 }
3723
3724 /*****************************************************************************
3725  *    DispHTMLDOMTextNode dispinterface
3726  */
3727 [
3728     hidden,
3729     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
3730 ]
3731 dispinterface DispHTMLDOMTextNode
3732 {
3733 properties:
3734 methods:
3735     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3736     void data(BSTR v);
3737
3738     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3739     BSTR data();
3740
3741     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3742     BSTR toString();
3743
3744     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3745     LONG length();
3746
3747     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3748     IHTMLDOMNode *splitText([in] LONG offset);
3749
3750     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3751     BSTR substringData(
3752             [in] LONG offset,
3753             [in] LONG Count);
3754
3755     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3756     void appendData([in] BSTR bstrstring);
3757
3758     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3759     void insertData(
3760             [in] LONG offset,
3761             [in] BSTR bstrstring);
3762
3763     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3764     void deleteData(
3765             [in] LONG offset,
3766             [in] LONG Count);
3767
3768     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3769     void replaceData(
3770             [in] LONG offset,
3771             [in] LONG Count,
3772             [in] BSTR bstrstring);
3773
3774     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
3775 }
3776
3777 /*****************************************************************************
3778  *    IHTMLAttributeCollection3 interface
3779  */
3780 [
3781     odl,
3782     oleautomation,
3783     dual,
3784     uuid(30510469-98b5-11cf-bb82-00aa00bdce0b)
3785 ]
3786 interface IHTMLAttributeCollection3 : IDispatch
3787 {
3788     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
3789     HRESULT getNamedItem(
3790             [in] BSTR bstrName,
3791             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3792
3793     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
3794     HRESULT setNamedItem(
3795             [in] IHTMLDOMAttribute *pNodeIn,
3796             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3797
3798     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
3799     HRESULT removeNamedItem(
3800             [in] BSTR bstrName,
3801             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3802
3803     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
3804     HRESULT item(
3805             [in] long index,
3806             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3807
3808     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
3809     HRESULT length([retval, out] long *p);
3810 }
3811
3812 /*****************************************************************************
3813  *    IHTMLDOMChildrenCollection interface
3814  */
3815 [
3816     odl,
3817     oleautomation,
3818     dual,
3819     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
3820 ]
3821 interface IHTMLDOMChildrenCollection : IDispatch
3822 {
3823     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3824     HRESULT length([out, retval] LONG *p);
3825
3826     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3827     HRESULT _newEnum([out, retval] IUnknown **p);
3828
3829     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3830     HRESULT item(
3831             [in] LONG index,
3832             [out, retval] IDispatch **ppItem);
3833 }
3834
3835 /*****************************************************************************
3836  *    DispDOMChildrenCollection dispinterface
3837  */
3838 [
3839     hidden,
3840     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
3841 ]
3842 dispinterface DispDOMChildrenCollection
3843 {
3844 properties:
3845 methods:
3846     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3847     LONG length();
3848
3849     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3850     IUnknown *_newEnum();
3851
3852     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3853     IDispatch *item([in] LONG index);
3854 }
3855
3856 interface IHTMLElementCollection;
3857
3858 /*****************************************************************************
3859  *    IHTMLElement interface
3860  */
3861 [
3862     odl,
3863     dual,
3864     oleautomation,
3865     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
3866 ]
3867 interface IHTMLElement : IDispatch
3868 {
3869     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3870     HRESULT setAttribute(
3871         [in] BSTR strAttributeName,
3872         [in] VARIANT AttributeValue,
3873         [defaultvalue(1), in] LONG lFlags);
3874
3875     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3876     HRESULT getAttribute(
3877         [in] BSTR strAttributeName,
3878         [defaultvalue(0), in] LONG lFlags,
3879         [retval, out] VARIANT *AttributeValue);
3880
3881     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3882     HRESULT removeAttribute(
3883         [in] BSTR strAttributeName,
3884         [defaultvalue(1), in] LONG lFlags,
3885         [retval, out] VARIANT_BOOL *pfSuccess);
3886
3887     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3888     HRESULT className([in] BSTR v);
3889
3890     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3891     HRESULT className([retval, out] BSTR *p);
3892
3893     [propput, id(DISPID_IHTMLELEMENT_ID)]
3894     HRESULT id([in] BSTR v);
3895
3896     [propget, id(DISPID_IHTMLELEMENT_ID)]
3897     HRESULT id([retval, out] BSTR *p);
3898
3899     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
3900     HRESULT tagName([retval, out] BSTR *p);
3901
3902     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
3903     HRESULT parentElement([retval, out] IHTMLElement **p);
3904
3905     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
3906     HRESULT style([retval, out] IHTMLStyle **p);
3907
3908     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
3909     HRESULT onhelp([in] VARIANT v);
3910
3911     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
3912     HRESULT onhelp([retval, out] VARIANT *p);
3913
3914     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
3915     HRESULT onclick([in] VARIANT v);
3916
3917     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
3918     HRESULT onclick([retval, out] VARIANT *p);
3919
3920     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3921     HRESULT ondblclick([in] VARIANT v);
3922
3923     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3924     HRESULT ondblclick([retval, out] VARIANT *p);
3925
3926     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3927     HRESULT onkeydown([in] VARIANT v);
3928
3929     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3930     HRESULT onkeydown([retval, out] VARIANT *p);
3931
3932     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3933     HRESULT onkeyup([in] VARIANT v);
3934
3935     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3936     HRESULT onkeyup([retval, out] VARIANT *p);
3937
3938     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3939     HRESULT onkeypress([in] VARIANT v);
3940
3941     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3942     HRESULT onkeypress([retval, out] VARIANT *p);
3943
3944     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3945     HRESULT onmouseout([in] VARIANT v);
3946
3947     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3948     HRESULT onmouseout([retval, out] VARIANT *p);
3949
3950     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3951     HRESULT onmouseover([in] VARIANT v);
3952
3953     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3954     HRESULT onmouseover([retval, out] VARIANT *p);
3955
3956     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3957     HRESULT onmousemove([in] VARIANT v);
3958
3959     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3960     HRESULT onmousemove([retval, out] VARIANT *p);
3961
3962     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3963     HRESULT onmousedown([in] VARIANT v);
3964
3965     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3966     HRESULT onmousedown([retval, out] VARIANT *p);
3967
3968     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3969     HRESULT onmouseup([in] VARIANT v);
3970
3971     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3972     HRESULT onmouseup([retval, out] VARIANT *p);
3973
3974     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
3975     HRESULT document([retval, out] IDispatch **p);
3976
3977     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
3978     HRESULT title([in] BSTR v);
3979
3980     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
3981     HRESULT title([retval, out] BSTR *p);
3982
3983     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3984     HRESULT language([in] BSTR v);
3985
3986     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3987     HRESULT language([retval, out] BSTR *p);
3988
3989     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3990     HRESULT onselectstart([in] VARIANT v);
3991
3992     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3993     HRESULT onselectstart([retval, out] VARIANT *p);
3994
3995     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
3996     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
3997
3998     [id(DISPID_IHTMLELEMENT_CONTAINS)]
3999     HRESULT contains(
4000         [in] IHTMLElement *pChild,
4001         [retval, out] VARIANT_BOOL *pfResult);
4002
4003     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
4004     HRESULT sourceIndex([retval, out] LONG *p);
4005
4006     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4007     HRESULT recordNumber([retval, out] VARIANT *p);
4008
4009     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4010     HRESULT lang([in] BSTR v);
4011
4012     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4013     HRESULT lang([retval, out] BSTR *p);
4014
4015     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4016     HRESULT offsetLeft([retval, out] LONG *p);
4017
4018     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4019     HRESULT offsetTop([retval, out] LONG *p);
4020
4021     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4022     HRESULT offsetWidth([retval, out] LONG *p);
4023
4024     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4025     HRESULT offsetHeight([retval, out] LONG *p);
4026
4027     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4028     HRESULT offsetParent([retval, out] IHTMLElement **p);
4029
4030     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4031     HRESULT innerHTML([in] BSTR v);
4032
4033     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4034     HRESULT innerHTML([retval, out] BSTR *p);
4035
4036     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4037     HRESULT innerText([in] BSTR v);
4038
4039     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4040     HRESULT innerText([retval, out] BSTR *p);
4041
4042     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4043     HRESULT outerHTML([in] BSTR v);
4044
4045     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4046     HRESULT outerHTML([retval, out] BSTR *p);
4047
4048     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4049     HRESULT outerText([in] BSTR v);
4050
4051     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4052     HRESULT outerText([retval, out] BSTR *p);
4053
4054     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4055     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
4056
4057     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4058     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
4059
4060     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4061     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
4062
4063     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4064     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
4065
4066     [id(DISPID_IHTMLELEMENT_CLICK)]
4067     HRESULT click();
4068
4069     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4070     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
4071
4072     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4073     HRESULT ondragstart([in] VARIANT v);
4074
4075     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4076     HRESULT ondragstart([retval, out] VARIANT *p);
4077
4078     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4079     HRESULT toString([retval, out] BSTR *String);
4080
4081     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4082     HRESULT onbeforeupdate([in] VARIANT v);
4083
4084     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4085     HRESULT onbeforeupdate([retval, out] VARIANT *p);
4086
4087     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4088     HRESULT onafterupdate([in] VARIANT v);
4089
4090     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4091     HRESULT onafterupdate([retval, out] VARIANT *p);
4092
4093     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4094     HRESULT onerrorupdate([in] VARIANT v);
4095
4096     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4097     HRESULT onerrorupdate([retval, out] VARIANT *p);
4098
4099     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4100     HRESULT onrowexit([in] VARIANT v);
4101
4102     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4103     HRESULT onrowexit([retval, out] VARIANT *p);
4104
4105     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4106     HRESULT onrowenter([in] VARIANT v);
4107
4108     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4109     HRESULT onrowenter([retval, out] VARIANT *p);
4110
4111     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4112     HRESULT ondatasetchanged([in] VARIANT v);
4113
4114     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4115     HRESULT ondatasetchanged([retval, out] VARIANT *p);
4116
4117     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4118     HRESULT ondataavailable([in] VARIANT v);
4119
4120     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4121     HRESULT ondataavailable([retval, out] VARIANT *p);
4122
4123     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4124     HRESULT ondatasetcomplete([in] VARIANT v);
4125
4126     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4127     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
4128
4129     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4130     HRESULT onfilterchange([in] VARIANT v);
4131
4132     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4133     HRESULT onfilterchange([retval, out] VARIANT *p);
4134
4135     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4136     HRESULT children([retval, out] IDispatch **p);
4137
4138     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4139     HRESULT all([retval, out] IDispatch **p);
4140 }
4141
4142 #define WINE_IHTMLELEMENT_DISPINTERFACE_DECL                            \
4143     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]                              \
4144     void setAttribute(                                                  \
4145         [in] BSTR strAttributeName,                                     \
4146         [in] VARIANT AttValue,                                          \
4147         [defaultvalue(1), in] LONG lFlags);                             \
4148                                                                         \
4149     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]                              \
4150     VARIANT getAttribute(                                               \
4151         [in] BSTR strAttributeName,                                     \
4152         [defaultvalue(0), in] LONG lFlags);                             \
4153                                                                         \
4154     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]                           \
4155     VARIANT_BOOL removeAttribute(                                       \
4156         [in] BSTR strAttributeName,                                     \
4157         [defaultvalue(1), in] LONG lFlags);                             \
4158                                                                         \
4159     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4160     void className(BSTR v);                                             \
4161                                                                         \
4162     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4163     BSTR className();                                                   \
4164                                                                         \
4165     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4166     void id(BSTR v);                                                    \
4167                                                                         \
4168     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4169     BSTR id();                                                          \
4170                                                                         \
4171     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]                          \
4172     BSTR tagName();                                                     \
4173                                                                         \
4174     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]                    \
4175     IHTMLElement *parentElement();                                      \
4176                                                                         \
4177     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]              \
4178     IHTMLStyle *style();                                                \
4179                                                                         \
4180     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4181     void onhelp(VARIANT v);                                             \
4182                                                                         \
4183     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4184     VARIANT onhelp();                                                   \
4185                                                                         \
4186     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4187     void onclick(VARIANT v);                                            \
4188                                                                         \
4189     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4190     VARIANT onclick();                                                  \
4191                                                                         \
4192     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4193     void ondblclick(VARIANT v);                                         \
4194                                                                         \
4195     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4196     VARIANT ondblclick();                                               \
4197                                                                         \
4198     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4199     void onkeydown(VARIANT v);                                          \
4200                                                                         \
4201     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4202     VARIANT onkeydown();                                                \
4203                                                                         \
4204     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4205     void onkeyup(VARIANT v);                                            \
4206                                                                         \
4207     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4208     VARIANT onkeyup();                                                  \
4209                                                                         \
4210     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4211     void onkeypress(VARIANT v);                                         \
4212                                                                         \
4213     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4214     VARIANT onkeypress();                                               \
4215                                                                         \
4216     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4217     void onmouseout(VARIANT v);                                         \
4218                                                                         \
4219     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4220     VARIANT onmouseout();                                               \
4221                                                                         \
4222     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4223     void onmouseover(VARIANT v);                                        \
4224                                                                         \
4225     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4226     VARIANT onmouseover();                                              \
4227                                                                         \
4228     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4229     void onmousemove(VARIANT v);                                        \
4230                                                                         \
4231     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4232     VARIANT onmousemove();                                              \
4233                                                                         \
4234     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4235     void onmousedown(VARIANT v);                                        \
4236                                                                         \
4237     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4238     VARIANT onmousedown();                                              \
4239                                                                         \
4240     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4241     void onmouseup(VARIANT v);                                          \
4242                                                                         \
4243     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4244     VARIANT onmouseup();                                                \
4245                                                                         \
4246     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();  \
4247                                                                         \
4248     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4249     void title(BSTR v);                                                 \
4250                                                                         \
4251     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4252     BSTR title();                                                       \
4253                                                                         \
4254     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4255     void language(BSTR v);                                              \
4256                                                                         \
4257     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4258     BSTR language();                                                    \
4259                                                                         \
4260     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4261     void onselectstart(VARIANT v);                                      \
4262                                                                         \
4263     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4264     VARIANT onselectstart();                                            \
4265                                                                         \
4266     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]                            \
4267     void scrollIntoView([optional, in] VARIANT varargStart);            \
4268                                                                         \
4269     [id(DISPID_IHTMLELEMENT_CONTAINS)]                                  \
4270     VARIANT_BOOL contains([in] IHTMLElement* pChild);                   \
4271                                                                         \
4272     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]            \
4273     LONG sourceIndex();                                                 \
4274                                                                         \
4275     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]                     \
4276     VARIANT recordNumber();                                             \
4277                                                                         \
4278     [propput, id(DISPID_IHTMLELEMENT_LANG)]                             \
4279     void lang(BSTR v);                                                  \
4280                                                                         \
4281     [propget, id(DISPID_IHTMLELEMENT_LANG)]                             \
4282     BSTR lang();                                                        \
4283                                                                         \
4284     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]                       \
4285     LONG offsetLeft();                                                  \
4286                                                                         \
4287     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]                        \
4288     LONG offsetTop();                                                   \
4289                                                                         \
4290     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]                      \
4291     LONG offsetWidth();                                                 \
4292                                                                         \
4293     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]                     \
4294     LONG offsetHeight();                                                \
4295                                                                         \
4296     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]                     \
4297     IHTMLElement* offsetParent();                                       \
4298                                                                         \
4299     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4300     void innerHTML(BSTR v);                                             \
4301                                                                         \
4302     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4303     BSTR innerHTML();                                                   \
4304                                                                         \
4305     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4306     void innerText(BSTR v);                                             \
4307                                                                         \
4308     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4309     BSTR innerText();                                                   \
4310                                                                         \
4311     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4312     void outerHTML(BSTR v);                                             \
4313                                                                         \
4314     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4315     BSTR outerHTML();                                                   \
4316                                                                         \
4317     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4318     void outerText(BSTR v);                                             \
4319                                                                         \
4320     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4321     BSTR outerText();                                                   \
4322                                                                         \
4323     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]                        \
4324     void insertAdjacentHTML(                                            \
4325         [in] BSTR where,                                                \
4326         [in] BSTR html);                                                \
4327                                                                         \
4328     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]                        \
4329     void insertAdjacentText(                                            \
4330         [in] BSTR where,                                                \
4331         [in] BSTR text);                                                \
4332                                                                         \
4333     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]                   \
4334     IHTMLElement* parentTextEdit();                                     \
4335                                                                         \
4336     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]                       \
4337     VARIANT_BOOL isTextEdit();                                          \
4338                                                                         \
4339     [id(DISPID_IHTMLELEMENT_CLICK)]                                     \
4340     void click();                                                       \
4341                                                                         \
4342     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]                          \
4343     IHTMLFiltersCollection* filters();                                  \
4344                                                                         \
4345     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4346     void ondragstart(VARIANT v);                                        \
4347                                                                         \
4348     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4349     VARIANT ondragstart();                                              \
4350                                                                         \
4351     [id(DISPID_IHTMLELEMENT_TOSTRING)]                                  \
4352     BSTR toString();                                                    \
4353                                                                         \
4354     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4355     void onbeforeupdate(VARIANT v);                                     \
4356                                                                         \
4357     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4358     VARIANT onbeforeupdate();                                           \
4359                                                                         \
4360     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4361     void onafterupdate(VARIANT v);                                      \
4362                                                                         \
4363     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4364     VARIANT onafterupdate();                                            \
4365                                                                         \
4366     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4367     void onerrorupdate(VARIANT v);                                      \
4368                                                                         \
4369     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4370     VARIANT onerrorupdate();                                            \
4371                                                                         \
4372     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4373     void onrowexit(VARIANT v);                                          \
4374                                                                         \
4375     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4376     VARIANT onrowexit();                                                \
4377                                                                         \
4378     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4379     void onrowenter(VARIANT v);                                         \
4380                                                                         \
4381     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4382     VARIANT onrowenter();                                               \
4383                                                                         \
4384     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4385     void ondatasetchanged(VARIANT v);                                   \
4386                                                                         \
4387     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4388     VARIANT ondatasetchanged();                                         \
4389                                                                         \
4390     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4391     void ondataavailable(VARIANT v);                                    \
4392                                                                         \
4393     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4394     VARIANT ondataavailable();                                          \
4395                                                                         \
4396     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4397     void ondatasetcomplete(VARIANT v);                                  \
4398                                                                         \
4399     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4400     VARIANT ondatasetcomplete();                                        \
4401                                                                         \
4402     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4403     void onfilterchange(VARIANT v);                                     \
4404                                                                         \
4405     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4406     VARIANT onfilterchange();                                           \
4407                                                                         \
4408     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]                         \
4409     IDispatch* children();                                              \
4410                                                                         \
4411     [propget, id(DISPID_IHTMLELEMENT_ALL)]                              \
4412     IDispatch* all()
4413
4414 /*****************************************************************************
4415  *    IHTMLElement2 interface
4416  */
4417 [
4418     odl,
4419     oleautomation,
4420     dual,
4421     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
4422 ]
4423 interface IHTMLElement2 : IDispatch
4424 {
4425     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4426     HRESULT scopeName([retval, out] BSTR *p);
4427
4428     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4429     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
4430
4431     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4432     HRESULT releaseCapture();
4433
4434     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4435     HRESULT onlosecapture([in] VARIANT v);
4436
4437     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4438     HRESULT onlosecapture([retval, out] VARIANT *p);
4439
4440     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4441     HRESULT componentFromPoint(
4442         [in] LONG x,
4443         [in] LONG y,
4444         [retval, out] BSTR *component);
4445
4446     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4447     HRESULT doScroll([optional, in] VARIANT component);
4448
4449     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4450     HRESULT onscroll([in] VARIANT v);
4451
4452     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4453     HRESULT onscroll([retval, out] VARIANT *p);
4454
4455     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4456     HRESULT ondrag([in] VARIANT v);
4457
4458     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4459     HRESULT ondrag([retval, out] VARIANT *p);
4460
4461     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4462     HRESULT ondragend([in] VARIANT v);
4463
4464     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4465     HRESULT ondragend([retval, out] VARIANT *p);
4466
4467     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4468     HRESULT ondragenter([in] VARIANT v);
4469
4470     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4471     HRESULT ondragenter([retval, out] VARIANT *p);
4472
4473     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4474     HRESULT ondragover([in] VARIANT v);
4475
4476     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4477     HRESULT ondragover([retval, out] VARIANT *p);
4478
4479     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4480     HRESULT ondragleave([in] VARIANT v);
4481
4482     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4483     HRESULT ondragleave([retval, out] VARIANT *p);
4484
4485     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4486     HRESULT ondrop([in] VARIANT v);
4487
4488     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4489     HRESULT ondrop([retval, out] VARIANT *p);
4490
4491     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4492     HRESULT onbeforecut([in] VARIANT v);
4493
4494     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4495     HRESULT onbeforecut([retval, out] VARIANT *p);
4496
4497     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4498     HRESULT oncut([in] VARIANT v);
4499
4500     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4501     HRESULT oncut([retval, out] VARIANT *p);
4502
4503     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4504     HRESULT onbeforecopy([in] VARIANT v);
4505
4506     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4507     HRESULT onbeforecopy([retval, out] VARIANT *p);
4508
4509     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4510     HRESULT oncopy([in] VARIANT v);
4511
4512     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4513     HRESULT oncopy([retval, out] VARIANT *p);
4514
4515     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4516     HRESULT onbeforepaste([in] VARIANT v);
4517
4518     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4519     HRESULT onbeforepaste([retval, out] VARIANT *p);
4520
4521     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4522     HRESULT onpaste([in] VARIANT v);
4523
4524     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4525     HRESULT onpaste([retval, out] VARIANT *p);
4526
4527     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4528     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
4529
4530     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4531     HRESULT onpropertychange([in] VARIANT v);
4532
4533     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4534     HRESULT onpropertychange([retval, out] VARIANT *p);
4535
4536     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4537     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
4538
4539     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4540     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
4541
4542     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4543     HRESULT setExpression(
4544         [in] BSTR propname,
4545         [in] BSTR expression,
4546         [defaultvalue(""), in] BSTR language);
4547
4548     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4549     HRESULT getExpression(
4550         [in] BSTR propname,
4551         [retval, out] VARIANT *expression);
4552
4553     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4554     HRESULT removeExpression(
4555         [in] BSTR propname,
4556         [retval, out] VARIANT_BOOL *pfSuccess);
4557
4558     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4559     HRESULT tabIndex([in] short v);
4560
4561     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4562     HRESULT tabIndex([retval, out] short *p);
4563
4564     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4565     HRESULT focus();
4566
4567     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4568     HRESULT accessKey([in] BSTR v);
4569
4570     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4571     HRESULT accessKey([retval, out] BSTR *p);
4572
4573     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4574     HRESULT onblur([in] VARIANT v);
4575
4576     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4577     HRESULT onblur([retval, out] VARIANT *p);
4578
4579     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4580     HRESULT onfocus([in] VARIANT v);
4581
4582     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4583     HRESULT onfocus([retval, out] VARIANT *p);
4584
4585     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4586     HRESULT onresize([in] VARIANT v);
4587
4588     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4589     HRESULT onresize([retval, out] VARIANT *p);
4590
4591     [id(DISPID_IHTMLELEMENT2_BLUR)]
4592     HRESULT blur();
4593
4594     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4595     HRESULT addFilter([in] IUnknown *pUnk);
4596
4597     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4598     HRESULT removeFilter([in] IUnknown *pUnk);
4599
4600     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4601     HRESULT clientHeight([retval, out] LONG *p);
4602
4603     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4604     HRESULT clientWidth([retval, out] LONG *p);
4605
4606     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4607     HRESULT clientTop([retval, out] LONG *p);
4608
4609     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4610     HRESULT clientLeft([retval, out] LONG *p);
4611
4612     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4613     HRESULT attachEvent(
4614         [in] BSTR event,
4615         [in] IDispatch *pDisp,
4616         [retval, out] VARIANT_BOOL *pfResult);
4617
4618     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4619     HRESULT detachEvent(
4620         [in] BSTR event,
4621         [in] IDispatch *pDisp);
4622
4623     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4624     HRESULT readyState([retval, out] VARIANT *p);
4625
4626     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4627     HRESULT onreadystatechange([in] VARIANT v);
4628
4629     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4630     HRESULT onreadystatechange([retval, out] VARIANT *p);
4631
4632     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4633     HRESULT onrowsdelete([in] VARIANT v);
4634
4635     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4636     HRESULT onrowsdelete([retval, out] VARIANT *p);
4637
4638     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4639     HRESULT onrowsinserted([in] VARIANT v);
4640
4641     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4642     HRESULT onrowsinserted([retval, out] VARIANT *p);
4643
4644     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4645     HRESULT oncellchange([in] VARIANT v);
4646
4647     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4648     HRESULT oncellchange([retval, out] VARIANT *p);
4649
4650     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4651     HRESULT dir([in] BSTR v);
4652
4653     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4654     HRESULT dir([retval, out] BSTR *p);
4655
4656     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
4657     HRESULT createControlRange([retval, out] IDispatch **range);
4658
4659     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
4660     HRESULT scrollHeight([retval, out] LONG *p);
4661
4662     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
4663     HRESULT scrollWidth([retval, out] LONG *p);
4664
4665     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4666     HRESULT scrollTop([in] LONG v);
4667
4668     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4669     HRESULT scrollTop([retval, out] LONG *p);
4670
4671     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4672     HRESULT scrollLeft([in] LONG v);
4673
4674     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4675     HRESULT scrollLeft([retval, out] LONG *p);
4676
4677     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
4678     HRESULT clearAttributes();
4679
4680     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
4681     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
4682
4683     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4684     HRESULT oncontextmenu([in] VARIANT v);
4685
4686     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4687     HRESULT oncontextmenu([retval, out] VARIANT *p);
4688
4689     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
4690     HRESULT insertAdjacentElement(
4691         [in] BSTR where,
4692         [in] IHTMLElement *insertedElement,
4693         [retval, out] IHTMLElement **inserted);
4694
4695     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
4696     HRESULT applyElement(
4697         [in] IHTMLElement *apply,
4698         [in] BSTR where,
4699         [retval, out] IHTMLElement **applied);
4700
4701     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
4702     HRESULT getAdjacentText(
4703         [in] BSTR where,
4704         [retval, out] BSTR *text);
4705
4706     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
4707     HRESULT replaceAdjacentText(
4708         [in] BSTR where,
4709         [in] BSTR newText,
4710         [retval, out] BSTR *oldText);
4711
4712     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
4713     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
4714
4715     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
4716     HRESULT addBehavior(
4717         [in] BSTR bstrUrl,
4718         [optional, in] VARIANT *pvarFactory,
4719         [retval, out] LONG *pCookie);
4720
4721     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
4722     HRESULT removeBehavior(
4723         [in] LONG cookie,
4724         [retval, out] VARIANT_BOOL *pfResult);
4725
4726     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
4727     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
4728
4729     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
4730     HRESULT behaviorUrns([retval, out] IDispatch **p);
4731
4732     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
4733     HRESULT tagUrn([in] BSTR v);
4734
4735     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
4736     HRESULT tagUrn([retval, out] BSTR *p);
4737
4738     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4739     HRESULT onbeforeeditfocus([in] VARIANT v);
4740
4741     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4742     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
4743
4744     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
4745     HRESULT readyStateValue([retval, out] LONG *p);
4746
4747     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
4748     HRESULT getElementsByTagName(
4749         [in] BSTR v,
4750         [retval, out] IHTMLElementCollection **pelColl);
4751 }
4752
4753 #define WINE_IHTMLELEMENT2_DISPINTERFACE_DECL                           \
4754     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]                       \
4755     BSTR scopeName();                                                   \
4756                                                                         \
4757     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]                               \
4758     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture); \
4759                                                                         \
4760     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]                           \
4761     void releaseCapture();                                              \
4762                                                                         \
4763     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
4764     void onlosecapture(VARIANT v);                                      \
4765                                                                         \
4766     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
4767     VARIANT onlosecapture();                                            \
4768                                                                         \
4769     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]                       \
4770     BSTR componentFromPoint([in] LONG x,[in] LONG y);                   \
4771                                                                         \
4772     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]                                 \
4773     void doScroll([optional, in] VARIANT component);                    \
4774                                                                         \
4775     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
4776     void onscroll(VARIANT v);                                           \
4777                                                                         \
4778     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
4779     VARIANT onscroll();                                                 \
4780                                                                         \
4781     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
4782     void ondrag(VARIANT v);                                             \
4783                                                                         \
4784     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
4785     VARIANT ondrag();                                                   \
4786                                                                         \
4787     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
4788     void ondragend(VARIANT v);                                          \
4789                                                                         \
4790     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
4791     VARIANT ondragend();                                                \
4792                                                                         \
4793     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
4794     void ondragenter(VARIANT v);                                        \
4795                                                                         \
4796     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
4797     VARIANT ondragenter();                                              \
4798                                                                         \
4799     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
4800     void ondragover(VARIANT v);                                         \
4801                                                                         \
4802     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
4803     VARIANT ondragover();                                               \
4804                                                                         \
4805     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
4806     void ondragleave(VARIANT v);                                        \
4807                                                                         \
4808     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
4809     VARIANT ondragleave();                                              \
4810                                                                         \
4811     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
4812     void ondrop(VARIANT v);                                             \
4813                                                                         \
4814     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
4815     VARIANT ondrop();                                                   \
4816                                                                         \
4817     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
4818     void onbeforecut(VARIANT v);                                        \
4819                                                                         \
4820     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
4821     VARIANT onbeforecut();                                              \
4822                                                                         \
4823     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
4824     void oncut(VARIANT v);                                              \
4825                                                                         \
4826     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
4827     VARIANT oncut();                                                    \
4828                                                                         \
4829     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
4830     void onbeforecopy(VARIANT v);                                       \
4831                                                                         \
4832     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
4833     VARIANT onbeforecopy();                                             \
4834                                                                         \
4835     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
4836     void oncopy(VARIANT v);                                             \
4837                                                                         \
4838     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
4839     VARIANT oncopy();                                                   \
4840                                                                         \
4841     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
4842     void onbeforepaste(VARIANT v);                                      \
4843                                                                         \
4844     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
4845     VARIANT onbeforepaste();                                            \
4846                                                                         \
4847     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
4848     void onpaste(VARIANT v);                                            \
4849                                                                         \
4850     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
4851     VARIANT onpaste();                                                  \
4852                                                                         \
4853     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]      \
4854     IHTMLCurrentStyle* currentStyle();                                  \
4855                                                                         \
4856     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
4857     void onpropertychange(VARIANT v);                                   \
4858                                                                         \
4859     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
4860     VARIANT onpropertychange();                                         \
4861                                                                         \
4862     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]                           \
4863     IHTMLRectCollection* getClientRects();                              \
4864                                                                         \
4865     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]                    \
4866     IHTMLRect* getBoundingClientRect();                                 \
4867                                                                         \
4868     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]                            \
4869     void setExpression(                                                 \
4870         [in] BSTR propname,                                             \
4871         [in] BSTR expr,                                                 \
4872         [defaultvalue(""), in] BSTR lang);                              \
4873                                                                         \
4874     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]                            \
4875     VARIANT getExpression([in] BSTR propname);                          \
4876                                                                         \
4877     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]                         \
4878     VARIANT_BOOL removeExpression([in] BSTR propname);                  \
4879                                                                         \
4880     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
4881     void tabIndex(short v);                                             \
4882                                                                         \
4883     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
4884     short tabIndex();                                                   \
4885                                                                         \
4886     [id(DISPID_IHTMLELEMENT2_FOCUS)]                                    \
4887     void focus();                                                       \
4888                                                                         \
4889     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
4890     void accessKey(BSTR v);                                             \
4891                                                                         \
4892     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
4893     BSTR accessKey();                                                   \
4894                                                                         \
4895     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
4896     void onblur(VARIANT v);                                             \
4897                                                                         \
4898     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
4899     VARIANT onblur();                                                   \
4900                                                                         \
4901     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
4902     void onfocus(VARIANT v);                                            \
4903                                                                         \
4904     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
4905     VARIANT onfocus();                                                  \
4906                                                                         \
4907     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
4908     void onresize(VARIANT v);                                           \
4909                                                                         \
4910     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
4911     VARIANT onresize();                                                 \
4912                                                                         \
4913     [id(DISPID_IHTMLELEMENT2_BLUR)]                                     \
4914     void blur();                                                        \
4915                                                                         \
4916     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]                                \
4917     void addFilter([in] IUnknown* pUnk);                                \
4918                                                                         \
4919     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]                             \
4920     void removeFilter([in] IUnknown* pUnk);                             \
4921                                                                         \
4922     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] \
4923     LONG clientHeight();                                                \
4924                                                                         \
4925     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] \
4926     LONG clientWidth();                                                 \
4927                                                                         \
4928     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] \
4929     LONG clientTop();                                                   \
4930                                                                         \
4931     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] \
4932     LONG clientLeft();                                                  \
4933                                                                         \
4934     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]                              \
4935     VARIANT_BOOL attachEvent(                                           \
4936             [in] BSTR event,                                            \
4937             [in] IDispatch* pDisp);                                     \
4938                                                                         \
4939     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]                              \
4940     void detachEvent(                                                   \
4941             [in] BSTR event,                                            \
4942             [in] IDispatch* pDisp);                                     \
4943                                                                         \
4944     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState(); \
4945                                                                         \
4946     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
4947     void onreadystatechange(VARIANT v);                                 \
4948                                                                         \
4949     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
4950     VARIANT onreadystatechange();                                       \
4951                                                                         \
4952     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
4953     void onrowsdelete(VARIANT v);                                       \
4954                                                                         \
4955     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
4956     VARIANT onrowsdelete();                                             \
4957                                                                         \
4958     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
4959     void onrowsinserted(VARIANT v);                                     \
4960                                                                         \
4961     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
4962     VARIANT onrowsinserted();                                           \
4963                                                                         \
4964     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
4965     void oncellchange(VARIANT v);                                       \
4966                                                                         \
4967     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
4968     VARIANT oncellchange();                                             \
4969                                                                         \
4970     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
4971     void dir(BSTR v);                                                   \
4972                                                                         \
4973     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
4974     BSTR dir();                                                         \
4975                                                                         \
4976     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]                       \
4977     IDispatch* createControlRange();                                    \
4978                                                                         \
4979     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] \
4980     LONG scrollHeight();                                                \
4981                                                                         \
4982     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] \
4983     LONG scrollWidth();                                                 \
4984                                                                         \
4985     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
4986     void scrollTop(LONG v);                                             \
4987                                                                         \
4988     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
4989     LONG scrollTop();                                                   \
4990                                                                         \
4991     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
4992     void scrollLeft(LONG v);                                            \
4993                                                                         \
4994     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
4995     LONG scrollLeft();                                                  \
4996                                                                         \
4997     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]                          \
4998     void clearAttributes();                                             \
4999                                                                         \
5000     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5001     void oncontextmenu(VARIANT v);                                      \
5002                                                                         \
5003     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5004     VARIANT oncontextmenu();                                            \
5005                                                                         \
5006     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]                    \
5007     IHTMLElement* insertAdjacentElement(                                \
5008         [in] BSTR where,                                                \
5009         [in] IHTMLElement* insertedElement);                            \
5010                                                                         \
5011     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]                             \
5012     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where); \
5013                                                                         \
5014     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]                          \
5015     BSTR getAdjacentText([in] BSTR where);                              \
5016                                                                         \
5017     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]                      \
5018     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);        \
5019                                                                         \
5020     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]                 \
5021     VARIANT_BOOL canHaveChildren();                                     \
5022                                                                         \
5023     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]                              \
5024     LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory); \
5025                                                                         \
5026     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]                           \
5027     VARIANT_BOOL removeBehavior([in] LONG cookie);                      \
5028                                                                         \
5029     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]      \
5030     IHTMLStyle* runtimeStyle();                                         \
5031                                                                         \
5032     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]                    \
5033     IDispatch* behaviorUrns();                                          \
5034                                                                         \
5035     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5036     void tagUrn(BSTR v);                                                \
5037                                                                         \
5038     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5039     BSTR tagUrn();                                                      \
5040                                                                         \
5041     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5042     void onbeforeeditfocus(VARIANT v);                                  \
5043                                                                         \
5044     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5045     VARIANT onbeforeeditfocus();                                        \
5046                                                                         \
5047     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] \
5048     LONG readyStateValue();                                             \
5049                                                                         \
5050     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]                     \
5051     IHTMLElementCollection* getElementsByTagName([in] BSTR v)
5052
5053 /*****************************************************************************
5054  *    IHTMLElement3 interface
5055  */
5056 [
5057     odl,
5058     oleautomation,
5059     dual,
5060     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
5061 ]
5062 interface IHTMLElement3 : IDispatch
5063 {
5064     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
5065     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
5066
5067     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5068     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
5069
5070     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5071     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
5072
5073     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5074     HRESULT onlayoutcomplete([in] VARIANT v);
5075
5076     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5077     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
5078
5079     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5080     HRESULT onpage([in] VARIANT v);
5081
5082     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5083     HRESULT onpage([retval, out] VARIANT * p);
5084
5085     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5086     HRESULT inflateBlock([in] VARIANT_BOOL v);
5087
5088     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5089     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
5090
5091     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5092     HRESULT onbeforedeactivate([in] VARIANT v);
5093
5094     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5095     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
5096
5097     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
5098
5099     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5100     HRESULT contentEditable([in] BSTR v);
5101
5102     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5103     HRESULT contentEditable([retval, out] BSTR * p);
5104
5105     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5106     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
5107
5108     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5109     HRESULT hideFocus([in] VARIANT_BOOL v);
5110
5111     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5112     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
5113
5114     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5115     HRESULT disabled([in] VARIANT_BOOL v);
5116
5117     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5118     HRESULT disabled([retval, out] VARIANT_BOOL * p);
5119
5120     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5121     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
5122
5123     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5124     HRESULT onmove([in] VARIANT v);
5125
5126     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5127     HRESULT onmove([retval, out] VARIANT * p);
5128
5129     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5130     HRESULT oncontrolselect([in] VARIANT v);
5131
5132     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5133     HRESULT oncontrolselect([retval, out] VARIANT * p);
5134
5135     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5136     HRESULT fireEvent(
5137         [in] BSTR bstrEventName,
5138         [optional, in] VARIANT* pvarEventObject,
5139         [retval, out] VARIANT_BOOL* pfCancelled);
5140
5141     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5142     HRESULT onresizestart([in] VARIANT v);
5143
5144     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5145     HRESULT onresizestart([retval, out] VARIANT * p);
5146
5147     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5148     HRESULT onresizeend([in] VARIANT v);
5149
5150     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5151     HRESULT onresizeend([retval, out] VARIANT * p);
5152
5153     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5154     HRESULT onmovestart([in] VARIANT v);
5155
5156     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5157     HRESULT onmovestart([retval, out] VARIANT * p);
5158
5159     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5160     HRESULT onmoveend([in] VARIANT v);
5161
5162     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5163     HRESULT onmoveend([retval, out] VARIANT * p);
5164
5165     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5166     HRESULT onmouseenter([in] VARIANT v);
5167
5168     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5169     HRESULT onmouseenter([retval, out] VARIANT * p);
5170
5171     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5172     HRESULT onmouseleave([in] VARIANT v);
5173
5174     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5175     HRESULT onmouseleave([retval, out] VARIANT * p);
5176
5177     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5178     HRESULT onactivate([in] VARIANT v);
5179
5180     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5181     HRESULT onactivate([retval, out] VARIANT * p);
5182
5183     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5184     HRESULT ondeactivate([in] VARIANT v);
5185
5186     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5187     HRESULT ondeactivate([retval, out] VARIANT * p);
5188
5189     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
5190     VARIANT_BOOL* pfRet);
5191
5192     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5193     HRESULT glyphMode([retval, out] LONG * p);
5194 }
5195
5196 #define WINE_IHTMLELEMENT3_DISPINTERFACE_DECL                           \
5197                                                                         \
5198     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]                          \
5199     void mergeAttributes(                                               \
5200             [in] IHTMLElement* mergeThis,                               \
5201             [optional, in] VARIANT* pvarFlags);                         \
5202                                                                         \
5203     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]                     \
5204     VARIANT_BOOL isMultiLine();                                         \
5205                                                                         \
5206     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]                     \
5207     VARIANT_BOOL canHaveHTML();                                         \
5208                                                                         \
5209     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5210     void onlayoutcomplete(VARIANT v);                                   \
5211                                                                         \
5212     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5213     VARIANT onlayoutcomplete();                                         \
5214                                                                         \
5215     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5216     void onpage(VARIANT v);                                             \
5217                                                                         \
5218     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5219     VARIANT onpage();                                                   \
5220                                                                         \
5221     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5222     void inflateBlock(VARIANT_BOOL v);                                  \
5223                                                                         \
5224     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5225     VARIANT_BOOL inflateBlock();                                        \
5226                                                                         \
5227     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5228     void onbeforedeactivate(VARIANT v);                                 \
5229                                                                         \
5230     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5231     VARIANT onbeforedeactivate();                                       \
5232                                                                         \
5233     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]                                \
5234     void setActive();                                                   \
5235                                                                         \
5236     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5237     void contentEditable(BSTR v);                                       \
5238                                                                         \
5239     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5240     BSTR contentEditable();                                             \
5241                                                                         \
5242     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]               \
5243     VARIANT_BOOL isContentEditable();                                   \
5244                                                                         \
5245     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5246     void hideFocus(VARIANT_BOOL v);                                     \
5247                                                                         \
5248     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5249     VARIANT_BOOL hideFocus();                                           \
5250                                                                         \
5251     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5252     void disabled(VARIANT_BOOL v);                                      \
5253                                                                         \
5254     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5255     VARIANT_BOOL disabled();                                            \
5256                                                                         \
5257     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]                      \
5258     VARIANT_BOOL isDisabled();                                          \
5259                                                                         \
5260     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5261     void onmove(VARIANT v);                                             \
5262                                                                         \
5263     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5264     VARIANT onmove();                                                   \
5265                                                                         \
5266     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5267     void oncontrolselect(VARIANT v);                                    \
5268                                                                         \
5269     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5270     VARIANT oncontrolselect();                                          \
5271                                                                         \
5272     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]                                \
5273     VARIANT_BOOL fireEvent(                                             \
5274         [in] BSTR bstrEventName,                                        \
5275         [optional, in] VARIANT* pvarEventObject);                       \
5276                                                                         \
5277     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5278     void onresizestart(VARIANT v);                                      \
5279                                                                         \
5280     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5281     VARIANT onresizestart();                                            \
5282                                                                         \
5283     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5284     void onresizeend(VARIANT v);                                        \
5285                                                                         \
5286     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5287     VARIANT onresizeend();                                              \
5288                                                                         \
5289     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5290     void onmovestart(VARIANT v);                                        \
5291                                                                         \
5292     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5293     VARIANT onmovestart();                                              \
5294                                                                         \
5295     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5296     void onmoveend(VARIANT v);                                          \
5297                                                                         \
5298     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5299     VARIANT onmoveend();                                                \
5300                                                                         \
5301     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5302     void onmouseenter(VARIANT v);                                       \
5303                                                                         \
5304     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5305     VARIANT onmouseenter();                                             \
5306                                                                         \
5307     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5308     void onmouseleave(VARIANT v);                                       \
5309                                                                         \
5310     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5311     VARIANT onmouseleave();                                             \
5312                                                                         \
5313     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5314     void onactivate(VARIANT v);                                         \
5315                                                                         \
5316     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5317     VARIANT onactivate();                                               \
5318                                                                         \
5319     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5320     void ondeactivate(VARIANT v);                                       \
5321                                                                         \
5322     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5323     VARIANT ondeactivate();                                             \
5324                                                                         \
5325     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]                                 \
5326     VARIANT_BOOL dragDrop();                                            \
5327                                                                         \
5328     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] \
5329     LONG glyphMode()
5330
5331 /*****************************************************************************
5332  *    IHTMLElement4 interface
5333  */
5334 [
5335     odl,
5336     oleautomation,
5337     dual,
5338     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
5339 ]
5340 interface IHTMLElement4 : IDispatch
5341 {
5342     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5343     HRESULT onmousewheel([in] VARIANT v);
5344
5345     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5346     HRESULT onmousewheel([retval, out] VARIANT * p);
5347
5348     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5349     HRESULT normalize();
5350
5351     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5352     HRESULT getAttributeNode([in] BSTR bstrname,
5353         [retval, out] IHTMLDOMAttribute** ppAttribute);
5354
5355     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5356     HRESULT setAttributeNode(
5357         [in] IHTMLDOMAttribute* pattr,
5358         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5359
5360     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5361     HRESULT removeAttributeNode(
5362         [in] IHTMLDOMAttribute* pattr,
5363         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5364
5365     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5366     HRESULT onbeforeactivate([in] VARIANT v);
5367
5368     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5369     HRESULT onbeforeactivate([retval, out] VARIANT * p);
5370
5371     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5372     HRESULT onfocusin([in] VARIANT v);
5373
5374     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5375     HRESULT onfocusin([retval, out] VARIANT * p);
5376
5377     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5378     HRESULT onfocusout([in] VARIANT v);
5379
5380     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5381     HRESULT onfocusout([retval, out] VARIANT * p);
5382 }
5383
5384 #define WINE_IHTMLELEMENT4_DISPINTERFACE_DECL                           \
5385     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5386     void onmousewheel(VARIANT v);                                       \
5387                                                                         \
5388     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5389     VARIANT onmousewheel();                                             \
5390                                                                         \
5391     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]                                \
5392     void normalize();                                                   \
5393                                                                         \
5394     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]                         \
5395     IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);            \
5396                                                                         \
5397     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]                         \
5398     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr); \
5399                                                                         \
5400     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]                      \
5401     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr); \
5402                                                                         \
5403     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5404     void onbeforeactivate(VARIANT v);                                   \
5405                                                                         \
5406     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5407     VARIANT onbeforeactivate();                                         \
5408                                                                         \
5409     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5410     void onfocusin(VARIANT v);                                          \
5411                                                                         \
5412     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5413     VARIANT onfocusin();                                                \
5414                                                                         \
5415     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5416     void onfocusout(VARIANT v);                                         \
5417                                                                         \
5418     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5419     VARIANT onfocusout()
5420
5421 #define WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL                \
5422     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)]                 \
5423     IHTMLElement *querySelector([in] BSTR v);                   \
5424                                                                 \
5425     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)]              \
5426     IHTMLDOMChildrenCollection *querySelectorAll([in] BSTR v)
5427
5428 /*****************************************************************************
5429  *    IHTMLUniqueName interface
5430  */
5431 [
5432     odl,
5433     oleautomation,
5434     dual,
5435     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
5436 ]
5437 interface IHTMLUniqueName : IDispatch
5438 {
5439     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5440     HRESULT uniqueNumber([retval, out] LONG * p);
5441
5442     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5443     HRESULT uniqueID([retval, out] BSTR * p);
5444 }
5445
5446 #define WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL                 \
5447     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]  \
5448     LONG uniqueNumber();                                        \
5449                                                                 \
5450     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]      \
5451     BSTR uniqueID()
5452
5453 #define WINE_IHTMLELEMENT5_DISPINTERFACE_DECL                           \
5454     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)]                     \
5455     IHTMLDOMAttribute2 *ie8_getAttributeNode([in] BSTR bstrname);       \
5456                                                                         \
5457     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)]                     \
5458     IHTMLDOMAttribute2 *ie8_setAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5459                                                                         \
5460     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)]                  \
5461     IHTMLDOMAttribute2 *ie8_removeAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5462                                                                         \
5463     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)]                             \
5464     VARIANT_BOOL hasAttribute([in] BSTR name);                          \
5465                                                                         \
5466     [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5467     void role(BSTR v);                                                  \
5468                                                                         \
5469     [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5470     BSTR role();                                                        \
5471                                                                         \
5472     [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5473     void ariaBusy(BSTR v);                                              \
5474                                                                         \
5475     [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5476     BSTR ariaBusy();                                                    \
5477                                                                         \
5478     [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5479     void ariaChecked(BSTR v);                                           \
5480                                                                         \
5481     [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5482     BSTR ariaChecked();                                                 \
5483                                                                         \
5484     [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5485     void ariaDisabled(BSTR v);                                          \
5486                                                                         \
5487     [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5488     BSTR ariaDisabled();                                                \
5489                                                                         \
5490     [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5491     void ariaExpanded(BSTR v);                                          \
5492                                                                         \
5493     [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5494     BSTR ariaExpanded();                                                \
5495                                                                         \
5496     [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable]\
5497     void ariaHaspopup(BSTR v);                                          \
5498                                                                         \
5499     [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] \
5500     BSTR ariaHaspopup();                                                \
5501                                                                         \
5502     [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5503     void ariaHidden(BSTR v);                                            \
5504                                                                         \
5505     [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5506     BSTR ariaHidden();                                                  \
5507                                                                         \
5508     [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5509     void ariaInvalid(BSTR v);                                           \
5510                                                                         \
5511     [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5512     BSTR ariaInvalid();                                                 \
5513                                                                         \
5514     [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5515     void ariaMultiselectable(BSTR v);                                   \
5516                                                                         \
5517     [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5518     BSTR ariaMultiselectable();                                         \
5519                                                                         \
5520     [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5521     void ariaPressed(BSTR v);                                           \
5522                                                                         \
5523     [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5524     BSTR ariaPressed();                                                 \
5525                                                                         \
5526     [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
5527     void ariaReadonly(BSTR v);                                          \
5528                                                                         \
5529     [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
5530     BSTR ariaReadonly();                                                \
5531                                                                         \
5532     [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
5533     void ariaRequired(BSTR v);                                          \
5534                                                                         \
5535     [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
5536     BSTR ariaRequired();                                                \
5537                                                                         \
5538     [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
5539     void ariaSecret(BSTR v);                                            \
5540                                                                         \
5541     [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
5542     BSTR ariaSecret();                                                  \
5543                                                                         \
5544     [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
5545     void ariaSelected(BSTR v);                                          \
5546                                                                         \
5547     [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
5548     BSTR ariaSelected();                                                \
5549                                                                         \
5550     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)]                         \
5551     VARIANT ie8_getAttribute([in] BSTR strAttributeName);               \
5552                                                                         \
5553     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)]                         \
5554     void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue); \
5555                                                                         \
5556     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)]                      \
5557     VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);       \
5558                                                                         \
5559     [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)]                  \
5560     IHTMLAttributeCollection3 *ie8_attributes();                        \
5561                                                                         \
5562     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
5563     void ariaValuenow(BSTR v);                                          \
5564                                                                         \
5565     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
5566     BSTR ariaValuenow();                                                \
5567                                                                         \
5568     [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
5569     void ariaPosinset(short v);                                         \
5570                                                                         \
5571     [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
5572     short ariaPosinset();                                               \
5573                                                                         \
5574     [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
5575     void ariaSetsize(short v);                                          \
5576                                                                         \
5577     [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
5578     short ariaSetsize();                                                \
5579                                                                         \
5580     [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
5581     void ariaLevel(short v);                                            \
5582                                                                         \
5583     [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
5584     short ariaLevel();                                                  \
5585                                                                         \
5586     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
5587     void ariaValuemin(BSTR v);                                          \
5588                                                                         \
5589     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
5590     BSTR ariaValuemin();                                                \
5591                                                                         \
5592     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
5593     void ariaValuemax(BSTR v);                                          \
5594                                                                         \
5595     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
5596     BSTR ariaValuemax();                                                \
5597                                                                         \
5598     [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
5599     void ariaControls(BSTR v);                                          \
5600                                                                         \
5601     [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
5602     BSTR ariaControls();                                                \
5603                                                                         \
5604     [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
5605     void ariaDescribedby(BSTR v);                                       \
5606                                                                         \
5607     [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
5608     BSTR ariaDescribedby();                                             \
5609                                                                         \
5610     [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
5611     void ariaFlowto(BSTR v);                                            \
5612                                                                         \
5613     [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
5614     BSTR ariaFlowto();                                                  \
5615                                                                         \
5616     [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
5617     void ariaLabelledby(BSTR v);                                        \
5618                                                                         \
5619     [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
5620     BSTR ariaLabelledby();                                              \
5621                                                                         \
5622     [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
5623     void ariaActivedescendant(BSTR v);                                  \
5624                                                                         \
5625     [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
5626     BSTR ariaActivedescendant();                                        \
5627                                                                         \
5628     [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
5629     void ariaOwns(BSTR v);                                              \
5630                                                                         \
5631     [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
5632     BSTR ariaOwns();                                                    \
5633                                                                         \
5634     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)]                            \
5635     VARIANT_BOOL hasAttributes();                                       \
5636                                                                         \
5637     [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
5638     void ariaLive(BSTR v);                                              \
5639                                                                         \
5640     [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
5641     BSTR ariaLive();                                                    \
5642                                                                         \
5643     [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
5644     void ariaRelevant(BSTR v);                                          \
5645                                                                         \
5646     [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
5647     BSTR ariaRelevant()
5648
5649 [
5650     odl,
5651     oleautomation,
5652     dual,
5653     uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
5654 ]
5655 interface IHTMLDatabinding : IDispatch
5656 {
5657     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
5658     HRESULT dataFld([in] BSTR v);
5659
5660     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
5661     HRESULT dataFld([retval, out] BSTR * p);
5662
5663     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
5664     HRESULT dataSrc([in] BSTR v);
5665
5666     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
5667     HRESULT dataSrc([retval, out] BSTR * p);
5668
5669     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
5670     HRESULT dataFormatAs([in] BSTR v);
5671
5672     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
5673     HRESULT dataFormatAs([retval, out] BSTR * p);
5674 }
5675
5676 #define WINE_IHTMLDATABINDING_DISPINTERFACE_DECL        \
5677     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
5678     void dataFld(BSTR v);                               \
5679                                                         \
5680     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
5681     BSTR dataFld();                                     \
5682                                                         \
5683     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
5684     void dataSrc(BSTR v);                               \
5685                                                         \
5686     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
5687     BSTR dataSrc();                                     \
5688                                                         \
5689     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
5690     void dataFormatAs(BSTR v);                          \
5691                                                         \
5692     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
5693     BSTR dataFormatAs()
5694
5695 #define WINE_HTMLELEMENT_DISPINTERFACE_DECL     \
5696     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
5697     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
5698     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
5699     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
5700     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
5701     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
5702     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
5703     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
5704
5705 #define WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL \
5706     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
5707     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
5708     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
5709     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
5710     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
5711     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
5712     WINE_IHTMLDATABINDING_DISPINTERFACE_DECL;   \
5713     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
5714     WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL;   \
5715     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
5716
5717 /*****************************************************************************
5718  *    IHTMLGenericElement interface
5719  */
5720 [
5721     odl,
5722     oleautomation,
5723     dual,
5724     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
5725 ]
5726 interface IHTMLGenericElement : IDispatch
5727 {
5728     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5729     HRESULT recordset([out, retval] IDispatch **p);
5730
5731     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5732     HRESULT namedRecordset(
5733             [in] BSTR dataMember,
5734             [in, optional] VARIANT *hierarchy,
5735             [out, retval] IDispatch **ppRecordset);
5736 }
5737
5738 /*****************************************************************************
5739  *    DispHTMLGenericElement dispinterface
5740  */
5741 [
5742     hidden,
5743     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
5744 ]
5745 dispinterface DispHTMLGenericElement
5746 {
5747 properties:
5748 methods:
5749     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
5750
5751     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5752     IDispatch *recordset();
5753
5754     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5755     IDispatch *namedRecordset(
5756             [in] BSTR dataMember,
5757             [in, optional] VARIANT *hierarchy);
5758 }
5759
5760 /*****************************************************************************
5761  *    IHTMLStyleSheetRule interface
5762  */
5763 [
5764     odl,
5765     oleautomation,
5766     dual,
5767     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
5768 ]
5769 interface IHTMLStyleSheetRule : IDispatch
5770 {
5771     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5772     HRESULT selectorText([in] BSTR v);
5773
5774     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5775     HRESULT selectorText([retval, out] BSTR *p);
5776
5777     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
5778     HRESULT style([retval, out] IHTMLRuleStyle **p);
5779
5780     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5781     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5782 }
5783
5784 [
5785     hidden,
5786     uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b)
5787 ]
5788 dispinterface DispHTMLStyleSheetRule
5789 {
5790 properties:
5791 methods:
5792     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5793     void selectorText(BSTR v);
5794
5795     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5796     BSTR selectorText();
5797
5798     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable]
5799     IHTMLRuleStyle* style();
5800
5801     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5802     VARIANT_BOOL readOnly();
5803
5804     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
5805 }
5806
5807 [
5808     noncreatable,
5809     uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b)
5810 ]
5811 coclass HTMLStyleSheetRule
5812 {
5813     [default]           dispinterface DispHTMLStyleSheetRule;
5814                         interface IHTMLStyleSheetRule;
5815                         interface IHTMLDOMConstructor;
5816 }
5817
5818 /*****************************************************************************
5819  *    IHTMLStyleSheetRulesCollection interface
5820  */
5821 [
5822     odl,
5823     oleautomation,
5824     dual,
5825     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
5826 ]
5827 interface IHTMLStyleSheetRulesCollection : IDispatch
5828 {
5829     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5830     HRESULT length([retval, out] LONG *p);
5831
5832     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5833     HRESULT item(
5834         [in] LONG index,
5835         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
5836 }
5837
5838 [
5839     hidden,
5840     uuid(3050f52f-98b5-11cf-bb82-00aa00bdce0b)
5841 ]
5842 dispinterface DispHTMLStyleSheetRulesCollection
5843 {
5844 properties:
5845 methods:
5846     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5847     long length();
5848
5849     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5850     IHTMLStyleSheetRule* item([in] long index);
5851
5852     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
5853 }
5854
5855 [
5856     noncreatable,
5857     uuid(3050f3cd-98b5-11cf-bb82-00aa00bdce0b)
5858 ]
5859 coclass HTMLStyleSheetRulesCollection
5860 {
5861     [default]           dispinterface DispHTMLStyleSheetRulesCollection;
5862                         interface IHTMLStyleSheetRulesCollection;
5863                         interface IHTMLDOMConstructor;
5864 }
5865
5866 [
5867     odl,
5868     oleautomation,
5869     dual,
5870     uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
5871 ]
5872 interface IHTMLStyleSheetPage : IDispatch
5873 {
5874     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
5875     HRESULT selector([retval, out] BSTR *p);
5876
5877     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
5878     HRESULT pseudoClass([retval, out] BSTR *p);
5879 }
5880
5881 [
5882     hidden,
5883     uuid(3050f540-98b5-11cf-bb82-00aa00bdce0b)
5884 ]
5885 dispinterface DispHTMLStyleSheetPage
5886 {
5887 properties:
5888 methods:
5889     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
5890     BSTR selector();
5891
5892     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
5893     BSTR pseudoClass();
5894
5895     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
5896 }
5897 [
5898     noncreatable,
5899     uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b)
5900 ]
5901 coclass HTMLStyleSheetPage
5902 {
5903     [default]           dispinterface DispHTMLStyleSheetPage;
5904                         interface IHTMLStyleSheetPage;
5905                         interface IHTMLDOMConstructor;
5906 };
5907
5908 [
5909     odl,
5910     oleautomation,
5911     dual,
5912     uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
5913 ]
5914 interface IHTMLStyleSheetPagesCollection : IDispatch
5915 {
5916     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
5917     HRESULT length([retval, out] LONG *p);
5918
5919     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
5920     HRESULT item(
5921         [in] LONG index,
5922         [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
5923 }
5924
5925 [
5926     hidden,
5927     uuid(3050f543-98b5-11cf-bb82-00aa00bdce0b)
5928 ]
5929 dispinterface DispHTMLStyleSheetPagesCollection
5930 {
5931 properties:
5932 methods:
5933     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
5934     long length();
5935
5936     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
5937     IHTMLStyleSheetPage* item([in] long index);
5938
5939     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
5940 }
5941
5942 [
5943     noncreatable,
5944     uuid(3050f7f1-98b5-11cf-bb82-00aa00bdce0b)
5945 ]
5946 coclass HTMLStyleSheetPagesCollection
5947 {
5948     [default]           dispinterface DispHTMLStyleSheetPagesCollection;
5949                         interface IHTMLStyleSheetPagesCollection;
5950                         interface IHTMLDOMConstructor;
5951 }
5952
5953 /*****************************************************************************
5954  *    IHTMLStyleSheet interface
5955  */
5956 [
5957     odl,
5958     oleautomation,
5959     dual,
5960     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
5961 ]
5962 interface IHTMLStyleSheet : IDispatch
5963 {
5964     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5965     HRESULT title([in] BSTR v);
5966
5967     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5968     HRESULT title([retval, out] BSTR *p);
5969
5970     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
5971     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
5972
5973     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
5974     HRESULT owningElement([retval, out] IHTMLElement **p);
5975
5976     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5977     HRESULT disabled([in] VARIANT_BOOL v);
5978
5979     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5980     HRESULT disabled([retval, out] VARIANT_BOOL *p);
5981
5982     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
5983     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5984
5985     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
5986     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
5987
5988     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
5989     HRESULT href([in] BSTR v);
5990
5991     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
5992     HRESULT href([retval, out] BSTR *p);
5993
5994     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
5995     HRESULT type([retval, out] BSTR *p);
5996
5997     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
5998     HRESULT id([retval, out] BSTR *p);
5999
6000     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6001     HRESULT addImport(
6002         [in] BSTR bstrURL,
6003         [defaultvalue(-1), in] LONG lIndex,
6004         [retval, out] LONG *plIndex);
6005
6006     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6007     HRESULT addRule(
6008         [in] BSTR bstrSelector,
6009         [in] BSTR bstrStyle,
6010         [defaultvalue(-1), in] LONG lIndex,
6011         [retval, out] LONG *plNewIndex);
6012
6013     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6014     HRESULT removeImport([in] LONG lIndex);
6015
6016     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6017     HRESULT removeRule([in] LONG lIndex);
6018
6019     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6020     HRESULT media([in] BSTR v);
6021
6022     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6023     HRESULT media([retval, out] BSTR *p);
6024
6025     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6026     HRESULT cssText([in] BSTR v);
6027
6028     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6029     HRESULT cssText([retval, out] BSTR *p);
6030
6031     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6032     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
6033 }
6034
6035 /*****************************************************************************
6036  *    IHTMLStyleSheet2 interface
6037  */
6038 [
6039     odl,
6040     oleautomation,
6041     dual,
6042     uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
6043 ]
6044 interface IHTMLStyleSheet2 : IDispatch
6045 {
6046     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6047     HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
6048
6049     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6050     HRESULT addPageRule(
6051         [in] BSTR bstrSelector,
6052         [in] BSTR bstrStyle,
6053         [defaultvalue(-1), in] LONG lIndex,
6054         [retval, out] LONG *plNewIndex);
6055 }
6056
6057 [
6058     hidden,
6059     uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
6060 ]
6061 dispinterface DispHTMLStyleSheet
6062 {
6063 properties:
6064 methods:
6065     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6066     void title(BSTR v);
6067
6068     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6069     BSTR title();
6070
6071     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6072     IHTMLStyleSheet* parentStyleSheet();
6073
6074     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6075     IHTMLElement* owningElement();
6076
6077     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6078     void disabled(VARIANT_BOOL v);
6079
6080     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6081     VARIANT_BOOL disabled();
6082
6083     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6084     VARIANT_BOOL readOnly();
6085
6086     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6087     IHTMLStyleSheetsCollection* imports();
6088
6089     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6090     void href(BSTR v);
6091
6092     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6093     BSTR href();
6094
6095     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6096     BSTR type();
6097
6098     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6099     BSTR id();
6100
6101     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6102     LONG addImport(
6103         [in] BSTR bstrURL,
6104         [defaultvalue(-1), in] LONG lIndex);
6105
6106     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6107     LONG addRule(
6108         [in] BSTR bstrSelector,
6109         [in] BSTR bstrStyle,
6110         [defaultvalue(-1), in] LONG lIndex);
6111
6112     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6113     void removeImport([in] LONG lIndex);
6114
6115     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6116     void removeRule([in] LONG lIndex);
6117
6118     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6119     void media(BSTR v);
6120
6121     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6122     BSTR media();
6123
6124     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6125     void cssText(BSTR v);
6126
6127     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6128     BSTR cssText();
6129
6130     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6131     IHTMLStyleSheetRulesCollection* rules();
6132
6133     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6134     IHTMLStyleSheetPagesCollection* pages();
6135
6136     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6137     LONG addPageRule(
6138         [in] BSTR bstrSelector,
6139         [in] BSTR bstrStyle,
6140         [defaultvalue(-1), in] LONG lIndex);
6141 }
6142
6143 [
6144     noncreatable,
6145     uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
6146 ]
6147 coclass HTMLStyleSheet
6148 {
6149     [default]           dispinterface DispHTMLStyleSheet;
6150                         interface IHTMLStyleSheet;
6151                         interface IHTMLStyleSheet2;
6152 }
6153
6154 /*****************************************************************************
6155  *    IHTMLStyleSheetsCollection interface
6156  */
6157 [
6158     odl,
6159     oleautomation,
6160     dual,
6161     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
6162 ]
6163 interface IHTMLStyleSheetsCollection : IDispatch
6164 {
6165     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6166     HRESULT length([retval, out] LONG *p);
6167
6168     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
6169     HRESULT _newEnum([retval, out] IUnknown **p);
6170
6171     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6172     HRESULT item(
6173         [in] VARIANT *pvarIndex,
6174         [retval, out] VARIANT *pvarResult);
6175 }
6176
6177 /*****************************************************************************
6178  *    IHTMLTxtRange interface
6179  */
6180 [
6181     odl,
6182     oleautomation,
6183     dual,
6184     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
6185 ]
6186 interface IHTMLTxtRange : IDispatch
6187 {
6188     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
6189     HRESULT htmlText([retval, out] BSTR *p);
6190
6191     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
6192     HRESULT text([in] BSTR v);
6193
6194     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
6195     HRESULT text([retval, out] BSTR *p);
6196
6197     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
6198     HRESULT parentElement([retval, out] IHTMLElement **parent);
6199
6200     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
6201     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
6202
6203     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
6204     HRESULT inRange(
6205         [in] IHTMLTxtRange *Range,
6206         [retval, out] VARIANT_BOOL *InRange);
6207
6208     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
6209     HRESULT isEqual(
6210         [in] IHTMLTxtRange *Range,
6211         [retval, out] VARIANT_BOOL *IsEqual);
6212
6213     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
6214     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
6215
6216     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
6217     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
6218
6219     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
6220     HRESULT expand(
6221         [in] BSTR Unit,
6222         [retval, out] VARIANT_BOOL *Success);
6223
6224     [id(DISPID_IHTMLTXTRANGE_MOVE)]
6225     HRESULT move(
6226         [in] BSTR Unit,
6227         [defaultvalue(1), in] LONG Count,
6228         [retval, out] LONG *ActualCount);
6229
6230     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
6231     HRESULT moveStart(
6232         [in] BSTR Unit,
6233         [defaultvalue(1), in] LONG Count,
6234         [retval, out] LONG *ActualCount);
6235
6236     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
6237     HRESULT moveEnd(
6238         [in] BSTR Unit,
6239         [defaultvalue(1), in] LONG Count,
6240         [retval, out] LONG *ActualCount);
6241
6242     [id(DISPID_IHTMLTXTRANGE_SELECT)]
6243     HRESULT select();
6244
6245     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
6246     HRESULT pasteHTML([in] BSTR html);
6247
6248     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
6249     HRESULT moveToElementText([in] IHTMLElement *element);
6250
6251     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
6252     HRESULT setEndPoint(
6253         [in] BSTR how,
6254         [in] IHTMLTxtRange *SourceRange);
6255
6256     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
6257     HRESULT compareEndPoints(
6258         [in] BSTR how,
6259         [in] IHTMLTxtRange *SourceRange,
6260         [retval, out] LONG *ret);
6261
6262     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
6263     HRESULT findText(
6264         [in] BSTR String,
6265         [defaultvalue(1073741823), in] LONG count,
6266         [defaultvalue(0), in] LONG Flags,
6267         [retval, out] VARIANT_BOOL *Success);
6268
6269     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
6270     HRESULT moveToPoint(
6271         [in] LONG x,
6272         [in] LONG y);
6273
6274     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
6275     HRESULT getBookmark([retval, out] BSTR *Boolmark);
6276
6277     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
6278     HRESULT moveToBookmark(
6279         [in] BSTR Bookmark,
6280         [retval, out] VARIANT_BOOL *Success);
6281
6282     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
6283     HRESULT queryCommandSupported(
6284         [in] BSTR cmdID,
6285         [retval, out] VARIANT_BOOL *pfRet);
6286
6287     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
6288     HRESULT queryCommandEnabled(
6289         [in] BSTR cmdID,
6290         [retval, out] VARIANT_BOOL *pfRet);
6291
6292     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
6293     HRESULT queryCommandState(
6294         [in] BSTR cmdID,
6295         [retval, out] VARIANT_BOOL *pfRet);
6296
6297     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
6298     HRESULT queryCommandIndeterm(
6299         [in] BSTR cmdID,
6300         [retval, out] VARIANT_BOOL *pfRet);
6301
6302     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
6303     HRESULT queryCommandText(
6304         [in] BSTR cmdID,
6305         [retval, out] BSTR *pcmdText);
6306
6307     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
6308     HRESULT queryCommandValue(
6309         [in] BSTR cmdID,
6310         [retval, out] VARIANT *pcmdValue);
6311
6312     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
6313     HRESULT execCommand(
6314         [in] BSTR cmdID,
6315         [defaultvalue(0), in] VARIANT_BOOL showUI,
6316         [optional, in] VARIANT value,
6317         [retval, out] VARIANT_BOOL *pfRet);
6318
6319     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
6320     HRESULT execCommandShowHelp(
6321         [in] BSTR cmdID,
6322         [retval, out] VARIANT_BOOL *pfRet);
6323 }
6324
6325 [
6326     noncreatable,
6327     uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
6328 ]
6329 coclass HTMLStyleSheetsCollection
6330 {
6331     [default]           interface IHTMLStyleSheetsCollection;
6332 }
6333
6334 /*****************************************************************************
6335  *    IHTMLFormElement interface
6336  */
6337 [
6338     odl,
6339     oleautomation,
6340     dual,
6341     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
6342 ]
6343 interface IHTMLFormElement : IDispatch
6344 {
6345     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6346     HRESULT action([in] BSTR v);
6347
6348     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6349     HRESULT action([retval, out] BSTR *p);
6350
6351     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
6352     HRESULT dir([in] BSTR v);
6353
6354     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
6355     HRESULT dir([retval, out] BSTR *p);
6356
6357     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6358     HRESULT encoding([in] BSTR v);
6359
6360     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6361     HRESULT encoding([retval, out] BSTR *p);
6362
6363     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6364     HRESULT method([in] BSTR v);
6365
6366     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6367     HRESULT method([retval, out] BSTR *p);
6368
6369     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6370     HRESULT elements([retval, out] IDispatch **p);
6371
6372     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6373     HRESULT target([in] BSTR v);
6374
6375     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6376     HRESULT target([retval, out] BSTR *p);
6377
6378     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6379     HRESULT name([in] BSTR v);
6380
6381     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6382     HRESULT name([retval, out] BSTR *p);
6383
6384     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6385     HRESULT onsubmit([in] VARIANT v);
6386
6387     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6388     HRESULT onsubmit([retval, out] VARIANT *p);
6389
6390     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6391     HRESULT onreset([in] VARIANT v);
6392
6393     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6394     HRESULT onreset([retval, out] VARIANT *p);
6395
6396     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6397     HRESULT submit();
6398
6399     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6400     HRESULT reset();
6401
6402     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6403     HRESULT length([in] LONG v);
6404
6405     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6406     HRESULT length([retval, out] LONG *p);
6407
6408     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
6409     HRESULT _newEnum([retval, out] IUnknown **p);
6410
6411     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6412     HRESULT item(
6413         [optional, in] VARIANT name,
6414         [optional, in] VARIANT index,
6415         [retval, out] IDispatch **pdisp);
6416
6417     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6418     HRESULT tags(
6419         [in] VARIANT tagName,
6420         [retval, out] IDispatch **pdisp);
6421 }
6422
6423 /*****************************************************************************
6424  *    DispHTMLFormElement dispinterface
6425  */
6426 [
6427     hidden,
6428     uuid(3050F510-98B5-11CF-BB82-00AA00BDCE0B)
6429 ]
6430 dispinterface DispHTMLFormElement
6431 {
6432 properties:
6433 methods:
6434     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6435
6436     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6437     void action(BSTR v);
6438
6439     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6440     BSTR action();
6441
6442     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6443     void encoding(BSTR v);
6444
6445     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6446     BSTR encoding();
6447
6448     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6449     void method(BSTR v);
6450
6451     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6452     BSTR method();
6453
6454     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6455     IDispatch *elements();
6456
6457     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6458     void target(BSTR v);
6459
6460     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6461     BSTR target();
6462
6463     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6464     void name(BSTR v);
6465
6466     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6467     BSTR name();
6468
6469     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6470     void onsubmit(VARIANT v);
6471
6472     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6473     VARIANT onsubmit();
6474
6475     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6476     void onreset(VARIANT v);
6477
6478     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6479     VARIANT onreset();
6480
6481     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6482     void submit();
6483
6484     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6485     void reset();
6486
6487     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6488     void length(long v);
6489
6490     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6491     long length();
6492
6493     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM), hidden, restricted]
6494     IUnknown *_newEnum();
6495
6496     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6497     IDispatch *item(VARIANT name, VARIANT index);
6498
6499     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6500     IDispatch *tags(VARIANT tagName);
6501 }
6502
6503 [
6504     hidden,
6505     uuid(3050F364-98B5-11CF-BB82-00AA00BDCE0B)
6506 ]
6507 dispinterface HTMLFormElementEvents
6508 {
6509 properties:
6510 methods:
6511     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
6512     VARIANT_BOOL onhelp();
6513
6514     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
6515     VARIANT_BOOL onclick();
6516
6517     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
6518     VARIANT_BOOL ondblclick();
6519
6520     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
6521     VARIANT_BOOL onkeypress();
6522
6523     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
6524     void onkeydown();
6525
6526     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
6527     void onkeyup();
6528
6529     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
6530     void onmouseout();
6531
6532     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
6533     void onmouseover();
6534
6535     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
6536     void onmousemove();
6537
6538     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
6539     void onmousedown();
6540
6541     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
6542     void onmouseup();
6543
6544     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
6545     VARIANT_BOOL onselectstart();
6546
6547     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
6548     void onfilterchange();
6549
6550     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
6551     VARIANT_BOOL ondragstart();
6552
6553     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
6554     VARIANT_BOOL onbeforeupdate();
6555
6556     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
6557     void onafterupdate();
6558
6559     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
6560     VARIANT_BOOL onerrorupdate();
6561
6562     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
6563     VARIANT_BOOL onrowexit();
6564
6565     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
6566     void onrowenter();
6567
6568     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
6569     void ondatasetchanged();
6570
6571     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
6572     void ondataavailable();
6573
6574     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
6575     void ondatasetcomplete();
6576
6577     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
6578     void onlosecapture();
6579
6580     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
6581     void onpropertychange();
6582
6583     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
6584     void onscroll();
6585
6586     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
6587     void onfocus();
6588
6589     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
6590     void onblur();
6591
6592     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
6593     void onresize();
6594
6595     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
6596     VARIANT_BOOL ondrag();
6597
6598     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
6599     void ondragend();
6600
6601     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
6602     VARIANT_BOOL ondragenter();
6603
6604     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
6605     VARIANT_BOOL ondragover();
6606
6607     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
6608     void ondragleave();
6609
6610     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
6611     VARIANT_BOOL ondrop();
6612
6613     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
6614     VARIANT_BOOL onbeforecut();
6615
6616     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
6617     VARIANT_BOOL oncut();
6618
6619     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
6620     VARIANT_BOOL onbeforecopy();
6621
6622     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
6623     VARIANT_BOOL oncopy();
6624
6625     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
6626     VARIANT_BOOL onbeforepaste();
6627
6628     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
6629     VARIANT_BOOL onpaste();
6630
6631     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
6632     VARIANT_BOOL oncontextmenu();
6633
6634     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
6635     void onrowsdelete();
6636
6637     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
6638     void onrowsinserted();
6639
6640     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
6641     void oncellchange();
6642
6643     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
6644     void onreadystatechange();
6645
6646     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
6647     void onbeforeeditfocus();
6648
6649     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
6650     void onlayoutcomplete();
6651
6652     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
6653     void onpage();
6654
6655     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
6656     VARIANT_BOOL onbeforedeactivate();
6657
6658     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
6659     VARIANT_BOOL onbeforeactivate();
6660
6661     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
6662     void onmove();
6663
6664     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
6665     VARIANT_BOOL oncontrolselect();
6666
6667     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
6668     VARIANT_BOOL onmovestart();
6669
6670     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
6671     void onmoveend();
6672
6673     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
6674     VARIANT_BOOL onresizestart();
6675
6676     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
6677     void onresizeend();
6678
6679     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
6680     void onmouseenter();
6681
6682     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
6683     void onmouseleave();
6684
6685     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
6686     VARIANT_BOOL onmousewheel();
6687
6688     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
6689     void onactivate();
6690
6691     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
6692     void ondeactivate();
6693
6694     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
6695     void onfocusin();
6696
6697     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
6698     void onfocusout();
6699
6700     [id(DISPID_HTMLFORMELEMENTEVENTS_ONSUBMIT)]
6701     VARIANT_BOOL onsubmit();
6702
6703     [id(DISPID_HTMLFORMELEMENTEVENTS_ONRESET)]
6704     VARIANT_BOOL onreset();
6705 };
6706
6707 interface IHTMLEventObj;
6708
6709 [
6710     hidden,
6711     uuid(3050F614-98B5-11CF-BB82-00AA00BDCE0B)
6712 ]
6713 dispinterface HTMLFormElementEvents2
6714 {
6715 properties:
6716 methods:
6717     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
6718     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
6719
6720     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
6721     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
6722
6723     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
6724     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
6725
6726     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
6727     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
6728
6729     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
6730     void onkeydown([in] IHTMLEventObj* pEvtObj);
6731
6732     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
6733     void onkeyup([in] IHTMLEventObj* pEvtObj);
6734
6735     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
6736     void onmouseout([in] IHTMLEventObj* pEvtObj);
6737
6738     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
6739     void onmouseover([in] IHTMLEventObj* pEvtObj);
6740
6741     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
6742     void onmousemove([in] IHTMLEventObj* pEvtObj);
6743
6744     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
6745     void onmousedown([in] IHTMLEventObj* pEvtObj);
6746
6747     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
6748     void onmouseup([in] IHTMLEventObj* pEvtObj);
6749
6750     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
6751     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
6752
6753     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
6754     void onfilterchange([in] IHTMLEventObj* pEvtObj);
6755
6756     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
6757     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
6758
6759     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
6760     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
6761
6762     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
6763     void onafterupdate([in] IHTMLEventObj* pEvtObj);
6764
6765     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
6766     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
6767
6768     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
6769     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
6770
6771     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
6772     void onrowenter([in] IHTMLEventObj* pEvtObj);
6773
6774     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
6775     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
6776
6777     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
6778     void ondataavailable([in] IHTMLEventObj* pEvtObj);
6779
6780     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
6781     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
6782
6783     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
6784     void onlosecapture([in] IHTMLEventObj* pEvtObj);
6785
6786     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
6787     void onpropertychange([in] IHTMLEventObj* pEvtObj);
6788
6789     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
6790     void onscroll([in] IHTMLEventObj* pEvtObj);
6791
6792     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
6793     void onfocus([in] IHTMLEventObj* pEvtObj);
6794
6795     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
6796     void onblur([in] IHTMLEventObj* pEvtObj);
6797
6798     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
6799     void onresize([in] IHTMLEventObj* pEvtObj);
6800
6801     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
6802     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
6803
6804     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
6805     void ondragend([in] IHTMLEventObj* pEvtObj);
6806
6807     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
6808     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
6809
6810     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
6811     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
6812
6813     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
6814     void ondragleave([in] IHTMLEventObj* pEvtObj);
6815
6816     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
6817     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
6818
6819     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
6820     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
6821
6822     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
6823     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
6824
6825     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
6826     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
6827
6828     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
6829     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
6830
6831     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
6832     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
6833
6834     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
6835     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
6836
6837     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
6838     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
6839
6840     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
6841     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
6842
6843     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
6844     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
6845
6846     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
6847     void oncellchange([in] IHTMLEventObj* pEvtObj);
6848
6849     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
6850     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
6851
6852     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
6853     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
6854
6855     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
6856     void onpage([in] IHTMLEventObj* pEvtObj);
6857
6858     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
6859     void onmouseenter([in] IHTMLEventObj* pEvtObj);
6860
6861     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
6862     void onmouseleave([in] IHTMLEventObj* pEvtObj);
6863
6864     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
6865     void onactivate([in] IHTMLEventObj* pEvtObj);
6866
6867     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
6868     void ondeactivate([in] IHTMLEventObj* pEvtObj);
6869
6870     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
6871     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
6872
6873     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
6874     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
6875
6876     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
6877     void onfocusin([in] IHTMLEventObj* pEvtObj);
6878
6879     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
6880     void onfocusout([in] IHTMLEventObj* pEvtObj);
6881
6882     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
6883     void onmove([in] IHTMLEventObj* pEvtObj);
6884
6885     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
6886     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
6887
6888     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
6889     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
6890
6891     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
6892     void onmoveend([in] IHTMLEventObj* pEvtObj);
6893
6894     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
6895     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
6896
6897     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
6898     void onresizeend([in] IHTMLEventObj* pEvtObj);
6899
6900     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
6901     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
6902
6903     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONSUBMIT)]
6904     VARIANT_BOOL onsubmit([in] IHTMLEventObj* pEvtObj);
6905
6906     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONRESET)]
6907     VARIANT_BOOL onreset([in] IHTMLEventObj* pEvtObj);
6908 };
6909
6910 [
6911     noncreatable,
6912     uuid(3050F24D-98B5-11CF-BB82-00AA00BDCE0B)
6913 ]
6914 coclass HTMLFormElement
6915 {
6916     [default]           dispinterface DispHTMLFormElement;
6917     [source, default]   dispinterface HTMLFormElementEvents;
6918     [source]            dispinterface HTMLFormElementEvents2;
6919                         interface IHTMLElement;
6920                         interface IHTMLElement2;
6921                         interface IHTMLElement3;
6922                         interface IHTMLElement4;
6923                         interface IHTMLUniqueName;
6924                         interface IHTMLDOMNode;
6925                         interface IHTMLDOMNode2;
6926                         interface IHTMLDOMConstructor;
6927                         interface IHTMLFormElement;
6928 }
6929
6930 /*****************************************************************************
6931  *    IHTMLTextContainer interface
6932  */
6933 [
6934     odl,
6935     oleautomation,
6936     dual,
6937     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
6938 ]
6939 interface IHTMLTextContainer : IDispatch
6940 {
6941     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
6942     HRESULT createControlRange([retval, out] IDispatch **range);
6943
6944     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
6945     HRESULT scrollHeight([retval, out] LONG *p);
6946
6947     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
6948     HRESULT scrollWidth([retval, out] LONG *p);
6949
6950     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
6951     HRESULT scrollTop([in] LONG v);
6952
6953     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
6954     HRESULT scrollTop([retval, out] LONG *p);
6955
6956     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
6957     HRESULT scrollLeft([in] LONG v);
6958
6959     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
6960     HRESULT scrollLeft([retval, out] LONG *p);
6961
6962     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
6963     HRESULT onscroll([in] VARIANT v);
6964
6965     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
6966     HRESULT onscroll([retval, out] VARIANT *p);
6967 }
6968
6969 /*****************************************************************************
6970  *    IHTMLImgElement interface
6971  */
6972 [
6973     odl,
6974     oleautomation,
6975     dual,
6976     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
6977 ]
6978 interface IHTMLImgElement : IDispatch
6979 {
6980     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
6981     HRESULT isMap([in] VARIANT_BOOL v);
6982
6983     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
6984     HRESULT isMap([retval, out] VARIANT_BOOL *p);
6985
6986     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
6987     HRESULT useMap([in] BSTR v);
6988
6989     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
6990     HRESULT useMap([retval, out] BSTR *p);
6991
6992     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
6993     HRESULT mimeType([retval, out] BSTR *p);
6994
6995     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
6996     HRESULT fileSize([retval, out] BSTR *p);
6997
6998     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
6999     HRESULT fileCreatedDate([retval, out] BSTR *p);
7000
7001     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7002     HRESULT fileModifiedDate([retval, out] BSTR *p);
7003
7004     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7005     HRESULT fileUpdatedDate([retval, out] BSTR *p);
7006
7007     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7008     HRESULT protocol([retval, out] BSTR *p);
7009
7010     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7011     HRESULT href([retval, out] BSTR *p);
7012
7013     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7014     HRESULT nameProp([retval, out] BSTR *p);
7015
7016     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7017     HRESULT border([in] VARIANT v);
7018
7019     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7020     HRESULT border([retval, out] VARIANT *p);
7021
7022     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7023     HRESULT vspace([in] LONG v);
7024
7025     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7026     HRESULT vspace([retval, out] LONG *p);
7027
7028     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7029     HRESULT hspace([in] LONG v);
7030
7031     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7032     HRESULT hspace([retval, out] LONG *p);
7033
7034     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
7035     HRESULT alt([in] BSTR v);
7036
7037     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
7038     HRESULT alt([retval, out] BSTR *p);
7039
7040     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
7041     HRESULT src([in] BSTR v);
7042
7043     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
7044     HRESULT src([retval, out] BSTR *p);
7045
7046     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7047     HRESULT lowsrc([in] BSTR v);
7048
7049     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7050     HRESULT lowsrc([retval, out] BSTR *p);
7051
7052     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
7053     HRESULT vrml([in] BSTR v);
7054
7055     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
7056     HRESULT vrml([retval, out] BSTR *p);
7057
7058     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7059     HRESULT dynsrc([in] BSTR v);
7060
7061     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7062     HRESULT dynsrc([retval, out] BSTR *p);
7063
7064     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
7065     HRESULT readyState([retval, out] BSTR *p);
7066
7067     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7068     HRESULT complete([retval, out] VARIANT_BOOL *p);
7069
7070     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7071     HRESULT loop([in] VARIANT v);
7072
7073     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7074     HRESULT loop([retval, out] VARIANT *p);
7075
7076     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7077     HRESULT align([in] BSTR v);
7078
7079     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7080     HRESULT align([retval, out] BSTR *p);
7081
7082     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7083     HRESULT onload([in] VARIANT v);
7084
7085     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7086     HRESULT onload([retval, out] VARIANT *p);
7087
7088     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7089     HRESULT onerror([in] VARIANT v);
7090
7091     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7092     HRESULT onerror([retval, out] VARIANT *p);
7093
7094     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7095     HRESULT onabort([in] VARIANT v);
7096
7097     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7098     HRESULT onabort([retval, out] VARIANT *p);
7099
7100     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
7101     HRESULT name([in] BSTR v);
7102
7103     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
7104     HRESULT name([retval, out] BSTR *p);
7105
7106     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7107     HRESULT width([in] LONG v);
7108
7109     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7110     HRESULT width([retval, out] LONG *p);
7111
7112     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7113     HRESULT height([in] LONG v);
7114
7115     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7116     HRESULT height([retval, out] LONG *p);
7117
7118     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
7119     HRESULT start([in] BSTR v);
7120
7121     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
7122     HRESULT start([retval, out] BSTR *p);
7123 }
7124
7125 /*****************************************************************************
7126  *    IHTMLImageElementFactory interface
7127  */
7128 [
7129     odl,
7130     oleautomation,
7131     dual,
7132     uuid(3050F38E-98B5-11CF-BB82-00AA00BDCE0B)
7133 ]
7134 interface IHTMLImageElementFactory : IDispatch
7135 {
7136     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
7137     HRESULT create(
7138         [optional, in] VARIANT width,
7139         [optional, in] VARIANT height,
7140         [retval, out]  IHTMLImgElement **elem);
7141 }
7142
7143 /*****************************************************************************
7144  *    DispHTMLImg interface
7145  */
7146 [
7147     hidden,
7148     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
7149 ]
7150 dispinterface DispHTMLImg
7151 {
7152 properties:
7153 methods:
7154     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7155
7156     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7157     void isMap(VARIANT_BOOL v);
7158
7159     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7160     VARIANT_BOOL isMap();
7161
7162     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7163     void useMap(BSTR v);
7164
7165     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7166     BSTR useMap();
7167
7168     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7169     BSTR mimeType();
7170
7171     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7172     BSTR fileSize();
7173
7174     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7175     BSTR fileCreatedDate();
7176
7177     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7178     BSTR fileModifiedDate();
7179
7180     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7181     BSTR fileUpdatedDate();
7182
7183     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7184     BSTR protocol();
7185
7186     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7187     BSTR href();
7188
7189     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7190     BSTR nameProp();
7191
7192     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7193     void border(VARIANT v);
7194
7195     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7196     VARIANT border();
7197
7198     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7199     void vspace(LONG v);
7200
7201     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7202     LONG vspace();
7203
7204     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7205     void hspace(LONG v);
7206
7207     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7208     LONG hspace();
7209
7210     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7211     void alt(BSTR v);
7212
7213     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7214     BSTR alt();
7215
7216     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7217     void src(BSTR v);
7218
7219     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7220     BSTR src();
7221
7222     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7223     void lowsrc(BSTR v);
7224
7225     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7226     BSTR lowsrc();
7227
7228     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7229     void vrml(BSTR v);
7230
7231     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7232     BSTR vrml();
7233
7234     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7235     void dynsrc(BSTR v);
7236
7237     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7238     BSTR dynsrc();
7239
7240     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7241     VARIANT_BOOL complete();
7242
7243     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7244     void loop(VARIANT v);
7245
7246     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7247     VARIANT loop();
7248
7249     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7250     void align(BSTR v);
7251
7252     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7253     BSTR align();
7254
7255     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7256     void onload(VARIANT v);
7257
7258     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7259     VARIANT onload();
7260
7261     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7262     void onerror(VARIANT v);
7263
7264     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7265     VARIANT onerror();
7266
7267     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7268     void onabort(VARIANT v);
7269
7270     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7271     VARIANT onabort();
7272
7273     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7274     void name(BSTR v);
7275
7276     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7277     BSTR name();
7278
7279     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7280     void width(LONG v);
7281
7282     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7283     LONG width();
7284
7285     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7286     void height(LONG v);
7287
7288     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7289     LONG height();
7290
7291     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7292     void start(BSTR v);
7293
7294     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7295     BSTR start();
7296
7297     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7298     void longDesc(BSTR v);
7299
7300     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7301     BSTR longDesc();
7302 }
7303
7304 /*****************************************************************************
7305  *    IHTMLControlElement interface
7306  */
7307 [
7308     odl,
7309     oleautomation,
7310     dual,
7311     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
7312 ]
7313 interface IHTMLControlElement : IDispatch
7314 {
7315     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7316     HRESULT tabIndex([in] short v);
7317
7318     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7319     HRESULT tabIndex([retval, out] short * p);
7320
7321     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
7322     HRESULT focus();
7323
7324     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7325     HRESULT accessKey([in] BSTR v);
7326
7327     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7328     HRESULT accessKey([retval, out] BSTR * p);
7329
7330     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7331     HRESULT onblur([in] VARIANT v);
7332
7333     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7334     HRESULT onblur([retval, out] VARIANT * p);
7335
7336     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7337     HRESULT onfocus([in] VARIANT v);
7338
7339     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7340     HRESULT onfocus([retval, out] VARIANT * p);
7341
7342     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7343     HRESULT onresize([in] VARIANT v);
7344
7345     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7346     HRESULT onresize([retval, out] VARIANT * p);
7347
7348     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
7349     HRESULT blur();
7350
7351     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
7352     HRESULT addFilter([in] IUnknown* pUnk);
7353
7354     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
7355     HRESULT removeFilter([in] IUnknown* pUnk);
7356
7357     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
7358     HRESULT clientHeight([retval, out] LONG * p);
7359
7360     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
7361     HRESULT clientWidth([retval, out] LONG * p);
7362
7363     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
7364     HRESULT clientTop([retval, out] LONG * p);
7365
7366     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
7367     HRESULT clientLeft([retval, out] LONG * p);
7368 };
7369
7370 /*****************************************************************************
7371  *    IHTMLBodyElement interface
7372  */
7373 [
7374     odl,
7375     oleautomation,
7376     dual,
7377     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
7378 ]
7379 interface IHTMLBodyElement : IDispatch
7380 {
7381     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7382     HRESULT background([in] BSTR v);
7383
7384     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7385     HRESULT background([retval, out] BSTR *p);
7386
7387     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7388     HRESULT bgProperties([in] BSTR v);
7389
7390     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7391     HRESULT bgProperties([retval, out] BSTR *p);
7392
7393     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7394     HRESULT leftMargin([in] VARIANT v);
7395
7396     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7397     HRESULT leftMargin([retval, out] VARIANT *p);
7398
7399     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7400     HRESULT topMargin([in] VARIANT v);
7401
7402     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7403     HRESULT topMargin([retval, out] VARIANT *p);
7404
7405     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7406     HRESULT rightMargin([in] VARIANT v);
7407
7408     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7409     HRESULT rightMargin([retval, out] VARIANT *p);
7410
7411     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7412     HRESULT bottomMargin([in] VARIANT v);
7413
7414     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7415     HRESULT bottomMargin([retval, out] VARIANT *p);
7416
7417     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7418     HRESULT noWrap([in] VARIANT_BOOL v);
7419
7420     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7421     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
7422
7423     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7424     HRESULT bgColor([in] VARIANT v);
7425
7426     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7427     HRESULT bgColor([retval, out] VARIANT *p);
7428
7429     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7430     HRESULT text([in] VARIANT v);
7431
7432     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7433     HRESULT text([retval, out] VARIANT *p);
7434
7435     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7436     HRESULT link([in] VARIANT v);
7437
7438     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7439     HRESULT link([retval, out] VARIANT *p);
7440
7441     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7442     HRESULT vLink([in] VARIANT v);
7443
7444     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7445     HRESULT vLink([retval, out] VARIANT *p);
7446
7447     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7448     HRESULT aLink([in] VARIANT v);
7449
7450     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7451     HRESULT aLink([retval, out] VARIANT *p);
7452
7453     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7454     HRESULT onload([in] VARIANT v);
7455
7456     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7457     HRESULT onload([retval, out] VARIANT *p);
7458
7459     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7460     HRESULT onunload([in] VARIANT v);
7461
7462     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7463     HRESULT onunload([retval, out] VARIANT *p);
7464
7465     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7466     HRESULT scroll([in] BSTR v);
7467
7468     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7469     HRESULT scroll([retval, out] BSTR *p);
7470
7471     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7472     HRESULT onselect([in] VARIANT v);
7473
7474     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7475     HRESULT onselect([retval, out] VARIANT *p);
7476
7477     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7478     HRESULT onbeforeunload([in] VARIANT v);
7479
7480     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7481     HRESULT onbeforeunload([retval, out] VARIANT *p);
7482
7483     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7484     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7485 }
7486
7487 /*****************************************************************************
7488  *    IHTMLBodyElement2 interface
7489  */
7490 [
7491     odl,
7492     oleautomation,
7493     dual,
7494     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
7495 ]
7496 interface IHTMLBodyElement2 : IDispatch
7497 {
7498     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7499     HRESULT onbeforeprint([in] VARIANT v);
7500
7501     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7502     HRESULT onbeforeprint([retval, out] VARIANT *p);
7503
7504     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7505     HRESULT onafterprint([in] VARIANT v);
7506
7507     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7508     HRESULT onafterprint([retval, out] VARIANT *p);
7509 }
7510
7511 [
7512     hidden,
7513     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
7514 ]
7515 dispinterface DispHTMLBody
7516 {
7517 properties:
7518 methods:
7519     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7520
7521     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7522     void background(BSTR v);
7523
7524     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7525     BSTR background();
7526
7527     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7528     void bgProperties(BSTR v);
7529
7530     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7531     BSTR bgProperties();
7532
7533     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7534     void leftMargin(VARIANT v);
7535
7536     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7537     VARIANT leftMargin();
7538
7539     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7540     void topMargin(VARIANT v);
7541
7542     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7543     VARIANT topMargin();
7544
7545     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7546     void rightMargin(VARIANT v);
7547
7548     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7549     VARIANT rightMargin();
7550
7551     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7552     void bottomMargin(VARIANT v);
7553
7554     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7555     VARIANT bottomMargin();
7556
7557     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7558     void noWrap(VARIANT_BOOL v);
7559
7560     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7561     VARIANT_BOOL noWrap();
7562
7563     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7564     void bgColor(VARIANT v);
7565
7566     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7567     VARIANT bgColor();
7568
7569     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7570     void text(VARIANT v);
7571
7572     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7573     VARIANT text();
7574
7575     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7576     void link(VARIANT v);
7577
7578     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7579     VARIANT link();
7580
7581     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7582     void vLink(VARIANT v);
7583
7584     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7585     VARIANT vLink();
7586
7587     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7588     void aLink(VARIANT v);
7589
7590     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7591     VARIANT aLink();
7592
7593     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7594     void onload(VARIANT v);
7595
7596     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7597     VARIANT onload();
7598
7599     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7600     void onunload(VARIANT v);
7601
7602     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7603     VARIANT onunload();
7604
7605     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7606     void scroll(BSTR v);
7607
7608     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7609     BSTR scroll();
7610
7611     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7612     void onselect(VARIANT v);
7613
7614     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7615     VARIANT onselect();
7616
7617     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7618     void onbeforeunload(VARIANT v);
7619
7620     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7621     VARIANT onbeforeunload();
7622
7623     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7624     IHTMLTxtRange* createTextRange();
7625
7626     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7627     void onbeforeprint(VARIANT v);
7628
7629     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7630     VARIANT onbeforeprint();
7631
7632     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7633     void onafterprint(VARIANT v);
7634
7635     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7636     VARIANT onafterprint();
7637 };
7638
7639 [
7640     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
7641 ]
7642 coclass HTMLBody
7643 {
7644     [default]           dispinterface DispHTMLBody;
7645     [source, default]   dispinterface HTMLTextContainerEvents;
7646     [source]            dispinterface HTMLTextContainerEvents2;
7647                         interface IHTMLElement;
7648                         interface IHTMLElement2;
7649                         interface IHTMLElement3;
7650                         interface IHTMLElement4;
7651                         interface IHTMLUniqueName;
7652                         interface IHTMLDOMNode;
7653                         interface IHTMLDOMNode2;
7654                         interface IHTMLControlElement;
7655                         interface IHTMLTextContainer;
7656                         interface IHTMLBodyElement;
7657                         interface IHTMLBodyElement2;
7658 };
7659
7660 /*****************************************************************************
7661  *    IHTMLAnchorElement interface
7662  */
7663 [
7664     odl,
7665     oleautomation,
7666     dual,
7667     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
7668 ]
7669 interface IHTMLAnchorElement : IDispatch
7670 {
7671     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7672     HRESULT href([in] BSTR v);
7673
7674     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7675     HRESULT href([retval, out] BSTR *p);
7676
7677     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7678     HRESULT target([in] BSTR v);
7679
7680     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7681     HRESULT target([retval, out] BSTR *p);
7682
7683     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7684     HRESULT rel([in] BSTR v);
7685
7686     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7687     HRESULT rel([retval, out] BSTR *p);
7688
7689     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7690     HRESULT rev([in] BSTR v);
7691
7692     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7693     HRESULT rev([retval, out] BSTR *p);
7694
7695     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7696     HRESULT urn([in] BSTR v);
7697
7698     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7699     HRESULT urn([retval, out] BSTR *p);
7700
7701     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7702     HRESULT Methods([in] BSTR v);
7703
7704     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7705     HRESULT Methods([retval, out] BSTR *p);
7706
7707     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7708     HRESULT name([in] BSTR v);
7709
7710     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7711     HRESULT name([retval, out] BSTR *p);
7712
7713     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7714     HRESULT host([in] BSTR v);
7715
7716     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7717     HRESULT host([retval, out] BSTR *p);
7718
7719     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7720     HRESULT hostname([in] BSTR v);
7721
7722     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7723     HRESULT hostname([retval, out] BSTR *p);
7724
7725     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7726     HRESULT pathname([in] BSTR v);
7727
7728     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7729     HRESULT pathname([retval, out] BSTR *p);
7730
7731     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7732     HRESULT port([in] BSTR v);
7733
7734     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7735     HRESULT port([retval, out] BSTR *p);
7736
7737     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7738     HRESULT protocol([in] BSTR v);
7739
7740     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7741     HRESULT protocol([retval, out] BSTR *p);
7742
7743     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7744     HRESULT search([in] BSTR v);
7745
7746     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7747     HRESULT search([retval, out] BSTR *p);
7748
7749     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7750     HRESULT hash([in] BSTR v);
7751
7752     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7753     HRESULT hash([retval, out] BSTR *p);
7754
7755     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7756     HRESULT onblur([in] VARIANT v);
7757
7758     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7759     HRESULT onblur([retval, out] VARIANT *p);
7760
7761     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7762     HRESULT onfocus([in] VARIANT v);
7763
7764     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7765     HRESULT onfocus([retval, out] VARIANT *p);
7766
7767     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7768     HRESULT accessKey([in] BSTR v);
7769
7770     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7771     HRESULT accessKey([retval, out] BSTR *p);
7772
7773     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
7774     HRESULT protocolLong([retval, out] BSTR *p);
7775
7776     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
7777     HRESULT mimeType([retval, out] BSTR *p);
7778
7779     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
7780     HRESULT nameProp([retval, out] BSTR *p);
7781
7782     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7783     HRESULT tabIndex([in] short v);
7784
7785     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7786     HRESULT tabIndex([retval, out] short *p);
7787
7788     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
7789     HRESULT focus();
7790
7791     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
7792     HRESULT blur();
7793 }
7794
7795 /*****************************************************************************
7796  *    DispHTMLAnchorElement dispinterface
7797  */
7798 [
7799     hidden,
7800     uuid(3050f502-98b5-11cf-bb82-00aa00bdce0b)
7801 ]
7802 dispinterface DispHTMLAnchorElement
7803 {
7804 properties:
7805 methods:
7806     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7807
7808     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7809     void href(BSTR v);
7810
7811     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7812     BSTR href();
7813
7814     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7815     void target(BSTR v);
7816
7817     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7818     BSTR target();
7819
7820     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7821     void rel(BSTR v);
7822
7823     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7824     BSTR rel();
7825
7826     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7827     void rev(BSTR v);
7828
7829     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7830     BSTR rev();
7831
7832     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7833     void urn(BSTR v);
7834
7835     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7836     BSTR urn();
7837
7838     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7839     void Methods(BSTR v);
7840
7841     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7842     BSTR Methods();
7843
7844     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7845     void name(BSTR v);
7846
7847     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7848     BSTR name();
7849
7850     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7851     void host(BSTR v);
7852
7853     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7854     BSTR host();
7855
7856     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7857     void hostname(BSTR v);
7858
7859     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7860     BSTR hostname();
7861
7862     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7863     void pathname(BSTR v);
7864
7865     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7866     BSTR pathname();
7867
7868     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7869     void port(BSTR v);
7870
7871     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7872     BSTR port();
7873
7874     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7875     void protocol(BSTR v);
7876
7877     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7878     BSTR protocol();
7879
7880     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7881     void search(BSTR v);
7882
7883     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7884     BSTR search();
7885
7886     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7887     void hash(BSTR v);
7888
7889     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7890     BSTR hash();
7891
7892     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
7893     BSTR protocolLong();
7894
7895     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
7896     BSTR mimeType();
7897
7898     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
7899     BSTR nameProp();
7900
7901     [propput, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
7902     void charset(BSTR v);
7903
7904     [propget, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
7905     BSTR charset();
7906
7907     [propput, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
7908     void coords(BSTR v);
7909
7910     [propget, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
7911     BSTR coords();
7912
7913     [propput, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
7914     void hreflang(BSTR v);
7915
7916     [propget, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
7917     BSTR hreflang();
7918
7919     [propput, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
7920     void shape(BSTR v);
7921
7922     [propget, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
7923     BSTR shape();
7924
7925     [propput, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
7926     void type(BSTR v);
7927
7928     [propget, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
7929     BSTR type();
7930
7931     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
7932     void ie8_shape(BSTR v);
7933
7934     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
7935     BSTR ie8_shape();
7936
7937     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
7938     void ie8_coords(BSTR v);
7939
7940     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
7941     BSTR ie8_coords();
7942
7943     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
7944     void ie8_href(BSTR v);
7945
7946     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
7947     BSTR ie8_href();
7948 }
7949
7950 /*****************************************************************************
7951  *    IHTMLElementCollection interface
7952  */
7953 [
7954     odl,
7955     oleautomation,
7956     dual,
7957     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
7958 ]
7959 interface IHTMLElementCollection : IDispatch
7960 {
7961     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
7962     HRESULT toString([retval, out] BSTR *String);
7963
7964     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7965     HRESULT length([in] LONG v);
7966
7967     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7968     HRESULT length([retval, out] LONG *p);
7969
7970     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
7971     HRESULT _newEnum([retval, out] IUnknown **p);
7972
7973     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
7974     HRESULT item(
7975         [optional, in] VARIANT name,
7976         [optional, in] VARIANT index,
7977         [retval,  out] IDispatch **pdisp);
7978
7979     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
7980     HRESULT tags(
7981         [in] VARIANT tagName,
7982         [retval, out] IDispatch **pdisp);
7983 }
7984
7985 /*****************************************************************************
7986  *    DispHTMLElementCollection dispinterface
7987  */
7988 [
7989     hidden,
7990     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
7991 ]
7992 dispinterface DispHTMLElementCollection
7993 {
7994 properties:
7995 methods:
7996     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
7997     BSTR toString();
7998
7999     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8000     void length(LONG v);
8001
8002     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8003     LONG length();
8004
8005     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
8006     IUnknown *_newEnum();
8007
8008     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8009     IDispatch *item(
8010             [in, optional] VARIANT name,
8011             [in, optional] VARIANT index);
8012
8013     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8014     IDispatch *tags(
8015             [in] VARIANT tagName);
8016
8017     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
8018     IDispatch *urns([in] VARIANT urn);
8019
8020     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
8021     IDispatch *namedItem([in] BSTR name);
8022 }
8023
8024 /*****************************************************************************
8025  *    IHTMLSelectElement interface
8026  */
8027 [
8028     odl,
8029     oleautomation,
8030     dual,
8031     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
8032 ]
8033 interface IHTMLSelectElement : IDispatch
8034 {
8035     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8036     HRESULT size([in] LONG v);
8037
8038     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8039     HRESULT size([retval, out] LONG *p);
8040
8041     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8042     HRESULT multiple([in] VARIANT_BOOL v);
8043
8044     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8045     HRESULT multiple([retval, out] VARIANT_BOOL *p);
8046
8047     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8048     HRESULT name([in] BSTR v);
8049
8050     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8051     HRESULT name([retval, out] BSTR *p);
8052
8053     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8054     HRESULT options([retval, out] IDispatch **p);
8055
8056     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8057     HRESULT onchange([in] VARIANT v);
8058
8059     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8060     HRESULT onchange([retval, out] VARIANT *p);
8061
8062     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8063     HRESULT selectedIndex([in] LONG v);
8064
8065     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8066     HRESULT selectedIndex([retval, out] LONG *p);
8067
8068     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8069     HRESULT type([retval, out] BSTR *p);
8070
8071     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8072     HRESULT value([in] BSTR v);
8073
8074     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8075     HRESULT value([retval, out] BSTR *p);
8076
8077     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8078     HRESULT disabled([in] VARIANT_BOOL v);
8079
8080     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8081     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8082
8083     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8084     HRESULT form([retval, out] IHTMLFormElement **p);
8085
8086     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8087     HRESULT add(
8088         [in] IHTMLElement *element,
8089         [optional, in] VARIANT before);
8090
8091     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8092     HRESULT remove([defaultvalue(-1), in] LONG index);
8093
8094     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8095     HRESULT length([in] LONG v);
8096
8097     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8098     HRESULT length([retval, out] LONG *p);
8099
8100     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8101     HRESULT _newEnum([retval, out] IUnknown **p);
8102
8103     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8104     HRESULT item(
8105         [optional, in] VARIANT name,
8106         [optional, in] VARIANT index,
8107         [retval, out] IDispatch **pdisp);
8108
8109     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8110     HRESULT tags(
8111         [in] VARIANT tagName,
8112         [retval, out] IDispatch **pdisp);
8113 }
8114
8115 /*****************************************************************************
8116  *    DispHTMLSelectElement dispinterface
8117  */
8118 [
8119     hidden,
8120     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8121 ]
8122 dispinterface DispHTMLSelectElement
8123 {
8124 properties:
8125 methods:
8126     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8127
8128     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8129     void size(LONG v);
8130
8131     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8132     LONG size();
8133
8134     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8135     void multiple(VARIANT_BOOL v);
8136
8137     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8138     VARIANT_BOOL multiple();
8139
8140     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8141     void name(BSTR v);
8142
8143     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8144     BSTR name();
8145
8146     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8147     IDispatch *options();
8148
8149     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8150     void onchange(VARIANT v);
8151
8152     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8153     VARIANT onchange();
8154
8155     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8156     void selectedIndex(LONG v);
8157
8158     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8159     LONG selectedIndex();
8160
8161     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8162     BSTR type();
8163
8164     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8165     void value(BSTR v);
8166
8167     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8168     BSTR value();
8169
8170     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8171     IHTMLFormElement *form();
8172
8173     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8174     void add(
8175             [in] IHTMLElement *element,
8176             [in, optional] VARIANT before);
8177
8178     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8179     void remove([in, defaultvalue(-1)] LONG index);
8180
8181     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8182     void length(LONG v);
8183
8184     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8185     LONG length();
8186
8187     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8188     IUnknown *_newEnum();
8189
8190     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8191     IDispatch *item(
8192             [in, optional] VARIANT name,
8193             [in, optional] VARIANT index);
8194
8195     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8196     IDispatch *tags([in] VARIANT tagName);
8197
8198     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
8199     IDispatch *urns([in] VARIANT urn);
8200
8201     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
8202     IDispatch *namedItem([in] BSTR name);
8203 }
8204
8205 /*****************************************************************************
8206  *    IHTMLSelectionObject interface
8207  */
8208 [
8209     odl,
8210     oleautomation,
8211     dual,
8212     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
8213 ]
8214 interface IHTMLSelectionObject : IDispatch
8215 {
8216     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
8217     HRESULT createRange([retval, out] IDispatch **range);
8218
8219     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
8220     HRESULT empty();
8221
8222     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
8223     HRESULT clear();
8224
8225     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
8226     HRESULT type([retval, out] BSTR *p);
8227 }
8228
8229 /*****************************************************************************
8230  *    IHTMLOptionElement interface
8231  */
8232 [
8233     odl,
8234     oleautomation,
8235     dual,
8236     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
8237 ]
8238 interface IHTMLOptionElement : IDispatch
8239 {
8240     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8241     HRESULT selected([in] VARIANT_BOOL v);
8242
8243     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8244     HRESULT selected([retval, out] VARIANT_BOOL *p);
8245
8246     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8247     HRESULT value([in] BSTR v);
8248
8249     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8250     HRESULT value([retval, out] BSTR *p);
8251
8252     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8253     HRESULT defaultSelected([in] VARIANT_BOOL v);
8254
8255     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8256     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
8257
8258     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8259     HRESULT index([in] LONG v);
8260
8261     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8262     HRESULT index([retval, out] LONG *p);
8263
8264     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8265     HRESULT text([in] BSTR v);
8266
8267     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8268     HRESULT text([retval, out] BSTR *p);
8269
8270     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8271     HRESULT form([retval, out] IHTMLFormElement **p);
8272 }
8273
8274 [
8275     odl,
8276     oleautomation,
8277     dual,
8278     uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
8279 ]
8280 interface IHTMLOptionElement3 : IDispatch
8281 {
8282     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8283     HRESULT label([in] BSTR v);
8284
8285     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8286     HRESULT label([retval, out] BSTR * p);
8287 }
8288
8289 /*****************************************************************************
8290  *    IHTMLOptionElementFactory interface
8291  */
8292 [
8293     odl,
8294     oleautomation,
8295     dual,
8296     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
8297 ]
8298 interface IHTMLOptionElementFactory : IDispatch
8299 {
8300     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
8301     HRESULT create(
8302         [optional, in] VARIANT text,
8303         [optional, in] VARIANT value,
8304         [optional, in] VARIANT defaultselected,
8305         [optional, in] VARIANT selected,
8306         [retval, out] IHTMLOptionElement **optelem);
8307 }
8308
8309 /*****************************************************************************
8310  *    DispHTMLOptionElement dispinterface
8311  */
8312 [
8313     hidden,
8314     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
8315 ]
8316 dispinterface DispHTMLOptionElement
8317 {
8318 properties:
8319 methods:
8320     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8321
8322     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8323     void selected(VARIANT_BOOL v);
8324
8325     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8326     VARIANT_BOOL selected();
8327
8328     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8329     void value(BSTR v);
8330
8331     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8332     BSTR value();
8333
8334     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8335     void defaultSelected(VARIANT_BOOL v);
8336
8337     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8338     VARIANT_BOOL defaultSelected();
8339
8340     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8341     void index(LONG v);
8342
8343     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8344     LONG index();
8345
8346     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8347     void text(BSTR v);
8348
8349     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8350     BSTR text();
8351
8352     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8353     IHTMLFormElement *form();
8354
8355     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8356     void label(BSTR v);
8357
8358     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8359     BSTR label();
8360 }
8361
8362 [
8363     noncreatable,
8364     uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
8365 ]
8366 coclass HTMLOptionElement
8367 {
8368     [default]           dispinterface DispHTMLOptionElement;
8369     [source, default]   dispinterface HTMLElementEvents;
8370     [source]            dispinterface HTMLElementEvents2;
8371                         interface IHTMLElement;
8372                         interface IHTMLElement2;
8373                         interface IHTMLElement3;
8374                         interface IHTMLElement4;
8375                         interface IHTMLUniqueName;
8376                         interface IHTMLDOMNode;
8377                         interface IHTMLDOMNode2;
8378                         interface IHTMLDatabinding;
8379                         interface IHTMLOptionElement;
8380                         interface IHTMLOptionElement3;
8381 }
8382
8383 /*****************************************************************************
8384  *    IHTMLInputElement interface
8385  */
8386 [
8387     odl,
8388     oleautomation,
8389     dual,
8390     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
8391 ]
8392 interface IHTMLInputElement : IDispatch
8393 {
8394     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8395     HRESULT type([in] BSTR v);
8396
8397     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8398     HRESULT type([retval, out] BSTR *p);
8399
8400     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8401     HRESULT value([in] BSTR v);
8402
8403     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8404     HRESULT value([retval, out] BSTR *p);
8405
8406     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8407     HRESULT name([in] BSTR v);
8408
8409     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8410     HRESULT name([retval, out] BSTR *p);
8411
8412     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8413     HRESULT status([in] VARIANT_BOOL v);
8414
8415     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8416     HRESULT status([retval, out] VARIANT_BOOL *p);
8417
8418     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8419     HRESULT disabled([in] VARIANT_BOOL v);
8420
8421     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8422     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8423
8424     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8425     HRESULT form([retval, out] IHTMLFormElement **p);
8426
8427     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8428     HRESULT size([in] LONG v);
8429
8430     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8431     HRESULT size([retval, out] LONG *p);
8432
8433     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8434     HRESULT maxLength([in] LONG v);
8435
8436     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8437     HRESULT maxLength([retval, out] LONG *p);
8438
8439     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8440     HRESULT select();
8441
8442     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8443     HRESULT onchange([in] VARIANT v);
8444
8445     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8446     HRESULT onchange([retval, out] VARIANT *p);
8447
8448     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8449     HRESULT onselect([in] VARIANT v);
8450
8451     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8452     HRESULT onselect([retval, out] VARIANT *p);
8453
8454     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8455     HRESULT defaultValue([in] BSTR v);
8456
8457     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8458     HRESULT defaultValue([retval, out] BSTR *p);
8459
8460     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8461     HRESULT readOnly([in] VARIANT_BOOL v);
8462
8463     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8464     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8465
8466     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8467     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8468
8469     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8470     HRESULT indeterminate([in] VARIANT_BOOL v);
8471
8472     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8473     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
8474
8475     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8476     HRESULT defaultChecked([in] VARIANT_BOOL v);
8477
8478     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8479     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
8480
8481     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8482     HRESULT checked([in] VARIANT_BOOL v);
8483
8484     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8485     HRESULT checked([retval, out] VARIANT_BOOL *p);
8486
8487     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8488     HRESULT border([in] VARIANT v);
8489
8490     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8491     HRESULT border([retval, out] VARIANT *p);
8492
8493     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8494     HRESULT vspace([in] LONG v);
8495
8496     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8497     HRESULT vspace([retval, out] LONG *p);
8498
8499     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8500     HRESULT hspace([in] LONG v);
8501
8502     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8503     HRESULT hspace([retval, out] LONG *p);
8504
8505     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8506     HRESULT alt([in] BSTR v);
8507
8508     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8509     HRESULT alt([retval, out] BSTR *p);
8510
8511     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8512     HRESULT src([in] BSTR v);
8513
8514     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8515     HRESULT src([retval, out] BSTR *p);
8516
8517     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8518     HRESULT lowsrc([in] BSTR v);
8519
8520     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8521     HRESULT lowsrc([retval, out] BSTR *p);
8522
8523     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8524     HRESULT vrml([in] BSTR v);
8525
8526     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8527     HRESULT vrml([retval, out] BSTR *p);
8528
8529     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8530     HRESULT dynsrc([in] BSTR v);
8531
8532     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8533     HRESULT dynsrc([retval, out] BSTR *p);
8534
8535     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
8536     HRESULT readyState([retval, out] BSTR *p);
8537
8538     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
8539     HRESULT complete([retval, out] VARIANT_BOOL *p);
8540
8541     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8542     HRESULT loop([in] VARIANT v);
8543
8544     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8545     HRESULT loop([retval, out] VARIANT *p);
8546
8547     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8548     HRESULT align([in] BSTR v);
8549
8550     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8551     HRESULT align([retval, out] BSTR *p);
8552
8553     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8554     HRESULT onload([in] VARIANT v);
8555
8556     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8557     HRESULT onload([retval, out] VARIANT *p);
8558
8559     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8560     HRESULT onerror([in] VARIANT v);
8561
8562     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8563     HRESULT onerror([retval, out] VARIANT *p);
8564
8565     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8566     HRESULT onabort([in] VARIANT v);
8567
8568     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8569     HRESULT onabort([retval, out] VARIANT *p);
8570
8571     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8572     HRESULT width([in] LONG v);
8573
8574     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8575     HRESULT width([retval, out] LONG *p);
8576
8577     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8578     HRESULT height([in] LONG v);
8579
8580     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8581     HRESULT height([retval, out] LONG *p);
8582
8583     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8584     HRESULT start([in] BSTR v);
8585
8586     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8587     HRESULT start([retval, out] BSTR *p);
8588 }
8589
8590 /*****************************************************************************
8591  *    IHTMLInputTextElement interface
8592  */
8593 [
8594     odl,
8595     oleautomation,
8596     dual,
8597     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
8598 ]
8599 interface IHTMLInputTextElement : IDispatch
8600 {
8601     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
8602     HRESULT type([retval, out] BSTR *p);
8603
8604     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
8605     HRESULT value([in] BSTR v);
8606
8607     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
8608     HRESULT value([retval, out] BSTR *p);
8609
8610     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
8611     HRESULT name([in] BSTR v);
8612
8613     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
8614     HRESULT name([retval, out] BSTR *p);
8615
8616     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
8617     HRESULT status([in] VARIANT v);
8618
8619     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
8620     HRESULT status([retval, out] VARIANT *p);
8621
8622     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
8623     HRESULT disabled([in] VARIANT_BOOL v);
8624
8625     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
8626     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8627
8628     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
8629     HRESULT form([retval, out] IHTMLFormElement **p);
8630
8631     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8632     HRESULT defaultValue([in] BSTR v);
8633
8634     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8635     HRESULT defaultValue([retval, out] BSTR *p);
8636
8637     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
8638     HRESULT size([in] LONG v);
8639
8640     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
8641     HRESULT size([retval, out] LONG *p);
8642
8643     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
8644     HRESULT maxLength([in] LONG v);
8645
8646     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
8647     HRESULT maxLength([retval, out] LONG *p);
8648
8649     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
8650     HRESULT select();
8651
8652     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
8653     HRESULT onchange([in] VARIANT v);
8654
8655     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
8656     HRESULT onchange([retval, out] VARIANT *p);
8657
8658     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
8659     HRESULT onselect([in] VARIANT v);
8660
8661     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
8662     HRESULT onselect([retval, out] VARIANT *p);
8663
8664     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
8665     HRESULT readOnly([in] VARIANT_BOOL v);
8666
8667     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
8668     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8669
8670     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
8671     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8672 }
8673
8674 [
8675     hidden,
8676     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
8677 ]
8678 dispinterface DispHTMLInputElement
8679 {
8680 properties:
8681 methods:
8682     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8683
8684     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8685     void type(BSTR v);
8686
8687     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8688     BSTR type();
8689
8690     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8691     void value(BSTR v);
8692
8693     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8694     BSTR value();
8695
8696     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8697     void name(BSTR v);
8698
8699     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8700     BSTR name();
8701
8702     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8703     void status(VARIANT_BOOL v);
8704
8705     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8706     VARIANT_BOOL status();
8707
8708     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8709     IHTMLFormElement *form();
8710
8711     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8712     void size(LONG v);
8713
8714     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8715     LONG size();
8716
8717     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8718     void maxLength(LONG v);
8719
8720     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8721     LONG maxLength();
8722
8723     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8724     void select();
8725
8726     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8727     void onchange(VARIANT v);
8728
8729     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8730     VARIANT onchange();
8731
8732     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8733     void onselect(VARIANT v);
8734
8735     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8736     VARIANT onselect();
8737
8738     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8739     void defaultValue(BSTR v);
8740
8741     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8742     BSTR defaultValue();
8743
8744     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8745     void readOnly(VARIANT_BOOL v);
8746
8747     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8748     VARIANT_BOOL readOnly();
8749
8750     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8751     IHTMLTxtRange *createTextRange();
8752
8753     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8754     void indeterminate(VARIANT_BOOL v);
8755
8756     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8757     VARIANT_BOOL indeterminate();
8758
8759     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8760     void defaultChecked(VARIANT_BOOL v);
8761
8762     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8763     VARIANT_BOOL defaultChecked();
8764
8765     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8766     void checked(VARIANT_BOOL v);
8767
8768     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8769     VARIANT_BOOL checked();
8770
8771     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8772     void border(VARIANT v);
8773
8774     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8775     VARIANT border();
8776
8777     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8778     void vspace(LONG v);
8779
8780     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8781     LONG vspace();
8782
8783     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8784     void hspace(LONG v);
8785
8786     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8787     LONG hspace();
8788
8789     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8790     void alt(BSTR v);
8791
8792     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8793     BSTR alt();
8794
8795     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8796     void src(BSTR v);
8797
8798     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8799     BSTR src();
8800
8801     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8802     void lowsrc(BSTR v);
8803
8804     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8805     BSTR lowsrc();
8806
8807     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8808     void vrml(BSTR v);
8809
8810     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8811     BSTR vrml();
8812
8813     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8814     void dynsrc(BSTR v);
8815
8816     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8817     BSTR dynsrc();
8818
8819     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
8820     VARIANT_BOOL complete();
8821
8822     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8823     void loop(VARIANT v);
8824
8825     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8826     VARIANT loop();
8827
8828     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8829     void align(BSTR v);
8830
8831     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8832     BSTR align();
8833
8834     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8835     void onload(VARIANT v);
8836
8837     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8838     VARIANT onload();
8839
8840     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8841     void onerror(VARIANT v);
8842
8843     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8844     VARIANT onerror();
8845
8846     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8847     void onabort(VARIANT v);
8848
8849     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8850     VARIANT onabort();
8851
8852     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8853     void width(LONG v);
8854
8855     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8856     LONG width();
8857
8858     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8859     void height(LONG v);
8860
8861     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8862     LONG height();
8863
8864     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8865     void start(BSTR v);
8866
8867     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8868     BSTR start();
8869
8870     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
8871     void accept(BSTR v);
8872
8873     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
8874     BSTR accept();
8875
8876     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
8877     void useMap(BSTR v);
8878
8879     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
8880     BSTR useMap();
8881 }
8882
8883 /*****************************************************************************
8884  *    IHTMLTextAreaElement interface
8885  */
8886 [
8887     odl,
8888     oleautomation,
8889     dual,
8890     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
8891 ]
8892 interface IHTMLTextAreaElement : IDispatch
8893 {
8894     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
8895     HRESULT type([retval, out] BSTR *p);
8896
8897     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
8898     HRESULT value([in] BSTR v);
8899
8900     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
8901     HRESULT value([retval, out] BSTR *p);
8902
8903     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
8904     HRESULT name([in] BSTR v);
8905
8906     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
8907     HRESULT name([retval, out] BSTR *p);
8908
8909     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
8910     HRESULT status([in] VARIANT v);
8911
8912     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
8913     HRESULT status([retval, out] VARIANT *p);
8914
8915     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
8916     HRESULT disabled([in] VARIANT_BOOL v);
8917
8918     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
8919     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8920
8921     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
8922     HRESULT form([retval, out] IHTMLFormElement **p);
8923
8924     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8925     HRESULT defaultValue([in] BSTR v);
8926
8927     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8928     HRESULT defaultValue([retval, out] BSTR *p);
8929
8930     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
8931     HRESULT select();
8932
8933     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
8934     HRESULT onchange([in] VARIANT v);
8935
8936     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
8937     HRESULT onchange([retval, out] VARIANT *p);
8938
8939     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
8940     HRESULT onselect([in] VARIANT v);
8941
8942     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
8943     HRESULT onselect([retval, out] VARIANT *p);
8944
8945     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
8946     HRESULT readOnly([in] VARIANT_BOOL v);
8947
8948     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
8949     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8950
8951     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
8952     HRESULT rows([in] LONG v);
8953
8954     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
8955     HRESULT rows([retval, out] LONG *p);
8956
8957     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
8958     HRESULT cols([in] LONG v);
8959
8960     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
8961     HRESULT cols([retval, out] LONG *p);
8962
8963     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
8964     HRESULT wrap([in] BSTR v);
8965
8966     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
8967     HRESULT wrap([retval, out] BSTR *p);
8968
8969     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
8970     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8971 }
8972
8973 /*****************************************************************************
8974  *    DispHTMLUnknownElement interface
8975  */
8976 [
8977     hidden,
8978     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
8979 ]
8980 dispinterface DispHTMLUnknownElement
8981 {
8982 properties:
8983 methods:
8984     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
8985 }
8986
8987 /*****************************************************************************
8988  *    IOmHistory interface
8989  */
8990 [
8991     odl,
8992     oleautomation,
8993     dual,
8994     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
8995 ]
8996 interface IOmHistory : IDispatch
8997 {
8998     [propget, id(DISPID_IOMHISTORY_LENGTH)]
8999     HRESULT length([retval, out] short *p);
9000
9001     [id(DISPID_IOMHISTORY_BACK)]
9002     HRESULT back([optional, in] VARIANT *pvargdistance);
9003
9004     [id(DISPID_IOMHISTORY_FORWARD)]
9005     HRESULT forward([optional, in] VARIANT *pvargdistance);
9006
9007     [id(DISPID_IOMHISTORY_GO)]
9008     HRESULT go([optional, in] VARIANT *pvargdistance);
9009 }
9010
9011 [
9012     noncreatable,
9013     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
9014 ]
9015 coclass HTMLHistory
9016 {
9017     [default]           interface IOmHistory;
9018 }
9019
9020 /*****************************************************************************
9021  *    IHTMLMimeTypesCollection interface
9022  */
9023 [
9024     odl,
9025     oleautomation,
9026     dual,
9027     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
9028 ]
9029 interface IHTMLMimeTypesCollection : IDispatch
9030 {
9031     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
9032     HRESULT length([retval, out] LONG *p);
9033 }
9034
9035 [
9036     noncreatable,
9037     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
9038 ]
9039 coclass CMimeTypes
9040 {
9041     [default]           interface IHTMLMimeTypesCollection;
9042 }
9043
9044 /*****************************************************************************
9045  *    IHTMLPluginsCollection interface
9046  */
9047 [
9048     odl,
9049     oleautomation,
9050     dual,
9051     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
9052 ]
9053 interface IHTMLPluginsCollection : IDispatch
9054 {
9055     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9056     HRESULT length([retval, out] LONG *p);
9057
9058     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9059     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9060 }
9061
9062 [
9063     noncreatable,
9064     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
9065 ]
9066 coclass CPlugins
9067 {
9068     [default]           interface IHTMLPluginsCollection;
9069 }
9070
9071 /*****************************************************************************
9072  *    IHTMLOpsProfile interface
9073  */
9074 [
9075     odl,
9076     oleautomation,
9077     dual,
9078     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
9079 ]
9080 interface IHTMLOpsProfile : IDispatch
9081 {
9082     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
9083     HRESULT addRequest(
9084         [in] BSTR name,
9085         [optional, in] VARIANT reserved,
9086         [retval, out] VARIANT_BOOL *success);
9087
9088     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
9089     HRESULT clearRequest();
9090
9091     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
9092     HRESULT doRequest(
9093         [in] VARIANT usage,
9094         [optional, in] VARIANT fname,
9095         [optional, in] VARIANT domain,
9096         [optional, in] VARIANT path,
9097         [optional, in] VARIANT expire,
9098         [optional, in] VARIANT reserved);
9099
9100     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
9101     HRESULT getAttribute(
9102         [in] BSTR name,
9103         [retval, out] BSTR *value);
9104
9105     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
9106     HRESULT setAttribute(
9107         [in] BSTR name,
9108         [in] BSTR value,
9109         [optional, in] VARIANT prefs,
9110         [retval, out] VARIANT_BOOL *success);
9111
9112     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
9113     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
9114
9115     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
9116     HRESULT addReadRequest(
9117         [in] BSTR name,
9118         [optional, in] VARIANT reserved,
9119         [retval, out] VARIANT_BOOL *success);
9120
9121     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
9122     HRESULT doReadRequest(
9123         [in] VARIANT usage,
9124         [optional, in] VARIANT fname,
9125         [optional, in] VARIANT domain,
9126         [optional, in] VARIANT path,
9127         [optional, in] VARIANT expire,
9128         [optional, in] VARIANT reserved);
9129
9130     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
9131     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
9132 }
9133
9134 [
9135     noncreatable,
9136     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
9137 ]
9138 coclass COpsProfile
9139 {
9140     [default]           interface IHTMLOpsProfile;
9141 }
9142
9143 /*****************************************************************************
9144  *    IOmNavigator interface
9145  */
9146 [
9147     odl,
9148     oleautomation,
9149     dual,
9150     uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
9151 ]
9152 interface IOmNavigator : IDispatch
9153 {
9154     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9155     HRESULT appCodeName([retval, out] BSTR *p);
9156
9157     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9158     HRESULT appName([retval, out] BSTR *p);
9159
9160     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
9161     HRESULT appVersion([retval, out] BSTR *p);
9162
9163     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
9164     HRESULT userAgent([retval, out] BSTR *p);
9165
9166     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
9167     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
9168
9169     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
9170     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
9171
9172     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
9173     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
9174
9175     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
9176     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
9177
9178     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
9179     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
9180
9181     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
9182     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
9183
9184     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
9185     HRESULT toString([retval, out] BSTR *String);
9186
9187     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
9188     HRESULT cpuClass([retval, out] BSTR *p);
9189
9190     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
9191     HRESULT systemLanguage([retval, out] BSTR *p);
9192
9193     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
9194     HRESULT browserLanguage([retval, out] BSTR *p);
9195
9196     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
9197     HRESULT userLanguage([retval, out] BSTR *p);
9198
9199     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
9200     HRESULT platform([retval, out] BSTR *p);
9201
9202     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
9203     HRESULT appMinorVersion([retval, out] BSTR *p);
9204
9205     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
9206     HRESULT connectionSpeed([retval, out] LONG *p);
9207
9208     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
9209     HRESULT onLine([retval, out] VARIANT_BOOL *p);
9210
9211     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
9212     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
9213 }
9214
9215 /*****************************************************************************
9216  *    DispHTMLNavigator dispinterface
9217  */
9218 [
9219     hidden,
9220     uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
9221 ]
9222 dispinterface DispHTMLNavigator
9223 {
9224 properties:
9225 methods:
9226     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9227     BSTR appCodeName();
9228
9229     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9230     BSTR appName();
9231
9232     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
9233     BSTR appVersion();
9234
9235     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
9236     BSTR userAgent();
9237
9238     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
9239     VARIANT_BOOL javaEnabled();
9240
9241     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
9242     VARIANT_BOOL taintEnabled();
9243
9244     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
9245     IHTMLMimeTypesCollection *mimeTypes();
9246
9247     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
9248     IHTMLPluginsCollection *plugins();
9249
9250     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
9251     VARIANT_BOOL cookieEnabled();
9252
9253     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
9254     IHTMLOpsProfile *opsProfile();
9255
9256     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
9257     BSTR toString();
9258
9259     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
9260     BSTR cpuClass();
9261
9262     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
9263     BSTR systemLanguage();
9264
9265     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
9266     BSTR browserLanguage();
9267
9268     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
9269     BSTR userLanguage();
9270
9271     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
9272     BSTR platform();
9273
9274     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
9275     BSTR appMinorVersion();
9276
9277     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
9278     LONG connectionSpeed();
9279
9280     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
9281     VARIANT_BOOL onLine();
9282
9283     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
9284     IHTMLOpsProfile *userProfile();
9285
9286     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
9287 }
9288
9289 [
9290     noncreatable,
9291     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
9292 ]
9293 coclass HTMLNavigator
9294 {
9295     [default]  dispinterface DispHTMLNavigator;
9296                interface IOmNavigator;
9297 }
9298
9299 /*****************************************************************************
9300  *    IHTMLLocation interface
9301  */
9302 [
9303     odl,
9304     oleautomation,
9305     dual,
9306     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
9307 ]
9308 interface IHTMLLocation : IDispatch
9309 {
9310     [propput, id(DISPID_IHTMLLOCATION_HREF)]
9311     HRESULT href([in] BSTR v);
9312
9313     [propget, id(DISPID_IHTMLLOCATION_HREF)]
9314     HRESULT href([retval, out] BSTR *p);
9315
9316     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9317     HRESULT protocol([in] BSTR v);
9318
9319     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9320     HRESULT protocol([retval, out] BSTR *p);
9321
9322     [propput, id(DISPID_IHTMLLOCATION_HOST)]
9323     HRESULT host([in] BSTR v);
9324
9325     [propget, id(DISPID_IHTMLLOCATION_HOST)]
9326     HRESULT host([retval, out] BSTR *p);
9327
9328     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9329     HRESULT hostname([in] BSTR v);
9330
9331     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9332     HRESULT hostname([retval, out] BSTR *p);
9333
9334     [propput, id(DISPID_IHTMLLOCATION_PORT)]
9335     HRESULT port([in] BSTR v);
9336
9337     [propget, id(DISPID_IHTMLLOCATION_PORT)]
9338     HRESULT port([retval, out] BSTR *p);
9339
9340     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
9341     HRESULT pathname([in] BSTR v);
9342
9343     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
9344     HRESULT pathname([retval, out] BSTR *p);
9345
9346     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
9347     HRESULT search([in] BSTR v);
9348
9349     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
9350     HRESULT search([retval, out] BSTR *p);
9351
9352     [propput, id(DISPID_IHTMLLOCATION_HASH)]
9353     HRESULT hash([in] BSTR v);
9354
9355     [propget, id(DISPID_IHTMLLOCATION_HASH)]
9356     HRESULT hash([retval, out] BSTR *p);
9357
9358     [id(DISPID_IHTMLLOCATION_RELOAD)]
9359     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
9360
9361     [id(DISPID_IHTMLLOCATION_REPLACE)]
9362     HRESULT replace([in] BSTR bstr);
9363
9364     [id(DISPID_IHTMLLOCATION_ASSIGN)]
9365     HRESULT assign([in] BSTR bstr);
9366
9367     [id(DISPID_IHTMLLOCATION_TOSTRING)]
9368     HRESULT toString([retval, out] BSTR *String);
9369 }
9370
9371 /*****************************************************************************
9372  *    DispHTMLLocation dispinterface
9373  */
9374 [
9375     hidden,
9376     uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
9377 ]
9378 dispinterface DispHTMLLocation
9379 {
9380 properties:
9381 methods:
9382     [propput, id(DISPID_IHTMLLOCATION_HREF)]
9383     void href(BSTR v);
9384
9385     [propget, id(DISPID_IHTMLLOCATION_HREF)]
9386     BSTR href();
9387
9388     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9389     void protocol(BSTR v);
9390
9391     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9392     BSTR protocol();
9393
9394     [propput, id(DISPID_IHTMLLOCATION_HOST)]
9395     void host(BSTR v);
9396
9397     [propget, id(DISPID_IHTMLLOCATION_HOST)]
9398     BSTR host();
9399
9400     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9401     void hostname(BSTR v);
9402
9403     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9404     BSTR hostname();
9405
9406     [propput, id(DISPID_IHTMLLOCATION_PORT)]
9407     void port(BSTR v);
9408
9409     [propget, id(DISPID_IHTMLLOCATION_PORT)]
9410     BSTR port();
9411
9412     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
9413     void pathname(BSTR v);
9414
9415     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
9416     BSTR pathname();
9417
9418     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
9419     void search(BSTR v);
9420
9421     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
9422     BSTR search();
9423
9424     [propput, id(DISPID_IHTMLLOCATION_HASH)]
9425     void hash(BSTR v);
9426
9427     [propget, id(DISPID_IHTMLLOCATION_HASH)]
9428     BSTR hash();
9429
9430     [id(DISPID_IHTMLLOCATION_RELOAD)]
9431     void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
9432
9433     [id(DISPID_IHTMLLOCATION_REPLACE)]
9434     void replace([in] BSTR bstr);
9435
9436     [id(DISPID_IHTMLLOCATION_ASSIGN)]
9437     void assign([in] BSTR bstr);
9438
9439     [id(DISPID_IHTMLLOCATION_TOSTRING)]
9440     BSTR toString();
9441
9442     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
9443 }
9444
9445 [
9446     noncreatable,
9447     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
9448 ]
9449 coclass HTMLLocation
9450 {
9451     [default]  dispinterface DispHTMLLocation;
9452                interface IHTMLLocation;
9453 }
9454
9455 [
9456     odl,
9457     oleautomation,
9458     dual,
9459     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
9460 ]
9461 interface IHTMLBookmarkCollection : IDispatch
9462 {
9463     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
9464     HRESULT length([out, retval] LONG *p);
9465
9466     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
9467     HRESULT _newEnum([out, retval] IUnknown **p);
9468
9469     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
9470     HRESULT item(
9471             [in] LONG index,
9472             [out, retval] VARIANT *pVarBookmark);
9473 }
9474
9475 /*****************************************************************************
9476  *    IHTMLDataTransfer interface
9477  */
9478 [
9479     odl,
9480     oleautomation,
9481     dual,
9482     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
9483 ]
9484 interface IHTMLDataTransfer : IDispatch
9485 {
9486     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
9487     HRESULT setData(
9488             [in] BSTR format,
9489             [in] VARIANT *data,
9490             [out, retval] VARIANT_BOOL *pret);
9491
9492     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
9493     HRESULT getData(
9494             [in] BSTR format,
9495             [out, retval] VARIANT *pvarRet);
9496
9497     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
9498     HRESULT clearData(
9499             [in] BSTR format,
9500             [out, retval] VARIANT_BOOL *pret);
9501
9502     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
9503     HRESULT dropEffect([in] BSTR v);
9504
9505     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
9506     HRESULT dropEffect([out, retval] BSTR *p);
9507
9508     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
9509     HRESULT effectAllowed([in] BSTR v);
9510
9511     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
9512     HRESULT effectAllowed([out, retval] BSTR *p);
9513 }
9514
9515 /*****************************************************************************
9516  *    IHTMLEventObj interface
9517  */
9518 [
9519     odl,
9520     oleautomation,
9521     dual,
9522     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
9523 ]
9524 interface IHTMLEventObj : IDispatch
9525 {
9526     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
9527     HRESULT srcElement([retval, out] IHTMLElement **p);
9528
9529     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
9530     HRESULT altKey([retval, out] VARIANT_BOOL *p);
9531
9532     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
9533     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
9534
9535     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
9536     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
9537
9538     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9539     HRESULT returnValue([in] VARIANT v);
9540
9541     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9542     HRESULT returnValue([retval, out] VARIANT *p);
9543
9544     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9545     HRESULT cancelBubble([in] VARIANT_BOOL v);
9546
9547     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9548     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
9549
9550     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
9551     HRESULT fromElement([retval, out] IHTMLElement **p);
9552
9553     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
9554     HRESULT toElement([retval, out] IHTMLElement **p);
9555
9556     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9557     HRESULT keyCode([in] LONG v);
9558
9559     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9560     HRESULT keyCode([retval, out] LONG *p);
9561
9562     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
9563     HRESULT button([retval, out] LONG *p);
9564
9565     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
9566     HRESULT type([retval, out] BSTR *p);
9567
9568     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
9569     HRESULT qualifier([retval, out] BSTR *p);
9570
9571     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
9572     HRESULT reason([retval, out] LONG *p);
9573
9574     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
9575     HRESULT x([retval, out] LONG *p);
9576
9577     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
9578     HRESULT y([retval, out] LONG *p);
9579
9580     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
9581     HRESULT clientX([retval, out] LONG *p);
9582
9583     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
9584     HRESULT clientY([retval, out] LONG *p);
9585
9586     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
9587     HRESULT offsetX([retval, out] LONG *p);
9588
9589     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
9590     HRESULT offsetY([retval, out] LONG *p);
9591
9592     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
9593     HRESULT screenX([retval, out] LONG *p);
9594
9595     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
9596     HRESULT screenY([retval, out] LONG *p);
9597
9598     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
9599     HRESULT srcFilter([retval, out] IDispatch **p);
9600 }
9601
9602 /*****************************************************************************
9603  *    DispCEventObj dispinterface
9604  */
9605 [
9606     hidden,
9607     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
9608 ]
9609 dispinterface DispCEventObj
9610 {
9611 properties:
9612 methods:
9613     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9614     void returnValue(VARIANT v);
9615
9616     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9617     VARIANT returnValue();
9618
9619     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9620     void cancelBubble(VARIANT_BOOL v);
9621
9622     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9623     VARIANT_BOOL cancelBubble();
9624
9625     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9626     void keyCode(LONG v);
9627
9628     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9629     LONG keyCode();
9630
9631     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
9632     void setAttribute(
9633             [in] BSTR strAttributeName,
9634             [in] VARIANT AttributeValue,
9635             [in, defaultvalue(1)] LONG lFlags);
9636
9637     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
9638     VARIANT getAttribute(
9639             [in] BSTR strAttributeName,
9640             [in, defaultvalue(0)] LONG lFlags);
9641
9642     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
9643     VARIANT_BOOL removeAttribute(
9644             [in] BSTR strAttributeName,
9645             [in, defaultvalue(1)] LONG lFlags);
9646
9647     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
9648     void propertyName(BSTR v);
9649
9650     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
9651     BSTR propertyName();
9652
9653     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
9654     void bookmarks(IHTMLBookmarkCollection *v);
9655
9656     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
9657     IHTMLBookmarkCollection *bookmarks();
9658
9659     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
9660     void recordset(IDispatch *v);
9661
9662     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
9663     IDispatch *recordset();
9664
9665     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
9666     void dataFld(BSTR v);
9667
9668     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
9669     BSTR dataFld();
9670
9671     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
9672     void boundElements(IHTMLElementCollection *v);
9673
9674     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
9675     IHTMLElementCollection *boundElements();
9676
9677     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
9678     void repeat(VARIANT_BOOL v);
9679
9680     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
9681     VARIANT_BOOL repeat();
9682
9683     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
9684     void srcUrn(BSTR v);
9685
9686     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
9687     BSTR srcUrn();
9688
9689     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
9690     void srcElement(IHTMLElement *v);
9691
9692     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
9693     IHTMLElement *srcElement();
9694
9695     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
9696     void altKey(VARIANT_BOOL v);
9697
9698     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
9699     VARIANT_BOOL altKey();
9700
9701     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
9702     void ctrlKey(VARIANT_BOOL v);
9703
9704     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
9705     VARIANT_BOOL ctrlKey();
9706
9707     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
9708     void shiftKey(VARIANT_BOOL v);
9709
9710     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
9711     VARIANT_BOOL shiftKey();
9712
9713     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
9714     void fromElement(IHTMLElement *v);
9715
9716     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
9717     IHTMLElement *fromElement();
9718
9719     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
9720     void toElement(IHTMLElement *v);
9721
9722     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
9723     IHTMLElement *toElement();
9724
9725     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
9726     void button(LONG v);
9727
9728     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
9729     LONG button();
9730
9731     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
9732     void type(BSTR v);
9733
9734     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
9735     BSTR type();
9736
9737     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
9738     void qualifier(BSTR v);
9739
9740     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
9741     BSTR qualifier();
9742
9743     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
9744     void reason(LONG v);
9745
9746     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
9747     LONG reason();
9748
9749     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
9750     void x(LONG v);
9751
9752     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
9753     LONG x();
9754
9755     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
9756     void y(LONG v);
9757
9758     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
9759     LONG y();
9760
9761     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
9762     void clientX(LONG v);
9763
9764     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
9765     LONG clientX();
9766
9767     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
9768     void clientY(LONG v);
9769
9770     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
9771     LONG clientY();
9772     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
9773     void offsetX(LONG v);
9774
9775     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
9776     LONG offsetX();
9777
9778     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
9779     void offsetY(LONG v);
9780
9781     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
9782     LONG offsetY();
9783
9784     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
9785     void screenX(LONG v);
9786
9787     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
9788     LONG screenX();
9789
9790     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
9791     void screenY(LONG v);
9792
9793     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
9794     LONG screenY();
9795
9796     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
9797     void srcFilter(IDispatch *v);
9798
9799     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
9800     IDispatch *srcFilter();
9801
9802     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
9803     IHTMLDataTransfer *dataTransfer();
9804
9805     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
9806     VARIANT_BOOL contentOverflow();
9807
9808     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
9809     void shiftLeft(VARIANT_BOOL v);
9810
9811     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
9812     VARIANT_BOOL shiftLeft();
9813
9814     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
9815     void altLeft(VARIANT_BOOL v);
9816
9817     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
9818     VARIANT_BOOL altLeft();
9819
9820     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
9821     void ctrlLeft(VARIANT_BOOL v);
9822
9823     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
9824     VARIANT_BOOL ctrlLeft();
9825
9826     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
9827     LONG_PTR imeCompositionChange();
9828
9829     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
9830     LONG_PTR imeNotifyCommand();
9831
9832     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
9833     LONG_PTR imeNotifyData();
9834
9835     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
9836     LONG_PTR imeRequest();
9837
9838     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
9839     LONG_PTR imeRequestData();
9840
9841     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
9842     LONG_PTR keyboardLayout();
9843
9844     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
9845     LONG behaviorCookie();
9846
9847     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
9848     LONG behaviorPart();
9849
9850     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
9851     BSTR nextPage();
9852
9853     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
9854     LONG wheelDelta();
9855 }
9856
9857 /*****************************************************************************
9858  *    IHTMLFramesCollection2 interface
9859  */
9860 [
9861     odl,
9862     oleautomation,
9863     dual,
9864     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
9865 ]
9866 interface IHTMLFramesCollection2 : IDispatch
9867 {
9868     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
9869     HRESULT item(
9870         [in] VARIANT *pvarIndex,
9871         [retval, out] VARIANT *pvarResult);
9872
9873     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
9874     HRESULT length([retval, out] LONG *p);
9875 }
9876
9877 /*****************************************************************************
9878  *    IHTMLScreen interface
9879  */
9880 [
9881     odl,
9882     oleautomation,
9883     dual,
9884     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
9885 ]
9886 interface IHTMLScreen : IDispatch
9887 {
9888     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
9889     HRESULT colorDepth([retval, out] LONG *p);
9890
9891     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
9892     HRESULT bufferDepth([in] LONG v);
9893
9894     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
9895     HRESULT bufferDepth([retval, out] LONG *p);
9896
9897     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
9898     HRESULT width([retval, out] LONG *p);
9899
9900     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
9901     HRESULT height([retval, out] LONG *p);
9902
9903     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
9904     HRESULT updateInterval([in] LONG v);
9905
9906     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
9907     HRESULT updateInterval([retval, out] LONG *p);
9908
9909     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
9910     HRESULT availHeight([retval, out] LONG *p);
9911
9912     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
9913     HRESULT availWidth([retval, out] LONG *p);
9914
9915     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
9916     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
9917 }
9918
9919 /*****************************************************************************
9920  *    IHTMLWindow2 interface
9921  */
9922 [
9923     odl,
9924     oleautomation,
9925     dual,
9926     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
9927 ]
9928 interface IHTMLWindow2 : IHTMLFramesCollection2
9929 {
9930     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
9931     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
9932
9933     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
9934     HRESULT defaultStatus([in] BSTR v);
9935
9936     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
9937     HRESULT defaultStatus([retval, out] BSTR *p);
9938
9939     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
9940     HRESULT status([in] BSTR v);
9941
9942     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
9943     HRESULT status([retval, out] BSTR *p);
9944
9945     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
9946     HRESULT setTimeout(
9947         [in] BSTR expression,
9948         [in] LONG msec,
9949         [optional, in] VARIANT *language,
9950         [retval, out] LONG *timerID);
9951
9952     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
9953     HRESULT clearTimeout([in] LONG timerID);
9954
9955     [id(DISPID_IHTMLWINDOW2_ALERT)]
9956     HRESULT alert([defaultvalue(""), in] BSTR message);
9957
9958     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
9959     HRESULT confirm(
9960         [defaultvalue(""), in] BSTR message,
9961         [retval, out] VARIANT_BOOL *confirmed);
9962
9963     [id(DISPID_IHTMLWINDOW2_PROMPT)]
9964     HRESULT prompt(
9965         [defaultvalue(""), in] BSTR message,
9966         [defaultvalue("undefined"), in] BSTR defstr,
9967         [retval, out] VARIANT *textdata);
9968
9969     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
9970     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
9971
9972     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
9973     HRESULT location([retval, out] IHTMLLocation **p);
9974
9975     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
9976     HRESULT history([retval, out] IOmHistory **p);
9977
9978     [id(DISPID_IHTMLWINDOW2_CLOSE)]
9979     HRESULT close();
9980
9981     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
9982     HRESULT opener([in] VARIANT v);
9983
9984     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
9985     HRESULT opener([retval, out] VARIANT *p);
9986
9987     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
9988     HRESULT navigator([retval, out] IOmNavigator **p);
9989
9990     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
9991     HRESULT name([in] BSTR v);
9992
9993     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
9994     HRESULT name([retval, out] BSTR *p);
9995
9996     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
9997     HRESULT parent([retval, out] IHTMLWindow2 **p);
9998
9999     [id(DISPID_IHTMLWINDOW2_OPEN)]
10000     HRESULT open(
10001         [defaultvalue(""), in] BSTR url,
10002         [defaultvalue(""), in] BSTR name,
10003         [defaultvalue(""), in] BSTR features,
10004         [defaultvalue(0), in] VARIANT_BOOL replace,
10005         [retval, out] IHTMLWindow2 **pomWindowResult);
10006
10007     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10008     HRESULT self([retval, out] IHTMLWindow2 **p);
10009
10010     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10011     HRESULT top([retval, out] IHTMLWindow2 **p);
10012
10013     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10014     HRESULT window([retval, out] IHTMLWindow2 **p);
10015
10016     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10017     HRESULT navigate([in] BSTR url);
10018
10019     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10020     HRESULT onfocus([in] VARIANT v);
10021
10022     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10023     HRESULT onfocus([retval, out] VARIANT *p);
10024
10025     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10026     HRESULT onblur([in] VARIANT v);
10027
10028     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10029     HRESULT onblur([retval, out] VARIANT *p);
10030
10031     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10032     HRESULT onload([in] VARIANT v);
10033
10034     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10035     HRESULT onload([retval, out] VARIANT *p);
10036
10037     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10038     HRESULT onbeforeunload([in] VARIANT v);
10039
10040     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10041     HRESULT onbeforeunload([retval, out] VARIANT *p);
10042
10043     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10044     HRESULT onunload([in] VARIANT v);
10045
10046     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10047     HRESULT onunload([retval, out] VARIANT *p);
10048
10049     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
10050     HRESULT onhelp([in] VARIANT v);
10051
10052     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
10053     HRESULT onhelp([retval, out] VARIANT *p);
10054
10055     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
10056     HRESULT onerror([in] VARIANT v);
10057
10058     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
10059     HRESULT onerror([retval, out] VARIANT *p);
10060
10061     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10062     HRESULT onresize([in] VARIANT v);
10063
10064     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10065     HRESULT onresize([retval, out] VARIANT *p);
10066
10067     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10068     HRESULT onscroll([in] VARIANT v);
10069
10070     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10071     HRESULT onscroll([retval, out] VARIANT *p);
10072
10073     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
10074     HRESULT document([retval, out] IHTMLDocument2 **p);
10075
10076     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10077     HRESULT event([retval, out] IHTMLEventObj **p);
10078
10079     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
10080     HRESULT _newEnum([retval, out] IUnknown **p);
10081
10082     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10083     HRESULT showModalDialog(
10084         [in] BSTR dialog,
10085         [optional, in] VARIANT *varArgIn,
10086         [optional, in] VARIANT *varOptions,
10087         [retval, out] VARIANT *varArgOut);
10088
10089     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10090     HRESULT showHelp(
10091         [in] BSTR helpURL,
10092         [optional, in] VARIANT helpArg,
10093         [defaultvalue(""), in] BSTR features);
10094
10095     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10096     HRESULT screen([retval, out] IHTMLScreen **p);
10097
10098     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10099     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
10100
10101     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10102     HRESULT focus();
10103
10104     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10105     HRESULT closed([retval, out] VARIANT_BOOL *p);
10106
10107     [id(DISPID_IHTMLWINDOW2_BLUR)]
10108     HRESULT blur();
10109
10110     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10111     HRESULT scroll([in] LONG x, [in] LONG y);
10112
10113     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10114     HRESULT clientInformation([retval, out] IOmNavigator **p);
10115
10116     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
10117     HRESULT setInterval([
10118         in] BSTR expression,
10119         [in] LONG msec,
10120         [optional, in] VARIANT *language,
10121         [retval, out] LONG *timerID);
10122
10123     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10124     HRESULT clearInterval([in] LONG timerID);
10125
10126     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10127     HRESULT offscreenBuffering([in] VARIANT v);
10128
10129     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10130     HRESULT offscreenBuffering([retval, out] VARIANT *p);
10131
10132     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10133     HRESULT execScript(
10134         [in] BSTR scode,
10135         [defaultvalue("JScript"), in] BSTR language,
10136         [retval, out] VARIANT *pvarRet);
10137
10138     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10139     HRESULT toString([retval, out] BSTR *String);
10140
10141     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10142     HRESULT scrollBy([in] LONG x, [in] LONG y);
10143
10144     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10145     HRESULT scrollTo([in] LONG x, [in] LONG y);
10146
10147     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10148     HRESULT moveTo([in] LONG x, [in] LONG y);
10149
10150     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10151     HRESULT moveBy([in] LONG x, [in] LONG y);
10152
10153     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10154     HRESULT resizeTo([in] LONG x, [in] LONG y);
10155
10156     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10157     HRESULT resizeBy([in] LONG x, [in] LONG y);
10158
10159     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10160     HRESULT external([retval, out] IDispatch **p);
10161 }
10162
10163 /*****************************************************************************
10164  *    IHTMLWindow3 interface
10165  */
10166 [
10167     odl,
10168     oleautomation,
10169     dual,
10170     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
10171 ]
10172 interface IHTMLWindow3 : IDispatch
10173 {
10174     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10175     HRESULT screenLeft([out, retval] LONG *p);
10176
10177     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10178     HRESULT screenTop([out, retval] LONG *p);
10179
10180     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10181     HRESULT attachEvent(
10182             [in] BSTR event,
10183             [in] IDispatch *pDisp,
10184             [out, retval] VARIANT_BOOL *pfResult);
10185
10186     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10187     HRESULT detachEvent(
10188             [in] BSTR event,
10189             [in] IDispatch *pDisp);
10190
10191     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10192     HRESULT setTimeout(
10193             [in] VARIANT *expression,
10194             [in] LONG msec,
10195             [in, optional] VARIANT *language,
10196             [out, retval] LONG *timerID);
10197
10198     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10199     HRESULT setInterval(
10200             [in] VARIANT *expression,
10201             [in] LONG msec,
10202             [in, optional] VARIANT *language,
10203             [out, retval] LONG *timerID);
10204
10205     [id(DISPID_IHTMLWINDOW3_PRINT)]
10206     HRESULT print();
10207
10208     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10209     HRESULT onbeforeprint([in] VARIANT v);
10210
10211     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10212     HRESULT onbeforeprint([out, retval] VARIANT *p);
10213
10214     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10215     HRESULT onafterprint([in] VARIANT v);
10216
10217     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10218     HRESULT onafterprint([out, retval] VARIANT *p);
10219
10220     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10221     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
10222
10223     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10224     HRESULT showModelessDialog(
10225             [in, defaultvalue("")] BSTR url,
10226             [in, optional] VARIANT *varArgIn,
10227             [in, optional] VARIANT *options,
10228             [out, retval] IHTMLWindow2 **pDialog);
10229 }
10230
10231 /*****************************************************************************
10232  *    IHTMLWindow4 interface
10233  */
10234 [
10235     odl,
10236     oleautomation,
10237     dual,
10238     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
10239 ]
10240 interface IHTMLWindow4 : IDispatch
10241 {
10242     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10243     HRESULT createPopup([optional, in] VARIANT* varArgIn,
10244                         [retval, out] IDispatch** ppPopup);
10245
10246     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10247     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
10248 };
10249
10250 /*****************************************************************************
10251  *    IHTMLWindow5 interface
10252  */
10253 [
10254     odl,
10255     oleautomation,
10256     dual,
10257     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
10258 ]
10259 interface IHTMLWindow5 : IDispatch
10260 {
10261     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10262     HRESULT XMLHttpRequest([in] VARIANT v);
10263
10264     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10265     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
10266 };
10267
10268 /*****************************************************************************
10269  *    DispHTMLScreen dispinterface
10270  */
10271 [
10272     hidden,
10273     uuid(3050f591-98b5-11cf-bb82-00aa00bdce0b)
10274 ]
10275 dispinterface DispHTMLScreen
10276 {
10277 properties:
10278 methods:
10279     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
10280     long colorDepth();
10281
10282     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10283     void bufferDepth(long v);
10284
10285     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10286     long bufferDepth();
10287
10288     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10289     long width();
10290
10291     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10292     long height();
10293
10294     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10295     void updateInterval(long v);
10296
10297     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10298     long updateInterval();
10299
10300     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
10301     long availHeight();
10302
10303     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
10304     long availWidth();
10305
10306     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10307     VARIANT_BOOL fontSmoothingEnabled();
10308
10309     [propget, id(DISPID_IHTMLSCREEN2_LOGICALXDPI)]
10310     long logicalXDPI();
10311
10312     [propget, id(DISPID_IHTMLSCREEN2_LOGICALYDPI)]
10313     long logicalYDPI();
10314
10315     [propget, id(DISPID_IHTMLSCREEN2_DEVICEXDPI)]
10316     long deviceXDPI();
10317
10318     [propget, id(DISPID_IHTMLSCREEN2_DEVICEYDPI)]
10319     long deviceYDPI();
10320
10321     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMXDPI)]
10322     long systemXDPI();
10323
10324     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMYDPI)]
10325     long systemYDPI();
10326
10327     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
10328     IDispatch *constructor();
10329 }
10330
10331 /*****************************************************************************
10332  *    DispHTMLWindow2 dispinterface
10333  */
10334 [
10335     hidden,
10336     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
10337 ]
10338 dispinterface DispHTMLWindow2
10339 {
10340 properties:
10341 methods:
10342     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10343     VARIANT item([in] VARIANT *pvarIndex);
10344
10345     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10346     LONG length();
10347
10348     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10349     IHTMLFramesCollection2 *frames();
10350
10351     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10352     void defaultStatus(BSTR v);
10353
10354     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10355     BSTR defaultStatus();
10356
10357     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10358     void status(BSTR v);
10359
10360     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10361     BSTR status();
10362
10363     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10364     void clearTimeout([in] LONG timerID);
10365
10366     [id(DISPID_IHTMLWINDOW2_ALERT)]
10367     void alert([in, defaultvalue("")] BSTR message);
10368
10369     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10370     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
10371
10372     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10373     VARIANT prompt(
10374             [in, defaultvalue("")] BSTR message,
10375             [in, defaultvalue("undefined")] BSTR defstr);
10376
10377     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10378     IHTMLImageElementFactory *Image();
10379
10380     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10381     IHTMLLocation *location();
10382
10383     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10384     IOmHistory *history();
10385
10386     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10387     void close();
10388
10389     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10390     void opener(VARIANT v);
10391
10392     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10393     VARIANT opener();
10394
10395     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10396     IOmNavigator *navigator();
10397
10398     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10399     void name(BSTR v);
10400
10401     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10402     BSTR name();
10403
10404     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10405     IHTMLWindow2 *parent();
10406
10407     [id(DISPID_IHTMLWINDOW2_OPEN)]
10408     IHTMLWindow2 *open(
10409             [in, defaultvalue("")] BSTR url,
10410             [in, defaultvalue("")] BSTR name,
10411             [in, defaultvalue("")] BSTR features,
10412             [in, defaultvalue(0)]  VARIANT_BOOL replace);
10413
10414     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10415     IHTMLWindow2 *self();
10416
10417     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10418     IHTMLWindow2 *top();
10419
10420     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10421     IHTMLWindow2 *window();
10422
10423     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10424     void navigate([in] BSTR url);
10425
10426     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10427     void onfocus(VARIANT v);
10428
10429     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10430     VARIANT onfocus();
10431
10432     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10433     void onblur(VARIANT v);
10434
10435     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10436     VARIANT onblur();
10437
10438     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
10439     VARIANT onload();
10440
10441     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10442     void onbeforeunload(VARIANT v);
10443
10444     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10445     VARIANT onbeforeunload();
10446
10447     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10448     void onunload(VARIANT v);
10449
10450     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10451     VARIANT onunload();
10452
10453     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10454     void onhelp(VARIANT v);
10455
10456     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10457     VARIANT onhelp();
10458
10459     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10460     void onerror(VARIANT v);
10461
10462     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10463     VARIANT onerror();
10464
10465     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10466     void onresize(VARIANT v);
10467
10468     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10469     VARIANT onresize();
10470
10471     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10472     void onscroll(VARIANT v);
10473
10474     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10475     VARIANT onscroll();
10476
10477     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
10478     IHTMLDocument2 *document();
10479
10480     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10481     IHTMLEventObj *event();
10482
10483     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
10484     IUnknown *_newEnum();
10485
10486     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10487     VARIANT showModalDialog(
10488             [in] BSTR dialog,
10489             [in, optional] VARIANT *varArgIn,
10490             [in, optional] VARIANT *varOptions);
10491
10492     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10493     void showHelp(
10494             [in] BSTR helpURL,
10495             [in, optional] VARIANT helpArg,
10496             [in, defaultvalue("")] BSTR features);
10497
10498     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10499     IHTMLScreen *screen();
10500
10501     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10502     IHTMLOptionElementFactory *Option();
10503
10504     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10505     void focus();
10506
10507     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10508     VARIANT_BOOL closed();
10509
10510     [id(DISPID_IHTMLWINDOW2_BLUR)]
10511     void blur();
10512
10513     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10514     void scroll([in] LONG x, [in] LONG y);
10515
10516     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10517     IOmNavigator *clientInformation();
10518
10519     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10520     void clearInterval([in] LONG timerID);
10521
10522     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10523     void offscreenBuffering(VARIANT v);
10524
10525     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10526     VARIANT offscreenBuffering();
10527
10528     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10529     VARIANT execScript(
10530             [in] BSTR _code,
10531             [in, defaultvalue("JScript")] BSTR language);
10532
10533     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10534     BSTR toString();
10535
10536     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10537     void scrollBy([in] LONG x, [in] LONG y);
10538
10539     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10540     void scrollTo([in] LONG x, [in] LONG y);
10541
10542     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10543     void moveTo([in] LONG x, [in] LONG y);
10544
10545     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10546     void moveBy([in] LONG x, [in] LONG y);
10547
10548     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10549     void resizeTo([in] LONG x, [in] LONG y);
10550
10551     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10552     void resizeBy([in] LONG x, [in] LONG y);
10553
10554     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10555     IDispatch *external();
10556
10557     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10558     LONG screenLeft();
10559
10560     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10561     LONG screenTop();
10562
10563     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10564     VARIANT_BOOL attachEvent(
10565              [in] BSTR event,
10566              [in] IDispatch *pDisp);
10567
10568     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10569     void detachEvent(
10570             [in] BSTR event,
10571             [in] IDispatch *pDisp);
10572
10573     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10574     LONG setTimeout(
10575             [in] VARIANT *expression,
10576             [in] LONG msec,
10577             [in, optional] VARIANT *language);
10578
10579     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10580     LONG setInterval(
10581             [in] VARIANT *expression,
10582             [in] LONG msec,
10583             [in, optional] VARIANT *language);
10584
10585     [id(DISPID_IHTMLWINDOW3_PRINT)]
10586     void print();
10587
10588     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10589     void onbeforeprint(VARIANT v);
10590
10591     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10592     VARIANT onbeforeprint();
10593
10594     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10595     void onafterprint(VARIANT v);
10596
10597     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10598     VARIANT onafterprint();
10599
10600     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10601     IHTMLDataTransfer *clipboardData();
10602
10603     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10604     IHTMLWindow2 *showModelessDialog(
10605             [in, defaultvalue("")] BSTR url,
10606             [in, optional] VARIANT *varArgIn,
10607             [in, optional] VARIANT *options);
10608
10609     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10610     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
10611
10612     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10613     IHTMLFrameBase *frameElement();
10614 }
10615
10616 /*****************************************************************************
10617  *    DispHTMLWindowProxy dispinterface
10618  */
10619 [
10620     hidden,
10621     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
10622 ]
10623 dispinterface DispHTMLWindowProxy
10624 {
10625 properties:
10626 methods:
10627     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10628     VARIANT item([in] VARIANT* pvarIndex);
10629
10630     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10631     LONG length();
10632
10633     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10634     IHTMLFramesCollection2* frames();
10635
10636     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10637     void defaultStatus(BSTR v);
10638
10639     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10640     BSTR defaultStatus();
10641
10642     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10643     void status(BSTR v);
10644
10645     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10646     BSTR status();
10647
10648     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10649     void clearTimeout([in] LONG timerID);
10650
10651     [id(DISPID_IHTMLWINDOW2_ALERT)]
10652     void alert([defaultvalue(""), in] BSTR message);
10653
10654     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10655     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
10656
10657     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10658     VARIANT prompt([defaultvalue(""), in] BSTR message,
10659                    [defaultvalue("undefined"), in] BSTR defstr);
10660
10661     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10662     IHTMLImageElementFactory* Image();
10663
10664     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10665     IHTMLLocation* location();
10666
10667     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10668     IOmHistory* history();
10669
10670     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10671     void close();
10672
10673     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10674     void opener(VARIANT v);
10675
10676     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10677     VARIANT opener();
10678
10679     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10680     IOmNavigator* navigator();
10681
10682     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10683     void name(BSTR v);
10684
10685     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10686     BSTR name();
10687
10688     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10689     IHTMLWindow2* parent();
10690
10691     [id(DISPID_IHTMLWINDOW2_OPEN)]
10692     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
10693                        [defaultvalue(""), in] BSTR name,
10694                        [defaultvalue(""), in] BSTR features,
10695                        [defaultvalue(0), in] VARIANT_BOOL replace);
10696
10697     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10698     IHTMLWindow2* self();
10699
10700     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10701     IHTMLWindow2* top();
10702
10703     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10704     IHTMLWindow2* window();
10705
10706     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10707     void navigate([in] BSTR url);
10708
10709     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10710     void onfocus(VARIANT v);
10711
10712     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10713     VARIANT onfocus();
10714
10715     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10716     void onblur(VARIANT v);
10717
10718     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10719     VARIANT onblur();
10720
10721     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
10722     void onload(VARIANT v);
10723
10724     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
10725     VARIANT onload();
10726
10727     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10728     void onbeforeunload(VARIANT v);
10729
10730     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10731     VARIANT onbeforeunload();
10732
10733     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10734     void onunload(VARIANT v);
10735
10736     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10737     VARIANT onunload();
10738
10739     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10740     void onhelp(VARIANT v);
10741
10742     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10743     VARIANT onhelp();
10744
10745     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10746     void onerror(VARIANT v);
10747
10748     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10749     VARIANT onerror();
10750
10751     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10752     void onresize(VARIANT v);
10753
10754     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10755     VARIANT onresize();
10756
10757     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10758     void onscroll(VARIANT v);
10759
10760     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10761     VARIANT onscroll();
10762
10763     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
10764     IHTMLDocument2* document();
10765
10766     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10767     IHTMLEventObj* event();
10768
10769     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
10770     IUnknown* _newEnum();
10771
10772     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10773     VARIANT showModalDialog([in] BSTR dialog,
10774                             [optional, in] VARIANT* varArgIn,
10775                             [optional, in] VARIANT* varOptions);
10776
10777     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10778     void showHelp([in] BSTR helpURL,
10779                   [optional, in] VARIANT helpArg,
10780                   [defaultvalue(""), in] BSTR features);
10781
10782     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10783     IHTMLScreen* screen();
10784
10785     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10786     IHTMLOptionElementFactory* Option();
10787
10788     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10789     void focus();
10790
10791     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10792     VARIANT_BOOL closed();
10793
10794     [id(DISPID_IHTMLWINDOW2_BLUR)]
10795     void blur();
10796
10797     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10798     void scroll([in] LONG x,
10799                 [in] LONG y);
10800
10801     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10802     IOmNavigator* clientInformation();
10803
10804     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10805     void clearInterval([in] LONG timerID);
10806
10807     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10808     void offscreenBuffering(VARIANT v);
10809
10810     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10811     VARIANT offscreenBuffering();
10812
10813     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10814     VARIANT execScript([in] BSTR code,
10815                        [defaultvalue("JScript"), in] BSTR language);
10816
10817     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10818     BSTR toString();
10819
10820     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10821     void scrollBy([in] LONG x,
10822                   [in] LONG y);
10823
10824     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10825     void scrollTo([in] LONG x,
10826                   [in] LONG y);
10827
10828     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10829     void moveTo([in] LONG x,
10830                 [in] LONG y);
10831
10832     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10833     void moveBy([in] LONG x,
10834                 [in] LONG y);
10835
10836     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10837     void resizeTo([in] LONG x,
10838                   [in] LONG y);
10839
10840     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10841     void resizeBy([in] LONG x,
10842                   [in] LONG y);
10843
10844     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10845     IDispatch* external();
10846
10847     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10848     LONG screenLeft();
10849
10850     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10851     LONG screenTop();
10852
10853     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10854     VARIANT_BOOL attachEvent([in] BSTR event,
10855                              [in] IDispatch* pDisp);
10856
10857     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10858     void detachEvent([in] BSTR event,
10859                      [in] IDispatch* pDisp);
10860
10861     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10862     LONG setTimeout([in] VARIANT* expression,
10863                     [in] LONG msec,
10864                     [optional, in] VARIANT* language);
10865
10866     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10867     LONG setInterval([in] VARIANT* expression,
10868                      [in] LONG msec,
10869                      [optional, in] VARIANT* language);
10870
10871     [id(DISPID_IHTMLWINDOW3_PRINT)]
10872     void print();
10873
10874     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10875     void onbeforeprint(VARIANT v);
10876
10877     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10878     VARIANT onbeforeprint();
10879
10880     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10881     void onafterprint(VARIANT v);
10882
10883     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10884     VARIANT onafterprint();
10885
10886     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10887     IHTMLDataTransfer* clipboardData();
10888
10889     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10890     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
10891                                      [optional, in] VARIANT* varArgIn,
10892                                      [optional, in] VARIANT* options);
10893
10894     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10895     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
10896
10897     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10898     IHTMLFrameBase* frameElement();
10899
10900     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10901     void XMLHttpRequest(VARIANT v);
10902
10903     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10904     VARIANT XMLHttpRequest();
10905 };
10906
10907 /*****************************************************************************
10908  *    HTMLWindowEvents interface
10909  */
10910 [
10911     hidden,
10912     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
10913 ]
10914 dispinterface HTMLWindowEvents
10915 {
10916 properties:
10917 methods:
10918     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
10919     void onload();
10920
10921     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
10922     void onunload();
10923
10924     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
10925     VARIANT_BOOL onhelp();
10926
10927     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
10928     void onfocus();
10929
10930     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
10931     void onblur();
10932
10933     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
10934     void onerror([in] BSTR description,
10935                  [in] BSTR url,
10936                  [in] LONG line);
10937
10938     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
10939     void onresize();
10940
10941     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
10942     void onscroll();
10943
10944     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
10945     void onbeforeunload();
10946
10947     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
10948     void onbeforeprint();
10949
10950     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
10951     void onafterprint();
10952 };
10953
10954 /*****************************************************************************
10955  *    HTMLWindowEvents2 interface
10956  */
10957 [
10958     hidden,
10959     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
10960 ]
10961 dispinterface HTMLWindowEvents2
10962 {
10963 properties:
10964 methods:
10965     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
10966     void onload([in] IHTMLEventObj* pEvtObj);
10967
10968     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
10969     void onunload([in] IHTMLEventObj* pEvtObj);
10970
10971     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
10972     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
10973
10974     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
10975     void onfocus([in] IHTMLEventObj* pEvtObj);
10976
10977     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
10978     void onblur([in] IHTMLEventObj* pEvtObj);
10979
10980     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
10981     void onerror([in] BSTR description,
10982                  [in] BSTR url,
10983                  [in] LONG line);
10984
10985     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
10986     void onresize([in] IHTMLEventObj* pEvtObj);
10987
10988     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
10989     void onscroll([in] IHTMLEventObj* pEvtObj);
10990
10991     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
10992     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
10993
10994     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
10995     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
10996
10997     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
10998     void onafterprint([in] IHTMLEventObj* pEvtObj);
10999 };
11000
11001 /*****************************************************************************
11002  *    HTMLWindowProxy class
11003  */
11004 [
11005     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
11006 ]
11007 coclass HTMLWindowProxy
11008 {
11009     [default]           dispinterface DispHTMLWindowProxy;
11010     [source, default]   dispinterface HTMLWindowEvents;
11011     [source]            dispinterface HTMLWindowEvents2;
11012                         interface IHTMLWindow2;
11013                         interface IHTMLWindow3;
11014                         interface IHTMLWindow4;
11015                         interface IHTMLWindow5;
11016 };
11017
11018 /*****************************************************************************
11019  *    HTMLDocumentEvents2 interface
11020  */
11021 [
11022     hidden,
11023     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
11024 ]
11025 dispinterface HTMLDocumentEvents2
11026 {
11027     properties:
11028     methods:
11029     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
11030     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
11031
11032     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
11033     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
11034
11035     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
11036     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
11037
11038     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
11039     void onkeydown([in] IHTMLEventObj *pEvtObj);
11040
11041     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
11042     void onkeyup([in] IHTMLEventObj *pEvtObj);
11043
11044     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
11045     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
11046
11047     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
11048     void onmousedown([in] IHTMLEventObj *pEvtObj);
11049
11050     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
11051     void onmousemove([in] IHTMLEventObj *pEvtObj);
11052
11053     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
11054     void onmouseup([in] IHTMLEventObj *pEvtObj);
11055
11056     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
11057     void onmouseout([in] IHTMLEventObj *pEvtObj);
11058
11059     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
11060     void onmouseover([in] IHTMLEventObj *pEvtObj);
11061
11062     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
11063     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
11064
11065     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
11066     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
11067
11068     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
11069     void onafterupdate([in] IHTMLEventObj *pEvtObj);
11070
11071     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
11072     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
11073
11074     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
11075     void onrowenter([in] IHTMLEventObj *pEvtObj);
11076
11077     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
11078     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
11079
11080     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
11081     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
11082
11083     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
11084     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
11085
11086     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
11087     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
11088
11089     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
11090     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
11091
11092     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
11093     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
11094
11095     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
11096     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
11097
11098     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
11099     void oncellchange([in] IHTMLEventObj *pEvtObj);
11100
11101     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
11102     void onpropertychange([in] IHTMLEventObj *pEvtObj);
11103
11104     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
11105     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
11106
11107     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
11108     void ondataavailable([in] IHTMLEventObj *pEvtObj);
11109
11110     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
11111     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
11112
11113     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
11114     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
11115
11116     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
11117     void onselectionchange([in] IHTMLEventObj *pEvtObj);
11118
11119     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
11120     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
11121
11122     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
11123     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
11124
11125     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
11126     void onfocusin([in] IHTMLEventObj *pEvtObj);
11127
11128     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
11129     void onfocusout([in] IHTMLEventObj *pEvtObj);
11130
11131     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
11132     void onactivate([in] IHTMLEventObj *pEvtObj);
11133
11134     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
11135     void ondeactivate([in] IHTMLEventObj *pEvtObj);
11136
11137     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
11138     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
11139
11140     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
11141     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
11142 }
11143
11144 /*****************************************************************************
11145  *    HTMLDocumentEvents interface
11146  */
11147 [
11148     hidden,
11149     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
11150 ]
11151 dispinterface HTMLDocumentEvents
11152 {
11153     properties:
11154     methods:
11155     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
11156     VARIANT_BOOL onhelp();
11157
11158     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
11159     VARIANT_BOOL onclick();
11160
11161     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
11162     VARIANT_BOOL ondblclick();
11163
11164     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
11165     void onkeydown();
11166
11167     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
11168     void onkeyup();
11169
11170     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
11171     VARIANT_BOOL onkeypress();
11172
11173     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
11174     void onmousedown();
11175
11176     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
11177     void onmousemove();
11178
11179     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
11180     void onmouseup();
11181
11182     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
11183     void onmouseout();
11184
11185     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
11186     void onmouseover();
11187
11188     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
11189     void onreadystatechange();
11190
11191     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
11192     VARIANT_BOOL onbeforeupdate();
11193
11194     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
11195     void onafterupdate();
11196
11197     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
11198     VARIANT_BOOL onrowexit();
11199
11200     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
11201     void onrowenter();
11202
11203     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
11204     VARIANT_BOOL ondragstart();
11205
11206     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
11207     VARIANT_BOOL onselectstart();
11208
11209     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
11210     VARIANT_BOOL onerrorupdate();
11211
11212     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
11213     VARIANT_BOOL oncontextmenu();
11214
11215     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
11216     VARIANT_BOOL onstop();
11217
11218     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
11219     void onrowsdelete();
11220
11221     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
11222     void onrowsinserted();
11223
11224     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
11225     void oncellchange();
11226
11227     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
11228     void onpropertychange();
11229
11230     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
11231     void ondatasetchanged();
11232
11233     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
11234     void ondataavailable();
11235
11236     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
11237     void ondatasetcomplete();
11238
11239     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
11240     void onbeforeeditfocus();
11241
11242     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
11243     void onselectionchange();
11244
11245     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
11246     VARIANT_BOOL oncontrolselect();
11247
11248     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
11249     VARIANT_BOOL onmousewheel();
11250
11251     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
11252     void onfocusin();
11253
11254     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
11255     void onfocusout();
11256
11257     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
11258     void onactivate();
11259
11260     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
11261     void ondeactivate();
11262
11263     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
11264     VARIANT_BOOL onbeforeactivate();
11265
11266     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
11267     VARIANT_BOOL onbeforedeactivate();
11268 }
11269
11270 /*****************************************************************************
11271  *    HTMLTextContainerEvents interface
11272  */
11273 [
11274     hidden,
11275     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
11276 ]
11277 dispinterface HTMLTextContainerEvents
11278 {
11279 properties:
11280
11281 methods:
11282     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
11283     VARIANT_BOOL onhelp();
11284
11285     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
11286     VARIANT_BOOL onclick();
11287
11288     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
11289     VARIANT_BOOL ondblclick();
11290
11291     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
11292     VARIANT_BOOL onkeypress();
11293
11294     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
11295     void onkeydown();
11296
11297     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
11298     void onkeyup();
11299
11300     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
11301     void onmouseout();
11302
11303     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
11304     void onmouseover();
11305
11306     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
11307     void onmousemove();
11308
11309     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
11310     void onmousedown();
11311
11312     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
11313     void onmouseup();
11314
11315     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
11316     VARIANT_BOOL onselectstart();
11317
11318     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
11319     void onfilterchange();
11320
11321     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
11322     VARIANT_BOOL ondragstart();
11323
11324     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
11325     VARIANT_BOOL onbeforeupdate();
11326
11327     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
11328     void onafterupdate();
11329
11330     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
11331     VARIANT_BOOL onerrorupdate();
11332
11333     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
11334     VARIANT_BOOL onrowexit();
11335
11336     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
11337     void onrowenter();
11338
11339     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
11340     void ondatasetchanged();
11341
11342     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
11343     void ondataavailable();
11344
11345     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
11346     void ondatasetcomplete();
11347
11348     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
11349     void onlosecapture();
11350
11351     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
11352     void onpropertychange();
11353
11354     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
11355     void onscroll();
11356
11357     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
11358     void onfocus();
11359
11360     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
11361     void onblur();
11362
11363     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
11364     void onresize();
11365
11366     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
11367     VARIANT_BOOL ondrag();
11368
11369     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
11370     void ondragend();
11371
11372     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
11373     VARIANT_BOOL ondragenter();
11374
11375     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
11376     VARIANT_BOOL ondragover();
11377
11378     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
11379     void ondragleave();
11380
11381     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
11382     VARIANT_BOOL ondrop();
11383
11384     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
11385     VARIANT_BOOL onbeforecut();
11386
11387     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
11388     VARIANT_BOOL oncut();
11389
11390     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
11391     VARIANT_BOOL onbeforecopy();
11392
11393     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
11394     VARIANT_BOOL oncopy();
11395
11396     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
11397     VARIANT_BOOL onbeforepaste();
11398
11399     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
11400     VARIANT_BOOL onpaste();
11401
11402     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
11403     VARIANT_BOOL oncontextmenu();
11404
11405     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
11406     void onrowsdelete();
11407
11408     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
11409     void onrowsinserted();
11410
11411     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
11412     void oncellchange();
11413
11414     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
11415     void onreadystatechange();
11416
11417     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
11418     void onbeforeeditfocus();
11419
11420     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
11421     void onlayoutcomplete();
11422
11423     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
11424     void onpage();
11425
11426     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
11427     VARIANT_BOOL onbeforedeactivate();
11428
11429     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
11430     VARIANT_BOOL onbeforeactivate();
11431
11432     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
11433     void onmove();
11434
11435     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
11436     VARIANT_BOOL oncontrolselect();
11437
11438     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
11439     VARIANT_BOOL onmovestart();
11440
11441     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
11442     void onmoveend();
11443
11444     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
11445     VARIANT_BOOL onresizestart();
11446
11447     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
11448     void onresizeend();
11449
11450     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
11451     void onmouseenter();
11452
11453     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
11454     void onmouseleave();
11455
11456     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
11457     VARIANT_BOOL onmousewheel();
11458
11459     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
11460     void onactivate();
11461
11462     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
11463     void ondeactivate();
11464
11465     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
11466     void onfocusin();
11467
11468     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
11469     void onfocusout();
11470
11471     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
11472     void onchange();
11473
11474     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
11475     void onselect();
11476 };
11477
11478 /*****************************************************************************
11479  *    HTMLTextContainerEvents2 interface
11480  */
11481 [
11482     hidden,
11483     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
11484 ]
11485 dispinterface HTMLTextContainerEvents2
11486 {
11487 properties:
11488 methods:
11489     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
11490     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
11491
11492     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
11493     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
11494
11495     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
11496     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
11497
11498     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
11499     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
11500
11501     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
11502     void onkeydown([in] IHTMLEventObj* pEvtObj);
11503
11504     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
11505     void onkeyup([in] IHTMLEventObj* pEvtObj);
11506
11507     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
11508     void onmouseout([in] IHTMLEventObj* pEvtObj);
11509
11510     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
11511     void onmouseover([in] IHTMLEventObj* pEvtObj);
11512
11513     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
11514     void onmousemove([in] IHTMLEventObj* pEvtObj);
11515
11516     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
11517     void onmousedown([in] IHTMLEventObj* pEvtObj);
11518
11519     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
11520     void onmouseup([in] IHTMLEventObj* pEvtObj);
11521
11522     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
11523     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
11524
11525     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
11526     void onfilterchange([in] IHTMLEventObj* pEvtObj);
11527
11528     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
11529     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
11530
11531     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
11532     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
11533
11534     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
11535     void onafterupdate([in] IHTMLEventObj* pEvtObj);
11536
11537     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
11538     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
11539
11540     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
11541     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
11542
11543     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
11544     void onrowenter([in] IHTMLEventObj* pEvtObj);
11545
11546     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
11547     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
11548
11549     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
11550     void ondataavailable([in] IHTMLEventObj* pEvtObj);
11551
11552     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
11553     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
11554
11555     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
11556     void onlosecapture([in] IHTMLEventObj* pEvtObj);
11557
11558     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
11559     void onpropertychange([in] IHTMLEventObj* pEvtObj);
11560
11561     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
11562     void onscroll([in] IHTMLEventObj* pEvtObj);
11563
11564     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
11565     void onfocus([in] IHTMLEventObj* pEvtObj);
11566
11567     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
11568     void onblur([in] IHTMLEventObj* pEvtObj);
11569
11570     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
11571     void onresize([in] IHTMLEventObj* pEvtObj);
11572
11573     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
11574     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
11575
11576     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
11577     void ondragend([in] IHTMLEventObj* pEvtObj);
11578
11579     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
11580     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
11581
11582     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
11583     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
11584
11585     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
11586     void ondragleave([in] IHTMLEventObj* pEvtObj);
11587
11588     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
11589     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
11590
11591     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
11592     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
11593
11594     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
11595     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
11596
11597     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
11598     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
11599
11600     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
11601     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
11602
11603     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
11604     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
11605
11606     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
11607     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
11608
11609     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
11610     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
11611
11612     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
11613     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
11614
11615     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
11616     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
11617
11618     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
11619     void oncellchange([in] IHTMLEventObj* pEvtObj);
11620
11621     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
11622     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
11623
11624     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
11625     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
11626
11627     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
11628     void onpage([in] IHTMLEventObj* pEvtObj);
11629
11630     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
11631     void onmouseenter([in] IHTMLEventObj* pEvtObj);
11632
11633     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
11634     void onmouseleave([in] IHTMLEventObj* pEvtObj);
11635
11636     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
11637     void onactivate([in] IHTMLEventObj* pEvtObj);
11638
11639     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
11640     void ondeactivate([in] IHTMLEventObj* pEvtObj);
11641
11642     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
11643     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
11644
11645     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
11646     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
11647
11648     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
11649     void onfocusin([in] IHTMLEventObj* pEvtObj);
11650
11651     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
11652     void onfocusout([in] IHTMLEventObj* pEvtObj);
11653
11654     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
11655     void onmove([in] IHTMLEventObj* pEvtObj);
11656
11657     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
11658     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
11659
11660     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
11661     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
11662
11663     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
11664     void onmoveend([in] IHTMLEventObj* pEvtObj);
11665
11666     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
11667     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
11668
11669     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
11670     void onresizeend([in] IHTMLEventObj* pEvtObj);
11671
11672     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
11673     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
11674
11675     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
11676     void onchange([in] IHTMLEventObj* pEvtObj);
11677
11678     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
11679     void onselect([in] IHTMLEventObj* pEvtObj);
11680 };
11681
11682 /*****************************************************************************
11683  *    IHTMLDocument interface
11684  */
11685 [
11686     odl,
11687     oleautomation,
11688     dual,
11689     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
11690 ]
11691 interface IHTMLDocument : IDispatch
11692 {
11693     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
11694     HRESULT Script([retval, out] IDispatch **p);
11695 }
11696
11697 /*****************************************************************************
11698  *    IHTMLDocument2 interface
11699  */
11700 [
11701     odl,
11702     oleautomation,
11703     dual,
11704     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
11705 ]
11706 interface IHTMLDocument2 : IHTMLDocument
11707 {
11708     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
11709     HRESULT all([retval, out] IHTMLElementCollection **p);
11710
11711     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
11712     HRESULT body([retval, out] IHTMLElement **p);
11713
11714     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
11715     HRESULT activeElement([retval, out] IHTMLElement **p);
11716
11717     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
11718     HRESULT images([retval, out] IHTMLElementCollection **p);
11719
11720     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
11721     HRESULT applets([retval, out] IHTMLElementCollection **p);
11722
11723     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
11724     HRESULT links([retval, out] IHTMLElementCollection **p);
11725
11726     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
11727     HRESULT forms([retval, out] IHTMLElementCollection **p);
11728
11729     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
11730     HRESULT anchors([retval, out] IHTMLElementCollection **p);
11731
11732     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11733     HRESULT title([in] BSTR v);
11734
11735     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11736     HRESULT title([retval, out] BSTR *p);
11737
11738     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
11739     HRESULT scripts([retval, out] IHTMLElementCollection **p);
11740
11741     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
11742     HRESULT designMode([in] BSTR v);
11743
11744     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
11745     HRESULT designMode([retval, out] BSTR *p);
11746
11747     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
11748     HRESULT selection([retval, out] IHTMLSelectionObject **p);
11749
11750     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
11751      HRESULT readyState([retval, out] BSTR *p);
11752
11753     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
11754     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
11755
11756     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
11757     HRESULT embeds([retval, out] IHTMLElementCollection **p);
11758
11759     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
11760     HRESULT plugins([retval, out] IHTMLElementCollection **p);
11761
11762     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11763     HRESULT alinkColor([in] VARIANT v);
11764
11765     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11766     HRESULT alinkColor([retval, out] VARIANT *p);
11767
11768     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11769     HRESULT bgColor([in] VARIANT v);
11770
11771     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11772     HRESULT bgColor([retval, out] VARIANT *p);
11773
11774     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11775     HRESULT fgColor([in] VARIANT v);
11776
11777     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11778     HRESULT fgColor([retval, out] VARIANT *p);
11779
11780     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11781     HRESULT linkColor([in] VARIANT v);
11782
11783     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11784     HRESULT linkColor([retval, out] VARIANT *p);
11785
11786     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11787     HRESULT vlinkColor([in] VARIANT v);
11788
11789     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11790     HRESULT vlinkColor([retval, out] VARIANT *p);
11791
11792     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
11793     HRESULT referrer([retval, out] BSTR *p);
11794
11795     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
11796     HRESULT location([retval, out] IHTMLLocation **p);
11797
11798     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
11799     HRESULT lastModified([retval, out] BSTR *p);
11800
11801     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
11802     HRESULT URL([in] BSTR v);
11803
11804     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
11805     HRESULT URL([retval, out] BSTR *p);
11806
11807     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11808     HRESULT domain([in] BSTR v);
11809
11810     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11811     HRESULT domain([retval, out] BSTR *p);
11812
11813     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11814     HRESULT cookie([in] BSTR v);
11815
11816     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11817     HRESULT cookie([retval, out] BSTR *p);
11818
11819     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
11820     HRESULT expando([in] VARIANT_BOOL v);
11821
11822     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
11823     HRESULT expando([retval, out] VARIANT_BOOL *p);
11824
11825     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
11826      HRESULT charset([in] BSTR v);
11827
11828     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
11829     HRESULT charset([retval, out] BSTR *p);
11830
11831     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11832     HRESULT defaultCharset([in] BSTR v);
11833
11834     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11835     HRESULT defaultCharset([retval, out] BSTR *p);
11836
11837     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
11838     HRESULT mimeType([retval, out] BSTR *p);
11839
11840     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
11841     HRESULT fileSize([retval, out] BSTR *p);
11842
11843     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
11844     HRESULT fileCreatedDate([retval, out] BSTR *p);
11845
11846     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
11847     HRESULT fileModifiedDate([retval, out] BSTR *p);
11848
11849     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
11850     HRESULT fileUpdatedDate([retval, out] BSTR *p);
11851
11852     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
11853     HRESULT security([retval, out] BSTR *p);
11854
11855     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
11856     HRESULT protocol([retval, out] BSTR *p);
11857
11858     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
11859      HRESULT nameProp([retval, out] BSTR *p);
11860
11861     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
11862     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
11863
11864     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
11865     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
11866
11867     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
11868     HRESULT open(
11869         [defaultvalue("text/html"), in] BSTR url,
11870         [optional, in] VARIANT name,
11871         [optional, in] VARIANT features,
11872         [optional, in] VARIANT replace,
11873         [retval, out]  IDispatch **pomWindowResult);
11874
11875     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
11876     HRESULT close();
11877
11878     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
11879     HRESULT clear();
11880
11881     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
11882     HRESULT queryCommandSupported(
11883         [in] BSTR cmdID,
11884         [retval, out] VARIANT_BOOL *pfRet);
11885
11886     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
11887     HRESULT queryCommandEnabled(
11888         [in] BSTR cmdID,
11889         [retval, out] VARIANT_BOOL *pfRet);
11890
11891     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
11892     HRESULT queryCommandState(
11893         [in] BSTR cmdID,
11894         [retval, out] VARIANT_BOOL *pfRet);
11895
11896     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
11897     HRESULT queryCommandIndeterm(
11898         [in] BSTR cmdID,
11899         [retval, out] VARIANT_BOOL *pfRet);
11900
11901     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
11902     HRESULT queryCommandText(
11903         [in] BSTR cmdID,
11904         [retval, out] BSTR *pcmdText);
11905
11906     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
11907     HRESULT queryCommandValue(
11908         [in] BSTR cmdID,
11909         [retval, out] VARIANT *pcmdValue);
11910
11911     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
11912     HRESULT execCommand(
11913         [in] BSTR cmdID,
11914         [defaultvalue(0), in] VARIANT_BOOL showUI,
11915         [optional, in] VARIANT value,
11916         [retval, out] VARIANT_BOOL *pfRet);
11917
11918     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
11919     HRESULT execCommandShowHelp(
11920         [in] BSTR cmdID,
11921         [retval, out] VARIANT_BOOL *pfRet);
11922
11923     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
11924      HRESULT createElement(
11925         [in] BSTR eTag,
11926         [retval, out] IHTMLElement **newElem);
11927
11928     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
11929     HRESULT onhelp([in] VARIANT v);
11930
11931     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
11932     HRESULT onhelp([retval, out] VARIANT *p);
11933
11934     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
11935     HRESULT onclick([in] VARIANT v);
11936
11937     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
11938     HRESULT onclick([retval, out] VARIANT *p);
11939
11940     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
11941     HRESULT ondblclick([in] VARIANT v);
11942
11943     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
11944     HRESULT ondblclick([retval, out] VARIANT *p);
11945
11946     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
11947     HRESULT onkeyup([in] VARIANT v);
11948
11949     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
11950     HRESULT onkeyup([retval, out] VARIANT *p);
11951
11952     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
11953     HRESULT onkeydown([in] VARIANT v);
11954
11955     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
11956     HRESULT onkeydown([retval, out] VARIANT *p);
11957
11958     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
11959      HRESULT onkeypress([in] VARIANT v);
11960
11961     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
11962     HRESULT onkeypress([retval, out] VARIANT *p);
11963
11964     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
11965     HRESULT onmouseup([in] VARIANT v);
11966
11967     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
11968     HRESULT onmouseup([retval, out] VARIANT *p);
11969
11970     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
11971     HRESULT onmousedown([in] VARIANT v);
11972
11973     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
11974     HRESULT onmousedown([retval, out] VARIANT *p);
11975
11976     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
11977     HRESULT onmousemove([in] VARIANT v);
11978
11979     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
11980     HRESULT onmousemove([retval, out] VARIANT *p);
11981
11982     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
11983     HRESULT onmouseout([in] VARIANT v);
11984
11985     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
11986     HRESULT onmouseout([retval, out] VARIANT *p);
11987
11988     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
11989     HRESULT onmouseover([in] VARIANT v);
11990
11991     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
11992     HRESULT onmouseover([retval, out] VARIANT *p);
11993
11994     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
11995     HRESULT onreadystatechange([in] VARIANT v);
11996
11997     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
11998     HRESULT onreadystatechange([retval, out] VARIANT *p);
11999
12000     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12001     HRESULT onafterupdate([in] VARIANT v);
12002
12003     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12004     HRESULT onafterupdate([retval, out] VARIANT *p);
12005
12006     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12007     HRESULT onrowexit([in] VARIANT v);
12008
12009     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12010     HRESULT onrowexit([retval, out] VARIANT *p);
12011
12012     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12013     HRESULT onrowenter([in] VARIANT v);
12014
12015     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12016     HRESULT onrowenter([retval, out] VARIANT *p);
12017
12018     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12019     HRESULT ondragstart([in] VARIANT v);
12020
12021     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12022     HRESULT ondragstart([retval, out] VARIANT *p);
12023
12024     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12025     HRESULT onselectstart([in] VARIANT v);
12026
12027     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12028     HRESULT onselectstart([retval, out] VARIANT *p);
12029
12030     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12031     HRESULT elementFromPoint(
12032         [in] LONG x,
12033         [in] LONG y,
12034         [retval, out] IHTMLElement **elementHit);
12035
12036     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12037     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
12038
12039     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12040     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
12041
12042     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12043     HRESULT onbeforeupdate([in] VARIANT v);
12044
12045     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12046     HRESULT onbeforeupdate([retval, out] VARIANT *p);
12047
12048     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12049     HRESULT onerrorupdate([in] VARIANT v);
12050
12051     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12052     HRESULT onerrorupdate([retval, out] VARIANT *p);
12053
12054     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12055     HRESULT toString([retval, out] BSTR *String);
12056
12057     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12058     HRESULT createStyleSheet(
12059         [defaultvalue(""), in] BSTR bstrHref,
12060         [defaultvalue(-1), in] LONG lIndex,
12061         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
12062 }
12063
12064 /*****************************************************************************
12065  *    IHTMLDocument3 interface
12066  */
12067 [
12068     odl,
12069     oleautomation,
12070     dual,
12071     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
12072 ]
12073 interface IHTMLDocument3 : IDispatch
12074 {
12075     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12076     HRESULT releaseCapture();
12077
12078     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12079     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12080
12081     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12082     HRESULT createTextNode(
12083         [in] BSTR text,
12084         [retval, out] IHTMLDOMNode **newTextNode);
12085
12086     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12087     HRESULT documentElement([retval, out] IHTMLElement **p);
12088
12089     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12090     HRESULT uniqueID([retval, out] BSTR *p);
12091
12092     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12093     HRESULT attachEvent(
12094         [in] BSTR event,
12095         [in] IDispatch* pDisp,
12096         [retval, out] VARIANT_BOOL *pfResult);
12097
12098     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12099     HRESULT detachEvent(
12100         [in] BSTR event,
12101         [in] IDispatch *pDisp);
12102
12103     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12104     HRESULT onrowsdelete([in] VARIANT v);
12105
12106     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12107     HRESULT onrowsdelete([retval, out] VARIANT *p);
12108
12109     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12110     HRESULT onrowsinserted([in] VARIANT v);
12111
12112     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12113     HRESULT onrowsinserted([retval, out] VARIANT *p);
12114
12115     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12116     HRESULT oncellchange([in] VARIANT v);
12117
12118     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12119     HRESULT oncellchange([retval, out] VARIANT *p);
12120
12121     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12122     HRESULT ondatasetchanged([in] VARIANT v);
12123
12124     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12125     HRESULT ondatasetchanged([retval, out] VARIANT *p);
12126
12127     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12128     HRESULT ondataavailable([in] VARIANT v);
12129
12130     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12131     HRESULT ondataavailable([retval, out] VARIANT * p);
12132
12133     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12134     HRESULT ondatasetcomplete([in] VARIANT v);
12135
12136     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12137     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
12138
12139     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12140     HRESULT onpropertychange([in] VARIANT v);
12141
12142     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12143     HRESULT onpropertychange([retval, out] VARIANT *p);
12144
12145     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
12146     HRESULT dir([in] BSTR v);
12147
12148     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
12149     HRESULT dir([retval, out] BSTR *p);
12150
12151     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12152     HRESULT oncontextmenu([in] VARIANT v);
12153
12154     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12155     HRESULT oncontextmenu([retval, out] VARIANT *p);
12156
12157     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12158     HRESULT onstop([in] VARIANT v);
12159
12160     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12161     HRESULT onstop([retval, out] VARIANT *p);
12162
12163     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
12164     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
12165
12166     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
12167     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
12168
12169     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12170     HRESULT enableDownload([in] VARIANT_BOOL v);
12171
12172     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12173     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
12174
12175     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12176     HRESULT baseUrl([in] BSTR v);
12177
12178     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12179     HRESULT baseUrl([retval, out] BSTR *p);
12180
12181     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
12182     HRESULT childNodes([retval, out] IDispatch **p);
12183
12184     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12185     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
12186
12187     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12188     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
12189
12190     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12191     HRESULT onbeforeeditfocus([in] VARIANT v);
12192
12193     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12194     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
12195
12196     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
12197     HRESULT getElementsByName(
12198         [in] BSTR v,
12199         [retval, out] IHTMLElementCollection **pelColl);
12200
12201     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
12202     HRESULT getElementById(
12203         [in] BSTR v,
12204         [retval, out] IHTMLElement **pel);
12205
12206     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
12207     HRESULT getElementsByTagName(
12208         [in] BSTR v,
12209         [retval, out] IHTMLElementCollection **pelColl);
12210 }
12211
12212 /*****************************************************************************
12213  *    IHTMLDocument4 interface
12214  */
12215 [
12216     odl,
12217     oleautomation,
12218     dual,
12219     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
12220 ]
12221 interface IHTMLDocument4 : IDispatch
12222 {
12223     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
12224     HRESULT focus();
12225
12226     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
12227     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
12228
12229     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12230     HRESULT onselectionchange([in] VARIANT v);
12231
12232     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12233     HRESULT onselectionchange([retval, out] VARIANT *p);
12234
12235     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
12236     HRESULT namespaces([retval, out] IDispatch **p);
12237
12238     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
12239     HRESULT createDocumentFromUrl(
12240         [in] BSTR bstrUrl,
12241         [in] BSTR bstrOptions,
12242         [retval, out] IHTMLDocument2 **newDoc);
12243
12244     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12245     HRESULT media([in] BSTR v);
12246
12247     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12248     HRESULT media([retval, out] BSTR *p);
12249
12250     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
12251     HRESULT createEventObject(
12252         [optional, in] VARIANT *pvarEventObject,
12253         [retval, out] IHTMLEventObj **ppEventObj);
12254
12255     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
12256     HRESULT fireEvent(
12257         [in] BSTR bstrEventName,
12258         [optional, in] VARIANT *pvarEventObject,
12259         [retval, out] VARIANT_BOOL *pfCancelled);
12260
12261     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
12262     HRESULT createRenderStyle(
12263         [in] BSTR v,
12264         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
12265
12266     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12267     HRESULT oncontrolselect([in] VARIANT v);
12268
12269     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12270     HRESULT oncontrolselect([retval, out] VARIANT *p);
12271
12272     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
12273     HRESULT URLUnencoded([retval, out] BSTR *p);
12274 }
12275
12276 /*****************************************************************************
12277  *    IHTMLDocument5 interface
12278  */
12279 [
12280     odl,
12281     oleautomation,
12282     dual,
12283     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
12284 ]
12285 interface IHTMLDocument5 : IDispatch
12286 {
12287     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12288     HRESULT onmousewheel([in] VARIANT v);
12289
12290     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12291     HRESULT onmousewheel([retval, out] VARIANT *p);
12292
12293     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
12294     HRESULT doctype([retval, out] IHTMLDOMNode **p);
12295
12296     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
12297     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
12298
12299     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
12300     HRESULT createAttribute(
12301         [in] BSTR bstrattrName,
12302         [retval, out] IHTMLDOMAttribute **ppattribute);
12303
12304     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
12305     HRESULT createComment(
12306         [in] BSTR bstrdata,
12307         [retval, out] IHTMLDOMNode **ppRetNode);
12308
12309     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12310     HRESULT onfocusin([in] VARIANT v);
12311
12312     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12313     HRESULT onfocusin([retval, out] VARIANT *p);
12314
12315     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12316     HRESULT onfocusout([in] VARIANT v);
12317
12318     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12319     HRESULT onfocusout([retval, out] VARIANT *p);
12320
12321     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12322     HRESULT onactivate([in] VARIANT v);
12323
12324     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12325     HRESULT onactivate([retval, out] VARIANT *p);
12326
12327     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12328     HRESULT ondeactivate([in] VARIANT v);
12329
12330     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12331     HRESULT ondeactivate([retval, out] VARIANT *p);
12332
12333     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12334     HRESULT onbeforeactivate([in] VARIANT v);
12335
12336     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12337     HRESULT onbeforeactivate([retval, out] VARIANT *p);
12338
12339     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12340     HRESULT onbeforedeactivate([in] VARIANT v);
12341
12342     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12343     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
12344
12345     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
12346     HRESULT compatMode([retval, out] BSTR *p);
12347 }
12348
12349 /*****************************************************************************
12350  *    IHTMLDocument6 interface
12351  */
12352 [
12353     odl,
12354     oleautomation,
12355     dual,
12356     uuid(30510417-98b5-11cf-bb82-00aa00bdce0b)
12357 ]
12358 interface IHTMLDocument6 : IDispatch
12359 {
12360     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
12361     HRESULT compatible([retval, out] IHTMLDocumentCompatibleInfoCollection **p);
12362
12363     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
12364     HRESULT documentMode([retval, out] VARIANT *p);
12365
12366     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
12367     HRESULT onstorage([in] VARIANT v);
12368
12369     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
12370     HRESULT onstorage([out] VARIANT *p);
12371
12372     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
12373     HRESULT onstoragecommit([in] VARIANT v);
12374
12375     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
12376     HRESULT onstoragecommit([out] VARIANT *p);
12377
12378     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
12379     HRESULT getElementById(
12380         [in] BSTR bstrId,
12381         [retval, out] IHTMLElement2 **p);
12382
12383     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
12384     HRESULT updateSettings();
12385 }
12386
12387 /*****************************************************************************
12388  *    DispHTMLDocument dispinterface
12389  */
12390 [
12391     hidden,
12392     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
12393 ]
12394 dispinterface DispHTMLDocument
12395 {
12396 properties:
12397 methods:
12398     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
12399     IDispatch *Script();
12400
12401     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
12402     IHTMLElementCollection *all();
12403
12404     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
12405     IHTMLElement *body();
12406
12407     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
12408     IHTMLElement *activeElement();
12409
12410     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
12411     IHTMLElementCollection *images();
12412
12413     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
12414     IHTMLElementCollection *applets();
12415
12416     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
12417     IHTMLElementCollection *links();
12418
12419     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
12420     IHTMLElementCollection *forms();
12421
12422     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
12423     IHTMLElementCollection *anchors();
12424
12425     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12426     void title(BSTR v);
12427
12428     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12429     BSTR title();
12430
12431     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
12432     IHTMLElementCollection *scripts();
12433
12434     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
12435     void designMode(BSTR v);
12436
12437     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
12438     BSTR designMode();
12439
12440     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
12441     IHTMLSelectionObject *selection();
12442
12443     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
12444     BSTR readyState();
12445
12446     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
12447     IHTMLFramesCollection2 *frames();
12448
12449     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
12450     IHTMLElementCollection *embeds();
12451
12452     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
12453     IHTMLElementCollection *plugins();
12454
12455     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12456     void alinkColor(VARIANT v);
12457
12458     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12459     VARIANT alinkColor();
12460
12461     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12462     void bgColor(VARIANT v);
12463
12464     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12465     VARIANT bgColor();
12466
12467     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12468     void fgColor(VARIANT v);
12469
12470     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12471     VARIANT fgColor();
12472
12473     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12474     void linkColor(VARIANT v);
12475
12476     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12477     VARIANT linkColor();
12478
12479     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12480     void vlinkColor(VARIANT v);
12481
12482     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12483     VARIANT vlinkColor();
12484
12485     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
12486     BSTR referrer();
12487
12488     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
12489     IHTMLLocation *location();
12490
12491     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
12492     BSTR lastModified();
12493
12494     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
12495     void URL(BSTR v);
12496
12497     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
12498     BSTR URL();
12499
12500     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12501     void domain(BSTR v);
12502
12503     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12504     BSTR domain();
12505
12506     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12507     void cookie(BSTR v);
12508
12509     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12510     BSTR cookie();
12511
12512     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
12513     void expando(VARIANT_BOOL v);
12514
12515     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
12516     VARIANT_BOOL expando();
12517
12518     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
12519     void charset(BSTR v);
12520
12521     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
12522     BSTR charset();
12523
12524     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12525     void defaultCharset(BSTR v);
12526
12527     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12528     BSTR defaultCharset();
12529
12530     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
12531     BSTR mimeType();
12532
12533     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
12534     BSTR fileSize();
12535
12536     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
12537     BSTR fileCreatedDate();
12538
12539     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
12540     BSTR fileModifiedDate();
12541
12542     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
12543     BSTR fileUpdatedDate();
12544
12545     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
12546     BSTR security();
12547
12548     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
12549     BSTR protocol();
12550
12551     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
12552     BSTR nameProp();
12553
12554     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
12555     void write([in] SAFEARRAY(VARIANT) psarray);
12556
12557     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
12558     void writeln([in] SAFEARRAY(VARIANT) psarray);
12559
12560     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
12561     IDispatch *open(
12562         [defaultvalue("text/html"), in] BSTR url,
12563         [optional, in] VARIANT name,
12564         [optional, in] VARIANT features,
12565         [optional, in] VARIANT replace);
12566
12567     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
12568     void close();
12569
12570     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
12571     void clear();
12572
12573     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
12574     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
12575
12576     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
12577     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
12578
12579     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
12580     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
12581
12582     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
12583     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
12584
12585     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
12586     BSTR queryCommandText([in] BSTR cmdID);
12587
12588     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
12589     VARIANT queryCommandValue([in] BSTR cmdID);
12590
12591     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
12592     VARIANT_BOOL execCommand(
12593         [in] BSTR cmdID,
12594         [defaultvalue(0), in] VARIANT_BOOL showUI,
12595         [optional, in] VARIANT value);
12596
12597     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12598     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
12599
12600     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12601     IHTMLElement *createElement([in] BSTR eTag);
12602
12603     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
12604     void onhelp(VARIANT v);
12605
12606     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
12607     VARIANT onhelp();
12608
12609     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
12610     void onclick(VARIANT v);
12611
12612     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
12613     VARIANT onclick();
12614
12615     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
12616     void ondblclick(VARIANT v);
12617
12618     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
12619     VARIANT ondblclick();
12620
12621     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
12622     void onkeyup(VARIANT v);
12623
12624     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
12625     VARIANT onkeyup();
12626
12627     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
12628     void onkeydown(VARIANT v);
12629
12630     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
12631     VARIANT onkeydown();
12632
12633     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
12634     void onkeypress(VARIANT v);
12635
12636     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
12637     VARIANT onkeypress();
12638
12639     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
12640     void onmouseup(VARIANT v);
12641
12642     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
12643     VARIANT onmouseup();
12644
12645     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12646     void onmousedown(VARIANT v);
12647
12648     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12649     VARIANT onmousedown();
12650
12651     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12652     void onmousemove(VARIANT v);
12653
12654     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12655     VARIANT onmousemove();
12656
12657     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12658     void onmouseout(VARIANT v);
12659
12660     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12661     VARIANT onmouseout();
12662
12663     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
12664     void onmouseover(VARIANT v);
12665
12666     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
12667     VARIANT onmouseover();
12668
12669     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12670     void onreadystatechange(VARIANT v);
12671
12672     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12673     VARIANT onreadystatechange();
12674
12675     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
12676     void onafterupdate(VARIANT v);
12677
12678     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
12679     VARIANT onafterupdate();
12680
12681     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
12682     void onrowexit(VARIANT v);
12683
12684     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
12685     VARIANT onrowexit();
12686
12687     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
12688     void onrowenter(VARIANT v);
12689
12690     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
12691     VARIANT onrowenter();
12692
12693     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
12694     void ondragstart(VARIANT v);
12695
12696     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
12697     VARIANT ondragstart();
12698
12699     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
12700     void onselectstart(VARIANT v);
12701
12702     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
12703     VARIANT onselectstart();
12704
12705     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12706     IHTMLElement *elementFromPoint(
12707         [in] LONG x,
12708         [in] LONG y);
12709
12710     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12711     IHTMLWindow2 *parentWindow();
12712
12713     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12714     IHTMLStyleSheetsCollection *styleSheets();
12715
12716     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
12717     void onbeforeupdate(VARIANT v);
12718
12719     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
12720     VARIANT onbeforeupdate();
12721
12722     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
12723     void onerrorupdate(VARIANT v);
12724
12725     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
12726     VARIANT onerrorupdate();
12727
12728     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12729     BSTR toString();
12730
12731     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12732     IHTMLStyleSheet *createStyleSheet(
12733         [defaultvalue(""), in] BSTR bstrHref,
12734         [defaultvalue(-1), in] LONG lIndex);
12735
12736     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12737     void releaseCapture();
12738
12739     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12740     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12741
12742     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12743     IHTMLDOMNode *createTextNode([in] BSTR text);
12744
12745     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12746     IHTMLElement *documentElement();
12747
12748     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12749     BSTR uniqueID();
12750
12751     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12752     VARIANT_BOOL attachEvent(
12753         [in] BSTR event,
12754         [in] IDispatch *pDisp);
12755
12756     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12757     void detachEvent(
12758         [in] BSTR event,
12759         [in] IDispatch *pDisp);
12760
12761     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12762     void onrowsdelete(VARIANT v);
12763
12764     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12765     VARIANT onrowsdelete();
12766
12767     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12768     void onrowsinserted(VARIANT v);
12769
12770     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12771     VARIANT onrowsinserted();
12772
12773     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12774     void oncellchange(VARIANT v);
12775
12776     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12777     VARIANT oncellchange();
12778
12779     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12780     void ondatasetchanged(VARIANT v);
12781
12782     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12783     VARIANT ondatasetchanged();
12784
12785     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12786     void ondataavailable(VARIANT v);
12787
12788     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12789     VARIANT ondataavailable();
12790
12791     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12792     void ondatasetcomplete(VARIANT v);
12793
12794     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12795     VARIANT ondatasetcomplete();
12796
12797     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12798     void onpropertychange(VARIANT v);
12799
12800     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12801     VARIANT onpropertychange();
12802
12803     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
12804     void dir(BSTR v);
12805
12806     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
12807     BSTR dir();
12808
12809     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12810     void oncontextmenu(VARIANT v);
12811
12812     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12813     VARIANT oncontextmenu();
12814
12815     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12816     void onstop(VARIANT v);
12817
12818     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12819     VARIANT onstop();
12820
12821     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
12822     IHTMLDocument2 *createDocumentFragment();
12823
12824     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
12825     IHTMLDocument2 *parentDocument();
12826
12827     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12828     void enableDownload(VARIANT_BOOL v);
12829
12830     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12831     VARIANT_BOOL enableDownload();
12832
12833     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12834     void baseUrl(BSTR v);
12835
12836     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12837     BSTR baseUrl();
12838
12839     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12840     void inheritStyleSheets(VARIANT_BOOL v);
12841
12842     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12843     VARIANT_BOOL inheritStyleSheets();
12844
12845     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12846     void onbeforeeditfocus(VARIANT v);
12847
12848     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12849     VARIANT onbeforeeditfocus();
12850
12851     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
12852     IHTMLElementCollection *getElementsByName([in] BSTR v);
12853
12854     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
12855     IHTMLElement *getElementById([in] BSTR v);
12856
12857     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
12858     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
12859
12860     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
12861     void focus();
12862
12863     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
12864     VARIANT_BOOL hasFocus();
12865
12866     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12867     void onselectionchange(VARIANT v);
12868
12869     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12870     VARIANT onselectionchange();
12871
12872     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
12873     IDispatch *namespaces();
12874
12875     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
12876     IHTMLDocument2 *createDocumentFromUrl(
12877         [in] BSTR bstrUrl,
12878         [in] BSTR bstrOptions);
12879
12880     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12881     void media(BSTR v);
12882
12883     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12884     BSTR media();
12885
12886     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
12887     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
12888
12889     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
12890     VARIANT_BOOL fireEvent(
12891         [in] BSTR bstrEventName,
12892         [optional, in] VARIANT *pvarEventObject);
12893
12894     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
12895     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
12896
12897     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12898     void oncontrolselect(VARIANT v);
12899
12900     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12901     VARIANT oncontrolselect();
12902
12903     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
12904     BSTR URLUnencoded();
12905
12906     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12907     void onmousewheel(VARIANT v);
12908
12909     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12910     VARIANT onmousewheel();
12911
12912     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
12913     IHTMLDOMNode *doctype();
12914
12915     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
12916     IHTMLDOMImplementation *implementation();
12917
12918     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
12919     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
12920
12921     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
12922     IHTMLDOMNode *createComment([in] BSTR bstrdata);
12923
12924     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12925     void onfocusin(VARIANT v);
12926
12927     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12928     VARIANT onfocusin();
12929
12930     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12931     void onfocusout(VARIANT v);
12932
12933     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12934     VARIANT onfocusout();
12935
12936     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12937     void onactivate(VARIANT v);
12938
12939     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12940     VARIANT onactivate();
12941
12942     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12943     void ondeactivate(VARIANT v);
12944
12945     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12946     VARIANT ondeactivate();
12947
12948     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12949     void onbeforeactivate(VARIANT v);
12950
12951     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12952     VARIANT onbeforeactivate();
12953
12954     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12955     void onbeforedeactivate(VARIANT v);
12956
12957     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12958     VARIANT onbeforedeactivate();
12959
12960     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
12961     BSTR compatMode();
12962
12963     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
12964     IHTMLDocumentCompatibleInfoCollection *compatible();
12965
12966     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
12967     VARIANT documentMode();
12968
12969     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
12970     void onstorage(VARIANT v);
12971
12972     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
12973     VARIANT onstorage();
12974
12975     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
12976     void onstoragecommit(VARIANT v);
12977
12978     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
12979     VARIANT onstoragecommit();
12980
12981     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
12982     IHTMLElement2 *ie8_getElementById([in] BSTR bstrId);
12983
12984     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
12985     void updateSettings();
12986
12987     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
12988 }
12989
12990 /*****************************************************************************
12991  *    HTMLDocument coclass
12992  */
12993 [
12994     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
12995 ]
12996 coclass HTMLDocument
12997 {
12998     [default]         dispinterface DispHTMLDocument;
12999     [source, default] dispinterface HTMLDocumentEvents;
13000     [source]          dispinterface HTMLDocumentEvents2;
13001                       interface IHTMLDocument2;
13002                       interface IHTMLDocument3;
13003                       interface IHTMLDocument4;
13004                       interface IHTMLDocument5;
13005                       interface IHTMLDocument6;
13006                       interface IHTMLDOMNode;
13007                       interface IHTMLDOMNode2;
13008 }
13009
13010 /*****************************************************************************
13011  *    IHTMLCommentElement interface
13012  */
13013 [
13014     odl,
13015     oleautomation,
13016     dual,
13017     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
13018 ]
13019 interface IHTMLCommentElement : IDispatch
13020 {
13021     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13022     HRESULT text([in] BSTR v);
13023
13024     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13025     HRESULT text([out, retval] BSTR *p);
13026
13027     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13028     HRESULT atomic([in] LONG v);
13029
13030     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13031     HRESULT atomic([out, retval] LONG *p);
13032 }
13033
13034 /*****************************************************************************
13035  *    IHTMLCommentElement2 interface
13036  */
13037 [
13038     odl,
13039     oleautomation,
13040     dual,
13041     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
13042 ]
13043 interface IHTMLCommentElement2 : IDispatch
13044 {
13045     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13046     HRESULT data([in] BSTR v);
13047
13048     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13049     HRESULT data([out, retval] BSTR *p);
13050
13051     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
13052     HRESULT length([out, retval] LONG *p);
13053
13054     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
13055     HRESULT substringData(
13056             [in] LONG offset,
13057             [in] LONG Count,
13058             [out, retval] BSTR *pbstrsubString);
13059
13060     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
13061     HRESULT appendData([in] BSTR bstrstring);
13062
13063     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
13064     HRESULT insertData(
13065             [in] LONG offset,
13066             [in] BSTR bstrstring);
13067
13068     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
13069     HRESULT deleteData(
13070             [in] LONG offset,
13071             [in] LONG Count);
13072
13073     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
13074     HRESULT replaceData(
13075             [in] LONG offset,
13076             [in] LONG Count,
13077             [in] BSTR bstrstring);
13078 }
13079
13080 /*****************************************************************************
13081  *    DispHTMLCommentElement dispinterface
13082  */
13083 [
13084     hidden,
13085     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
13086 ]
13087 dispinterface DispHTMLCommentElement
13088 {
13089 properties:
13090 methods:
13091     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
13092
13093     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13094     void text(BSTR v);
13095
13096     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13097     BSTR text();
13098
13099     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13100     void atomic(LONG v);
13101
13102     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13103     LONG atomic();
13104
13105     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13106     void data(BSTR v);
13107
13108     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13109     BSTR data();
13110
13111     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
13112     LONG length();
13113
13114     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
13115     BSTR substringData(
13116             [in] LONG offset,
13117             [in] LONG Count);
13118
13119     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
13120     void appendData([in] BSTR bstrstring);
13121
13122     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
13123      void insertData(
13124             [in] LONG offset,
13125             [in] BSTR bstrstring);
13126
13127     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
13128     void deleteData(
13129             [in] LONG offset,
13130             [in] LONG Count);
13131
13132     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
13133     void replaceData(
13134             [in] LONG offset,
13135             [in] LONG Count,
13136             [in] BSTR bstrstring);
13137 }
13138
13139 [
13140     hidden,
13141     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
13142 ]
13143 dispinterface HTMLElementEvents2
13144 {
13145 properties:
13146 methods:
13147     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
13148     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
13149
13150     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
13151     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
13152
13153     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
13154     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
13155
13156     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
13157     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
13158
13159     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
13160     void onkeydown([in] IHTMLEventObj* pEvtObj);
13161
13162     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
13163     void onkeyup([in] IHTMLEventObj* pEvtObj);
13164
13165     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
13166     void onmouseout([in] IHTMLEventObj* pEvtObj);
13167
13168     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
13169     void onmouseover([in] IHTMLEventObj* pEvtObj);
13170
13171     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
13172     void onmousemove([in] IHTMLEventObj* pEvtObj);
13173
13174     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
13175     void onmousedown([in] IHTMLEventObj* pEvtObj);
13176
13177     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
13178     void onmouseup([in] IHTMLEventObj* pEvtObj);
13179
13180     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
13181     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
13182
13183     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
13184     void onfilterchange([in] IHTMLEventObj* pEvtObj);
13185
13186     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
13187     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
13188
13189     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
13190     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
13191
13192     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
13193     void onafterupdate([in] IHTMLEventObj* pEvtObj);
13194
13195     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
13196     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
13197
13198     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
13199     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
13200
13201     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
13202     void onrowenter([in] IHTMLEventObj* pEvtObj);
13203
13204     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
13205     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
13206
13207     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
13208     void ondataavailable([in] IHTMLEventObj* pEvtObj);
13209
13210     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
13211     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
13212
13213     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
13214     void onlosecapture([in] IHTMLEventObj* pEvtObj);
13215
13216     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
13217     void onpropertychange([in] IHTMLEventObj* pEvtObj);
13218
13219     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
13220     void onscroll([in] IHTMLEventObj* pEvtObj);
13221
13222     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
13223     void onfocus([in] IHTMLEventObj* pEvtObj);
13224
13225     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
13226     void onblur([in] IHTMLEventObj* pEvtObj);
13227
13228     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
13229     void onresize([in] IHTMLEventObj* pEvtObj);
13230
13231     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
13232     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
13233
13234     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
13235     void ondragend([in] IHTMLEventObj* pEvtObj);
13236
13237     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
13238     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
13239
13240     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
13241     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
13242
13243     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
13244     void ondragleave([in] IHTMLEventObj* pEvtObj);
13245
13246     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
13247     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
13248
13249     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
13250     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
13251
13252     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
13253     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
13254
13255     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
13256     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
13257
13258     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
13259     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
13260
13261     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
13262     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
13263
13264     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
13265     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
13266
13267     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
13268     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
13269
13270     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
13271     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
13272
13273     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
13274     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
13275
13276     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
13277     void oncellchange([in] IHTMLEventObj* pEvtObj);
13278
13279     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
13280     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
13281
13282     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
13283     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
13284
13285     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
13286     void onpage([in] IHTMLEventObj* pEvtObj);
13287
13288     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
13289     void onmouseenter([in] IHTMLEventObj* pEvtObj);
13290
13291     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
13292     void onmouseleave([in] IHTMLEventObj* pEvtObj);
13293
13294     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
13295     void onactivate([in] IHTMLEventObj* pEvtObj);
13296
13297     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
13298     void ondeactivate([in] IHTMLEventObj* pEvtObj);
13299
13300     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
13301     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
13302
13303     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
13304     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
13305
13306     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
13307     void onfocusin([in] IHTMLEventObj* pEvtObj);
13308
13309     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
13310     void onfocusout([in] IHTMLEventObj* pEvtObj);
13311
13312     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
13313     void onmove([in] IHTMLEventObj* pEvtObj);
13314
13315     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
13316     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
13317
13318     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
13319     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
13320
13321     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
13322     void onmoveend([in] IHTMLEventObj* pEvtObj);
13323
13324     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
13325     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
13326
13327     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
13328     void onresizeend([in] IHTMLEventObj* pEvtObj);
13329
13330     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
13331     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
13332 };
13333 [
13334     hidden,
13335     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
13336 ]
13337 dispinterface HTMLElementEvents
13338 {
13339 properties:
13340 methods:
13341     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
13342     VARIANT_BOOL onhelp();
13343
13344     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
13345     VARIANT_BOOL onclick();
13346
13347     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
13348     VARIANT_BOOL ondblclick();
13349
13350     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
13351     VARIANT_BOOL onkeypress();
13352
13353     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
13354     void onkeydown();
13355
13356     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
13357     void onkeyup();
13358
13359     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
13360     void onmouseout();
13361
13362     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
13363     void onmouseover();
13364
13365     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
13366     void onmousemove();
13367
13368     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
13369     void onmousedown();
13370
13371     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
13372     void onmouseup();
13373
13374     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
13375     VARIANT_BOOL onselectstart();
13376
13377     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
13378     void onfilterchange();
13379
13380     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
13381     VARIANT_BOOL ondragstart();
13382
13383     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
13384     VARIANT_BOOL onbeforeupdate();
13385
13386     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
13387     void onafterupdate();
13388
13389     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
13390     VARIANT_BOOL onerrorupdate();
13391
13392     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
13393     VARIANT_BOOL onrowexit();
13394
13395     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
13396     void onrowenter();
13397
13398     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
13399     void ondatasetchanged();
13400
13401     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
13402     void ondataavailable();
13403
13404     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
13405     void ondatasetcomplete();
13406
13407     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
13408     void onlosecapture();
13409
13410     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
13411     void onpropertychange();
13412
13413     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
13414     void onscroll();
13415
13416     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
13417     void onfocus();
13418
13419     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
13420     void onblur();
13421
13422     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
13423     void onresize();
13424
13425     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
13426     VARIANT_BOOL ondrag();
13427
13428     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
13429     void ondragend();
13430
13431     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
13432     VARIANT_BOOL ondragenter();
13433
13434     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
13435     VARIANT_BOOL ondragover();
13436
13437     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
13438     void ondragleave();
13439
13440     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
13441     VARIANT_BOOL ondrop();
13442
13443     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
13444     VARIANT_BOOL onbeforecut();
13445
13446     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
13447     VARIANT_BOOL oncut();
13448
13449     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
13450     VARIANT_BOOL onbeforecopy();
13451
13452     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
13453     VARIANT_BOOL oncopy();
13454
13455     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
13456     VARIANT_BOOL onbeforepaste();
13457
13458     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
13459     VARIANT_BOOL onpaste();
13460
13461     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
13462     VARIANT_BOOL oncontextmenu();
13463
13464     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
13465     void onrowsdelete();
13466
13467     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
13468     void onrowsinserted();
13469
13470     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
13471     void oncellchange();
13472
13473     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
13474     void onreadystatechange();
13475
13476     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
13477     void onbeforeeditfocus();
13478
13479     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
13480     void onlayoutcomplete();
13481
13482     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
13483     void onpage();
13484
13485     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
13486     VARIANT_BOOL onbeforedeactivate();
13487
13488     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
13489     VARIANT_BOOL onbeforeactivate();
13490
13491     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
13492     void onmove();
13493
13494     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
13495     VARIANT_BOOL oncontrolselect();
13496
13497     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
13498     VARIANT_BOOL onmovestart();
13499
13500     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
13501     void onmoveend();
13502
13503     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
13504     VARIANT_BOOL onresizestart();
13505
13506     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
13507     void onresizeend();
13508
13509     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
13510     void onmouseenter();
13511
13512     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
13513     void onmouseleave();
13514
13515     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
13516     VARIANT_BOOL onmousewheel();
13517
13518     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
13519     void onactivate();
13520
13521     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
13522     void ondeactivate();
13523
13524     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
13525     void onfocusin();
13526
13527     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
13528     void onfocusout();
13529
13530 };
13531
13532 [
13533     noncreatable,
13534     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
13535 ]
13536 coclass HTMLCommentElement
13537 {
13538     [default]           dispinterface DispHTMLCommentElement;
13539     [source, default]   dispinterface HTMLElementEvents;
13540     [source]            dispinterface HTMLElementEvents2;
13541                         interface IHTMLElement;
13542                         interface IHTMLElement2;
13543                         interface IHTMLElement3;
13544                         interface IHTMLElement4;
13545                         interface IHTMLUniqueName;
13546                         interface IHTMLDOMNode;
13547                         interface IHTMLDOMNode2;
13548                         interface IHTMLCommentElement;
13549                         interface IHTMLCommentElement2;
13550 }
13551
13552 /*****************************************************************************
13553  *    HTMLTableEvents dispinterface
13554  */
13555 [
13556     hidden,
13557     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
13558 ]
13559 dispinterface HTMLTableEvents
13560 {
13561 properties:
13562 methods:
13563     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
13564     VARIANT_BOOL onhelp();
13565
13566     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
13567     VARIANT_BOOL onclick();
13568
13569     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
13570     VARIANT_BOOL ondblclick();
13571
13572     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
13573     VARIANT_BOOL onkeypress();
13574
13575     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
13576     void onkeydown();
13577
13578     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
13579     void onkeyup();
13580
13581     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
13582     void onmouseout();
13583
13584     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
13585     void onmouseover();
13586
13587     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
13588     void onmousemove();
13589
13590     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
13591     void onmousedown();
13592
13593     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
13594     void onmouseup();
13595
13596     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
13597     VARIANT_BOOL onselectstart();
13598
13599     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
13600     void onfilterchange();
13601
13602     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
13603     VARIANT_BOOL ondragstart();
13604
13605     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
13606     VARIANT_BOOL onbeforeupdate();
13607
13608     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
13609     void onafterupdate();
13610
13611     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
13612     VARIANT_BOOL onerrorupdate();
13613
13614     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
13615     VARIANT_BOOL onrowexit();
13616
13617     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
13618     void onrowenter();
13619
13620     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
13621     void ondatasetchanged();
13622
13623     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
13624     void ondataavailable();
13625
13626     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
13627     void ondatasetcomplete();
13628
13629     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
13630     void onlosecapture();
13631
13632     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
13633     void onpropertychange();
13634
13635     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
13636     void onscroll();
13637
13638     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
13639     void onfocus();
13640
13641     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
13642     void onblur();
13643
13644     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
13645     void onresize();
13646
13647     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
13648     VARIANT_BOOL ondrag();
13649
13650     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
13651     void ondragend();
13652
13653     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
13654     VARIANT_BOOL ondragenter();
13655
13656     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
13657     VARIANT_BOOL ondragover();
13658
13659     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
13660     void ondragleave();
13661
13662     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
13663     VARIANT_BOOL ondrop();
13664
13665     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
13666     VARIANT_BOOL onbeforecut();
13667
13668     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
13669     VARIANT_BOOL oncut();
13670
13671     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
13672     VARIANT_BOOL onbeforecopy();
13673
13674     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
13675     VARIANT_BOOL oncopy();
13676
13677     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
13678     VARIANT_BOOL onbeforepaste();
13679
13680     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
13681     VARIANT_BOOL onpaste();
13682
13683     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
13684     VARIANT_BOOL oncontextmenu();
13685
13686     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
13687     void onrowsdelete();
13688
13689     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
13690     void onrowsinserted();
13691
13692     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
13693     void oncellchange();
13694
13695     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
13696     void onreadystatechange();
13697
13698     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
13699     void onbeforeeditfocus();
13700
13701     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
13702     void onlayoutcomplete();
13703
13704     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
13705     void onpage();
13706
13707     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
13708     VARIANT_BOOL onbeforedeactivate();
13709
13710     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
13711     VARIANT_BOOL onbeforeactivate();
13712
13713     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
13714     void onmove();
13715
13716     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
13717     VARIANT_BOOL oncontrolselect();
13718
13719     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
13720     VARIANT_BOOL onmovestart();
13721
13722     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
13723     void onmoveend();
13724
13725     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
13726     VARIANT_BOOL onresizestart();
13727
13728     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
13729     void onresizeend();
13730
13731     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
13732     void onmouseenter();
13733
13734     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
13735     void onmouseleave();
13736
13737     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
13738     VARIANT_BOOL onmousewheel();
13739
13740     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
13741     void onactivate();
13742
13743     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
13744     void ondeactivate();
13745
13746     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
13747     void onfocusin();
13748
13749     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
13750     void onfocusout();
13751 }
13752
13753 [
13754     hidden,
13755     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
13756 ]
13757 dispinterface HTMLTableEvents2
13758 {
13759 properties:
13760 methods:
13761     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
13762     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
13763
13764     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
13765     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
13766
13767     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
13768     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
13769
13770     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
13771     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
13772
13773     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
13774     void onkeydown([in] IHTMLEventObj* pEvtObj);
13775
13776     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
13777     void onkeyup([in] IHTMLEventObj* pEvtObj);
13778
13779     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
13780     void onmouseout([in] IHTMLEventObj* pEvtObj);
13781
13782     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
13783     void onmouseover([in] IHTMLEventObj* pEvtObj);
13784
13785     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
13786     void onmousemove([in] IHTMLEventObj* pEvtObj);
13787
13788     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
13789     void onmousedown([in] IHTMLEventObj* pEvtObj);
13790
13791     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
13792     void onmouseup([in] IHTMLEventObj* pEvtObj);
13793
13794     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
13795     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
13796
13797     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
13798     void onfilterchange([in] IHTMLEventObj* pEvtObj);
13799
13800     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
13801     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
13802
13803     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
13804     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
13805
13806     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
13807     void onafterupdate([in] IHTMLEventObj* pEvtObj);
13808
13809     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
13810     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
13811
13812     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
13813     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
13814
13815     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
13816     void onrowenter([in] IHTMLEventObj* pEvtObj);
13817
13818     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
13819     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
13820
13821     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
13822     void ondataavailable([in] IHTMLEventObj* pEvtObj);
13823
13824     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
13825     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
13826
13827     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
13828     void onlosecapture([in] IHTMLEventObj* pEvtObj);
13829
13830     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
13831     void onpropertychange([in] IHTMLEventObj* pEvtObj);
13832
13833     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
13834     void onscroll([in] IHTMLEventObj* pEvtObj);
13835
13836     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
13837     void onfocus([in] IHTMLEventObj* pEvtObj);
13838
13839     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
13840     void onblur([in] IHTMLEventObj* pEvtObj);
13841
13842     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
13843     void onresize([in] IHTMLEventObj* pEvtObj);
13844
13845     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
13846     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
13847
13848     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
13849     void ondragend([in] IHTMLEventObj* pEvtObj);
13850
13851     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
13852     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
13853
13854     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
13855     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
13856
13857     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
13858     void ondragleave([in] IHTMLEventObj* pEvtObj);
13859
13860     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
13861     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
13862
13863     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
13864     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
13865
13866     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
13867     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
13868
13869     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
13870     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
13871
13872     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
13873     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
13874
13875     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
13876     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
13877
13878     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
13879     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
13880
13881     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
13882     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
13883
13884     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
13885     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
13886
13887     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
13888     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
13889
13890     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
13891     void oncellchange([in] IHTMLEventObj* pEvtObj);
13892
13893     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
13894     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
13895
13896     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
13897     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
13898
13899     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
13900     void onpage([in] IHTMLEventObj* pEvtObj);
13901
13902     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
13903     void onmouseenter([in] IHTMLEventObj* pEvtObj);
13904
13905     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
13906     void onmouseleave([in] IHTMLEventObj* pEvtObj);
13907
13908     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
13909     void onactivate([in] IHTMLEventObj* pEvtObj);
13910
13911     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
13912     void ondeactivate([in] IHTMLEventObj* pEvtObj);
13913
13914     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
13915     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
13916
13917     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
13918     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
13919
13920     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
13921     void onfocusin([in] IHTMLEventObj* pEvtObj);
13922
13923     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
13924     void onfocusout([in] IHTMLEventObj* pEvtObj);
13925
13926     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
13927     void onmove([in] IHTMLEventObj* pEvtObj);
13928
13929     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
13930     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
13931
13932     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
13933     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
13934
13935     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
13936     void onmoveend([in] IHTMLEventObj* pEvtObj);
13937
13938     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
13939     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
13940
13941     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
13942     void onresizeend([in] IHTMLEventObj* pEvtObj);
13943
13944     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
13945     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
13946 };
13947
13948 /*****************************************************************************
13949  *    IHTMLTableCaption interface
13950  */
13951 [
13952     odl,
13953     oleautomation,
13954     dual,
13955     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
13956 ]
13957 interface IHTMLTableCaption : IDispatch
13958 {
13959     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
13960     HRESULT align([in] BSTR v);
13961
13962     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
13963     HRESULT align([retval, out] BSTR *p);
13964
13965     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
13966     HRESULT vAlign([in] BSTR v);
13967
13968     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
13969     HRESULT vAlign([retval, out] BSTR *p);
13970 }
13971
13972 interface IHTMLTableSection;
13973
13974 /*****************************************************************************
13975  *    IHTMLTable interface
13976  */
13977 [
13978     odl,
13979     oleautomation,
13980     dual,
13981     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
13982 ]
13983 interface IHTMLTable : IDispatch
13984 {
13985     [propput, id(DISPID_IHTMLTABLE_COLS)]
13986     HRESULT cols([in] LONG v);
13987
13988     [propget, id(DISPID_IHTMLTABLE_COLS)]
13989     HRESULT cols([retval, out] LONG *p);
13990
13991     [propput, id(DISPID_IHTMLTABLE_BORDER)]
13992     HRESULT border([in] VARIANT v);
13993
13994     [propget, id(DISPID_IHTMLTABLE_BORDER)]
13995     HRESULT border([retval, out] VARIANT *p);
13996
13997     [propput, id(DISPID_IHTMLTABLE_FRAME)]
13998     HRESULT frame([in] BSTR v);
13999
14000     [propget, id(DISPID_IHTMLTABLE_FRAME)]
14001     HRESULT frame([retval, out] BSTR *p);
14002
14003     [propput, id(DISPID_IHTMLTABLE_RULES)]
14004     HRESULT rules([in] BSTR v);
14005
14006     [propget, id(DISPID_IHTMLTABLE_RULES)]
14007     HRESULT rules([retval, out] BSTR *p);
14008
14009     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
14010     HRESULT cellSpacing([in] VARIANT v);
14011
14012     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
14013     HRESULT cellSpacing([retval, out] VARIANT *p);
14014
14015     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
14016     HRESULT cellPadding([in] VARIANT v);
14017
14018     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
14019     HRESULT cellPadding([retval, out] VARIANT *p);
14020
14021     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
14022     HRESULT background([in] BSTR v);
14023
14024     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
14025     HRESULT background([retval, out] BSTR *p);
14026
14027     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
14028     HRESULT bgColor([in] VARIANT v);
14029
14030     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
14031     HRESULT bgColor([retval, out] VARIANT *p);
14032
14033     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14034     HRESULT borderColor([in] VARIANT v);
14035
14036     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14037     HRESULT borderColor([retval, out] VARIANT *p);
14038
14039     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14040     HRESULT borderColorLight([in] VARIANT v);
14041
14042     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14043     HRESULT borderColorLight([retval, out] VARIANT *p);
14044
14045     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14046     HRESULT borderColorDark([in] VARIANT v);
14047
14048     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14049     HRESULT borderColorDark([retval, out] VARIANT *p);
14050
14051     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
14052     HRESULT align([in] BSTR v);
14053
14054     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
14055     HRESULT align([retval, out] BSTR * p);
14056
14057     [id(DISPID_IHTMLTABLE_REFRESH)]
14058     HRESULT refresh();
14059
14060     [propget, id(DISPID_IHTMLTABLE_ROWS)]
14061     HRESULT rows([retval, out] IHTMLElementCollection **p);
14062
14063     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
14064     HRESULT width([in] VARIANT v);
14065
14066     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
14067     HRESULT width([retval, out] VARIANT *p);
14068
14069     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
14070     HRESULT height([in] VARIANT v);
14071
14072     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
14073     HRESULT height([retval, out] VARIANT *p);
14074
14075     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14076     HRESULT dataPageSize([in] LONG v);
14077
14078     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14079     HRESULT dataPageSize([retval, out] LONG *p);
14080
14081     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
14082     HRESULT nextPage();
14083
14084     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
14085     HRESULT previousPage();
14086
14087     [propget, id(DISPID_IHTMLTABLE_THEAD)]
14088     HRESULT tHead([retval, out] IHTMLTableSection **p);
14089
14090     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
14091     HRESULT tFoot([retval, out] IHTMLTableSection **p);
14092
14093     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
14094     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
14095
14096     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
14097     HRESULT caption([retval, out] IHTMLTableCaption **p);
14098
14099     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
14100     HRESULT createTHead([retval, out] IDispatch **head);
14101
14102     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
14103     HRESULT deleteTHead();
14104
14105     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
14106     HRESULT createTFoot([retval, out] IDispatch **foot);
14107
14108     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
14109     HRESULT deleteTFoot();
14110
14111     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
14112     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
14113
14114     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
14115     HRESULT deleteCaption();
14116
14117     [id(DISPID_IHTMLTABLE_INSERTROW)]
14118     HRESULT insertRow(
14119             [defaultvalue(-1), in] LONG index,
14120             [retval, out] IDispatch **row);
14121
14122     [id(DISPID_IHTMLTABLE_DELETEROW)]
14123     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
14124
14125     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
14126     HRESULT readyState([retval, out] BSTR *p);
14127
14128     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
14129     HRESULT onreadystatechange([in] VARIANT v);
14130
14131     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
14132     HRESULT onreadystatechange([retval, out] VARIANT *p);
14133 }
14134
14135 [
14136     odl,
14137     oleautomation,
14138     dual,
14139     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
14140 ]
14141 interface IHTMLTable2 : IDispatch
14142 {
14143     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
14144     HRESULT firstPage();
14145
14146     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
14147     HRESULT lastPage();
14148
14149     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
14150     HRESULT cells([retval, out] IHTMLElementCollection* * p);
14151
14152     [id(DISPID_IHTMLTABLE2_MOVEROW)]
14153     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
14154         [defaultvalue(-1), in] LONG indexTo,
14155         [retval, out] IDispatch** row);
14156 };
14157
14158 [
14159     odl,
14160     oleautomation,
14161     dual,
14162     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
14163 ]
14164 interface IHTMLTable3 : IDispatch
14165 {
14166     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
14167     HRESULT summary([in] BSTR v);
14168
14169     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
14170     HRESULT summary([retval, out] BSTR * p);
14171 };
14172
14173 [
14174     noncreatable,
14175     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
14176 ]
14177 coclass HTMLTable
14178 {
14179     [default]           dispinterface DispHTMLTable;
14180     [source, default]   dispinterface HTMLTableEvents;
14181     [source]            dispinterface HTMLTableEvents2;
14182                         interface IHTMLElement;
14183                         interface IHTMLElement2;
14184                         interface IHTMLElement3;
14185                         interface IHTMLElement4;
14186                         interface IHTMLUniqueName;
14187                         interface IHTMLDOMNode;
14188                         interface IHTMLDOMNode2;
14189                         interface IHTMLDatabinding;
14190                         interface IHTMLControlElement;
14191                         interface IHTMLTable;
14192                         interface IHTMLTable2;
14193                         interface IHTMLTable3;
14194 };
14195
14196 [
14197     odl,
14198     oleautomation,
14199     dual,
14200     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
14201 ]
14202 interface IHTMLTableSection : IDispatch
14203 {
14204     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
14205     HRESULT align([in] BSTR v);
14206
14207     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
14208     HRESULT align([retval, out] BSTR *p);
14209
14210     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
14211     HRESULT vAlign([in] BSTR v);
14212
14213     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
14214     HRESULT vAlign([retval, out] BSTR *p);
14215
14216     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
14217     HRESULT bgColor([in] VARIANT v);
14218
14219     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
14220     HRESULT bgColor([retval, out] VARIANT *p);
14221
14222     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
14223     HRESULT rows([retval, out] IHTMLElementCollection **p);
14224
14225     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
14226     HRESULT insertRow(
14227             [defaultvalue(-1), in] LONG index,
14228             [retval, out] IDispatch **row);
14229
14230     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
14231     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
14232 }
14233
14234 /*****************************************************************************
14235  *    IHTMLTableRow interface
14236  */
14237 [
14238     odl,
14239     oleautomation,
14240     dual,
14241     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
14242 ]
14243 interface IHTMLTableRow : IDispatch
14244 {
14245     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
14246     HRESULT align([in] BSTR v);
14247
14248     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
14249     HRESULT align([out, retval] BSTR *p);
14250
14251     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
14252     HRESULT vAlign([in] BSTR v);
14253
14254     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
14255     HRESULT vAlign([out, retval] BSTR *p);
14256
14257     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
14258     HRESULT bgColor([in] VARIANT v);
14259
14260     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
14261     HRESULT bgColor([out, retval] VARIANT *p);
14262
14263     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
14264     HRESULT borderColor([in] VARIANT v);
14265
14266     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
14267     HRESULT borderColor([out, retval] VARIANT *p);
14268
14269     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
14270     HRESULT borderColorLight([in] VARIANT v);
14271
14272     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
14273     HRESULT borderColorLight([out, retval] VARIANT *p);
14274
14275     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
14276     HRESULT borderColorDark([in] VARIANT v);
14277
14278     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
14279     HRESULT borderColorDark([out, retval] VARIANT *p);
14280
14281     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
14282     HRESULT rowIndex([out, retval] LONG *p);
14283
14284     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
14285     HRESULT sectionRowIndex([out, retval] LONG *p);
14286
14287     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
14288     HRESULT cells([out, retval] IHTMLElementCollection **p);
14289
14290     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
14291     HRESULT insertCell(
14292             [in, defaultvalue(-1)] LONG index,
14293             [out, retval] IDispatch **row);
14294
14295     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
14296     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
14297 }
14298
14299 /*****************************************************************************
14300  *    DispHTMLTable interface
14301  */
14302 [
14303     hidden,
14304     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
14305 ]
14306 dispinterface DispHTMLTable
14307 {
14308 properties:
14309 methods:
14310     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
14311
14312     [propput, id(DISPID_IHTMLTABLE_COLS)]
14313     void cols(LONG v);
14314
14315     [propget, id(DISPID_IHTMLTABLE_COLS)]
14316     LONG cols();
14317
14318     [propput, id(DISPID_IHTMLTABLE_BORDER)]
14319     void border(VARIANT v);
14320
14321     [propget, id(DISPID_IHTMLTABLE_BORDER)]
14322     VARIANT border();
14323
14324     [propput, id(DISPID_IHTMLTABLE_FRAME)]
14325     void frame(BSTR v);
14326
14327     [propget, id(DISPID_IHTMLTABLE_FRAME)]
14328     BSTR frame();
14329
14330     [propput, id(DISPID_IHTMLTABLE_RULES)]
14331     void rules(BSTR v);
14332
14333     [propget, id(DISPID_IHTMLTABLE_RULES)]
14334     BSTR rules();
14335
14336     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
14337     void cellSpacing(VARIANT v);
14338
14339     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
14340     VARIANT cellSpacing();
14341
14342     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
14343     void cellPadding(VARIANT v);
14344
14345     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
14346     VARIANT cellPadding();
14347
14348     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
14349     void background(BSTR v);
14350
14351     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
14352     BSTR background();
14353
14354     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
14355     void bgColor(VARIANT v);
14356
14357     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
14358     VARIANT bgColor();
14359
14360     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14361     void borderColor(VARIANT v);
14362
14363     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14364     VARIANT borderColor();
14365
14366     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14367     void borderColorLight(VARIANT v);
14368
14369     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14370     VARIANT borderColorLight();
14371
14372     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14373     void borderColorDark(VARIANT v);
14374
14375     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14376     VARIANT borderColorDark();
14377
14378     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
14379     void align(BSTR v);
14380
14381     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
14382     BSTR align();
14383
14384     [id(DISPID_IHTMLTABLE_REFRESH)]
14385     void refresh();
14386
14387     [propget, id(DISPID_IHTMLTABLE_ROWS)]
14388     IHTMLElementCollection *rows();
14389
14390     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
14391     void width(VARIANT v);
14392
14393     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
14394     VARIANT width();
14395
14396     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
14397     void height(VARIANT v);
14398
14399     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
14400     VARIANT height();
14401
14402     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14403     void dataPageSize(LONG v);
14404
14405     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14406     LONG dataPageSize();
14407
14408     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
14409     void nextPage();
14410
14411     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
14412     void previousPage();
14413
14414     [propget, id(DISPID_IHTMLTABLE_THEAD)]
14415     IHTMLTableSection *tHead();
14416
14417     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
14418     IHTMLTableSection *tFoot();
14419
14420     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
14421     IHTMLElementCollection *tBodies();
14422
14423     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
14424     IHTMLTableCaption *caption();
14425
14426     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
14427     IDispatch *createTHead();
14428
14429     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
14430     void deleteTHead();
14431
14432     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
14433     IDispatch *createTFoot();
14434
14435     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
14436     void deleteTFoot();
14437
14438     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
14439     IHTMLTableCaption *createCaption();
14440
14441     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
14442     void deleteCaption();
14443
14444     [id(DISPID_IHTMLTABLE_INSERTROW)]
14445     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
14446
14447     [id(DISPID_IHTMLTABLE_DELETEROW)]
14448     void deleteRow([in, defaultvalue(-1)] LONG index);
14449
14450     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
14451     void firstPage();
14452
14453     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
14454     void lastPage();
14455
14456     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
14457     IHTMLElementCollection *cells();
14458
14459     [id(DISPID_IHTMLTABLE2_MOVEROW)]
14460     IDispatch *moveRow(
14461             [in, defaultvalue(-1)] LONG indexFrom,
14462             [in, defaultvalue(-1)] LONG indexTo);
14463
14464     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
14465     void summary(BSTR v);
14466
14467     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
14468     BSTR summary();
14469 }
14470
14471 /*****************************************************************************
14472  *    DispHTMLTableRow dispinterface
14473  */
14474 [
14475     hidden,
14476     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
14477 ]
14478 dispinterface DispHTMLTableRow
14479 {
14480 properties:
14481 methods:
14482     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14483
14484     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
14485     void align(BSTR v);
14486
14487     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
14488     BSTR align();
14489
14490     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
14491     void vAlign(BSTR v);
14492
14493     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
14494     BSTR vAlign();
14495
14496     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
14497     void bgColor(VARIANT v);
14498
14499     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
14500     VARIANT bgColor();
14501
14502     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
14503     void borderColor(VARIANT v);
14504
14505     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
14506     VARIANT borderColor();
14507
14508     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
14509     void borderColorLight(VARIANT v);
14510
14511     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
14512     VARIANT borderColorLight();
14513
14514     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
14515     void borderColorDark(VARIANT v);
14516
14517     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
14518     VARIANT borderColorDark();
14519
14520     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
14521     LONG rowIndex();
14522
14523     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
14524     LONG sectionRowIndex();
14525
14526     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
14527     IHTMLElementCollection *cells();
14528
14529     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
14530     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
14531
14532     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
14533     void deleteCell([in, defaultvalue(-1)] LONG index);
14534
14535     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
14536     void height(VARIANT v);
14537
14538     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
14539     VARIANT height();
14540
14541     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
14542     void ch(BSTR v);
14543
14544     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
14545     BSTR ch();
14546
14547     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
14548     void chOff(BSTR v);
14549
14550     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
14551     BSTR chOff();
14552 }
14553
14554 /*****************************************************************************
14555  *    IHTMLScriptElement interface
14556  */
14557 [
14558     odl,
14559     oleautomation,
14560     dual,
14561     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
14562 ]
14563 interface IHTMLScriptElement : IDispatch
14564 {
14565     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
14566     HRESULT src([in] BSTR v);
14567
14568     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
14569     HRESULT src([retval, out] BSTR *p);
14570
14571     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
14572     HRESULT htmlFor([in] BSTR v);
14573
14574     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
14575     HRESULT htmlFor([retval, out] BSTR *p);
14576
14577     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
14578     HRESULT event([in] BSTR v);
14579
14580     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
14581     HRESULT event([retval, out] BSTR *p);
14582
14583     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
14584     HRESULT text([in] BSTR v);
14585
14586     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
14587     HRESULT text([retval, out] BSTR *p);
14588
14589     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
14590     HRESULT defer([in] VARIANT_BOOL v);
14591
14592     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
14593     HRESULT defer([retval, out] VARIANT_BOOL *p);
14594
14595     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
14596     HRESULT readyState([retval, out] BSTR *p);
14597
14598     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
14599     HRESULT onerror([in] VARIANT v);
14600
14601     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
14602     HRESULT onerror([retval, out] VARIANT *p);
14603
14604     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
14605     HRESULT type([in] BSTR v);
14606
14607     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
14608     HRESULT type([retval, out] BSTR *p);
14609 }
14610
14611 /*****************************************************************************
14612  *    IHTMLScriptElement2 interface
14613  */
14614 [
14615     odl,
14616     oleautomation,
14617     dual,
14618     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
14619 ]
14620 interface IHTMLScriptElement2 : IDispatch
14621 {
14622     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
14623     HRESULT charset([in] BSTR v);
14624
14625     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
14626     HRESULT charset([retval, out] BSTR *p);
14627 }
14628
14629 /*****************************************************************************
14630  *    IHTMLFrameBase interface
14631  */
14632 [
14633     odl,
14634     oleautomation,
14635     dual,
14636     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
14637 ]
14638 interface IHTMLFrameBase : IDispatch
14639 {
14640     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
14641     HRESULT src([in] BSTR v);
14642
14643     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
14644     HRESULT src([out, retval] BSTR *p);
14645
14646     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
14647     HRESULT name([in] BSTR v);
14648
14649     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
14650     HRESULT name([out, retval] BSTR *p);
14651
14652     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
14653     HRESULT border([in] VARIANT v);
14654
14655     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
14656     HRESULT border([out, retval] VARIANT *p);
14657
14658     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
14659     HRESULT frameBorder([in] BSTR v);
14660
14661     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
14662     HRESULT frameBorder([out, retval] BSTR *p);
14663
14664     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
14665     HRESULT frameSpacing([in] VARIANT v);
14666
14667     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
14668     HRESULT frameSpacing([out, retval] VARIANT *p);
14669
14670     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14671     HRESULT marginWidth([in] VARIANT v);
14672
14673     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14674     HRESULT marginWidth([out, retval] VARIANT *p);
14675
14676     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14677     HRESULT marginHeight([in] VARIANT v);
14678
14679     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14680     HRESULT marginHeight([out, retval] VARIANT *p);
14681
14682     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14683     HRESULT noResize([in] VARIANT_BOOL v);
14684
14685     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14686     HRESULT noResize([out, retval] VARIANT_BOOL *p);
14687
14688     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14689     HRESULT scrolling([in] BSTR v);
14690
14691     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14692     HRESULT scrolling([out, retval] BSTR *p);
14693 }
14694
14695 /*****************************************************************************
14696  *    IHTMLFrameBase2 interface
14697  */
14698 [
14699     odl,
14700     oleautomation,
14701     dual,
14702     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
14703 ]
14704 interface IHTMLFrameBase2 : IDispatch
14705 {
14706     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
14707     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
14708
14709     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14710     HRESULT onload([in] VARIANT v);
14711
14712     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14713     HRESULT onload([retval, out] VARIANT *p);
14714
14715     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
14716     HRESULT onreadystatechange([in] VARIANT v);
14717
14718     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
14719     HRESULT onreadystatechange([retval, out] VARIANT *p);
14720
14721     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
14722     HRESULT readyState([retval, out] BSTR *p);
14723
14724     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14725     HRESULT allowTransparency([in] VARIANT_BOOL v);
14726
14727     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14728     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
14729 }
14730
14731 /*****************************************************************************
14732  *    DispHTMLIFrame dispinterface
14733  */
14734 [
14735     hidden,
14736     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
14737 ]
14738 dispinterface DispHTMLIFrame
14739 {
14740 properties:
14741 methods:
14742     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
14743
14744     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
14745     void src(BSTR v);
14746
14747     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
14748     BSTR src();
14749
14750     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
14751     void name(BSTR v);
14752
14753     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
14754     BSTR name();
14755
14756     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
14757     void border(VARIANT v);
14758
14759     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
14760     VARIANT border();
14761
14762     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
14763     void frameBorder(BSTR v);
14764
14765     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
14766     BSTR frameBorder();
14767
14768     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
14769     void frameSpacing(VARIANT v);
14770
14771     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
14772     VARIANT frameSpacing();
14773
14774     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14775     void marginWidth(VARIANT v);
14776
14777     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14778     VARIANT marginWidth();
14779
14780     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14781     void marginHeight(VARIANT v);
14782
14783     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14784     VARIANT marginHeight();
14785
14786     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14787     void noResize(VARIANT_BOOL v);
14788
14789     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14790     VARIANT_BOOL noResize();
14791
14792     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14793     void scrolling(BSTR v);
14794
14795     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14796     BSTR scrolling();
14797
14798     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
14799     IHTMLWindow2 *contentWindow();
14800
14801     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14802     void onload(VARIANT v);
14803
14804     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14805     VARIANT onload();
14806
14807     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14808     void allowTransparency(VARIANT_BOOL v);
14809
14810     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14811     VARIANT_BOOL allowTransparency();
14812
14813     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
14814     void longDesc(BSTR v);
14815
14816     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
14817     BSTR longDesc();
14818
14819     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
14820     void vspace(LONG v);
14821
14822     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
14823     LONG vspace();
14824
14825     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
14826     void hspace(LONG v);
14827
14828     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
14829     LONG hspace();
14830
14831     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
14832     void align(BSTR v);
14833
14834     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
14835     BSTR align();
14836
14837     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
14838     void height(VARIANT v);
14839
14840     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
14841     VARIANT height();
14842
14843     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
14844     void width(VARIANT v);
14845
14846     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
14847     VARIANT width();
14848 }
14849
14850 /*****************************************************************************
14851  *    IMarkupContainer interface
14852  */
14853 [
14854     object,
14855     pointer_default(unique),
14856     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
14857 ]
14858 interface IMarkupContainer : IUnknown
14859 {
14860     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
14861 }
14862
14863 /*****************************************************************************
14864  *    IMarkupPointer interface
14865  */
14866 [
14867     object,
14868     pointer_default(unique),
14869     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
14870 ]
14871 interface IMarkupPointer : IUnknown
14872 {
14873     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
14874
14875     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
14876
14877     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
14878
14879     HRESULT Cling([out] BOOL *pfCling);
14880
14881     HRESULT SetCling([in] BOOL fCLing);
14882
14883     HRESULT UnPosition();
14884
14885     HRESULT IsPositioned([out] BOOL *pfPositioned);
14886
14887     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
14888
14889     HRESULT MoveAdjacentToElement(
14890         [in] IHTMLElement *pElement,
14891         [in] ELEMENT_ADJACENCY eAdj);
14892
14893     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
14894
14895     HRESULT MoveToContainer(
14896         [in] IMarkupContainer *pContainer,
14897         [in] BOOL fAtStart);
14898
14899     HRESULT Left(
14900         [in] BOOL fMove,
14901         [out] MARKUP_CONTEXT_TYPE *pContext,
14902         [out] IHTMLElement **ppElement,
14903         [in, out] LONG *pcch,
14904         [out, size_is(*pcch)] OLECHAR *pchText);
14905
14906     HRESULT Right(
14907         [in] BOOL fMove,
14908         [out] MARKUP_CONTEXT_TYPE *pContext,
14909         [out] IHTMLElement **ppElement,
14910         [in, out] LONG *pcch,
14911         [out, size_is(*pcch)] OLECHAR *pchText);
14912
14913     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
14914
14915     HRESULT IsLeftOf(
14916         [in] IMarkupPointer *pPointerThat,
14917         [out] BOOL *pfResult);
14918
14919     HRESULT IsLeftOfOrEqualTo(
14920         [in] IMarkupPointer *pPointerThat,
14921         [out] BOOL *pfResult);
14922
14923     HRESULT IsRightOf(
14924         [in] IMarkupPointer *pPointerThat,
14925         [out] BOOL *pfResult);
14926
14927     HRESULT IsRightOfOrEqualTo(
14928         [in] IMarkupPointer *pPointerThat,
14929         [out] BOOL *pfResult);
14930
14931     HRESULT IsEqualTo(
14932         [in] IMarkupPointer *pPointerThat,
14933         [out] BOOL *pfAreEqual);
14934
14935     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
14936
14937     HRESULT FindText(
14938         [in] OLECHAR *pchFindText,
14939         [in] DWORD dwFlags,
14940         [in] IMarkupPointer *pIEndMatch,
14941         [in] IMarkupPointer *pIEndSearch);
14942 }
14943
14944 /*****************************************************************************
14945  *    ISegment interface
14946  */
14947 [
14948     object,
14949     pointer_default(unique),
14950     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
14951 ]
14952 interface ISegment : IUnknown
14953 {
14954     HRESULT GetPointers(
14955         [in] IMarkupPointer *pIStart,
14956         [in] IMarkupPointer *pIEnd);
14957 }
14958
14959 /*****************************************************************************
14960  *    IElementSegment interface
14961  */
14962 [
14963     object,
14964     pointer_default(unique),
14965     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
14966 ]
14967 interface IElementSegment : ISegment
14968 {
14969     HRESULT GetElement([out] IHTMLElement **ppIElement);
14970
14971     HRESULT SetPrimary([in] BOOL fPrimary);
14972
14973     HRESULT IsPrimary([out] BOOL *pfPrimary);
14974 }
14975
14976 /*****************************************************************************
14977  *    ISelectionServicesListener interface
14978  */
14979 [
14980     object,
14981     pointer_default(unique),
14982     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
14983 ]
14984 interface ISelectionServicesListener : IUnknown
14985 {
14986     HRESULT BeginSelectionUndo();
14987
14988     HRESULT EndSelectionUndo();
14989
14990     HRESULT OnSelectedElementExit(
14991         [in] IMarkupPointer *pIElementStart,
14992         [in] IMarkupPointer *pIElementEnd,
14993         [in] IMarkupPointer *pIElementContentStart,
14994         [in] IMarkupPointer *pIElementContentEnd);
14995
14996     HRESULT OnChangeType(
14997         [in] SELECTION_TYPE eType,
14998         [in] ISelectionServicesListener *pIListener);
14999
15000     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
15001 }
15002
15003 /*****************************************************************************
15004  *    ISelectionServices interface
15005  */
15006 [
15007     object,
15008     pointer_default(unique),
15009     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
15010 ]
15011 interface ISelectionServices : IUnknown
15012 {
15013     HRESULT SetSelectionType(
15014         [in] SELECTION_TYPE eType,
15015         [in] ISelectionServicesListener *pIListener);
15016
15017     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
15018
15019     HRESULT AddSegment(
15020         [in] IMarkupPointer *pIStart,
15021         [in] IMarkupPointer *pIEnd,
15022         [out] ISegment **ppISegmentAdded);
15023
15024     HRESULT AddElementSegment(
15025         [in] IHTMLElement *pIElement,
15026         [out] IElementSegment **ppISegmentAdded);
15027
15028     HRESULT RemoveSegment([in] ISegment *pISegment);
15029
15030     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
15031 }
15032
15033 /*****************************************************************************
15034  *    IHTMLEditDesigner interface
15035  */
15036 [
15037     object,
15038     pointer_default(unique),
15039     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
15040 ]
15041 interface IHTMLEditDesigner : IUnknown
15042 {
15043     HRESULT PreHandleEvent(
15044         [in] DISPID inEvtDispId,
15045         [in] IHTMLEventObj *pIEventObj);
15046
15047     HRESULT PostHandleEvent(
15048         [in] DISPID inEvtDispId,
15049         [in] IHTMLEventObj *pIEventObj);
15050
15051     HRESULT TranslateAccelerator(
15052         [in] DISPID inEvtDispId,
15053         [in] IHTMLEventObj *pIEventObj);
15054
15055     HRESULT PostEditorEventNotify(
15056         [in] DISPID inEvtDispId,
15057         [in] IHTMLEventObj *pIEventObj);
15058 }
15059
15060 /*****************************************************************************
15061  *    IHTMLEditServices interface
15062  */
15063 [
15064     object,
15065     pointer_default(unique),
15066     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
15067 ]
15068 interface IHTMLEditServices : IUnknown
15069 {
15070     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
15071
15072     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
15073
15074     HRESULT GetSelectionServices(
15075         [in] IMarkupContainer *pIContainer,
15076         [out] ISelectionServices **ppSelSvc);
15077
15078     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
15079
15080     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
15081
15082     HRESULT SelectRange(
15083         [in] IMarkupPointer* pStart,
15084         [in] IMarkupPointer* pEnd,
15085         [in] SELECTION_TYPE eType);
15086 }
15087
15088 /*****************************************************************************
15089  *    IElementBehaviorSite interface
15090  */
15091 [
15092     odl,
15093     uuid(3050F427-98B5-11CF-BB82-00AA00BDCE0B)
15094 ]
15095 interface IElementBehaviorSite : IUnknown {
15096     HRESULT GetElement([out, retval] IHTMLElement **ppElement);
15097     HRESULT RegisterNotification([in] long lEvent);
15098 }
15099
15100 /*****************************************************************************
15101  *    IElementBehavior interface
15102  */
15103 [
15104     odl,
15105     uuid(3050F425-98B5-11CF-BB82-00AA00BDCE0B)
15106 ]
15107 interface IElementBehavior : IUnknown {
15108     HRESULT Init([in] IElementBehaviorSite *pBehaviorSite);
15109     HRESULT Notify([in] long lEvent,  [in, out] VARIANT *pVar);
15110     HRESULT Detach();
15111 }
15112
15113 /*****************************************************************************
15114  *    IElementBehaviorFactory interface
15115  */
15116 [
15117     odl,
15118     uuid(3050f429-98b5-11cf-bb82-00aa00bdce0b)
15119 ]
15120 interface IElementBehaviorFactory : IUnknown
15121 {
15122     HRESULT FindBehavior(
15123         [in] BSTR bstrBehavior,
15124         [in] BSTR bstrBehaviorUrl,
15125         [in] IElementBehaviorSite *pSite,
15126         [out] IElementBehavior **ppBehavior);
15127 }
15128
15129 } /* library MSHTML */