include: Added IHTMLAttributeCollection definition.
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004-2010 Jacek Caban for CodeWeavers
3  * Copyright 2008      Konstantin Kondratyuk (Etersoft)
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18  */
19
20 #include <mshtmdid.h>
21 #include <mshtmcid.h>
22 #include <olectl.h>
23
24 import "ocidl.idl";
25 import "dimm.idl";
26 import "shtypes.idl";
27
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     version(4.0),
97     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
98 ]
99 library MSHTML
100 {
101
102 importlib("stdole2.tlb");
103
104 [
105     odl,
106     oleautomation,
107     dual,
108     uuid(3051049b-98b5-11cf-bb82-00aa00bdce0b)
109 ]
110 interface IHTMLDOMConstructor : IDispatch
111 {
112     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
113     HRESULT constructor([retval, out] IDispatch* * p);
114
115     HRESULT LookupGetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
116
117     HRESULT LookupSetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
118
119     HRESULT DefineGetter([in] BSTR propname, [in] VARIANT* pdispHandler);
120
121     HRESULT DefineSetter([in] BSTR propname, [in] VARIANT* pdispHandler);
122 }
123
124 #define WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL                     \
125     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]       \
126     IDispatch *constructor()
127
128 interface IHTMLDocument2;
129 interface IHTMLElement2;
130 interface IHTMLStyleSheetsCollection;
131 interface IHTMLFrameBase;
132
133 /*****************************************************************************
134  *    IHTMLFiltersCollection interface
135  */
136 [
137     odl,
138     oleautomation,
139     dual,
140     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
141 ]
142 interface IHTMLFiltersCollection : IDispatch
143 {
144     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
145     HRESULT length([retval, out] LONG *p);
146
147     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
148     HRESULT _newEnum([retval, out] IUnknown **p);
149
150     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
151     HRESULT item(
152         [in] VARIANT *pvarIndex,
153         [retval, out] VARIANT *pvarResult);
154 }
155
156 /*****************************************************************************
157  *    IHTMLStyle interface
158  */
159 [
160     odl,
161     oleautomation,
162     dual,
163     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
164 ]
165 interface IHTMLStyle : IDispatch
166 {
167     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
168     HRESULT fontFamily([in] BSTR v);
169
170     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
171     HRESULT fontFamily([retval, out] BSTR *p);
172
173     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
174     HRESULT fontStyle([in] BSTR v);
175
176     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
177     HRESULT fontStyle([retval, out] BSTR *p);
178
179     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
180     HRESULT fontVariant([in] BSTR v);
181
182     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
183     HRESULT fontVariant([retval, out] BSTR *p);
184
185     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
186     HRESULT fontWeight([in] BSTR v);
187
188     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
189     HRESULT fontWeight([retval, out] BSTR *p);
190
191     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
192     HRESULT fontSize([in] VARIANT v);
193
194     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
195     HRESULT fontSize([retval, out] VARIANT *p);
196
197     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
198     HRESULT font([in] BSTR v);
199
200     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
201     HRESULT font([retval, out] BSTR *p);
202
203     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
204     HRESULT color([in] VARIANT v);
205
206     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
207     HRESULT color([retval, out] VARIANT *p);
208
209     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
210     HRESULT background([in] BSTR v);
211
212     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
213     HRESULT background([retval, out] BSTR *p);
214
215     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
216     HRESULT backgroundColor([in] VARIANT v);
217
218     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
219     HRESULT backgroundColor([retval, out] VARIANT *p);
220
221     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
222     HRESULT backgroundImage([in] BSTR v);
223
224     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
225     HRESULT backgroundImage([retval, out] BSTR *p);
226
227     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
228     HRESULT backgroundRepeat([in] BSTR v);
229
230     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
231     HRESULT backgroundRepeat([retval, out] BSTR *p);
232
233     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
234     HRESULT backgroundAttachment([in] BSTR v);
235
236     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
237     HRESULT backgroundAttachment([retval, out] BSTR *p);
238
239     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
240     HRESULT backgroundPosition([in] BSTR v);
241
242     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
243     HRESULT backgroundPosition([retval, out] BSTR *p);
244
245     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
246     HRESULT backgroundPositionX([in] VARIANT v);
247
248     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
249     HRESULT backgroundPositionX([retval, out] VARIANT *p);
250
251     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
252     HRESULT backgroundPositionY([in] VARIANT v);
253
254     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
255     HRESULT backgroundPositionY([retval, out] VARIANT *p);
256
257     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
258     HRESULT wordSpacing([in] VARIANT v);
259
260     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
261     HRESULT wordSpacing([retval, out] VARIANT *p);
262
263     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
264     HRESULT letterSpacing([in] VARIANT v);
265
266     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
267     HRESULT letterSpacing([retval, out] VARIANT *p);
268
269     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
270     HRESULT textDecoration([in] BSTR v);
271
272     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
273     HRESULT textDecoration([retval, out] BSTR *p);
274
275     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
276     HRESULT textDecorationNone([in] VARIANT_BOOL v);
277
278     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
279     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
280
281     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
282     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
283
284     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
285     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
286
287     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
288     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
289
290     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
291     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
292
293     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
294     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
295
296     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
297     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
298
299     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
300     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
301
302     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
303     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
304
305     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
306     HRESULT verticalAlign([in] VARIANT v);
307
308     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
309     HRESULT verticalAlign([retval, out] VARIANT *p);
310
311     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
312     HRESULT textTransform([in] BSTR v);
313
314     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
315     HRESULT textTransform([retval, out] BSTR *p);
316
317     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
318     HRESULT textAlign([in] BSTR v);
319
320     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
321     HRESULT textAlign([retval, out] BSTR *p);
322
323     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
324     HRESULT textIndent([in] VARIANT v);
325
326     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
327     HRESULT textIndent([retval, out] VARIANT *p);
328
329     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
330     HRESULT lineHeight([in] VARIANT v);
331
332     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
333     HRESULT lineHeight([retval, out] VARIANT *p);
334
335     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
336     HRESULT marginTop([in] VARIANT v);
337
338     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
339     HRESULT marginTop([retval, out] VARIANT *p);
340
341     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
342     HRESULT marginRight([in] VARIANT v);
343
344     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
345     HRESULT marginRight([retval, out] VARIANT *p);
346
347     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
348     HRESULT marginBottom([in] VARIANT v);
349
350     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
351     HRESULT marginBottom([retval, out] VARIANT *p);
352
353     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
354     HRESULT marginLeft([in] VARIANT v);
355
356     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
357     HRESULT marginLeft([retval, out] VARIANT *p);
358
359     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
360     HRESULT margin([in] BSTR v);
361
362     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
363     HRESULT margin([retval, out] BSTR *p);
364
365     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
366     HRESULT paddingTop([in] VARIANT v);
367
368     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
369     HRESULT paddingTop([retval, out] VARIANT *p);
370
371     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
372     HRESULT paddingRight([in] VARIANT v);
373
374     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
375     HRESULT paddingRight([retval, out] VARIANT *p);
376
377     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
378     HRESULT paddingBottom([in] VARIANT v);
379
380     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
381     HRESULT paddingBottom([retval, out] VARIANT *p);
382
383     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
384     HRESULT paddingLeft([in] VARIANT v);
385
386     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
387     HRESULT paddingLeft([retval, out] VARIANT *p);
388
389     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
390     HRESULT padding([in] BSTR v);
391
392     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
393     HRESULT padding([retval, out] BSTR *p);
394
395     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
396     HRESULT border([in] BSTR v);
397
398     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
399     HRESULT border([retval, out] BSTR *p);
400
401     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
402     HRESULT borderTop([in] BSTR v);
403
404     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
405     HRESULT borderTop([retval, out] BSTR *p);
406
407     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
408     HRESULT borderRight([in] BSTR v);
409
410     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
411     HRESULT borderRight([retval, out] BSTR *p);
412
413     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
414     HRESULT borderBottom([in] BSTR v);
415
416     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
417     HRESULT borderBottom([retval, out] BSTR *p);
418
419     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
420     HRESULT borderLeft([in] BSTR v);
421
422     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
423     HRESULT borderLeft([retval, out] BSTR *p);
424
425     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
426     HRESULT borderColor([in] BSTR v);
427
428     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
429     HRESULT borderColor([retval, out] BSTR *p);
430
431     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
432     HRESULT borderTopColor([in] VARIANT v);
433
434     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
435     HRESULT borderTopColor([retval, out] VARIANT *p);
436
437     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
438     HRESULT borderRightColor([in] VARIANT v);
439
440     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
441     HRESULT borderRightColor([retval, out] VARIANT *p);
442
443     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
444     HRESULT borderBottomColor([in] VARIANT v);
445
446     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
447     HRESULT borderBottomColor([retval, out] VARIANT *p);
448
449     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
450     HRESULT borderLeftColor([in] VARIANT v);
451
452     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
453     HRESULT borderLeftColor([retval, out] VARIANT *p);
454
455     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
456     HRESULT borderWidth([in] BSTR v);
457
458     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
459     HRESULT borderWidth([retval, out] BSTR *p);
460
461     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
462     HRESULT borderTopWidth([in] VARIANT v);
463
464     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
465     HRESULT borderTopWidth([retval, out] VARIANT *p);
466
467     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
468     HRESULT borderRightWidth([in] VARIANT v);
469
470     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
471     HRESULT borderRightWidth([retval, out] VARIANT *p);
472
473     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
474     HRESULT borderBottomWidth([in] VARIANT v);
475
476     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
477     HRESULT borderBottomWidth([retval, out] VARIANT *p);
478
479     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
480     HRESULT borderLeftWidth([in] VARIANT v);
481
482     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
483     HRESULT borderLeftWidth([retval, out] VARIANT *p);
484
485     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
486     HRESULT borderStyle([in] BSTR v);
487
488     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
489     HRESULT borderStyle([retval, out] BSTR *p);
490
491     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
492     HRESULT borderTopStyle([in] BSTR v);
493
494     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
495     HRESULT borderTopStyle([retval, out] BSTR *p);
496
497     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
498     HRESULT borderRightStyle([in] BSTR v);
499
500     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
501     HRESULT borderRightStyle([retval, out] BSTR *p);
502
503     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
504     HRESULT borderBottomStyle([in] BSTR v);
505
506     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
507     HRESULT borderBottomStyle([retval, out] BSTR *p);
508
509     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
510     HRESULT borderLeftStyle([in] BSTR v);
511
512     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
513     HRESULT borderLeftStyle([retval, out] BSTR *p);
514
515     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
516     HRESULT width([in] VARIANT v);
517
518     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
519     HRESULT width([retval, out] VARIANT *p);
520
521     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
522     HRESULT height([in] VARIANT v);
523
524     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
525     HRESULT height([retval, out] VARIANT *p);
526
527     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
528     HRESULT styleFloat([in] BSTR v);
529
530     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
531     HRESULT styleFloat([retval, out] BSTR *p);
532
533     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
534     HRESULT clear([in] BSTR v);
535
536     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
537     HRESULT clear([retval, out] BSTR *p);
538
539     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
540     HRESULT display([in] BSTR v);
541
542     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
543     HRESULT display([retval, out] BSTR *p);
544
545     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
546     HRESULT visibility([in] BSTR v);
547
548     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
549     HRESULT visibility([retval, out] BSTR *p);
550
551     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
552     HRESULT listStyleType([in] BSTR v);
553
554     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
555     HRESULT listStyleType([retval, out] BSTR *p);
556
557     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
558     HRESULT listStylePosition([in] BSTR v);
559
560     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
561     HRESULT listStylePosition([retval, out] BSTR *p);
562
563     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
564     HRESULT listStyleImage([in] BSTR v);
565
566     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
567     HRESULT listStyleImage([retval, out] BSTR *p);
568
569     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
570     HRESULT listStyle([in] BSTR v);
571
572     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
573     HRESULT listStyle([retval, out] BSTR *p);
574
575     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
576     HRESULT whiteSpace([in] BSTR v);
577
578     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
579     HRESULT whiteSpace([retval, out] BSTR *p);
580
581     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
582     HRESULT top([in] VARIANT v);
583
584     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
585     HRESULT top([retval, out] VARIANT *p);
586
587     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
588     HRESULT left([in] VARIANT v);
589
590     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
591     HRESULT left([retval, out] VARIANT *p);
592
593     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
594     HRESULT position([retval, out] BSTR *p);
595
596     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
597     HRESULT zIndex([in] VARIANT v);
598
599     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
600     HRESULT zIndex([retval, out] VARIANT *p);
601
602     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
603     HRESULT overflow([in] BSTR v);
604
605     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
606     HRESULT overflow([retval, out] BSTR *p);
607
608     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
609     HRESULT pageBreakBefore([in] BSTR v);
610
611     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
612     HRESULT pageBreakBefore([retval, out] BSTR *p);
613
614     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
615     HRESULT pageBreakAfter([in] BSTR v);
616
617     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
618     HRESULT pageBreakAfter([retval, out] BSTR *p);
619
620     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
621     HRESULT cssText([in] BSTR v);
622
623     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
624     HRESULT cssText([retval, out] BSTR *p);
625
626     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
627     HRESULT pixelTop([in] LONG v);
628
629     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
630     HRESULT pixelTop([retval, out] LONG *p);
631
632     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
633     HRESULT pixelLeft([in] LONG v);
634
635     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
636     HRESULT pixelLeft([retval, out] LONG *p);
637
638     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
639     HRESULT pixelWidth([in] LONG v);
640
641     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
642     HRESULT pixelWidth([retval, out] LONG *p);
643
644     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
645     HRESULT pixelHeight([in] LONG v);
646
647     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
648     HRESULT pixelHeight([retval, out] LONG *p);
649
650     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
651     HRESULT posTop([in] float v);
652
653     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
654     HRESULT posTop([retval, out] float *p);
655
656     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
657     HRESULT posLeft([in] float v);
658
659     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
660     HRESULT posLeft([retval, out] float *p);
661
662     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
663     HRESULT posWidth([in] float v);
664
665     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
666     HRESULT posWidth([retval, out] float *p);
667
668     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
669     HRESULT posHeight([in] float v);
670
671     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
672     HRESULT posHeight([retval, out] float *p);
673
674     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
675     HRESULT cursor([in] BSTR v);
676
677     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
678     HRESULT cursor([retval, out] BSTR *p);
679
680     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
681     HRESULT clip([in] BSTR v);
682
683     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
684     HRESULT clip([retval, out] BSTR *p);
685
686     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
687     HRESULT filter([in] BSTR v);
688
689     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
690     HRESULT filter([retval, out] BSTR *p);
691
692     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
693     HRESULT setAttribute(
694         [in] BSTR strAttributeName,
695         [in] VARIANT AttributeValue,
696         [defaultvalue(1), in] LONG lFlags);
697
698     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
699     HRESULT getAttribute(
700         [in] BSTR strAttributeName,
701         [defaultvalue(0), in] LONG lFlags,
702         [retval, out] VARIANT *AttributeValue);
703
704     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
705     HRESULT removeAttribute(
706         [in] BSTR strAttributeName,
707         [defaultvalue(1), in]
708         LONG lFlags,
709         [retval, out] VARIANT_BOOL *pfSuccess);
710
711     [id(DISPID_IHTMLSTYLE_TOSTRING)]
712     HRESULT toString([retval, out] BSTR *String);
713 }
714
715 /*****************************************************************************
716  *    IHTMLStyle2 interface
717  */
718 [
719     odl,
720     oleautomation,
721     dual,
722     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
723 ]
724 interface IHTMLStyle2 : IDispatch
725 {
726     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
727     HRESULT tableLayout([in] BSTR v);
728
729     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
730     HRESULT tableLayout([out, retval] BSTR *p);
731
732     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
733     HRESULT borderCollapse([in] BSTR v);
734
735     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
736     HRESULT borderCollapse([out, retval] BSTR *p);
737
738     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
739     HRESULT direction([in] BSTR v);
740
741     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
742     HRESULT direction([out, retval] BSTR *p);
743
744     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
745     HRESULT behavior([in] BSTR v);
746
747     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
748     HRESULT behavior([out, retval] BSTR *p);
749
750     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
751     HRESULT setExpression(
752             [in] BSTR propname,
753             [in] BSTR expression,
754             [in, defaultvalue("")] BSTR language);
755
756     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
757     HRESULT getExpression(
758             [in] BSTR propname,
759             [out, retval] VARIANT *expression);
760
761     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
762     HRESULT removeExpression(
763             [in] BSTR propname,
764             [out, retval] VARIANT_BOOL *pfSuccess);
765
766     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
767     HRESULT position([in] BSTR v);
768
769     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
770     HRESULT position([out, retval] BSTR *p);
771
772     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
773     HRESULT unicodeBidi([in] BSTR v);
774
775     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
776     HRESULT unicodeBidi([out, retval] BSTR *p);
777
778     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
779     HRESULT bottom([in] VARIANT v);
780
781     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
782     HRESULT bottom([out, retval] VARIANT *p);
783
784     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
785     HRESULT right([in] VARIANT v);
786
787     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
788     HRESULT right([out, retval] VARIANT *p);
789
790     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
791     HRESULT pixelBottom([in] LONG v);
792
793     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
794     HRESULT pixelBottom([out, retval] LONG *p);
795
796     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
797     HRESULT pixelRight([in] LONG v);
798
799     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
800     HRESULT pixelRight([out, retval] LONG *p);
801
802     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
803     HRESULT posBottom([in] float v);
804
805     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
806     HRESULT posBottom([out, retval] float *p);
807
808     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
809     HRESULT posRight([in] float v);
810
811     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
812     HRESULT posRight([out, retval] float *p);
813
814     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
815     HRESULT imeMode([in] BSTR v);
816
817     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
818     HRESULT imeMode([out, retval] BSTR *p);
819
820     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
821     HRESULT rubyAlign([in] BSTR v);
822
823     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
824     HRESULT rubyAlign([out, retval] BSTR *p);
825
826     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
827     HRESULT rubyPosition([in] BSTR v);
828
829     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
830     HRESULT rubyPosition([out, retval] BSTR *p);
831
832     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
833     HRESULT rubyOverhang([in] BSTR v);
834
835     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
836     HRESULT rubyOverhang([out, retval] BSTR *p);
837
838     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
839     HRESULT layoutGridChar([in] VARIANT v);
840
841     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
842     HRESULT layoutGridChar([out, retval] VARIANT *p);
843
844     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
845     HRESULT layoutGridLine([in] VARIANT v);
846
847     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
848     HRESULT layoutGridLine([out, retval] VARIANT *p);
849
850     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
851     HRESULT layoutGridMode([in] BSTR v);
852
853     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
854     HRESULT layoutGridMode([out, retval] BSTR *p);
855
856     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
857     HRESULT layoutGridType([in] BSTR v);
858
859     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
860     HRESULT layoutGridType([out, retval] BSTR *p);
861
862     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
863     HRESULT layoutGrid([in] BSTR v);
864
865     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
866     HRESULT layoutGrid([out, retval] BSTR *p);
867
868     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
869     HRESULT wordBreak([in] BSTR v);
870
871     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
872     HRESULT wordBreak([out, retval] BSTR *p);
873
874     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
875     HRESULT lineBreak([in] BSTR v);
876
877     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
878     HRESULT lineBreak([out, retval] BSTR *p);
879
880     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
881     HRESULT textJustify([in] BSTR v);
882
883     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
884     HRESULT textJustify([out, retval] BSTR *p);
885
886     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
887     HRESULT textJustifyTrim([in] BSTR v);
888
889     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
890     HRESULT textJustifyTrim([out, retval] BSTR *p);
891
892     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
893     HRESULT textKashida([in] VARIANT v);
894
895     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
896     HRESULT textKashida([out, retval] VARIANT *p);
897
898     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
899     HRESULT textAutospace([in] BSTR v);
900
901     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
902     HRESULT textAutospace([out, retval] BSTR *p);
903
904     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
905     HRESULT overflowX([in] BSTR v);
906
907     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
908     HRESULT overflowX([out, retval] BSTR *p);
909
910     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
911     HRESULT overflowY([in] BSTR v);
912
913     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
914     HRESULT overflowY([out, retval] BSTR *p);
915
916     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
917     HRESULT accelerator([in] BSTR v);
918
919     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
920     HRESULT accelerator([out, retval] BSTR *p);
921 }
922
923 /*****************************************************************************
924  *    IHTMLRuleStyle interface
925  */
926 [
927     odl,
928     oleautomation,
929     dual,
930     uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
931 ]
932 interface IHTMLRuleStyle : IDispatch
933 {
934     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
935     HRESULT fontFamily([in] BSTR v);
936
937     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
938     HRESULT fontFamily([retval, out] BSTR *p);
939
940     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
941     HRESULT fontStyle([in] BSTR v);
942
943     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
944     HRESULT fontStyle([retval, out] BSTR *p);
945
946     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
947     HRESULT fontVariant([in] BSTR v);
948
949     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
950     HRESULT fontVariant([retval, out] BSTR *p);
951
952     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
953     HRESULT fontWeight([in] BSTR v);
954
955     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
956     HRESULT fontWeight([retval, out] BSTR *p);
957
958     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
959     HRESULT fontSize([in] VARIANT v);
960
961     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
962     HRESULT fontSize([retval, out] VARIANT *p);
963
964     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
965     HRESULT font([in] BSTR v);
966
967     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
968     HRESULT font([retval, out] BSTR *p);
969
970     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
971     HRESULT color([in] VARIANT v);
972
973     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
974     HRESULT color([retval, out] VARIANT *p);
975
976     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
977     HRESULT background([in] BSTR v);
978
979     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
980     HRESULT background([retval, out] BSTR *p);
981
982     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
983     HRESULT backgroundColor([in] VARIANT v);
984
985     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
986     HRESULT backgroundColor([retval, out] VARIANT *p);
987
988     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
989     HRESULT backgroundImage([in] BSTR v);
990
991     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
992     HRESULT backgroundImage([retval, out] BSTR *p);
993
994     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
995     HRESULT backgroundRepeat([in] BSTR v);
996
997     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
998     HRESULT backgroundRepeat([retval, out] BSTR *p);
999
1000     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1001     HRESULT backgroundAttachment([in] BSTR v);
1002
1003     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1004     HRESULT backgroundAttachment([retval, out] BSTR *p);
1005
1006     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1007     HRESULT backgroundPosition([in] BSTR v);
1008
1009     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1010     HRESULT backgroundPosition([retval, out] BSTR *p);
1011
1012     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1013     HRESULT backgroundPositionX([in] VARIANT v);
1014
1015     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1016     HRESULT backgroundPositionX([retval, out] VARIANT *p);
1017
1018     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1019     HRESULT backgroundPositionY([in] VARIANT v);
1020
1021     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1022     HRESULT backgroundPositionY([retval, out] VARIANT *p);
1023
1024     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1025     HRESULT wordSpacing([in] VARIANT v);
1026
1027     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1028     HRESULT wordSpacing([retval, out] VARIANT *p);
1029
1030     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1031     HRESULT letterSpacing([in] VARIANT v);
1032
1033     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1034     HRESULT letterSpacing([retval, out] VARIANT *p);
1035
1036     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1037     HRESULT textDecoration([in] BSTR v);
1038
1039     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1040     HRESULT textDecoration([retval, out] BSTR *p);
1041
1042     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1043     HRESULT textDecorationNone([in] VARIANT_BOOL v);
1044
1045     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1046     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1047
1048     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1049     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1050
1051     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1052     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1053
1054     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1055     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1056
1057     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1058     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1059
1060     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1061     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1062
1063     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1064     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1065
1066     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1067     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1068
1069     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1070     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1071
1072     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1073     HRESULT verticalAlign([in] VARIANT v);
1074
1075     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1076     HRESULT verticalAlign([retval, out] VARIANT *p);
1077
1078     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1079     HRESULT textTransform([in] BSTR v);
1080
1081     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1082     HRESULT textTransform([retval, out] BSTR *p);
1083
1084     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1085     HRESULT textAlign([in] BSTR v);
1086
1087     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1088     HRESULT textAlign([retval, out] BSTR *p);
1089
1090     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1091     HRESULT textIndent([in] VARIANT v);
1092
1093     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1094     HRESULT textIndent([retval, out] VARIANT *p);
1095
1096     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1097     HRESULT lineHeight([in] VARIANT v);
1098
1099     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1100     HRESULT lineHeight([retval, out] VARIANT *p);
1101
1102     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1103     HRESULT marginTop([in] VARIANT v);
1104
1105     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1106     HRESULT marginTop([retval, out] VARIANT *p);
1107
1108     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1109     HRESULT marginRight([in] VARIANT v);
1110
1111     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1112     HRESULT marginRight([retval, out] VARIANT *p);
1113
1114     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1115     HRESULT marginBottom([in] VARIANT v);
1116
1117     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1118     HRESULT marginBottom([retval, out] VARIANT *p);
1119
1120     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1121     HRESULT marginLeft([in] VARIANT v);
1122
1123     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1124     HRESULT marginLeft([retval, out] VARIANT *p);
1125
1126     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1127     HRESULT margin([in] BSTR v);
1128
1129     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1130     HRESULT margin([retval, out] BSTR *p);
1131
1132     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1133     HRESULT paddingTop([in] VARIANT v);
1134
1135     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1136     HRESULT paddingTop([retval, out] VARIANT *p);
1137
1138     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1139     HRESULT paddingRight([in] VARIANT v);
1140
1141     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1142     HRESULT paddingRight([retval, out] VARIANT *p);
1143
1144     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1145     HRESULT paddingBottom([in] VARIANT v);
1146
1147     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1148     HRESULT paddingBottom([retval, out] VARIANT *p);
1149
1150     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1151     HRESULT paddingLeft([in] VARIANT v);
1152
1153     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1154     HRESULT paddingLeft([retval, out] VARIANT *p);
1155
1156     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1157     HRESULT padding([in] BSTR v);
1158
1159     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1160     HRESULT padding([retval, out] BSTR *p);
1161
1162     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1163     HRESULT border([in] BSTR v);
1164
1165     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1166     HRESULT border([retval, out] BSTR *p);
1167
1168     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1169     HRESULT borderTop([in] BSTR v);
1170
1171     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1172     HRESULT borderTop([retval, out] BSTR *p);
1173
1174     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1175     HRESULT borderRight([in] BSTR v);
1176
1177     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1178     HRESULT borderRight([retval, out] BSTR *p);
1179
1180     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1181     HRESULT borderBottom([in] BSTR v);
1182
1183     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1184     HRESULT borderBottom([retval, out] BSTR *p);
1185
1186     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1187     HRESULT borderLeft([in] BSTR v);
1188
1189     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1190     HRESULT borderLeft([retval, out] BSTR *p);
1191
1192     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1193     HRESULT borderColor([in] BSTR v);
1194
1195     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1196     HRESULT borderColor([retval, out] BSTR *p);
1197
1198     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1199     HRESULT borderTopColor([in] VARIANT v);
1200
1201     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1202     HRESULT borderTopColor([retval, out] VARIANT *p);
1203
1204     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1205     HRESULT borderRightColor([in] VARIANT v);
1206
1207     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1208     HRESULT borderRightColor([retval, out] VARIANT *p);
1209
1210     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1211     HRESULT borderBottomColor([in] VARIANT v);
1212
1213     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1214     HRESULT borderBottomColor([retval, out] VARIANT *p);
1215
1216     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1217     HRESULT borderLeftColor([in] VARIANT v);
1218
1219     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1220     HRESULT borderLeftColor([retval, out] VARIANT *p);
1221
1222     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1223     HRESULT borderWidth([in] BSTR v);
1224
1225     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1226     HRESULT borderWidth([retval, out] BSTR *p);
1227
1228     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1229     HRESULT borderTopWidth([in] VARIANT v);
1230
1231     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1232     HRESULT borderTopWidth([retval, out] VARIANT *p);
1233
1234     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1235     HRESULT borderRightWidth([in] VARIANT v);
1236
1237     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1238     HRESULT borderRightWidth([retval, out] VARIANT *p);
1239
1240     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1241     HRESULT borderBottomWidth([in] VARIANT v);
1242
1243     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1244     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1245
1246     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1247     HRESULT borderLeftWidth([in] VARIANT v);
1248
1249     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1250     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1251
1252     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1253     HRESULT borderStyle([in] BSTR v);
1254
1255     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1256     HRESULT borderStyle([retval, out] BSTR *p);
1257
1258     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1259     HRESULT borderTopStyle([in] BSTR v);
1260
1261     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1262     HRESULT borderTopStyle([retval, out] BSTR *p);
1263
1264     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1265     HRESULT borderRightStyle([in] BSTR v);
1266
1267     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1268     HRESULT borderRightStyle([retval, out] BSTR *p);
1269
1270     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1271     HRESULT borderBottomStyle([in] BSTR v);
1272
1273     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1274     HRESULT borderBottomStyle([retval, out] BSTR *p);
1275
1276     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1277     HRESULT borderLeftStyle([in] BSTR v);
1278
1279     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1280     HRESULT borderLeftStyle([retval, out] BSTR *p);
1281
1282     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1283     HRESULT width([in] VARIANT v);
1284
1285     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1286     HRESULT width([retval, out] VARIANT *p);
1287
1288     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1289     HRESULT height([in] VARIANT v);
1290
1291     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1292     HRESULT height([retval, out] VARIANT *p);
1293
1294     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1295     HRESULT styleFloat([in] BSTR v);
1296
1297     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1298     HRESULT styleFloat([retval, out] BSTR *p);
1299
1300     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1301     HRESULT clear([in] BSTR v);
1302
1303     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1304     HRESULT clear([retval, out] BSTR *p);
1305
1306     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1307     HRESULT display([in] BSTR v);
1308
1309     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1310     HRESULT display([retval, out] BSTR *p);
1311
1312     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1313     HRESULT visibility([in] BSTR v);
1314
1315     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1316     HRESULT visibility([retval, out] BSTR *p);
1317
1318     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1319     HRESULT listStyleType([in] BSTR v);
1320
1321     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1322     HRESULT listStyleType([retval, out] BSTR *p);
1323
1324     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1325     HRESULT listStylePosition([in] BSTR v);
1326
1327     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1328     HRESULT listStylePosition([retval, out] BSTR *p);
1329
1330     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1331     HRESULT listStyleImage([in] BSTR v);
1332
1333     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1334     HRESULT listStyleImage([retval, out] BSTR *p);
1335
1336     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1337     HRESULT listStyle([in] BSTR v);
1338
1339     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1340     HRESULT listStyle([retval, out] BSTR *p);
1341
1342     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1343     HRESULT whiteSpace([in] BSTR v);
1344
1345     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1346     HRESULT whiteSpace([retval, out] BSTR *p);
1347
1348     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1349     HRESULT top([in] VARIANT v);
1350
1351     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1352     HRESULT top([retval, out] VARIANT *p);
1353
1354     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1355     HRESULT left([in] VARIANT v);
1356
1357     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1358     HRESULT left([retval, out] VARIANT *p);
1359
1360     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1361     HRESULT position([retval, out] BSTR *p);
1362
1363     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1364     HRESULT zIndex([in] VARIANT v);
1365
1366     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1367     HRESULT zIndex([retval, out] VARIANT *p);
1368
1369     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1370     HRESULT overflow([in] BSTR v);
1371
1372     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1373     HRESULT overflow([retval, out] BSTR *p);
1374
1375     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1376     HRESULT pageBreakBefore([in] BSTR v);
1377
1378     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1379     HRESULT pageBreakBefore([retval, out] BSTR *p);
1380
1381     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1382     HRESULT pageBreakAfter([in] BSTR v);
1383
1384     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1385     HRESULT pageBreakAfter([retval, out] BSTR *p);
1386
1387     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1388     HRESULT cssText([in] BSTR v);
1389
1390     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1391     HRESULT cssText([retval, out] BSTR *p);
1392
1393     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1394     HRESULT cursor([in] BSTR v);
1395
1396     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1397     HRESULT cursor([retval, out] BSTR *p);
1398
1399     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1400     HRESULT clip([in] BSTR v);
1401
1402     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1403     HRESULT clip([retval, out] BSTR *p);
1404
1405     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1406     HRESULT filter([in] BSTR v);
1407
1408     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1409     HRESULT filter([retval, out] BSTR *p);
1410
1411     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1412     HRESULT setAttribute(
1413         [in] BSTR strAttributeName,
1414         [in] VARIANT AttributeValue,
1415         [defaultvalue(1), in] LONG lFlags);
1416
1417     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1418     HRESULT getAttribute(
1419         [in] BSTR strAttributeName,
1420         [defaultvalue(0), in] LONG lFlags,
1421         [retval, out] VARIANT *AttributeValue);
1422
1423     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1424     HRESULT removeAttribute(
1425         [in] BSTR strAttributeName,
1426         [defaultvalue(1), in] LONG lFlags,
1427         [retval, out] VARIANT_BOOL *pfSuccess);
1428 }
1429
1430 /*****************************************************************************
1431  *    DispHTMLStyle dispinterface
1432  */
1433 [
1434     hidden,
1435     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1436 ]
1437 dispinterface DispHTMLStyle
1438 {
1439 properties:
1440 methods:
1441     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1442     void fontFamily(BSTR v);
1443
1444     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1445     BSTR fontFamily();
1446
1447     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1448     void fontStyle(BSTR v);
1449
1450     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1451     BSTR fontStyle();
1452
1453     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1454     void fontVariant(BSTR v);
1455
1456     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1457     BSTR fontVariant();
1458
1459     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1460     void fontWeight(BSTR v);
1461
1462     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1463     BSTR fontWeight();
1464
1465     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1466     void fontSize(VARIANT v);
1467
1468     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1469     VARIANT fontSize();
1470
1471     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1472     void font(BSTR v);
1473
1474     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1475     BSTR font();
1476
1477     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1478     void color(VARIANT v);
1479
1480     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1481     VARIANT color();
1482
1483     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1484     void background(BSTR v);
1485
1486     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1487     BSTR background();
1488
1489     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1490     void backgroundColor(VARIANT v);
1491
1492     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1493     VARIANT backgroundColor();
1494
1495     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1496     void backgroundImage(BSTR v);
1497
1498     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1499     BSTR backgroundImage();
1500
1501     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1502     void backgroundRepeat(BSTR v);
1503
1504     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1505     BSTR backgroundRepeat();
1506
1507     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1508     void backgroundAttachment(BSTR v);
1509
1510     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1511     BSTR backgroundAttachment();
1512
1513     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1514     void backgroundPosition(BSTR v);
1515
1516     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1517     BSTR backgroundPosition();
1518
1519     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1520     void backgroundPositionX(VARIANT v);
1521
1522     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1523     VARIANT backgroundPositionX();
1524
1525     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1526     void backgroundPositionY(VARIANT v);
1527
1528     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1529     VARIANT backgroundPositionY();
1530
1531     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1532     void wordSpacing(VARIANT v);
1533
1534     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1535     VARIANT wordSpacing();
1536
1537     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1538     void letterSpacing(VARIANT v);
1539
1540     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1541     VARIANT letterSpacing();
1542
1543     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1544     void textDecoration(BSTR v);
1545
1546     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1547     BSTR textDecoration();
1548
1549     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1550     void textDecorationNone(VARIANT_BOOL v);
1551
1552     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1553     VARIANT_BOOL textDecorationNone();
1554
1555     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1556     void textDecorationUnderline(VARIANT_BOOL v);
1557
1558     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1559     VARIANT_BOOL textDecorationUnderline();
1560
1561     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1562     void textDecorationOverline(VARIANT_BOOL v);
1563
1564     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1565     VARIANT_BOOL textDecorationOverline();
1566
1567     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1568     void textDecorationLineThrough(VARIANT_BOOL v);
1569
1570     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1571     VARIANT_BOOL textDecorationLineThrough();
1572
1573     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1574     void textDecorationBlink(VARIANT_BOOL v);
1575
1576     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1577     VARIANT_BOOL textDecorationBlink();
1578
1579     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1580     void verticalAlign(VARIANT v);
1581
1582     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1583     VARIANT verticalAlign();
1584
1585     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1586     void textTransform(BSTR v);
1587
1588     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1589     BSTR textTransform();
1590
1591     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1592     void textAlign(BSTR v);
1593
1594     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1595     BSTR textAlign();
1596
1597     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1598     void textIndent(VARIANT v);
1599
1600     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1601     VARIANT textIndent();
1602
1603     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1604     void lineHeight(VARIANT v);
1605
1606     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1607     VARIANT lineHeight();
1608
1609     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1610     void marginTop(VARIANT v);
1611
1612     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1613     VARIANT marginTop();
1614
1615     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1616     void marginRight(VARIANT v);
1617
1618     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1619     VARIANT marginRight();
1620
1621     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1622     void marginBottom(VARIANT v);
1623
1624     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1625     VARIANT marginBottom();
1626
1627     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1628     void marginLeft(VARIANT v);
1629
1630     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1631     VARIANT marginLeft();
1632
1633     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1634     void margin(BSTR v);
1635
1636     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1637     BSTR margin();
1638
1639     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1640     void paddingTop(VARIANT v);
1641
1642     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1643     VARIANT paddingTop();
1644
1645     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1646     void paddingRight(VARIANT v);
1647
1648     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1649     VARIANT paddingRight();
1650
1651     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1652     void paddingBottom(VARIANT v);
1653
1654     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1655     VARIANT paddingBottom();
1656
1657     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1658     void paddingLeft(VARIANT v);
1659
1660     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1661     VARIANT paddingLeft();
1662
1663     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1664     void padding(BSTR v);
1665
1666     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1667     BSTR padding();
1668
1669     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1670     void border(BSTR v);
1671
1672     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1673     BSTR border();
1674
1675     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1676     void borderTop(BSTR v);
1677
1678     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1679     BSTR borderTop();
1680
1681     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1682     void borderRight(BSTR v);
1683
1684     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1685     BSTR borderRight();
1686
1687     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1688     void borderBottom(BSTR v);
1689
1690     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1691     BSTR borderBottom();
1692
1693     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1694     void borderLeft(BSTR v);
1695
1696     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1697     BSTR borderLeft();
1698
1699     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1700     void borderColor(BSTR v);
1701
1702     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1703     BSTR borderColor();
1704
1705     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1706     void borderTopColor(VARIANT v);
1707
1708     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1709     VARIANT borderTopColor();
1710
1711     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1712     void borderRightColor(VARIANT v);
1713
1714     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1715     VARIANT borderRightColor();
1716
1717     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1718     void borderBottomColor(VARIANT v);
1719
1720     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1721     VARIANT borderBottomColor();
1722
1723     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1724     void borderLeftColor(VARIANT v);
1725
1726     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1727     VARIANT borderLeftColor();
1728
1729     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1730     void borderWidth(BSTR v);
1731
1732     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1733     BSTR borderWidth();
1734
1735     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1736     void borderTopWidth(VARIANT v);
1737
1738     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1739     VARIANT borderTopWidth();
1740
1741     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1742     void borderRightWidth(VARIANT v);
1743
1744     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1745     VARIANT borderRightWidth();
1746
1747     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1748     void borderBottomWidth(VARIANT v);
1749
1750     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1751     VARIANT borderBottomWidth();
1752
1753     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1754     void borderLeftWidth(VARIANT v);
1755
1756     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1757     VARIANT borderLeftWidth();
1758
1759     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1760     void borderStyle(BSTR v);
1761
1762     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1763     BSTR borderStyle();
1764
1765     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1766     void borderTopStyle(BSTR v);
1767
1768     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1769     BSTR borderTopStyle();
1770
1771     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1772     void borderRightStyle(BSTR v);
1773
1774     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1775     BSTR borderRightStyle();
1776
1777     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1778     void borderBottomStyle(BSTR v);
1779
1780     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1781     BSTR borderBottomStyle();
1782
1783     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1784     void borderLeftStyle(BSTR v);
1785
1786     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1787     BSTR borderLeftStyle();
1788
1789     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1790     void width(VARIANT v);
1791
1792     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1793     VARIANT width();
1794
1795     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1796     void height(VARIANT v);
1797
1798     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1799     VARIANT height();
1800
1801     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1802     void styleFloat(BSTR v);
1803
1804     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1805     BSTR styleFloat();
1806
1807     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1808     void clear(BSTR v);
1809
1810     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1811     BSTR clear();
1812
1813     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1814     void display(BSTR v);
1815
1816     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1817     BSTR display();
1818
1819     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1820     void visibility(BSTR v);
1821
1822     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1823     BSTR visibility();
1824
1825     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1826     void listStyleType(BSTR v);
1827
1828     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1829     BSTR listStyleType();
1830
1831     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1832     void listStylePosition(BSTR v);
1833
1834     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1835     BSTR listStylePosition();
1836
1837     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1838     void listStyleImage(BSTR v);
1839
1840     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1841     BSTR listStyleImage();
1842
1843     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1844     void listStyle(BSTR v);
1845
1846     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1847     BSTR listStyle();
1848
1849     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1850     void whiteSpace(BSTR v);
1851
1852     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1853     BSTR whiteSpace();
1854
1855     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1856     void top(VARIANT v);
1857
1858     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1859     VARIANT top();
1860
1861     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1862     void left(VARIANT v);
1863
1864     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1865     VARIANT left();
1866
1867     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1868     void zIndex(VARIANT v);
1869
1870     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1871     VARIANT zIndex();
1872
1873     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1874     void overflow(BSTR v);
1875
1876     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1877     BSTR overflow();
1878
1879     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1880     void pageBreakBefore(BSTR v);
1881
1882     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1883     BSTR pageBreakBefore();
1884
1885     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1886     void pageBreakAfter(BSTR v);
1887
1888     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1889     BSTR pageBreakAfter();
1890
1891     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1892     void cssText(BSTR v);
1893
1894     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1895     BSTR cssText();
1896
1897     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1898     void pixelTop(LONG v);
1899
1900     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1901     LONG pixelTop();
1902
1903     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1904     void pixelLeft(LONG v);
1905
1906     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1907     LONG pixelLeft();
1908
1909     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1910     void pixelWidth(LONG v);
1911
1912     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1913     LONG pixelWidth();
1914
1915     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1916     void pixelHeight(LONG v);
1917
1918     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1919     LONG pixelHeight();
1920
1921     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1922     void posTop(float v);
1923
1924     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1925     float posTop();
1926
1927     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1928     void posLeft(float v);
1929
1930     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1931     float posLeft();
1932
1933     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1934     void posWidth(float v);
1935
1936     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1937     float posWidth();
1938
1939     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1940     void posHeight(float v);
1941
1942     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1943     float posHeight();
1944
1945     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1946     void cursor(BSTR v);
1947
1948     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1949     BSTR cursor();
1950
1951     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1952     void clip(BSTR v);
1953
1954     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1955     BSTR clip();
1956
1957     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1958     void filter(BSTR v);
1959
1960     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1961     BSTR filter();
1962
1963     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1964     void setAttribute(
1965             [in] BSTR strAttributeName,
1966             [in] VARIANT AttributeValue,
1967             [in, defaultvalue(1)] LONG lFlags);
1968
1969     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1970     VARIANT getAttribute(
1971             [in] BSTR strAttributeName,
1972             [in, defaultvalue(0)] LONG lFlags);
1973
1974     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1975     VARIANT_BOOL removeAttribute(
1976             [in] BSTR strAttributeName,
1977             [in, defaultvalue(1)] LONG lFlags);
1978
1979     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1980     BSTR toString();
1981
1982     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1983     void tableLayout(BSTR v);
1984
1985     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1986     BSTR tableLayout();
1987
1988     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1989     void borderCollapse(BSTR v);
1990
1991     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1992     BSTR borderCollapse();
1993
1994     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1995     void direction(BSTR v);
1996
1997     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1998     BSTR direction();
1999
2000     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2001     void behavior(BSTR v);
2002
2003     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2004     BSTR behavior();
2005
2006     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
2007     void setExpression(
2008             [in] BSTR propname,
2009             [in] BSTR expression,
2010             [in, defaultvalue("")] BSTR language);
2011
2012     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
2013     VARIANT getExpression([in] BSTR propname);
2014
2015     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
2016     VARIANT_BOOL removeExpression([in] BSTR propname);
2017
2018     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2019     void position(BSTR v);
2020
2021     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2022     BSTR position();
2023
2024     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2025     void unicodeBidi(BSTR v);
2026
2027     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2028     BSTR unicodeBidi();
2029
2030     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2031     void bottom(VARIANT v);
2032
2033     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2034     VARIANT bottom();
2035
2036     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2037     void right(VARIANT v);
2038
2039     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2040     VARIANT right();
2041
2042     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2043     void pixelBottom(LONG v);
2044
2045     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2046     LONG pixelBottom();
2047
2048     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2049     void pixelRight(LONG v);
2050
2051     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2052     LONG pixelRight();
2053
2054     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2055     void posBottom(float v);
2056
2057     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2058     float posBottom();
2059
2060     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2061     void posRight(float v);
2062
2063     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2064     float posRight();
2065
2066     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2067     void imeMode(BSTR v);
2068
2069     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2070     BSTR imeMode();
2071
2072     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2073     void rubyAlign(BSTR v);
2074
2075     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2076     BSTR rubyAlign();
2077
2078     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2079     void rubyPosition(BSTR v);
2080
2081     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2082     BSTR rubyPosition();
2083
2084     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2085     void rubyOverhang(BSTR v);
2086
2087     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2088     BSTR rubyOverhang();
2089
2090     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2091     void layoutGridChar(VARIANT v);
2092
2093     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2094     VARIANT layoutGridChar();
2095
2096     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2097     void layoutGridLine(VARIANT v);
2098
2099     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2100     VARIANT layoutGridLine();
2101
2102     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2103     void layoutGridMode(BSTR v);
2104
2105     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2106     BSTR layoutGridMode();
2107
2108     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2109     void layoutGridType(BSTR v);
2110
2111     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2112     BSTR layoutGridType();
2113
2114     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2115     void layoutGrid(BSTR v);
2116
2117     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2118     BSTR layoutGrid();
2119
2120     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2121     void wordBreak(BSTR v);
2122
2123     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2124     BSTR wordBreak();
2125
2126     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2127     void lineBreak(BSTR v);
2128
2129     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2130     BSTR lineBreak();
2131
2132     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2133     void textJustify(BSTR v);
2134
2135     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2136     BSTR textJustify();
2137
2138     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2139     void textJustifyTrim(BSTR v);
2140
2141     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2142     BSTR textJustifyTrim();
2143
2144     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2145     void textKashida(VARIANT v);
2146
2147     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2148     VARIANT textKashida();
2149
2150     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2151     void textAutospace(BSTR v);
2152
2153     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2154     BSTR textAutospace();
2155
2156     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2157     void overflowX(BSTR v);
2158
2159     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2160     BSTR overflowX();
2161
2162     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2163     void overflowY(BSTR v);
2164
2165     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2166     BSTR overflowY();
2167
2168     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2169     void accelerator(BSTR v);
2170
2171     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2172     BSTR accelerator();
2173
2174     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2175     void layoutFlow(BSTR v);
2176
2177     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2178     BSTR layoutFlow();
2179
2180     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2181     void zoom(VARIANT v);
2182
2183     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2184     VARIANT zoom();
2185
2186     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2187     void wordWrap(BSTR v);
2188
2189     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2190     BSTR wordWrap();
2191
2192     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2193     void textUnderlinePosition(BSTR v);
2194
2195     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2196     BSTR textUnderlinePosition();
2197
2198     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2199     void scrollbarBaseColor(VARIANT v);
2200
2201     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2202     VARIANT scrollbarBaseColor();
2203
2204     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2205     void scrollbarFaceColor(VARIANT v);
2206
2207     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2208     VARIANT scrollbarFaceColor();
2209
2210     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2211     void scrollbar3dLightColor(VARIANT v);
2212
2213     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2214     VARIANT scrollbar3dLightColor();
2215
2216     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2217     void scrollbarShadowColor(VARIANT v);
2218
2219     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2220     VARIANT scrollbarShadowColor();
2221
2222     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2223     void scrollbarHighlightColor(VARIANT v);
2224
2225     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2226     VARIANT scrollbarHighlightColor();
2227
2228     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2229     void scrollbarDarkShadowColor(VARIANT v);
2230
2231     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2232     VARIANT scrollbarDarkShadowColor();
2233
2234     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2235     void scrollbarArrowColor(VARIANT v);
2236
2237     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2238     VARIANT scrollbarArrowColor();
2239
2240     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2241     void scrollbarTrackColor(VARIANT v);
2242
2243     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2244     VARIANT scrollbarTrackColor();
2245
2246     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2247     void writingMode(BSTR v);
2248
2249     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2250     BSTR writingMode();
2251
2252     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2253     void textAlignLast(BSTR v);
2254
2255     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2256     BSTR textAlignLast();
2257
2258     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2259     void textKashidaSpace(VARIANT v);
2260
2261     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2262     VARIANT textKashidaSpace();
2263
2264     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2265     void textOverflow(BSTR v);
2266
2267     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2268     BSTR textOverflow();
2269
2270     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2271     void minHeight(VARIANT v);
2272
2273     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2274     VARIANT minHeight();
2275
2276     [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2277     void msInterpolationMode(BSTR v);
2278
2279     [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2280     BSTR msInterpolationMode();
2281
2282     [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2283     void maxHeight(VARIANT v);
2284
2285     [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2286     VARIANT maxHeight();
2287
2288     [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2289     void minWidth(VARIANT v);
2290
2291     [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2292     VARIANT minWidth();
2293
2294     [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2295     void maxWidth(VARIANT v);
2296
2297     [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2298     VARIANT maxWidth();
2299
2300     [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2301     void content(BSTR v);
2302
2303     [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2304     BSTR content();
2305
2306     [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2307     void captionSide(BSTR v);
2308
2309     [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2310     BSTR captionSide();
2311
2312     [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2313     void counterIncrement(BSTR v);
2314
2315     [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2316     BSTR counterIncrement();
2317
2318     [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2319     void counterReset(BSTR v);
2320
2321     [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2322     BSTR counterReset();
2323
2324     [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2325     void outline(BSTR v);
2326
2327     [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2328     BSTR outline();
2329
2330     [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2331     void outlineWidth(VARIANT v);
2332
2333     [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2334     VARIANT outlineWidth();
2335
2336     [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2337     void outlineStyle(BSTR v);
2338
2339     [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2340     BSTR outlineStyle();
2341
2342     [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2343     void outlineColor(VARIANT v);
2344
2345     [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2346     VARIANT outlineColor();
2347
2348     [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2349     void boxSizing(BSTR v);
2350
2351     [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2352     BSTR boxSizing();
2353
2354     [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2355     void borderSpacing(BSTR v);
2356
2357     [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2358     BSTR borderSpacing();
2359
2360     [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2361     void orphans(VARIANT v);
2362
2363     [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2364     VARIANT orphans();
2365
2366     [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2367     void widows(VARIANT v);
2368
2369     [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2370     VARIANT widows();
2371
2372     [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2373     void pageBreakInside(BSTR v);
2374
2375     [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2376     BSTR pageBreakInside();
2377
2378     [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2379     void emptyCells(BSTR v);
2380
2381     [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2382     BSTR emptyCells();
2383
2384     [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2385     void msBlockProgression(BSTR v);
2386
2387     [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2388     BSTR msBlockProgression();
2389
2390     [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2391     void quotes(BSTR v);
2392
2393     [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2394     BSTR quotes();
2395
2396     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
2397     IDispatch *constructor();
2398 }
2399
2400 [
2401     odl,
2402     oleautomation,
2403     dual,
2404     uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2405 ]
2406 interface IHTMLStyle3 : IDispatch
2407 {
2408     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2409     HRESULT layoutFlow([in] BSTR v);
2410
2411     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2412     HRESULT layoutFlow([retval, out] BSTR * p);
2413
2414     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2415     HRESULT zoom([in] VARIANT v);
2416
2417     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2418     HRESULT zoom([retval, out] VARIANT * p);
2419
2420     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2421     HRESULT wordWrap([in] BSTR v);
2422
2423     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2424     HRESULT wordWrap([retval, out] BSTR * p);
2425
2426     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2427     HRESULT textUnderlinePosition([in] BSTR v);
2428
2429     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2430     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2431
2432     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2433     HRESULT scrollbarBaseColor([in] VARIANT v);
2434
2435     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2436     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2437
2438     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2439     HRESULT scrollbarFaceColor([in] VARIANT v);
2440
2441     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2442     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2443
2444     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2445     HRESULT scrollbar3dLightColor([in] VARIANT v);
2446
2447     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2448     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2449
2450     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2451     HRESULT scrollbarShadowColor([in] VARIANT v);
2452
2453     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2454     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2455
2456     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2457     HRESULT scrollbarHighlightColor([in] VARIANT v);
2458
2459     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2460     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2461
2462     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2463     HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2464
2465     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2466     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2467
2468     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2469     HRESULT scrollbarArrowColor([in] VARIANT v);
2470
2471     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2472     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2473
2474     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2475     HRESULT scrollbarTrackColor([in] VARIANT v);
2476
2477     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2478     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2479
2480     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2481     HRESULT writingMode([in] BSTR v);
2482
2483     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2484     HRESULT writingMode([retval, out] BSTR * p);
2485
2486     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2487     HRESULT textAlignLast([in] BSTR v);
2488
2489     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2490     HRESULT textAlignLast([retval, out] BSTR * p);
2491
2492     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2493     HRESULT textKashidaSpace([in] VARIANT v);
2494
2495     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2496     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2497 }
2498
2499 /*****************************************************************************
2500  *    IHTMLSytyle4 interface
2501  */
2502 [
2503     odl,
2504     oleautomation,
2505     dual,
2506     uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2507 ]
2508 interface IHTMLStyle4 : IDispatch
2509 {
2510     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2511     HRESULT textOverflow([in] BSTR v);
2512
2513     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2514     HRESULT textOverflow([retval, out] BSTR * p);
2515
2516     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2517     HRESULT minHeight([in] VARIANT v);
2518
2519     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2520     HRESULT minHeight([retval, out] VARIANT * p);
2521 }
2522
2523 /*****************************************************************************
2524  *    IHTMLSytyle5 interface
2525  */
2526 [
2527     odl,
2528     oleautomation,
2529     dual,
2530     uuid(3050f33a-98b5-11cf-bb82-00aa00bdce0b)
2531 ]
2532 interface IHTMLStyle5 : IDispatch
2533 {
2534     [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2535     HRESULT msInterpolationMode([in] BSTR v);
2536
2537     [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2538     HRESULT msInterpolationMode([out, retval] BSTR *p);
2539
2540     [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2541     HRESULT maxHeight([in] VARIANT v);
2542
2543     [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2544     HRESULT maxHeight([out, retval] VARIANT *p);
2545
2546     [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2547     HRESULT minWidth([in] VARIANT v);
2548
2549     [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2550     HRESULT minWidth([out, retval] VARIANT *p);
2551
2552     [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2553     HRESULT maxWidth([in] VARIANT v);
2554
2555     [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2556     HRESULT maxWidth([out, retval] VARIANT *p);
2557 }
2558
2559 /*****************************************************************************
2560  *    IHTMLSytyle6 interface
2561  */
2562 [
2563     odl,
2564     oleautomation,
2565     dual,
2566     uuid(30510480-98b5-11cf-bb82-00aa00bdce0b)
2567 ]
2568 interface IHTMLStyle6 : IDispatch
2569 {
2570     [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2571     HRESULT content([in] BSTR v);
2572
2573     [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2574     HRESULT content([out, retval] BSTR *p);
2575
2576     [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2577     HRESULT captionSide([in] BSTR v);
2578
2579     [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2580     HRESULT captionSide([retval, out] BSTR *p);
2581
2582     [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2583     HRESULT counterIncrement([in] BSTR v);
2584
2585     [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2586     HRESULT counterIncrement([out, retval] BSTR *p);
2587
2588     [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2589     HRESULT counterReset([in] BSTR v);
2590
2591     [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2592     HRESULT counterReset([out, retval] BSTR *p);
2593
2594     [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2595     HRESULT outline([in] BSTR v);
2596
2597     [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2598     HRESULT outline([out, retval] BSTR *p);
2599
2600     [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2601     HRESULT outlineWidth([in] VARIANT v);
2602
2603     [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2604     HRESULT outlineWidth([out, retval] VARIANT *p);
2605
2606     [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2607     HRESULT outlineStyle([in] BSTR v);
2608
2609     [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2610     HRESULT outlineStyle([out, retval] BSTR *p);
2611
2612     [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2613     HRESULT outlineColor([in] VARIANT v);
2614
2615     [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2616     HRESULT outlineColor([out, retval] VARIANT *p);
2617
2618     [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2619     HRESULT boxSizing([in] BSTR v);
2620
2621     [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2622     HRESULT boxSizing([out, retval] BSTR *p);
2623
2624     [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2625     HRESULT borderSpacing([in] BSTR v);
2626
2627     [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2628     HRESULT borderSpacing([out, retval] BSTR *p);
2629
2630     [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2631     HRESULT orphans([in] VARIANT v);
2632
2633     [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2634     HRESULT orphans([out, retval] VARIANT *p);
2635
2636     [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2637     HRESULT widows([in] VARIANT v);
2638
2639     [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2640     HRESULT widows([out, retval] VARIANT *p);
2641
2642     [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2643     HRESULT pageBreakInside([in] BSTR v);
2644
2645     [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2646     HRESULT pageBreakInside([out, retval] BSTR *p);
2647
2648     [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2649     HRESULT emptyCells([in] BSTR v);
2650
2651     [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2652     HRESULT emptyCells([out, retval] BSTR *p);
2653
2654     [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2655     HRESULT msBlockProgression([in] BSTR v);
2656
2657     [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2658     HRESULT msBlockProgression([out, retval] BSTR *p);
2659
2660     [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2661     HRESULT quotes([in] BSTR v);
2662
2663     [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2664     HRESULT quotes([out, retval] BSTR *p);
2665 }
2666
2667 [
2668     noncreatable,
2669     uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2670 ]
2671 coclass HTMLStyle
2672 {
2673     [default] dispinterface DispHTMLStyle;
2674     interface IHTMLStyle;
2675     interface IHTMLStyle2;
2676     interface IHTMLStyle3;
2677     interface IHTMLStyle4;
2678     interface IHTMLStyle5;
2679     interface IHTMLStyle6;
2680 }
2681
2682 /*****************************************************************************
2683  *    IHTMLRenderStyle interface
2684  */
2685 [
2686     odl,
2687     oleautomation,
2688     dual,
2689     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2690 ]
2691 interface IHTMLRenderStyle : IDispatch
2692 {
2693     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2694     HRESULT textLineThroughStyle([in] BSTR v);
2695
2696     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2697     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2698
2699     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2700     HRESULT textUnderlineStyle([in] BSTR v);
2701
2702     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2703     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2704
2705     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2706     HRESULT textEffect([in] BSTR v);
2707
2708     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2709     HRESULT textEffect([retval, out] BSTR *p);
2710
2711     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2712     HRESULT textColor([in] VARIANT v);
2713
2714     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2715     HRESULT textColor([retval, out] VARIANT *p);
2716
2717     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2718     HRESULT textBackgroundColor([in] VARIANT v);
2719
2720     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2721     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2722
2723     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2724     HRESULT textDecorationColor([in] VARIANT v);
2725
2726     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2727     HRESULT textDecorationColor([retval, out] VARIANT *p);
2728
2729     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2730     HRESULT renderingPriority([in] LONG v);
2731
2732     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2733     HRESULT renderingPriority([retval, out] LONG *p);
2734
2735     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2736     HRESULT defaultTextSelection([in] BSTR v);
2737
2738     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2739     HRESULT defaultTextSelection([retval, out] BSTR *p);
2740
2741     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2742     HRESULT textDecoration([in] BSTR v);
2743
2744     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2745     HRESULT textDecoration([retval, out] BSTR *p);
2746 }
2747
2748 /*****************************************************************************
2749  *    IHTMLCurrentStyle interface
2750  */
2751 [
2752     odl,
2753     oleautomation,
2754     dual,
2755     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2756 ]
2757 interface IHTMLCurrentStyle : IDispatch
2758 {
2759     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2760     HRESULT position([retval, out] BSTR *p);
2761
2762     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2763     HRESULT styleFloat([retval, out] BSTR *p);
2764
2765     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2766     HRESULT color([retval, out] VARIANT *p);
2767
2768     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2769     HRESULT backgroundColor([retval, out] VARIANT *p);
2770
2771     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2772     HRESULT fontFamily([retval, out] BSTR *p);
2773
2774     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2775     HRESULT fontStyle([retval, out] BSTR *p);
2776
2777     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2778     HRESULT fontVariant([retval, out] BSTR *p);
2779
2780     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2781     HRESULT fontWeight([retval, out] VARIANT *p);
2782
2783     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2784     HRESULT fontSize([retval, out] VARIANT *p);
2785
2786     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2787     HRESULT backgroundImage([retval, out] BSTR *p);
2788
2789     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2790     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2791
2792     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2793     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2794
2795     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2796     HRESULT backgroundRepeat([retval, out] BSTR *p);
2797
2798     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2799     HRESULT borderLeftColor([retval, out] VARIANT *p);
2800
2801     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2802     HRESULT borderTopColor([retval, out] VARIANT *p);
2803
2804     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2805     HRESULT borderRightColor([retval, out] VARIANT *p);
2806
2807     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2808     HRESULT borderBottomColor([retval, out] VARIANT *p);
2809
2810     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2811     HRESULT borderTopStyle([retval, out] BSTR *p);
2812
2813     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2814     HRESULT borderRightStyle([retval, out] BSTR *p);
2815
2816     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2817     HRESULT borderBottomStyle([retval, out] BSTR *p);
2818
2819     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2820     HRESULT borderLeftStyle([retval, out] BSTR *p);
2821
2822     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2823     HRESULT borderTopWidth([retval, out] VARIANT *p);
2824
2825     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2826     HRESULT borderRightWidth([retval, out] VARIANT *p);
2827
2828     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2829     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2830
2831     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2832     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2833
2834     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2835     HRESULT left([retval, out] VARIANT *p);
2836
2837     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2838     HRESULT top([retval, out] VARIANT *p);
2839
2840     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2841     HRESULT width([retval, out] VARIANT *p);
2842
2843     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2844     HRESULT height([retval, out] VARIANT *p);
2845
2846     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2847     HRESULT paddingLeft([retval, out] VARIANT *p);
2848
2849     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2850     HRESULT paddingTop([retval, out] VARIANT *p);
2851
2852     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2853     HRESULT paddingRight([retval, out] VARIANT *p);
2854
2855     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2856     HRESULT paddingBottom([retval, out] VARIANT *p);
2857
2858     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2859     HRESULT textAlign([retval, out] BSTR *p);
2860
2861     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2862     HRESULT textDecoration([retval, out] BSTR *p);
2863
2864     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2865     HRESULT display([retval, out] BSTR *p);
2866
2867     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2868     HRESULT visibility([retval, out] BSTR *p);
2869
2870     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2871     HRESULT zIndex([retval, out] VARIANT *p);
2872
2873     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2874     HRESULT letterSpacing([retval, out] VARIANT *p);
2875
2876     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2877     HRESULT lineHeight([retval, out] VARIANT *p);
2878
2879     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2880     HRESULT textIndent([retval, out] VARIANT *p);
2881
2882     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2883     HRESULT verticalAlign([retval, out] VARIANT *p);
2884
2885     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2886     HRESULT backgroundAttachment([retval, out] BSTR *p);
2887
2888     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2889     HRESULT marginTop([retval, out] VARIANT *p);
2890
2891     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2892     HRESULT marginRight([retval, out] VARIANT *p);
2893
2894     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2895     HRESULT marginBottom([retval, out] VARIANT *p);
2896
2897     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2898     HRESULT marginLeft([retval, out] VARIANT *p);
2899
2900     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2901     HRESULT clear([retval, out] BSTR *p);
2902
2903     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2904     HRESULT listStyleType([retval, out] BSTR *p);
2905
2906     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2907     HRESULT listStylePosition([retval, out] BSTR *p);
2908
2909     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2910     HRESULT listStyleImage([retval, out] BSTR *p);
2911
2912     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2913     HRESULT clipTop([retval, out] VARIANT *p);
2914
2915     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2916     HRESULT clipRight([retval, out] VARIANT *p);
2917
2918     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2919     HRESULT clipBottom([retval, out] VARIANT *p);
2920
2921     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2922     HRESULT clipLeft([retval, out] VARIANT *p);
2923
2924     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2925     HRESULT overflow([retval, out] BSTR *p);
2926
2927     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2928     HRESULT pageBreakBefore([retval, out] BSTR *p);
2929
2930     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2931     HRESULT pageBreakAfter([retval, out] BSTR *p);
2932
2933     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2934     HRESULT cursor([retval, out] BSTR *p);
2935
2936     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2937     HRESULT tableLayout([retval, out] BSTR *p);
2938
2939     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2940     HRESULT borderCollapse([retval, out] BSTR *p);
2941
2942     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2943     HRESULT direction([retval, out] BSTR *p);
2944
2945     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2946     HRESULT behavior([retval, out] BSTR *p);
2947
2948     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2949     HRESULT getAttribute(
2950         [in] BSTR strAttributeName,
2951         [defaultvalue(0), in] LONG lFlags,
2952         [retval, out] VARIANT *AttributeValue);
2953
2954     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2955     HRESULT unicodeBidi([retval, out] BSTR *p);
2956
2957     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2958     HRESULT right([retval, out] VARIANT *p);
2959
2960     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2961     HRESULT bottom([retval, out] VARIANT *p);
2962
2963     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2964     HRESULT imeMode([retval, out] BSTR *p);
2965
2966     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2967     HRESULT rubyAlign([retval, out] BSTR *p);
2968
2969     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2970     HRESULT rubyPosition([retval, out] BSTR *p);
2971
2972     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2973     HRESULT rubyOverhang([retval, out] BSTR *p);
2974
2975     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2976     HRESULT textAutospace([retval, out] BSTR *p);
2977
2978     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2979     HRESULT lineBreak([retval, out] BSTR *p);
2980
2981     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2982     HRESULT wordBreak([retval, out] BSTR *p);
2983
2984     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2985     HRESULT textJustify([retval, out] BSTR *p);
2986
2987     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2988     HRESULT textJustifyTrim([retval, out] BSTR *p);
2989
2990     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2991     HRESULT textKashida([retval, out] VARIANT *p);
2992
2993     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2994     HRESULT blockDirection([retval, out] BSTR *p);
2995
2996     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2997     HRESULT layoutGridChar([retval, out] VARIANT *p);
2998
2999     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3000     HRESULT layoutGridLine([retval, out] VARIANT *p);
3001
3002     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3003     HRESULT layoutGridMode([retval, out] BSTR *p);
3004
3005     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3006     HRESULT layoutGridType([retval, out] BSTR *p);
3007
3008     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3009     HRESULT borderStyle([retval, out] BSTR *p);
3010
3011     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3012     HRESULT borderColor([retval, out] BSTR *p);
3013
3014     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3015     HRESULT borderWidth([retval, out] BSTR *p);
3016
3017     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3018     HRESULT padding([retval, out] BSTR *p);
3019
3020     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3021     HRESULT margin([retval, out] BSTR *p);
3022
3023     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3024     HRESULT accelerator([retval, out] BSTR *p);
3025
3026     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3027     HRESULT overflowX([retval, out] BSTR *p);
3028
3029     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3030     HRESULT overflowY([retval, out] BSTR *p);
3031
3032     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3033     HRESULT textTransform([retval, out] BSTR *p);
3034 }
3035
3036 /*****************************************************************************
3037  *    IHTMLCurrentStyle2 interface
3038  */
3039 [
3040     odl,
3041     oleautomation,
3042     dual,
3043     uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
3044 ]
3045 interface IHTMLCurrentStyle2 : IDispatch
3046 {
3047     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3048     HRESULT layoutFlow([retval, out] BSTR * p);
3049
3050     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3051     HRESULT wordWrap([retval, out] BSTR * p);
3052
3053     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3054     HRESULT textUnderlinePosition([retval, out] BSTR * p);
3055
3056     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3057     HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
3058
3059     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3060     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
3061
3062     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3063     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
3064
3065     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3066     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
3067
3068     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3069     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
3070
3071     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3072     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
3073
3074     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3075     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
3076
3077     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3078     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
3079
3080     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3081     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
3082
3083     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3084     HRESULT writingMode([retval, out] BSTR * p);
3085
3086     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3087     HRESULT zoom([retval, out] VARIANT * p);
3088
3089     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3090     HRESULT filter([retval, out] BSTR * p);
3091
3092     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3093     HRESULT textAlignLast([retval, out] BSTR * p);
3094
3095     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3096     HRESULT textKashidaSpace([retval, out] VARIANT * p);
3097
3098     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3099     HRESULT isBlock([retval, out] VARIANT_BOOL * p);
3100 }
3101
3102 /*****************************************************************************
3103  *    IHTMLCurrentStyle3 interface
3104  */
3105 [
3106     odl,
3107     oleautomation,
3108     dual,
3109     uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
3110 ]
3111 interface IHTMLCurrentStyle3 : IDispatch
3112 {
3113     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3114     HRESULT textOverflow([retval, out] BSTR * p);
3115
3116     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3117     HRESULT minHeight([retval, out] VARIANT * p);
3118
3119     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3120     HRESULT wordSpacing([retval, out] VARIANT * p);
3121
3122     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3123     HRESULT whiteSpace([retval, out] BSTR * p);
3124 }
3125
3126 /*****************************************************************************
3127  *    IHTMLCurrentStyle4 interface
3128  */
3129 [
3130     odl,
3131     oleautomation,
3132     dual,
3133     uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
3134 ]
3135 interface IHTMLCurrentStyle4 : IDispatch
3136 {
3137     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3138     HRESULT msInterpolationMode([retval, out] BSTR * p);
3139
3140     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3141     HRESULT maxHeight([retval, out] VARIANT * p);
3142
3143     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3144     HRESULT minWidth([retval, out] VARIANT * p);
3145
3146     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3147     HRESULT maxWidth([retval, out] VARIANT * p);
3148 }
3149
3150 /*****************************************************************************
3151  *    DispHTMLCurrentStyle dispinterface
3152  */
3153 [
3154     hidden,
3155     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
3156 ]
3157 dispinterface DispHTMLCurrentStyle
3158 {
3159 properties:
3160 methods:
3161     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
3162     BSTR position();
3163
3164     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
3165     BSTR styleFloat();
3166
3167     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
3168     VARIANT color();
3169
3170     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
3171     VARIANT backgroundColor();
3172
3173     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
3174     BSTR fontFamily();
3175
3176     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
3177     BSTR fontStyle();
3178
3179     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
3180     BSTR fontVariant();
3181
3182     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
3183     VARIANT fontWeight();
3184
3185     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
3186     VARIANT fontSize();
3187
3188     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
3189     BSTR backgroundImage();
3190
3191     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
3192     VARIANT backgroundPositionX();
3193
3194     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
3195     VARIANT backgroundPositionY();
3196
3197     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
3198     BSTR backgroundRepeat();
3199
3200     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
3201     VARIANT borderLeftColor();
3202
3203     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
3204     VARIANT borderTopColor();
3205
3206     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
3207     VARIANT borderRightColor();
3208
3209     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
3210     VARIANT borderBottomColor();
3211
3212     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
3213     BSTR borderTopStyle();
3214
3215     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
3216     BSTR borderRightStyle();
3217
3218     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
3219     BSTR borderBottomStyle();
3220
3221     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
3222     BSTR borderLeftStyle();
3223
3224     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
3225     VARIANT borderTopWidth();
3226
3227     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
3228     VARIANT borderRightWidth();
3229
3230     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
3231     VARIANT borderBottomWidth();
3232
3233     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
3234     VARIANT borderLeftWidth();
3235
3236     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
3237     VARIANT left();
3238
3239     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
3240     VARIANT top();
3241
3242     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
3243     VARIANT width();
3244
3245     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
3246     VARIANT height();
3247
3248     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
3249     VARIANT paddingLeft();
3250
3251     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
3252     VARIANT paddingTop();
3253
3254     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
3255     VARIANT paddingRight();
3256
3257     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
3258     VARIANT paddingBottom();
3259
3260     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
3261     BSTR textAlign();
3262
3263     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
3264     BSTR textDecoration();
3265
3266     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
3267     BSTR display();
3268
3269     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
3270     BSTR visibility();
3271
3272     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
3273     VARIANT zIndex();
3274
3275     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
3276     VARIANT letterSpacing();
3277
3278     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
3279     VARIANT lineHeight();
3280
3281     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
3282     VARIANT textIndent();
3283
3284     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
3285     VARIANT verticalAlign();
3286
3287     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
3288     BSTR backgroundAttachment();
3289
3290     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
3291     VARIANT marginTop();
3292
3293     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3294     VARIANT marginRight();
3295
3296     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3297     VARIANT marginBottom();
3298
3299     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3300     VARIANT marginLeft();
3301
3302     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3303     BSTR clear();
3304
3305     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3306     BSTR listStyleType();
3307
3308     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3309     BSTR listStylePosition();
3310
3311     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3312     BSTR listStyleImage();
3313
3314     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3315     VARIANT clipTop();
3316
3317     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3318     VARIANT clipRight();
3319
3320     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3321     VARIANT clipBottom();
3322
3323     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3324     VARIANT clipLeft();
3325
3326     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3327     BSTR overflow();
3328
3329     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3330     BSTR pageBreakBefore();
3331
3332     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3333     BSTR pageBreakAfter();
3334
3335     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3336     BSTR cursor();
3337
3338     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3339     BSTR tableLayout();
3340
3341     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3342     BSTR borderCollapse();
3343
3344     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3345     BSTR direction();
3346
3347     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3348     BSTR behavior();
3349
3350     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3351     VARIANT getAttribute(
3352             [in] BSTR strAttributeName,
3353             [in, defaultvalue(0)] LONG lFlags);
3354
3355     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3356     BSTR unicodeBidi();
3357
3358     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3359     VARIANT right();
3360
3361     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3362     VARIANT bottom();
3363
3364     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3365     BSTR imeMode();
3366
3367     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3368     BSTR rubyAlign();
3369
3370     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3371     BSTR rubyPosition();
3372
3373     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3374     BSTR rubyOverhang();
3375
3376     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3377     BSTR textAutospace();
3378
3379     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3380     BSTR lineBreak();
3381
3382     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3383     BSTR wordBreak();
3384
3385     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3386     BSTR textJustify();
3387
3388     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3389     BSTR textJustifyTrim();
3390
3391     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3392     VARIANT textKashida();
3393
3394     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3395     BSTR blockDirection();
3396
3397     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3398     VARIANT layoutGridChar();
3399
3400     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3401     VARIANT layoutGridLine();
3402
3403     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3404     BSTR layoutGridMode();
3405
3406     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3407     BSTR layoutGridType();
3408
3409     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3410     BSTR borderStyle();
3411
3412     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3413     BSTR borderColor();
3414
3415     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3416     BSTR borderWidth();
3417
3418     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3419     BSTR padding();
3420
3421     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3422     BSTR margin();
3423
3424     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3425     BSTR accelerator();
3426
3427     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3428     BSTR overflowX();
3429
3430     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3431     BSTR overflowY();
3432
3433     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3434     BSTR textTransform();
3435
3436     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3437     BSTR layoutFlow();
3438
3439     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3440     BSTR wordWrap();
3441
3442     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3443     BSTR textUnderlinePosition();
3444
3445     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3446     VARIANT_BOOL hasLayout();
3447
3448     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3449     VARIANT scrollbarBaseColor();
3450
3451     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3452     VARIANT scrollbarFaceColor();
3453
3454     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3455     VARIANT scrollbar3dLightColor();
3456
3457     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3458     VARIANT scrollbarShadowColor();
3459
3460     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3461     VARIANT scrollbarHighlightColor();
3462
3463     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3464     VARIANT scrollbarDarkShadowColor();
3465
3466     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3467     VARIANT scrollbarArrowColor();
3468
3469     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3470     VARIANT scrollbarTrackColor();
3471
3472     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3473     BSTR writingMode();
3474
3475     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3476     VARIANT zoom();
3477
3478     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3479     BSTR filter();
3480
3481     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3482     BSTR textAlignLast();
3483
3484     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3485     VARIANT textKashidaSpace();
3486
3487     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3488     VARIANT_BOOL isBlock();
3489
3490     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3491     BSTR textOverflow();
3492
3493     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3494     VARIANT minHeight();
3495
3496     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3497     VARIANT wordSpacing();
3498
3499     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3500     BSTR whiteSpace();
3501
3502     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3503     BSTR msInterpolationMode();
3504
3505     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3506     VARIANT maxHeight();
3507
3508     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3509     VARIANT minWidth();
3510
3511     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3512     VARIANT maxWidth();
3513 }
3514
3515 [
3516     noncreatable,
3517     uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3518 ]
3519 coclass HTMLCurrentStyle
3520 {
3521     [default] dispinterface DispHTMLCurrentStyle;
3522     interface IHTMLCurrentStyle;
3523     interface IHTMLCurrentStyle2;
3524     interface IHTMLCurrentStyle3;
3525     interface IHTMLCurrentStyle4;
3526 }
3527
3528 /*****************************************************************************
3529  *    IHTMLRect interface
3530  */
3531 [
3532     odl,
3533     oleautomation,
3534     dual,
3535     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3536 ]
3537 interface IHTMLRect : IDispatch
3538 {
3539     [propput, id(DISPID_IHTMLRECT_LEFT)]
3540     HRESULT left([in] LONG v);
3541
3542     [propget, id(DISPID_IHTMLRECT_LEFT)]
3543     HRESULT left([retval, out] LONG *p);
3544
3545     [propput, id(DISPID_IHTMLRECT_TOP)]
3546     HRESULT top([in] LONG v);
3547
3548     [propget, id(DISPID_IHTMLRECT_TOP)]
3549     HRESULT top([retval, out] LONG *p);
3550
3551     [propput, id(DISPID_IHTMLRECT_RIGHT)]
3552     HRESULT right([in] LONG v);
3553
3554     [propget, id(DISPID_IHTMLRECT_RIGHT)]
3555     HRESULT right([retval, out] LONG *p);
3556
3557     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3558     HRESULT bottom([in] LONG v);
3559
3560     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3561     HRESULT bottom([retval, out] LONG *p);
3562 }
3563
3564 /*****************************************************************************
3565  *    IHTMLRectCollection interface
3566  */
3567 [
3568     odl,
3569     oleautomation,
3570     dual,
3571     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3572 ]
3573 interface IHTMLRectCollection : IDispatch
3574 {
3575     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3576     HRESULT length([retval, out] LONG *p);
3577
3578     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3579     HRESULT _newEnum([retval, out] IUnknown **p);
3580
3581     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3582     HRESULT item(
3583         [in] VARIANT *pvarIndex,
3584         [retval, out] VARIANT *pvarResult);
3585 }
3586
3587 /*****************************************************************************
3588  *    IHTMLDOMNode interface
3589  */
3590 [
3591     odl,
3592     oleautomation,
3593     dual,
3594     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3595 ]
3596 interface IHTMLDOMNode : IDispatch
3597 {
3598     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3599     HRESULT nodeType([retval, out] LONG *p);
3600
3601     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3602     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3603
3604     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3605     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3606
3607     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3608     HRESULT childNodes([retval, out] IDispatch **p);
3609
3610     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3611     HRESULT attributes([retval, out] IDispatch **p);
3612
3613     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3614     HRESULT insertBefore(
3615         [in] IHTMLDOMNode *newChild,
3616         [optional, in] VARIANT refChild,
3617         [retval, out] IHTMLDOMNode **node);
3618
3619     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3620     HRESULT removeChild(
3621         [in] IHTMLDOMNode *oldChild,
3622         [retval, out] IHTMLDOMNode **node);
3623
3624     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3625     HRESULT replaceChild(
3626         [in] IHTMLDOMNode *newChild,
3627         [in] IHTMLDOMNode *oldChild,
3628         [retval, out] IHTMLDOMNode **node);
3629
3630     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3631     HRESULT cloneNode(
3632         [in] VARIANT_BOOL fDeep,
3633         [retval, out] IHTMLDOMNode **clonedNode);
3634
3635     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3636     HRESULT removeNode(
3637         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3638         [retval, out] IHTMLDOMNode **removed);
3639
3640     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3641     HRESULT swapNode(
3642         [in] IHTMLDOMNode *otherNode,
3643         [retval, out] IHTMLDOMNode **swappedNode);
3644
3645     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3646     HRESULT replaceNode(
3647         [in] IHTMLDOMNode *replacement,
3648         [retval, out] IHTMLDOMNode **replaced);
3649
3650     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3651     HRESULT appendChild(
3652         [in] IHTMLDOMNode *newChild,
3653         [retval, out] IHTMLDOMNode **node);
3654
3655     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3656     HRESULT nodeName([retval, out] BSTR *p);
3657
3658     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3659     HRESULT nodeValue([in] VARIANT v);
3660
3661     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3662     HRESULT nodeValue([retval, out] VARIANT *p);
3663
3664     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3665     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3666
3667     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3668     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3669
3670     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3671     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3672
3673     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3674     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3675 }
3676
3677 #define WINE_IHTMLDOMNODE_DISPINTERFACE_DECL                            \
3678     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]                         \
3679     LONG nodeType();                                                    \
3680                                                                         \
3681     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]                       \
3682     IHTMLDOMNode* parentNode();                                         \
3683                                                                         \
3684     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]                             \
3685     VARIANT_BOOL hasChildNodes();                                       \
3686                                                                         \
3687     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]                       \
3688     IDispatch* childNodes();                                            \
3689                                                                         \
3690     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]                       \
3691     IDispatch* attributes();                                            \
3692                                                                         \
3693     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]                              \
3694     IHTMLDOMNode* insertBefore(                                         \
3695             [in] IHTMLDOMNode* newChild,                                \
3696             [optional, in] VARIANT refChild);                           \
3697                                                                         \
3698     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]                               \
3699     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);             \
3700                                                                         \
3701     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]                              \
3702     IHTMLDOMNode* replaceChild(                                         \
3703         [in] IHTMLDOMNode* newChild,                                    \
3704         [in] IHTMLDOMNode* oldChild);                                   \
3705                                                                         \
3706     [id(DISPID_IHTMLDOMNODE_CLONENODE)]                                 \
3707     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);                   \
3708                                                                         \
3709     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]                                \
3710     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep); \
3711                                                                         \
3712     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]                                  \
3713     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);               \
3714                                                                         \
3715     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]                               \
3716     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);          \
3717                                                                         \
3718     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]                               \
3719     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);             \
3720                                                                         \
3721     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]                         \
3722     BSTR nodeName();                                                    \
3723                                                                         \
3724     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3725     void nodeValue(VARIANT v);                                          \
3726                                                                         \
3727     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3728     VARIANT nodeValue();                                                \
3729                                                                         \
3730     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]                       \
3731     IHTMLDOMNode* firstChild();                                         \
3732                                                                         \
3733     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]                        \
3734     IHTMLDOMNode* lastChild();                                          \
3735                                                                         \
3736     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]                  \
3737     IHTMLDOMNode* previousSibling();                                    \
3738                                                                         \
3739     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]                      \
3740     IHTMLDOMNode* nextSibling()
3741
3742 /*****************************************************************************
3743  *    IHTMLDOMNode2 interface
3744  */
3745 [
3746     odl,
3747     oleautomation,
3748     dual,
3749     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3750 ]
3751 interface IHTMLDOMNode2 : IDispatch
3752 {
3753     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3754     HRESULT ownerDocument([retval, out] IDispatch **p);
3755 }
3756
3757 #define WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL           \
3758     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]   \
3759     IDispatch *ownerDocument()
3760
3761 #define WINE_HTMLDOMNODE_DISPINTERFACE_DECL     \
3762     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;       \
3763     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL
3764
3765 /*****************************************************************************
3766  *    IHTMLDOMAttribute interface
3767  */
3768 [
3769     odl,
3770     oleautomation,
3771     dual,
3772     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3773 ]
3774 interface IHTMLDOMAttribute : IDispatch
3775 {
3776     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3777     HRESULT nodeName([retval, out] BSTR *p);
3778
3779     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3780     HRESULT nodeValue([in] VARIANT v);
3781
3782     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3783     HRESULT nodeValue([retval, out] VARIANT *p);
3784
3785     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3786     HRESULT specified([retval, out] VARIANT_BOOL *p);
3787 }
3788
3789 /*****************************************************************************
3790  *    IHTMLDOMAttribute2 interface
3791  */
3792 [
3793     odl,
3794     oleautomation,
3795     dual,
3796     uuid(3050f810-98b5-11cf-bb82-00aa00bdce0b)
3797 ]
3798 interface IHTMLDOMAttribute2 : IDispatch
3799 {
3800     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3801     HRESULT name([retval, out] BSTR *p);
3802
3803     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3804     HRESULT value([in] BSTR v);
3805
3806     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3807     HRESULT value([retval, out] BSTR *p);
3808
3809     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3810     HRESULT expando([retval, out] VARIANT_BOOL *p);
3811
3812     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3813     HRESULT nodeType([retval, out] long *p);
3814
3815     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3816     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3817
3818     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
3819     HRESULT childNodes([retval, out] IDispatch **p);
3820
3821     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
3822     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3823
3824     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
3825     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3826
3827     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
3828     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3829
3830     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
3831     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3832
3833     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
3834     HRESULT attributes([retval, out] IDispatch **p);
3835
3836     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
3837     HRESULT ownerDocument([retval, out] IDispatch **p);
3838
3839     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
3840     HRESULT insertBefore(
3841             [in] IHTMLDOMNode *newChild,
3842             [optional, in] VARIANT refChild,
3843             [retval, out] IHTMLDOMNode **node);
3844
3845     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
3846     HRESULT replaceChild(
3847             [in] IHTMLDOMNode *newChild,
3848             [in] IHTMLDOMNode *oldChild,
3849             [retval, out] IHTMLDOMNode **node);
3850
3851     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
3852     HRESULT removeChild(
3853             [in] IHTMLDOMNode *oldChild,
3854             [retval, out] IHTMLDOMNode **node);
3855
3856     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
3857     HRESULT appendChild(
3858             [in] IHTMLDOMNode *newChild,
3859             [retval, out] IHTMLDOMNode **node);
3860
3861     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
3862     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3863
3864     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
3865     HRESULT cloneNode(
3866             [in] VARIANT_BOOL fDeep,
3867             [retval, out] IHTMLDOMAttribute **clonedNode);
3868 }
3869
3870 /*****************************************************************************
3871  *    IHTMLDOMTextNode interface
3872  */
3873 [
3874     odl,
3875     oleautomation,
3876     dual,
3877     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3878 ]
3879 interface IHTMLDOMTextNode : IDispatch
3880 {
3881     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3882     HRESULT data([in] BSTR v);
3883
3884     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3885     HRESULT data([out, retval] BSTR *p);
3886
3887     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3888     HRESULT toString([out, retval] BSTR *String);
3889
3890     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3891     HRESULT length([out, retval] LONG *p);
3892
3893     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3894     HRESULT splitText(
3895             [in] LONG offset,
3896             [out, retval] IHTMLDOMNode **pRetNode);
3897 }
3898
3899 /*****************************************************************************
3900  *    IHTMLDOMTextNode2 interface
3901  */
3902 [
3903     odl,
3904     oleautomation,
3905     dual,
3906     uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
3907 ]
3908 interface IHTMLDOMTextNode2 : IDispatch
3909 {
3910     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3911     HRESULT substringData([in] LONG offset,[in] LONG Count,[retval, out] BSTR* pbstrsubString);
3912
3913     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3914     HRESULT appendData([in] BSTR bstrstring);
3915
3916     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3917     HRESULT insertData([in] LONG offset,[in] BSTR bstrstring);
3918
3919     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3920     HRESULT deleteData([in] LONG offset,[in] LONG Count);
3921
3922     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3923     HRESULT replaceData([in] LONG offset,[in] LONG Count,[in] BSTR bstrstring);
3924 }
3925
3926 [
3927     noncreatable,
3928     uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
3929 ]
3930 coclass HTMLDOMTextNode
3931 {
3932     [default]           dispinterface DispHTMLDOMTextNode;
3933                         interface IHTMLDOMTextNode;
3934                         interface IHTMLDOMTextNode2;
3935                         interface IHTMLDOMNode;
3936                         interface IHTMLDOMNode2;
3937 }
3938
3939 /*****************************************************************************
3940  *    IHTMLDOMImplementation interface
3941  */
3942 [
3943     odl,
3944     oleautomation,
3945     dual,
3946     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3947 ]
3948 interface IHTMLDOMImplementation : IDispatch
3949 {
3950     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3951     HRESULT hasFeature(
3952         [in] BSTR bstrfeature,
3953         [optional, in] VARIANT version,
3954         [retval, out] VARIANT_BOOL *pfHasFeature);
3955 }
3956
3957 /*****************************************************************************
3958  *    DispHTMLDOMAttribute dispinterface
3959  */
3960 [
3961     hidden,
3962     uuid(3050f564-98b5-11cf-bb82-00aa00bdce0b)
3963 ]
3964 dispinterface DispHTMLDOMAttribute
3965 {
3966  properties:
3967     methods:
3968     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3969     BSTR nodeName();
3970
3971     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3972     void nodeValue(VARIANT v);
3973
3974     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3975     VARIANT nodeValue();
3976
3977     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3978     VARIANT_BOOL specified();
3979
3980     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3981     BSTR name();
3982
3983     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3984     void value(BSTR v);
3985
3986     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3987     BSTR value();
3988
3989     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3990     VARIANT_BOOL expando();
3991
3992     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3993     long nodeType();
3994
3995     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3996     IHTMLDOMNode *parentNode();
3997
3998     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
3999     IDispatch *childNodes();
4000
4001     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
4002     IHTMLDOMNode *firstChild();
4003
4004     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
4005     IHTMLDOMNode *lastChild();
4006
4007     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
4008     IHTMLDOMNode *previousSibling();
4009
4010     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
4011     IHTMLDOMNode *nextSibling();
4012
4013     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
4014     IDispatch *attributes();
4015
4016     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
4017     IDispatch *ownerDocument();
4018
4019     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
4020     IHTMLDOMNode *insertBefore(
4021             [in] IHTMLDOMNode *newChild,
4022             [optional, in] VARIANT refChild);
4023
4024     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
4025     IHTMLDOMNode *replaceChild(
4026             [in] IHTMLDOMNode *newChild,
4027             [in] IHTMLDOMNode *oldChild);
4028
4029     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
4030     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
4031
4032     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
4033     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
4034
4035     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
4036     VARIANT_BOOL hasChildNodes();
4037
4038     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
4039     IHTMLDOMAttribute *cloneNode([in] VARIANT_BOOL fDeep);
4040
4041     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
4042     void ie8_nodeValue(VARIANT v);
4043
4044     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
4045     VARIANT ie8_nodeValue();
4046
4047     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
4048     void ie8_value(BSTR v);
4049
4050     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
4051     BSTR ie8_value();
4052
4053     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_SPECIFIED)]
4054     VARIANT_BOOL ie8_specified();
4055
4056     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_OWNERELEMENT)]
4057     IHTMLElement2 *ownerElement();
4058
4059     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
4060 }
4061
4062 /*****************************************************************************
4063  *    IHTMLDocumentCompatibleInfo interface
4064  */
4065 [
4066     odl,
4067     oleautomation,
4068     dual,
4069     uuid(3051041a-98b5-11cf-bb82-00aa00bdce0b)
4070 ]
4071 interface IHTMLDocumentCompatibleInfo : IDispatch
4072 {
4073     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_USERAGENT)]
4074     HRESULT userAgent([retval, out] BSTR *p);
4075
4076     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_VERSION)]
4077     HRESULT version([retval, out] BSTR *p);
4078 }
4079
4080 /*****************************************************************************
4081  *    IHTMLDocumentCompatibleInfoCollection interface
4082  */
4083 [
4084     odl,
4085     oleautomation,
4086     dual,
4087     uuid(30510418-98b5-11cf-bb82-00aa00bdce0b)
4088 ]
4089 interface IHTMLDocumentCompatibleInfoCollection : IDispatch
4090 {
4091     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_LENGTH)]
4092     HRESULT length([retval, out] long *p);
4093
4094     [id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_ITEM)]
4095     HRESULT item([in] long i, [retval, out]IHTMLDocumentCompatibleInfo **p);
4096 }
4097
4098 /*****************************************************************************
4099  *    DispHTMLDOMTextNode dispinterface
4100  */
4101 [
4102     hidden,
4103     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
4104 ]
4105 dispinterface DispHTMLDOMTextNode
4106 {
4107 properties:
4108 methods:
4109     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4110     void data(BSTR v);
4111
4112     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4113     BSTR data();
4114
4115     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
4116     BSTR toString();
4117
4118     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
4119     LONG length();
4120
4121     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
4122     IHTMLDOMNode *splitText([in] LONG offset);
4123
4124     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
4125     BSTR substringData(
4126             [in] LONG offset,
4127             [in] LONG Count);
4128
4129     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
4130     void appendData([in] BSTR bstrstring);
4131
4132     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
4133     void insertData(
4134             [in] LONG offset,
4135             [in] BSTR bstrstring);
4136
4137     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
4138     void deleteData(
4139             [in] LONG offset,
4140             [in] LONG Count);
4141
4142     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
4143     void replaceData(
4144             [in] LONG offset,
4145             [in] LONG Count,
4146             [in] BSTR bstrstring);
4147
4148     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
4149 }
4150
4151 /*****************************************************************************
4152  *    IHTMLAttributeCollection interface
4153  */
4154 [
4155     odl,
4156     oleautomation,
4157     dual,
4158     uuid(3050f4c3-98b5-11cf-bb82-00aa00bdce0b)
4159 ]
4160 interface IHTMLAttributeCollection : IDispatch
4161 {
4162     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION_LENGTH)]
4163     HRESULT length(
4164             [retval, out] long *p);
4165
4166     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION__NEWENUM), hidden, restricted]
4167     HRESULT _newEnum(
4168             [retval, out] IUnknown **p);
4169
4170     [id(DISPID_IHTMLATTRIBUTECOLLECTION_ITEM)]
4171     HRESULT item(
4172             [optional, in] VARIANT *name,
4173             [retval, out] IDispatch **pdisp);
4174 }
4175
4176 /*****************************************************************************
4177  *    IHTMLAttributeCollection2 interface
4178  */
4179 [
4180     odl,
4181     oleautomation,
4182     dual,
4183     uuid(3050f80a-98b5-11cf-bb82-00aa00bdce0b)
4184     ]
4185 interface IHTMLAttributeCollection2 : IDispatch
4186 {
4187     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_GETNAMEDITEM)]
4188     HRESULT getNamedItem(
4189             [in] BSTR bstrName,
4190             [retval, out] IHTMLDOMAttribute **newretNode);
4191
4192     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_SETNAMEDITEM)]
4193     HRESULT setNamedItem(
4194             [in] IHTMLDOMAttribute *ppNode,
4195             [retval, out] IHTMLDOMAttribute **newretNode);
4196
4197     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_REMOVENAMEDITEM)]
4198     HRESULT removeNamedItem(
4199             [in] BSTR bstrName,
4200             [retval, out] IHTMLDOMAttribute **newretNode);
4201 }
4202
4203 /*****************************************************************************
4204  *    IHTMLAttributeCollection3 interface
4205  */
4206 [
4207     odl,
4208     oleautomation,
4209     dual,
4210     uuid(30510469-98b5-11cf-bb82-00aa00bdce0b)
4211 ]
4212 interface IHTMLAttributeCollection3 : IDispatch
4213 {
4214     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
4215     HRESULT getNamedItem(
4216             [in] BSTR bstrName,
4217             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4218
4219     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
4220     HRESULT setNamedItem(
4221             [in] IHTMLDOMAttribute *pNodeIn,
4222             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4223
4224     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
4225     HRESULT removeNamedItem(
4226             [in] BSTR bstrName,
4227             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4228
4229     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
4230     HRESULT item(
4231             [in] long index,
4232             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4233
4234     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
4235     HRESULT length([retval, out] long *p);
4236 }
4237
4238 /*****************************************************************************
4239  *    DispHTMLAttributeCollection dispinterface
4240  */
4241 [
4242     hidden,
4243     uuid(3050f56c-98b5-11cf-bb82-00aa00bdce0b)
4244 ]
4245 dispinterface DispHTMLAttributeCollection
4246 {
4247 properties:
4248 methods:
4249     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION_LENGTH)]
4250     long length();
4251
4252     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION__NEWENUM), hidden, restricted]
4253     IUnknown *_newEnum();
4254
4255     [id(DISPID_IHTMLATTRIBUTECOLLECTION_ITEM)]
4256     IDispatch *item([optional, in] VARIANT *name);
4257
4258     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_GETNAMEDITEM)]
4259     IHTMLDOMAttribute *getNamedItem([in] BSTR bstrName);
4260
4261     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_SETNAMEDITEM)]
4262     IHTMLDOMAttribute *setNamedItem([in] IHTMLDOMAttribute *ppNode);
4263
4264     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_REMOVENAMEDITEM)]
4265     IHTMLDOMAttribute *removeNamedItem([in] BSTR bstrName);
4266
4267     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
4268     IHTMLDOMAttribute *ie8_getNamedItem([in] BSTR bstrName);
4269
4270     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
4271     IHTMLDOMAttribute *ie8_setNamedItem([in] IHTMLDOMAttribute *pNodeIn);
4272
4273     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
4274     IHTMLDOMAttribute *ie8_removeNamedItem([in] BSTR bstrName);
4275
4276     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
4277     IHTMLDOMAttribute *ie8_item([in] long index);
4278
4279     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
4280     long ie8_length();
4281
4282     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
4283     IDispatch *constructor();
4284 }
4285
4286 /*****************************************************************************
4287  *    IHTMLDOMChildrenCollection interface
4288  */
4289 [
4290     odl,
4291     oleautomation,
4292     dual,
4293     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
4294 ]
4295 interface IHTMLDOMChildrenCollection : IDispatch
4296 {
4297     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
4298     HRESULT length([out, retval] LONG *p);
4299
4300     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
4301     HRESULT _newEnum([out, retval] IUnknown **p);
4302
4303     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
4304     HRESULT item(
4305             [in] LONG index,
4306             [out, retval] IDispatch **ppItem);
4307 }
4308
4309 /*****************************************************************************
4310  *    DispDOMChildrenCollection dispinterface
4311  */
4312 [
4313     hidden,
4314     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
4315 ]
4316 dispinterface DispDOMChildrenCollection
4317 {
4318 properties:
4319 methods:
4320     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
4321     LONG length();
4322
4323     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
4324     IUnknown *_newEnum();
4325
4326     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
4327     IDispatch *item([in] LONG index);
4328 }
4329
4330 interface IHTMLElementCollection;
4331
4332 /*****************************************************************************
4333  *    IHTMLElement interface
4334  */
4335 [
4336     odl,
4337     dual,
4338     oleautomation,
4339     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
4340 ]
4341 interface IHTMLElement : IDispatch
4342 {
4343     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
4344     HRESULT setAttribute(
4345         [in] BSTR strAttributeName,
4346         [in] VARIANT AttributeValue,
4347         [defaultvalue(1), in] LONG lFlags);
4348
4349     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
4350     HRESULT getAttribute(
4351         [in] BSTR strAttributeName,
4352         [defaultvalue(0), in] LONG lFlags,
4353         [retval, out] VARIANT *AttributeValue);
4354
4355     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
4356     HRESULT removeAttribute(
4357         [in] BSTR strAttributeName,
4358         [defaultvalue(1), in] LONG lFlags,
4359         [retval, out] VARIANT_BOOL *pfSuccess);
4360
4361     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
4362     HRESULT className([in] BSTR v);
4363
4364     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
4365     HRESULT className([retval, out] BSTR *p);
4366
4367     [propput, id(DISPID_IHTMLELEMENT_ID)]
4368     HRESULT id([in] BSTR v);
4369
4370     [propget, id(DISPID_IHTMLELEMENT_ID)]
4371     HRESULT id([retval, out] BSTR *p);
4372
4373     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4374     HRESULT tagName([retval, out] BSTR *p);
4375
4376     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4377     HRESULT parentElement([retval, out] IHTMLElement **p);
4378
4379     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
4380     HRESULT style([retval, out] IHTMLStyle **p);
4381
4382     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
4383     HRESULT onhelp([in] VARIANT v);
4384
4385     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
4386     HRESULT onhelp([retval, out] VARIANT *p);
4387
4388     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
4389     HRESULT onclick([in] VARIANT v);
4390
4391     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
4392     HRESULT onclick([retval, out] VARIANT *p);
4393
4394     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4395     HRESULT ondblclick([in] VARIANT v);
4396
4397     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4398     HRESULT ondblclick([retval, out] VARIANT *p);
4399
4400     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4401     HRESULT onkeydown([in] VARIANT v);
4402
4403     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4404     HRESULT onkeydown([retval, out] VARIANT *p);
4405
4406     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4407     HRESULT onkeyup([in] VARIANT v);
4408
4409     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4410     HRESULT onkeyup([retval, out] VARIANT *p);
4411
4412     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4413     HRESULT onkeypress([in] VARIANT v);
4414
4415     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4416     HRESULT onkeypress([retval, out] VARIANT *p);
4417
4418     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4419     HRESULT onmouseout([in] VARIANT v);
4420
4421     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4422     HRESULT onmouseout([retval, out] VARIANT *p);
4423
4424     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4425     HRESULT onmouseover([in] VARIANT v);
4426
4427     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4428     HRESULT onmouseover([retval, out] VARIANT *p);
4429
4430     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4431     HRESULT onmousemove([in] VARIANT v);
4432
4433     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4434     HRESULT onmousemove([retval, out] VARIANT *p);
4435
4436     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4437     HRESULT onmousedown([in] VARIANT v);
4438
4439     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4440     HRESULT onmousedown([retval, out] VARIANT *p);
4441
4442     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4443     HRESULT onmouseup([in] VARIANT v);
4444
4445     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4446     HRESULT onmouseup([retval, out] VARIANT *p);
4447
4448     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4449     HRESULT document([retval, out] IDispatch **p);
4450
4451     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
4452     HRESULT title([in] BSTR v);
4453
4454     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
4455     HRESULT title([retval, out] BSTR *p);
4456
4457     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4458     HRESULT language([in] BSTR v);
4459
4460     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4461     HRESULT language([retval, out] BSTR *p);
4462
4463     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4464     HRESULT onselectstart([in] VARIANT v);
4465
4466     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4467     HRESULT onselectstart([retval, out] VARIANT *p);
4468
4469     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4470     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
4471
4472     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4473     HRESULT contains(
4474         [in] IHTMLElement *pChild,
4475         [retval, out] VARIANT_BOOL *pfResult);
4476
4477     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
4478     HRESULT sourceIndex([retval, out] LONG *p);
4479
4480     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4481     HRESULT recordNumber([retval, out] VARIANT *p);
4482
4483     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4484     HRESULT lang([in] BSTR v);
4485
4486     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4487     HRESULT lang([retval, out] BSTR *p);
4488
4489     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4490     HRESULT offsetLeft([retval, out] LONG *p);
4491
4492     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4493     HRESULT offsetTop([retval, out] LONG *p);
4494
4495     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4496     HRESULT offsetWidth([retval, out] LONG *p);
4497
4498     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4499     HRESULT offsetHeight([retval, out] LONG *p);
4500
4501     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4502     HRESULT offsetParent([retval, out] IHTMLElement **p);
4503
4504     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4505     HRESULT innerHTML([in] BSTR v);
4506
4507     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4508     HRESULT innerHTML([retval, out] BSTR *p);
4509
4510     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4511     HRESULT innerText([in] BSTR v);
4512
4513     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4514     HRESULT innerText([retval, out] BSTR *p);
4515
4516     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4517     HRESULT outerHTML([in] BSTR v);
4518
4519     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4520     HRESULT outerHTML([retval, out] BSTR *p);
4521
4522     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4523     HRESULT outerText([in] BSTR v);
4524
4525     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4526     HRESULT outerText([retval, out] BSTR *p);
4527
4528     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4529     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
4530
4531     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4532     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
4533
4534     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4535     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
4536
4537     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4538     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
4539
4540     [id(DISPID_IHTMLELEMENT_CLICK)]
4541     HRESULT click();
4542
4543     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4544     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
4545
4546     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4547     HRESULT ondragstart([in] VARIANT v);
4548
4549     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4550     HRESULT ondragstart([retval, out] VARIANT *p);
4551
4552     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4553     HRESULT toString([retval, out] BSTR *String);
4554
4555     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4556     HRESULT onbeforeupdate([in] VARIANT v);
4557
4558     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4559     HRESULT onbeforeupdate([retval, out] VARIANT *p);
4560
4561     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4562     HRESULT onafterupdate([in] VARIANT v);
4563
4564     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4565     HRESULT onafterupdate([retval, out] VARIANT *p);
4566
4567     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4568     HRESULT onerrorupdate([in] VARIANT v);
4569
4570     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4571     HRESULT onerrorupdate([retval, out] VARIANT *p);
4572
4573     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4574     HRESULT onrowexit([in] VARIANT v);
4575
4576     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4577     HRESULT onrowexit([retval, out] VARIANT *p);
4578
4579     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4580     HRESULT onrowenter([in] VARIANT v);
4581
4582     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4583     HRESULT onrowenter([retval, out] VARIANT *p);
4584
4585     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4586     HRESULT ondatasetchanged([in] VARIANT v);
4587
4588     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4589     HRESULT ondatasetchanged([retval, out] VARIANT *p);
4590
4591     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4592     HRESULT ondataavailable([in] VARIANT v);
4593
4594     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4595     HRESULT ondataavailable([retval, out] VARIANT *p);
4596
4597     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4598     HRESULT ondatasetcomplete([in] VARIANT v);
4599
4600     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4601     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
4602
4603     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4604     HRESULT onfilterchange([in] VARIANT v);
4605
4606     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4607     HRESULT onfilterchange([retval, out] VARIANT *p);
4608
4609     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4610     HRESULT children([retval, out] IDispatch **p);
4611
4612     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4613     HRESULT all([retval, out] IDispatch **p);
4614 }
4615
4616 #define WINE_IHTMLELEMENT_DISPINTERFACE_DECL                            \
4617     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]                              \
4618     void setAttribute(                                                  \
4619         [in] BSTR strAttributeName,                                     \
4620         [in] VARIANT AttValue,                                          \
4621         [defaultvalue(1), in] LONG lFlags);                             \
4622                                                                         \
4623     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]                              \
4624     VARIANT getAttribute(                                               \
4625         [in] BSTR strAttributeName,                                     \
4626         [defaultvalue(0), in] LONG lFlags);                             \
4627                                                                         \
4628     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]                           \
4629     VARIANT_BOOL removeAttribute(                                       \
4630         [in] BSTR strAttributeName,                                     \
4631         [defaultvalue(1), in] LONG lFlags);                             \
4632                                                                         \
4633     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4634     void className(BSTR v);                                             \
4635                                                                         \
4636     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4637     BSTR className();                                                   \
4638                                                                         \
4639     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4640     void id(BSTR v);                                                    \
4641                                                                         \
4642     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4643     BSTR id();                                                          \
4644                                                                         \
4645     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]                          \
4646     BSTR tagName();                                                     \
4647                                                                         \
4648     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]                    \
4649     IHTMLElement *parentElement();                                      \
4650                                                                         \
4651     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]              \
4652     IHTMLStyle *style();                                                \
4653                                                                         \
4654     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4655     void onhelp(VARIANT v);                                             \
4656                                                                         \
4657     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4658     VARIANT onhelp();                                                   \
4659                                                                         \
4660     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4661     void onclick(VARIANT v);                                            \
4662                                                                         \
4663     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4664     VARIANT onclick();                                                  \
4665                                                                         \
4666     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4667     void ondblclick(VARIANT v);                                         \
4668                                                                         \
4669     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4670     VARIANT ondblclick();                                               \
4671                                                                         \
4672     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4673     void onkeydown(VARIANT v);                                          \
4674                                                                         \
4675     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4676     VARIANT onkeydown();                                                \
4677                                                                         \
4678     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4679     void onkeyup(VARIANT v);                                            \
4680                                                                         \
4681     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4682     VARIANT onkeyup();                                                  \
4683                                                                         \
4684     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4685     void onkeypress(VARIANT v);                                         \
4686                                                                         \
4687     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4688     VARIANT onkeypress();                                               \
4689                                                                         \
4690     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4691     void onmouseout(VARIANT v);                                         \
4692                                                                         \
4693     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4694     VARIANT onmouseout();                                               \
4695                                                                         \
4696     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4697     void onmouseover(VARIANT v);                                        \
4698                                                                         \
4699     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4700     VARIANT onmouseover();                                              \
4701                                                                         \
4702     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4703     void onmousemove(VARIANT v);                                        \
4704                                                                         \
4705     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4706     VARIANT onmousemove();                                              \
4707                                                                         \
4708     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4709     void onmousedown(VARIANT v);                                        \
4710                                                                         \
4711     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4712     VARIANT onmousedown();                                              \
4713                                                                         \
4714     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4715     void onmouseup(VARIANT v);                                          \
4716                                                                         \
4717     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4718     VARIANT onmouseup();                                                \
4719                                                                         \
4720     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();  \
4721                                                                         \
4722     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4723     void title(BSTR v);                                                 \
4724                                                                         \
4725     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4726     BSTR title();                                                       \
4727                                                                         \
4728     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4729     void language(BSTR v);                                              \
4730                                                                         \
4731     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4732     BSTR language();                                                    \
4733                                                                         \
4734     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4735     void onselectstart(VARIANT v);                                      \
4736                                                                         \
4737     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4738     VARIANT onselectstart();                                            \
4739                                                                         \
4740     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]                            \
4741     void scrollIntoView([optional, in] VARIANT varargStart);            \
4742                                                                         \
4743     [id(DISPID_IHTMLELEMENT_CONTAINS)]                                  \
4744     VARIANT_BOOL contains([in] IHTMLElement* pChild);                   \
4745                                                                         \
4746     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]            \
4747     LONG sourceIndex();                                                 \
4748                                                                         \
4749     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]                     \
4750     VARIANT recordNumber();                                             \
4751                                                                         \
4752     [propput, id(DISPID_IHTMLELEMENT_LANG)]                             \
4753     void lang(BSTR v);                                                  \
4754                                                                         \
4755     [propget, id(DISPID_IHTMLELEMENT_LANG)]                             \
4756     BSTR lang();                                                        \
4757                                                                         \
4758     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]                       \
4759     LONG offsetLeft();                                                  \
4760                                                                         \
4761     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]                        \
4762     LONG offsetTop();                                                   \
4763                                                                         \
4764     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]                      \
4765     LONG offsetWidth();                                                 \
4766                                                                         \
4767     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]                     \
4768     LONG offsetHeight();                                                \
4769                                                                         \
4770     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]                     \
4771     IHTMLElement* offsetParent();                                       \
4772                                                                         \
4773     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4774     void innerHTML(BSTR v);                                             \
4775                                                                         \
4776     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4777     BSTR innerHTML();                                                   \
4778                                                                         \
4779     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4780     void innerText(BSTR v);                                             \
4781                                                                         \
4782     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4783     BSTR innerText();                                                   \
4784                                                                         \
4785     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4786     void outerHTML(BSTR v);                                             \
4787                                                                         \
4788     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4789     BSTR outerHTML();                                                   \
4790                                                                         \
4791     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4792     void outerText(BSTR v);                                             \
4793                                                                         \
4794     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4795     BSTR outerText();                                                   \
4796                                                                         \
4797     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]                        \
4798     void insertAdjacentHTML(                                            \
4799         [in] BSTR where,                                                \
4800         [in] BSTR html);                                                \
4801                                                                         \
4802     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]                        \
4803     void insertAdjacentText(                                            \
4804         [in] BSTR where,                                                \
4805         [in] BSTR text);                                                \
4806                                                                         \
4807     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]                   \
4808     IHTMLElement* parentTextEdit();                                     \
4809                                                                         \
4810     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]                       \
4811     VARIANT_BOOL isTextEdit();                                          \
4812                                                                         \
4813     [id(DISPID_IHTMLELEMENT_CLICK)]                                     \
4814     void click();                                                       \
4815                                                                         \
4816     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]                          \
4817     IHTMLFiltersCollection* filters();                                  \
4818                                                                         \
4819     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4820     void ondragstart(VARIANT v);                                        \
4821                                                                         \
4822     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4823     VARIANT ondragstart();                                              \
4824                                                                         \
4825     [id(DISPID_IHTMLELEMENT_TOSTRING)]                                  \
4826     BSTR toString();                                                    \
4827                                                                         \
4828     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4829     void onbeforeupdate(VARIANT v);                                     \
4830                                                                         \
4831     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4832     VARIANT onbeforeupdate();                                           \
4833                                                                         \
4834     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4835     void onafterupdate(VARIANT v);                                      \
4836                                                                         \
4837     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4838     VARIANT onafterupdate();                                            \
4839                                                                         \
4840     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4841     void onerrorupdate(VARIANT v);                                      \
4842                                                                         \
4843     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4844     VARIANT onerrorupdate();                                            \
4845                                                                         \
4846     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4847     void onrowexit(VARIANT v);                                          \
4848                                                                         \
4849     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4850     VARIANT onrowexit();                                                \
4851                                                                         \
4852     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4853     void onrowenter(VARIANT v);                                         \
4854                                                                         \
4855     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4856     VARIANT onrowenter();                                               \
4857                                                                         \
4858     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4859     void ondatasetchanged(VARIANT v);                                   \
4860                                                                         \
4861     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4862     VARIANT ondatasetchanged();                                         \
4863                                                                         \
4864     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4865     void ondataavailable(VARIANT v);                                    \
4866                                                                         \
4867     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4868     VARIANT ondataavailable();                                          \
4869                                                                         \
4870     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4871     void ondatasetcomplete(VARIANT v);                                  \
4872                                                                         \
4873     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4874     VARIANT ondatasetcomplete();                                        \
4875                                                                         \
4876     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4877     void onfilterchange(VARIANT v);                                     \
4878                                                                         \
4879     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4880     VARIANT onfilterchange();                                           \
4881                                                                         \
4882     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]                         \
4883     IDispatch* children();                                              \
4884                                                                         \
4885     [propget, id(DISPID_IHTMLELEMENT_ALL)]                              \
4886     IDispatch* all()
4887
4888 /*****************************************************************************
4889  *    IHTMLElement2 interface
4890  */
4891 [
4892     odl,
4893     oleautomation,
4894     dual,
4895     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
4896 ]
4897 interface IHTMLElement2 : IDispatch
4898 {
4899     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4900     HRESULT scopeName([retval, out] BSTR *p);
4901
4902     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4903     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
4904
4905     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4906     HRESULT releaseCapture();
4907
4908     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4909     HRESULT onlosecapture([in] VARIANT v);
4910
4911     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4912     HRESULT onlosecapture([retval, out] VARIANT *p);
4913
4914     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4915     HRESULT componentFromPoint(
4916         [in] LONG x,
4917         [in] LONG y,
4918         [retval, out] BSTR *component);
4919
4920     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4921     HRESULT doScroll([optional, in] VARIANT component);
4922
4923     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4924     HRESULT onscroll([in] VARIANT v);
4925
4926     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4927     HRESULT onscroll([retval, out] VARIANT *p);
4928
4929     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4930     HRESULT ondrag([in] VARIANT v);
4931
4932     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4933     HRESULT ondrag([retval, out] VARIANT *p);
4934
4935     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4936     HRESULT ondragend([in] VARIANT v);
4937
4938     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4939     HRESULT ondragend([retval, out] VARIANT *p);
4940
4941     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4942     HRESULT ondragenter([in] VARIANT v);
4943
4944     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4945     HRESULT ondragenter([retval, out] VARIANT *p);
4946
4947     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4948     HRESULT ondragover([in] VARIANT v);
4949
4950     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4951     HRESULT ondragover([retval, out] VARIANT *p);
4952
4953     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4954     HRESULT ondragleave([in] VARIANT v);
4955
4956     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4957     HRESULT ondragleave([retval, out] VARIANT *p);
4958
4959     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4960     HRESULT ondrop([in] VARIANT v);
4961
4962     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4963     HRESULT ondrop([retval, out] VARIANT *p);
4964
4965     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4966     HRESULT onbeforecut([in] VARIANT v);
4967
4968     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4969     HRESULT onbeforecut([retval, out] VARIANT *p);
4970
4971     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4972     HRESULT oncut([in] VARIANT v);
4973
4974     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4975     HRESULT oncut([retval, out] VARIANT *p);
4976
4977     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4978     HRESULT onbeforecopy([in] VARIANT v);
4979
4980     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4981     HRESULT onbeforecopy([retval, out] VARIANT *p);
4982
4983     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4984     HRESULT oncopy([in] VARIANT v);
4985
4986     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4987     HRESULT oncopy([retval, out] VARIANT *p);
4988
4989     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4990     HRESULT onbeforepaste([in] VARIANT v);
4991
4992     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4993     HRESULT onbeforepaste([retval, out] VARIANT *p);
4994
4995     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4996     HRESULT onpaste([in] VARIANT v);
4997
4998     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4999     HRESULT onpaste([retval, out] VARIANT *p);
5000
5001     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
5002     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
5003
5004     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5005     HRESULT onpropertychange([in] VARIANT v);
5006
5007     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5008     HRESULT onpropertychange([retval, out] VARIANT *p);
5009
5010     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
5011     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
5012
5013     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
5014     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
5015
5016     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
5017     HRESULT setExpression(
5018         [in] BSTR propname,
5019         [in] BSTR expression,
5020         [defaultvalue(""), in] BSTR language);
5021
5022     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
5023     HRESULT getExpression(
5024         [in] BSTR propname,
5025         [retval, out] VARIANT *expression);
5026
5027     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
5028     HRESULT removeExpression(
5029         [in] BSTR propname,
5030         [retval, out] VARIANT_BOOL *pfSuccess);
5031
5032     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5033     HRESULT tabIndex([in] short v);
5034
5035     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5036     HRESULT tabIndex([retval, out] short *p);
5037
5038     [id(DISPID_IHTMLELEMENT2_FOCUS)]
5039     HRESULT focus();
5040
5041     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5042     HRESULT accessKey([in] BSTR v);
5043
5044     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5045     HRESULT accessKey([retval, out] BSTR *p);
5046
5047     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5048     HRESULT onblur([in] VARIANT v);
5049
5050     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5051     HRESULT onblur([retval, out] VARIANT *p);
5052
5053     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5054     HRESULT onfocus([in] VARIANT v);
5055
5056     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5057     HRESULT onfocus([retval, out] VARIANT *p);
5058
5059     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5060     HRESULT onresize([in] VARIANT v);
5061
5062     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5063     HRESULT onresize([retval, out] VARIANT *p);
5064
5065     [id(DISPID_IHTMLELEMENT2_BLUR)]
5066     HRESULT blur();
5067
5068     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
5069     HRESULT addFilter([in] IUnknown *pUnk);
5070
5071     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
5072     HRESULT removeFilter([in] IUnknown *pUnk);
5073
5074     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
5075     HRESULT clientHeight([retval, out] LONG *p);
5076
5077     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
5078     HRESULT clientWidth([retval, out] LONG *p);
5079
5080     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
5081     HRESULT clientTop([retval, out] LONG *p);
5082
5083     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
5084     HRESULT clientLeft([retval, out] LONG *p);
5085
5086     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
5087     HRESULT attachEvent(
5088         [in] BSTR event,
5089         [in] IDispatch *pDisp,
5090         [retval, out] VARIANT_BOOL *pfResult);
5091
5092     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
5093     HRESULT detachEvent(
5094         [in] BSTR event,
5095         [in] IDispatch *pDisp);
5096
5097     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
5098     HRESULT readyState([retval, out] VARIANT *p);
5099
5100     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5101     HRESULT onreadystatechange([in] VARIANT v);
5102
5103     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5104     HRESULT onreadystatechange([retval, out] VARIANT *p);
5105
5106     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5107     HRESULT onrowsdelete([in] VARIANT v);
5108
5109     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5110     HRESULT onrowsdelete([retval, out] VARIANT *p);
5111
5112     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5113     HRESULT onrowsinserted([in] VARIANT v);
5114
5115     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5116     HRESULT onrowsinserted([retval, out] VARIANT *p);
5117
5118     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5119     HRESULT oncellchange([in] VARIANT v);
5120
5121     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5122     HRESULT oncellchange([retval, out] VARIANT *p);
5123
5124     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5125     HRESULT dir([in] BSTR v);
5126
5127     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5128     HRESULT dir([retval, out] BSTR *p);
5129
5130     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5131     HRESULT createControlRange([retval, out] IDispatch **range);
5132
5133     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5134     HRESULT scrollHeight([retval, out] LONG *p);
5135
5136     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5137     HRESULT scrollWidth([retval, out] LONG *p);
5138
5139     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5140     HRESULT scrollTop([in] LONG v);
5141
5142     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5143     HRESULT scrollTop([retval, out] LONG *p);
5144
5145     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5146     HRESULT scrollLeft([in] LONG v);
5147
5148     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5149     HRESULT scrollLeft([retval, out] LONG *p);
5150
5151     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5152     HRESULT clearAttributes();
5153
5154     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
5155     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
5156
5157     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5158     HRESULT oncontextmenu([in] VARIANT v);
5159
5160     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5161     HRESULT oncontextmenu([retval, out] VARIANT *p);
5162
5163     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5164     HRESULT insertAdjacentElement(
5165         [in] BSTR where,
5166         [in] IHTMLElement *insertedElement,
5167         [retval, out] IHTMLElement **inserted);
5168
5169     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5170     HRESULT applyElement(
5171         [in] IHTMLElement *apply,
5172         [in] BSTR where,
5173         [retval, out] IHTMLElement **applied);
5174
5175     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5176     HRESULT getAdjacentText(
5177         [in] BSTR where,
5178         [retval, out] BSTR *text);
5179
5180     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5181     HRESULT replaceAdjacentText(
5182         [in] BSTR where,
5183         [in] BSTR newText,
5184         [retval, out] BSTR *oldText);
5185
5186     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5187     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
5188
5189     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5190     HRESULT addBehavior(
5191         [in] BSTR bstrUrl,
5192         [optional, in] VARIANT *pvarFactory,
5193         [retval, out] LONG *pCookie);
5194
5195     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5196     HRESULT removeBehavior(
5197         [in] LONG cookie,
5198         [retval, out] VARIANT_BOOL *pfResult);
5199
5200     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5201     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
5202
5203     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5204     HRESULT behaviorUrns([retval, out] IDispatch **p);
5205
5206     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5207     HRESULT tagUrn([in] BSTR v);
5208
5209     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5210     HRESULT tagUrn([retval, out] BSTR *p);
5211
5212     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5213     HRESULT onbeforeeditfocus([in] VARIANT v);
5214
5215     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5216     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
5217
5218     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5219     HRESULT readyStateValue([retval, out] LONG *p);
5220
5221     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5222     HRESULT getElementsByTagName(
5223         [in] BSTR v,
5224         [retval, out] IHTMLElementCollection **pelColl);
5225 }
5226
5227 #define WINE_IHTMLELEMENT2_DISPINTERFACE_DECL                           \
5228     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]                       \
5229     BSTR scopeName();                                                   \
5230                                                                         \
5231     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]                               \
5232     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture); \
5233                                                                         \
5234     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]                           \
5235     void releaseCapture();                                              \
5236                                                                         \
5237     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
5238     void onlosecapture(VARIANT v);                                      \
5239                                                                         \
5240     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
5241     VARIANT onlosecapture();                                            \
5242                                                                         \
5243     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]                       \
5244     BSTR componentFromPoint([in] LONG x,[in] LONG y);                   \
5245                                                                         \
5246     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]                                 \
5247     void doScroll([optional, in] VARIANT component);                    \
5248                                                                         \
5249     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
5250     void onscroll(VARIANT v);                                           \
5251                                                                         \
5252     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
5253     VARIANT onscroll();                                                 \
5254                                                                         \
5255     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
5256     void ondrag(VARIANT v);                                             \
5257                                                                         \
5258     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
5259     VARIANT ondrag();                                                   \
5260                                                                         \
5261     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
5262     void ondragend(VARIANT v);                                          \
5263                                                                         \
5264     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
5265     VARIANT ondragend();                                                \
5266                                                                         \
5267     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
5268     void ondragenter(VARIANT v);                                        \
5269                                                                         \
5270     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
5271     VARIANT ondragenter();                                              \
5272                                                                         \
5273     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
5274     void ondragover(VARIANT v);                                         \
5275                                                                         \
5276     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
5277     VARIANT ondragover();                                               \
5278                                                                         \
5279     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
5280     void ondragleave(VARIANT v);                                        \
5281                                                                         \
5282     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
5283     VARIANT ondragleave();                                              \
5284                                                                         \
5285     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
5286     void ondrop(VARIANT v);                                             \
5287                                                                         \
5288     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
5289     VARIANT ondrop();                                                   \
5290                                                                         \
5291     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
5292     void onbeforecut(VARIANT v);                                        \
5293                                                                         \
5294     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
5295     VARIANT onbeforecut();                                              \
5296                                                                         \
5297     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
5298     void oncut(VARIANT v);                                              \
5299                                                                         \
5300     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
5301     VARIANT oncut();                                                    \
5302                                                                         \
5303     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
5304     void onbeforecopy(VARIANT v);                                       \
5305                                                                         \
5306     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
5307     VARIANT onbeforecopy();                                             \
5308                                                                         \
5309     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
5310     void oncopy(VARIANT v);                                             \
5311                                                                         \
5312     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
5313     VARIANT oncopy();                                                   \
5314                                                                         \
5315     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
5316     void onbeforepaste(VARIANT v);                                      \
5317                                                                         \
5318     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
5319     VARIANT onbeforepaste();                                            \
5320                                                                         \
5321     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
5322     void onpaste(VARIANT v);                                            \
5323                                                                         \
5324     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
5325     VARIANT onpaste();                                                  \
5326                                                                         \
5327     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]      \
5328     IHTMLCurrentStyle* currentStyle();                                  \
5329                                                                         \
5330     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
5331     void onpropertychange(VARIANT v);                                   \
5332                                                                         \
5333     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
5334     VARIANT onpropertychange();                                         \
5335                                                                         \
5336     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]                           \
5337     IHTMLRectCollection* getClientRects();                              \
5338                                                                         \
5339     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]                    \
5340     IHTMLRect* getBoundingClientRect();                                 \
5341                                                                         \
5342     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]                            \
5343     void setExpression(                                                 \
5344         [in] BSTR propname,                                             \
5345         [in] BSTR expr,                                                 \
5346         [defaultvalue(""), in] BSTR lang);                              \
5347                                                                         \
5348     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]                            \
5349     VARIANT getExpression([in] BSTR propname);                          \
5350                                                                         \
5351     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]                         \
5352     VARIANT_BOOL removeExpression([in] BSTR propname);                  \
5353                                                                         \
5354     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
5355     void tabIndex(short v);                                             \
5356                                                                         \
5357     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
5358     short tabIndex();                                                   \
5359                                                                         \
5360     [id(DISPID_IHTMLELEMENT2_FOCUS)]                                    \
5361     void focus();                                                       \
5362                                                                         \
5363     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
5364     void accessKey(BSTR v);                                             \
5365                                                                         \
5366     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
5367     BSTR accessKey();                                                   \
5368                                                                         \
5369     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5370     void onblur(VARIANT v);                                             \
5371                                                                         \
5372     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5373     VARIANT onblur();                                                   \
5374                                                                         \
5375     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5376     void onfocus(VARIANT v);                                            \
5377                                                                         \
5378     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5379     VARIANT onfocus();                                                  \
5380                                                                         \
5381     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5382     void onresize(VARIANT v);                                           \
5383                                                                         \
5384     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5385     VARIANT onresize();                                                 \
5386                                                                         \
5387     [id(DISPID_IHTMLELEMENT2_BLUR)]                                     \
5388     void blur();                                                        \
5389                                                                         \
5390     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]                                \
5391     void addFilter([in] IUnknown* pUnk);                                \
5392                                                                         \
5393     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]                             \
5394     void removeFilter([in] IUnknown* pUnk);                             \
5395                                                                         \
5396     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] \
5397     LONG clientHeight();                                                \
5398                                                                         \
5399     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] \
5400     LONG clientWidth();                                                 \
5401                                                                         \
5402     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] \
5403     LONG clientTop();                                                   \
5404                                                                         \
5405     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] \
5406     LONG clientLeft();                                                  \
5407                                                                         \
5408     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]                              \
5409     VARIANT_BOOL attachEvent(                                           \
5410             [in] BSTR event,                                            \
5411             [in] IDispatch* pDisp);                                     \
5412                                                                         \
5413     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]                              \
5414     void detachEvent(                                                   \
5415             [in] BSTR event,                                            \
5416             [in] IDispatch* pDisp);                                     \
5417                                                                         \
5418     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState(); \
5419                                                                         \
5420     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5421     void onreadystatechange(VARIANT v);                                 \
5422                                                                         \
5423     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5424     VARIANT onreadystatechange();                                       \
5425                                                                         \
5426     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5427     void onrowsdelete(VARIANT v);                                       \
5428                                                                         \
5429     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5430     VARIANT onrowsdelete();                                             \
5431                                                                         \
5432     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5433     void onrowsinserted(VARIANT v);                                     \
5434                                                                         \
5435     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5436     VARIANT onrowsinserted();                                           \
5437                                                                         \
5438     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5439     void oncellchange(VARIANT v);                                       \
5440                                                                         \
5441     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5442     VARIANT oncellchange();                                             \
5443                                                                         \
5444     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5445     void dir(BSTR v);                                                   \
5446                                                                         \
5447     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5448     BSTR dir();                                                         \
5449                                                                         \
5450     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]                       \
5451     IDispatch* createControlRange();                                    \
5452                                                                         \
5453     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] \
5454     LONG scrollHeight();                                                \
5455                                                                         \
5456     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] \
5457     LONG scrollWidth();                                                 \
5458                                                                         \
5459     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5460     void scrollTop(LONG v);                                             \
5461                                                                         \
5462     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5463     LONG scrollTop();                                                   \
5464                                                                         \
5465     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5466     void scrollLeft(LONG v);                                            \
5467                                                                         \
5468     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5469     LONG scrollLeft();                                                  \
5470                                                                         \
5471     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]                          \
5472     void clearAttributes();                                             \
5473                                                                         \
5474     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5475     void oncontextmenu(VARIANT v);                                      \
5476                                                                         \
5477     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5478     VARIANT oncontextmenu();                                            \
5479                                                                         \
5480     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]                    \
5481     IHTMLElement* insertAdjacentElement(                                \
5482         [in] BSTR where,                                                \
5483         [in] IHTMLElement* insertedElement);                            \
5484                                                                         \
5485     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]                             \
5486     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where); \
5487                                                                         \
5488     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]                          \
5489     BSTR getAdjacentText([in] BSTR where);                              \
5490                                                                         \
5491     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]                      \
5492     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);        \
5493                                                                         \
5494     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]                 \
5495     VARIANT_BOOL canHaveChildren();                                     \
5496                                                                         \
5497     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]                              \
5498     LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory); \
5499                                                                         \
5500     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]                           \
5501     VARIANT_BOOL removeBehavior([in] LONG cookie);                      \
5502                                                                         \
5503     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]      \
5504     IHTMLStyle* runtimeStyle();                                         \
5505                                                                         \
5506     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]                    \
5507     IDispatch* behaviorUrns();                                          \
5508                                                                         \
5509     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5510     void tagUrn(BSTR v);                                                \
5511                                                                         \
5512     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5513     BSTR tagUrn();                                                      \
5514                                                                         \
5515     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5516     void onbeforeeditfocus(VARIANT v);                                  \
5517                                                                         \
5518     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5519     VARIANT onbeforeeditfocus();                                        \
5520                                                                         \
5521     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] \
5522     LONG readyStateValue();                                             \
5523                                                                         \
5524     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]                     \
5525     IHTMLElementCollection* getElementsByTagName([in] BSTR v)
5526
5527 /*****************************************************************************
5528  *    IHTMLElement3 interface
5529  */
5530 [
5531     odl,
5532     oleautomation,
5533     dual,
5534     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
5535 ]
5536 interface IHTMLElement3 : IDispatch
5537 {
5538     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
5539     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
5540
5541     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5542     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
5543
5544     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5545     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
5546
5547     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5548     HRESULT onlayoutcomplete([in] VARIANT v);
5549
5550     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5551     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
5552
5553     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5554     HRESULT onpage([in] VARIANT v);
5555
5556     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5557     HRESULT onpage([retval, out] VARIANT * p);
5558
5559     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5560     HRESULT inflateBlock([in] VARIANT_BOOL v);
5561
5562     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5563     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
5564
5565     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5566     HRESULT onbeforedeactivate([in] VARIANT v);
5567
5568     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5569     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
5570
5571     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
5572
5573     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5574     HRESULT contentEditable([in] BSTR v);
5575
5576     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5577     HRESULT contentEditable([retval, out] BSTR * p);
5578
5579     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5580     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
5581
5582     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5583     HRESULT hideFocus([in] VARIANT_BOOL v);
5584
5585     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5586     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
5587
5588     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5589     HRESULT disabled([in] VARIANT_BOOL v);
5590
5591     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5592     HRESULT disabled([retval, out] VARIANT_BOOL * p);
5593
5594     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5595     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
5596
5597     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5598     HRESULT onmove([in] VARIANT v);
5599
5600     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5601     HRESULT onmove([retval, out] VARIANT * p);
5602
5603     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5604     HRESULT oncontrolselect([in] VARIANT v);
5605
5606     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5607     HRESULT oncontrolselect([retval, out] VARIANT * p);
5608
5609     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5610     HRESULT fireEvent(
5611         [in] BSTR bstrEventName,
5612         [optional, in] VARIANT* pvarEventObject,
5613         [retval, out] VARIANT_BOOL* pfCancelled);
5614
5615     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5616     HRESULT onresizestart([in] VARIANT v);
5617
5618     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5619     HRESULT onresizestart([retval, out] VARIANT * p);
5620
5621     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5622     HRESULT onresizeend([in] VARIANT v);
5623
5624     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5625     HRESULT onresizeend([retval, out] VARIANT * p);
5626
5627     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5628     HRESULT onmovestart([in] VARIANT v);
5629
5630     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5631     HRESULT onmovestart([retval, out] VARIANT * p);
5632
5633     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5634     HRESULT onmoveend([in] VARIANT v);
5635
5636     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5637     HRESULT onmoveend([retval, out] VARIANT * p);
5638
5639     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5640     HRESULT onmouseenter([in] VARIANT v);
5641
5642     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5643     HRESULT onmouseenter([retval, out] VARIANT * p);
5644
5645     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5646     HRESULT onmouseleave([in] VARIANT v);
5647
5648     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5649     HRESULT onmouseleave([retval, out] VARIANT * p);
5650
5651     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5652     HRESULT onactivate([in] VARIANT v);
5653
5654     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5655     HRESULT onactivate([retval, out] VARIANT * p);
5656
5657     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5658     HRESULT ondeactivate([in] VARIANT v);
5659
5660     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5661     HRESULT ondeactivate([retval, out] VARIANT * p);
5662
5663     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
5664     VARIANT_BOOL* pfRet);
5665
5666     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5667     HRESULT glyphMode([retval, out] LONG * p);
5668 }
5669
5670 #define WINE_IHTMLELEMENT3_DISPINTERFACE_DECL                           \
5671                                                                         \
5672     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]                          \
5673     void mergeAttributes(                                               \
5674             [in] IHTMLElement* mergeThis,                               \
5675             [optional, in] VARIANT* pvarFlags);                         \
5676                                                                         \
5677     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]                     \
5678     VARIANT_BOOL isMultiLine();                                         \
5679                                                                         \
5680     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]                     \
5681     VARIANT_BOOL canHaveHTML();                                         \
5682                                                                         \
5683     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5684     void onlayoutcomplete(VARIANT v);                                   \
5685                                                                         \
5686     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5687     VARIANT onlayoutcomplete();                                         \
5688                                                                         \
5689     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5690     void onpage(VARIANT v);                                             \
5691                                                                         \
5692     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5693     VARIANT onpage();                                                   \
5694                                                                         \
5695     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5696     void inflateBlock(VARIANT_BOOL v);                                  \
5697                                                                         \
5698     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5699     VARIANT_BOOL inflateBlock();                                        \
5700                                                                         \
5701     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5702     void onbeforedeactivate(VARIANT v);                                 \
5703                                                                         \
5704     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5705     VARIANT onbeforedeactivate();                                       \
5706                                                                         \
5707     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]                                \
5708     void setActive();                                                   \
5709                                                                         \
5710     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5711     void contentEditable(BSTR v);                                       \
5712                                                                         \
5713     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5714     BSTR contentEditable();                                             \
5715                                                                         \
5716     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]               \
5717     VARIANT_BOOL isContentEditable();                                   \
5718                                                                         \
5719     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5720     void hideFocus(VARIANT_BOOL v);                                     \
5721                                                                         \
5722     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5723     VARIANT_BOOL hideFocus();                                           \
5724                                                                         \
5725     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5726     void disabled(VARIANT_BOOL v);                                      \
5727                                                                         \
5728     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5729     VARIANT_BOOL disabled();                                            \
5730                                                                         \
5731     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]                      \
5732     VARIANT_BOOL isDisabled();                                          \
5733                                                                         \
5734     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5735     void onmove(VARIANT v);                                             \
5736                                                                         \
5737     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5738     VARIANT onmove();                                                   \
5739                                                                         \
5740     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5741     void oncontrolselect(VARIANT v);                                    \
5742                                                                         \
5743     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5744     VARIANT oncontrolselect();                                          \
5745                                                                         \
5746     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]                                \
5747     VARIANT_BOOL fireEvent(                                             \
5748         [in] BSTR bstrEventName,                                        \
5749         [optional, in] VARIANT* pvarEventObject);                       \
5750                                                                         \
5751     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5752     void onresizestart(VARIANT v);                                      \
5753                                                                         \
5754     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5755     VARIANT onresizestart();                                            \
5756                                                                         \
5757     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5758     void onresizeend(VARIANT v);                                        \
5759                                                                         \
5760     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5761     VARIANT onresizeend();                                              \
5762                                                                         \
5763     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5764     void onmovestart(VARIANT v);                                        \
5765                                                                         \
5766     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5767     VARIANT onmovestart();                                              \
5768                                                                         \
5769     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5770     void onmoveend(VARIANT v);                                          \
5771                                                                         \
5772     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5773     VARIANT onmoveend();                                                \
5774                                                                         \
5775     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5776     void onmouseenter(VARIANT v);                                       \
5777                                                                         \
5778     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5779     VARIANT onmouseenter();                                             \
5780                                                                         \
5781     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5782     void onmouseleave(VARIANT v);                                       \
5783                                                                         \
5784     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5785     VARIANT onmouseleave();                                             \
5786                                                                         \
5787     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5788     void onactivate(VARIANT v);                                         \
5789                                                                         \
5790     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5791     VARIANT onactivate();                                               \
5792                                                                         \
5793     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5794     void ondeactivate(VARIANT v);                                       \
5795                                                                         \
5796     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5797     VARIANT ondeactivate();                                             \
5798                                                                         \
5799     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]                                 \
5800     VARIANT_BOOL dragDrop();                                            \
5801                                                                         \
5802     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] \
5803     LONG glyphMode()
5804
5805 /*****************************************************************************
5806  *    IHTMLElement4 interface
5807  */
5808 [
5809     odl,
5810     oleautomation,
5811     dual,
5812     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
5813 ]
5814 interface IHTMLElement4 : IDispatch
5815 {
5816     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5817     HRESULT onmousewheel([in] VARIANT v);
5818
5819     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5820     HRESULT onmousewheel([retval, out] VARIANT * p);
5821
5822     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5823     HRESULT normalize();
5824
5825     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5826     HRESULT getAttributeNode([in] BSTR bstrname,
5827         [retval, out] IHTMLDOMAttribute** ppAttribute);
5828
5829     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5830     HRESULT setAttributeNode(
5831         [in] IHTMLDOMAttribute* pattr,
5832         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5833
5834     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5835     HRESULT removeAttributeNode(
5836         [in] IHTMLDOMAttribute* pattr,
5837         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5838
5839     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5840     HRESULT onbeforeactivate([in] VARIANT v);
5841
5842     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5843     HRESULT onbeforeactivate([retval, out] VARIANT * p);
5844
5845     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5846     HRESULT onfocusin([in] VARIANT v);
5847
5848     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5849     HRESULT onfocusin([retval, out] VARIANT * p);
5850
5851     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5852     HRESULT onfocusout([in] VARIANT v);
5853
5854     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5855     HRESULT onfocusout([retval, out] VARIANT * p);
5856 }
5857
5858 #define WINE_IHTMLELEMENT4_DISPINTERFACE_DECL                           \
5859     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5860     void onmousewheel(VARIANT v);                                       \
5861                                                                         \
5862     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5863     VARIANT onmousewheel();                                             \
5864                                                                         \
5865     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]                                \
5866     void normalize();                                                   \
5867                                                                         \
5868     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]                         \
5869     IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);            \
5870                                                                         \
5871     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]                         \
5872     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr); \
5873                                                                         \
5874     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]                      \
5875     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr); \
5876                                                                         \
5877     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5878     void onbeforeactivate(VARIANT v);                                   \
5879                                                                         \
5880     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5881     VARIANT onbeforeactivate();                                         \
5882                                                                         \
5883     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5884     void onfocusin(VARIANT v);                                          \
5885                                                                         \
5886     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5887     VARIANT onfocusin();                                                \
5888                                                                         \
5889     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5890     void onfocusout(VARIANT v);                                         \
5891                                                                         \
5892     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5893     VARIANT onfocusout()
5894
5895 #define WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL                \
5896     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)]                 \
5897     IHTMLElement *querySelector([in] BSTR v);                   \
5898                                                                 \
5899     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)]              \
5900     IHTMLDOMChildrenCollection *querySelectorAll([in] BSTR v)
5901
5902 /*****************************************************************************
5903  *    IHTMLUniqueName interface
5904  */
5905 [
5906     odl,
5907     oleautomation,
5908     dual,
5909     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
5910 ]
5911 interface IHTMLUniqueName : IDispatch
5912 {
5913     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5914     HRESULT uniqueNumber([retval, out] LONG * p);
5915
5916     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5917     HRESULT uniqueID([retval, out] BSTR * p);
5918 }
5919
5920 #define WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL                 \
5921     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]  \
5922     LONG uniqueNumber();                                        \
5923                                                                 \
5924     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]      \
5925     BSTR uniqueID()
5926
5927 #define WINE_IHTMLELEMENT5_DISPINTERFACE_DECL                           \
5928     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)]                     \
5929     IHTMLDOMAttribute2 *ie8_getAttributeNode([in] BSTR bstrname);       \
5930                                                                         \
5931     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)]                     \
5932     IHTMLDOMAttribute2 *ie8_setAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5933                                                                         \
5934     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)]                  \
5935     IHTMLDOMAttribute2 *ie8_removeAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5936                                                                         \
5937     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)]                             \
5938     VARIANT_BOOL hasAttribute([in] BSTR name);                          \
5939                                                                         \
5940     [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5941     void role(BSTR v);                                                  \
5942                                                                         \
5943     [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5944     BSTR role();                                                        \
5945                                                                         \
5946     [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5947     void ariaBusy(BSTR v);                                              \
5948                                                                         \
5949     [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5950     BSTR ariaBusy();                                                    \
5951                                                                         \
5952     [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5953     void ariaChecked(BSTR v);                                           \
5954                                                                         \
5955     [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5956     BSTR ariaChecked();                                                 \
5957                                                                         \
5958     [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5959     void ariaDisabled(BSTR v);                                          \
5960                                                                         \
5961     [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5962     BSTR ariaDisabled();                                                \
5963                                                                         \
5964     [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5965     void ariaExpanded(BSTR v);                                          \
5966                                                                         \
5967     [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5968     BSTR ariaExpanded();                                                \
5969                                                                         \
5970     [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable]\
5971     void ariaHaspopup(BSTR v);                                          \
5972                                                                         \
5973     [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] \
5974     BSTR ariaHaspopup();                                                \
5975                                                                         \
5976     [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5977     void ariaHidden(BSTR v);                                            \
5978                                                                         \
5979     [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5980     BSTR ariaHidden();                                                  \
5981                                                                         \
5982     [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5983     void ariaInvalid(BSTR v);                                           \
5984                                                                         \
5985     [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5986     BSTR ariaInvalid();                                                 \
5987                                                                         \
5988     [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5989     void ariaMultiselectable(BSTR v);                                   \
5990                                                                         \
5991     [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5992     BSTR ariaMultiselectable();                                         \
5993                                                                         \
5994     [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5995     void ariaPressed(BSTR v);                                           \
5996                                                                         \
5997     [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5998     BSTR ariaPressed();                                                 \
5999                                                                         \
6000     [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
6001     void ariaReadonly(BSTR v);                                          \
6002                                                                         \
6003     [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
6004     BSTR ariaReadonly();                                                \
6005                                                                         \
6006     [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
6007     void ariaRequired(BSTR v);                                          \
6008                                                                         \
6009     [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
6010     BSTR ariaRequired();                                                \
6011                                                                         \
6012     [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
6013     void ariaSecret(BSTR v);                                            \
6014                                                                         \
6015     [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
6016     BSTR ariaSecret();                                                  \
6017                                                                         \
6018     [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
6019     void ariaSelected(BSTR v);                                          \
6020                                                                         \
6021     [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
6022     BSTR ariaSelected();                                                \
6023                                                                         \
6024     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)]                         \
6025     VARIANT ie8_getAttribute([in] BSTR strAttributeName);               \
6026                                                                         \
6027     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)]                         \
6028     void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue); \
6029                                                                         \
6030     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)]                      \
6031     VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);       \
6032                                                                         \
6033     [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)]                  \
6034     IHTMLAttributeCollection3 *ie8_attributes();                        \
6035                                                                         \
6036     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
6037     void ariaValuenow(BSTR v);                                          \
6038                                                                         \
6039     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
6040     BSTR ariaValuenow();                                                \
6041                                                                         \
6042     [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
6043     void ariaPosinset(short v);                                         \
6044                                                                         \
6045     [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
6046     short ariaPosinset();                                               \
6047                                                                         \
6048     [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
6049     void ariaSetsize(short v);                                          \
6050                                                                         \
6051     [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
6052     short ariaSetsize();                                                \
6053                                                                         \
6054     [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
6055     void ariaLevel(short v);                                            \
6056                                                                         \
6057     [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
6058     short ariaLevel();                                                  \
6059                                                                         \
6060     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
6061     void ariaValuemin(BSTR v);                                          \
6062                                                                         \
6063     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
6064     BSTR ariaValuemin();                                                \
6065                                                                         \
6066     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
6067     void ariaValuemax(BSTR v);                                          \
6068                                                                         \
6069     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
6070     BSTR ariaValuemax();                                                \
6071                                                                         \
6072     [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
6073     void ariaControls(BSTR v);                                          \
6074                                                                         \
6075     [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
6076     BSTR ariaControls();                                                \
6077                                                                         \
6078     [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
6079     void ariaDescribedby(BSTR v);                                       \
6080                                                                         \
6081     [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
6082     BSTR ariaDescribedby();                                             \
6083                                                                         \
6084     [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
6085     void ariaFlowto(BSTR v);                                            \
6086                                                                         \
6087     [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
6088     BSTR ariaFlowto();                                                  \
6089                                                                         \
6090     [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
6091     void ariaLabelledby(BSTR v);                                        \
6092                                                                         \
6093     [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
6094     BSTR ariaLabelledby();                                              \
6095                                                                         \
6096     [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
6097     void ariaActivedescendant(BSTR v);                                  \
6098                                                                         \
6099     [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
6100     BSTR ariaActivedescendant();                                        \
6101                                                                         \
6102     [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
6103     void ariaOwns(BSTR v);                                              \
6104                                                                         \
6105     [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
6106     BSTR ariaOwns();                                                    \
6107                                                                         \
6108     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)]                            \
6109     VARIANT_BOOL hasAttributes();                                       \
6110                                                                         \
6111     [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
6112     void ariaLive(BSTR v);                                              \
6113                                                                         \
6114     [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
6115     BSTR ariaLive();                                                    \
6116                                                                         \
6117     [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
6118     void ariaRelevant(BSTR v);                                          \
6119                                                                         \
6120     [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
6121     BSTR ariaRelevant()
6122
6123 [
6124     odl,
6125     oleautomation,
6126     dual,
6127     uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
6128 ]
6129 interface IHTMLDatabinding : IDispatch
6130 {
6131     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6132     HRESULT dataFld([in] BSTR v);
6133
6134     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6135     HRESULT dataFld([retval, out] BSTR * p);
6136
6137     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6138     HRESULT dataSrc([in] BSTR v);
6139
6140     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6141     HRESULT dataSrc([retval, out] BSTR * p);
6142
6143     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6144     HRESULT dataFormatAs([in] BSTR v);
6145
6146     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6147     HRESULT dataFormatAs([retval, out] BSTR * p);
6148 }
6149
6150 #define WINE_IHTMLDATABINDING_DISPINTERFACE_DECL        \
6151     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
6152     void dataFld(BSTR v);                               \
6153                                                         \
6154     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
6155     BSTR dataFld();                                     \
6156                                                         \
6157     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
6158     void dataSrc(BSTR v);                               \
6159                                                         \
6160     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
6161     BSTR dataSrc();                                     \
6162                                                         \
6163     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
6164     void dataFormatAs(BSTR v);                          \
6165                                                         \
6166     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
6167     BSTR dataFormatAs()
6168
6169 #define WINE_HTMLELEMENT_DISPINTERFACE_DECL     \
6170     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
6171     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
6172     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
6173     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
6174     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
6175     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
6176     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
6177     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
6178
6179 #define WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL \
6180     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
6181     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
6182     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
6183     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
6184     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
6185     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
6186     WINE_IHTMLDATABINDING_DISPINTERFACE_DECL;   \
6187     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
6188     WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL;   \
6189     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
6190
6191 /*****************************************************************************
6192  *    IHTMLGenericElement interface
6193  */
6194 [
6195     odl,
6196     oleautomation,
6197     dual,
6198     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
6199 ]
6200 interface IHTMLGenericElement : IDispatch
6201 {
6202     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
6203     HRESULT recordset([out, retval] IDispatch **p);
6204
6205     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
6206     HRESULT namedRecordset(
6207             [in] BSTR dataMember,
6208             [in, optional] VARIANT *hierarchy,
6209             [out, retval] IDispatch **ppRecordset);
6210 }
6211
6212 /*****************************************************************************
6213  *    DispHTMLGenericElement dispinterface
6214  */
6215 [
6216     hidden,
6217     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
6218 ]
6219 dispinterface DispHTMLGenericElement
6220 {
6221 properties:
6222 methods:
6223     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6224
6225     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
6226     IDispatch *recordset();
6227
6228     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
6229     IDispatch *namedRecordset(
6230             [in] BSTR dataMember,
6231             [in, optional] VARIANT *hierarchy);
6232 }
6233
6234 /*****************************************************************************
6235  *    IHTMLStyleSheetRule interface
6236  */
6237 [
6238     odl,
6239     oleautomation,
6240     dual,
6241     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
6242 ]
6243 interface IHTMLStyleSheetRule : IDispatch
6244 {
6245     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6246     HRESULT selectorText([in] BSTR v);
6247
6248     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6249     HRESULT selectorText([retval, out] BSTR *p);
6250
6251     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
6252     HRESULT style([retval, out] IHTMLRuleStyle **p);
6253
6254     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
6255     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6256 }
6257
6258 [
6259     hidden,
6260     uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b)
6261 ]
6262 dispinterface DispHTMLStyleSheetRule
6263 {
6264 properties:
6265 methods:
6266     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6267     void selectorText(BSTR v);
6268
6269     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6270     BSTR selectorText();
6271
6272     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable]
6273     IHTMLRuleStyle* style();
6274
6275     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
6276     VARIANT_BOOL readOnly();
6277
6278     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6279 }
6280
6281 [
6282     noncreatable,
6283     uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b)
6284 ]
6285 coclass HTMLStyleSheetRule
6286 {
6287     [default]           dispinterface DispHTMLStyleSheetRule;
6288                         interface IHTMLStyleSheetRule;
6289                         interface IHTMLDOMConstructor;
6290 }
6291
6292 /*****************************************************************************
6293  *    IHTMLStyleSheetRulesCollection interface
6294  */
6295 [
6296     odl,
6297     oleautomation,
6298     dual,
6299     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
6300 ]
6301 interface IHTMLStyleSheetRulesCollection : IDispatch
6302 {
6303     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
6304     HRESULT length([retval, out] LONG *p);
6305
6306     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
6307     HRESULT item(
6308         [in] LONG index,
6309         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
6310 }
6311
6312 [
6313     hidden,
6314     uuid(3050f52f-98b5-11cf-bb82-00aa00bdce0b)
6315 ]
6316 dispinterface DispHTMLStyleSheetRulesCollection
6317 {
6318 properties:
6319 methods:
6320     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
6321     long length();
6322
6323     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
6324     IHTMLStyleSheetRule* item([in] long index);
6325
6326     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6327 }
6328
6329 [
6330     noncreatable,
6331     uuid(3050f3cd-98b5-11cf-bb82-00aa00bdce0b)
6332 ]
6333 coclass HTMLStyleSheetRulesCollection
6334 {
6335     [default]           dispinterface DispHTMLStyleSheetRulesCollection;
6336                         interface IHTMLStyleSheetRulesCollection;
6337                         interface IHTMLDOMConstructor;
6338 }
6339
6340 [
6341     odl,
6342     oleautomation,
6343     dual,
6344     uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
6345 ]
6346 interface IHTMLStyleSheetPage : IDispatch
6347 {
6348     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
6349     HRESULT selector([retval, out] BSTR *p);
6350
6351     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
6352     HRESULT pseudoClass([retval, out] BSTR *p);
6353 }
6354
6355 [
6356     hidden,
6357     uuid(3050f540-98b5-11cf-bb82-00aa00bdce0b)
6358 ]
6359 dispinterface DispHTMLStyleSheetPage
6360 {
6361 properties:
6362 methods:
6363     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
6364     BSTR selector();
6365
6366     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
6367     BSTR pseudoClass();
6368
6369     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6370 }
6371 [
6372     noncreatable,
6373     uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b)
6374 ]
6375 coclass HTMLStyleSheetPage
6376 {
6377     [default]           dispinterface DispHTMLStyleSheetPage;
6378                         interface IHTMLStyleSheetPage;
6379                         interface IHTMLDOMConstructor;
6380 }
6381
6382 [
6383     odl,
6384     oleautomation,
6385     dual,
6386     uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
6387 ]
6388 interface IHTMLStyleSheetPagesCollection : IDispatch
6389 {
6390     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6391     HRESULT length([retval, out] LONG *p);
6392
6393     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6394     HRESULT item(
6395         [in] LONG index,
6396         [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
6397 }
6398
6399 [
6400     hidden,
6401     uuid(3050f543-98b5-11cf-bb82-00aa00bdce0b)
6402 ]
6403 dispinterface DispHTMLStyleSheetPagesCollection
6404 {
6405 properties:
6406 methods:
6407     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6408     long length();
6409
6410     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6411     IHTMLStyleSheetPage* item([in] long index);
6412
6413     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6414 }
6415
6416 [
6417     noncreatable,
6418     uuid(3050f7f1-98b5-11cf-bb82-00aa00bdce0b)
6419 ]
6420 coclass HTMLStyleSheetPagesCollection
6421 {
6422     [default]           dispinterface DispHTMLStyleSheetPagesCollection;
6423                         interface IHTMLStyleSheetPagesCollection;
6424                         interface IHTMLDOMConstructor;
6425 }
6426
6427 /*****************************************************************************
6428  *    IHTMLStyleSheet interface
6429  */
6430 [
6431     odl,
6432     oleautomation,
6433     dual,
6434     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
6435 ]
6436 interface IHTMLStyleSheet : IDispatch
6437 {
6438     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6439     HRESULT title([in] BSTR v);
6440
6441     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6442     HRESULT title([retval, out] BSTR *p);
6443
6444     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6445     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
6446
6447     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6448     HRESULT owningElement([retval, out] IHTMLElement **p);
6449
6450     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6451     HRESULT disabled([in] VARIANT_BOOL v);
6452
6453     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6454     HRESULT disabled([retval, out] VARIANT_BOOL *p);
6455
6456     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6457     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6458
6459     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6460     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
6461
6462     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6463     HRESULT href([in] BSTR v);
6464
6465     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6466     HRESULT href([retval, out] BSTR *p);
6467
6468     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6469     HRESULT type([retval, out] BSTR *p);
6470
6471     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6472     HRESULT id([retval, out] BSTR *p);
6473
6474     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6475     HRESULT addImport(
6476         [in] BSTR bstrURL,
6477         [defaultvalue(-1), in] LONG lIndex,
6478         [retval, out] LONG *plIndex);
6479
6480     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6481     HRESULT addRule(
6482         [in] BSTR bstrSelector,
6483         [in] BSTR bstrStyle,
6484         [defaultvalue(-1), in] LONG lIndex,
6485         [retval, out] LONG *plNewIndex);
6486
6487     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6488     HRESULT removeImport([in] LONG lIndex);
6489
6490     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6491     HRESULT removeRule([in] LONG lIndex);
6492
6493     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6494     HRESULT media([in] BSTR v);
6495
6496     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6497     HRESULT media([retval, out] BSTR *p);
6498
6499     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6500     HRESULT cssText([in] BSTR v);
6501
6502     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6503     HRESULT cssText([retval, out] BSTR *p);
6504
6505     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6506     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
6507 }
6508
6509 /*****************************************************************************
6510  *    IHTMLStyleSheet2 interface
6511  */
6512 [
6513     odl,
6514     oleautomation,
6515     dual,
6516     uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
6517 ]
6518 interface IHTMLStyleSheet2 : IDispatch
6519 {
6520     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6521     HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
6522
6523     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6524     HRESULT addPageRule(
6525         [in] BSTR bstrSelector,
6526         [in] BSTR bstrStyle,
6527         [defaultvalue(-1), in] LONG lIndex,
6528         [retval, out] LONG *plNewIndex);
6529 }
6530
6531 [
6532     hidden,
6533     uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
6534 ]
6535 dispinterface DispHTMLStyleSheet
6536 {
6537 properties:
6538 methods:
6539     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6540     void title(BSTR v);
6541
6542     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6543     BSTR title();
6544
6545     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6546     IHTMLStyleSheet* parentStyleSheet();
6547
6548     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6549     IHTMLElement* owningElement();
6550
6551     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6552     void disabled(VARIANT_BOOL v);
6553
6554     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6555     VARIANT_BOOL disabled();
6556
6557     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6558     VARIANT_BOOL readOnly();
6559
6560     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6561     IHTMLStyleSheetsCollection* imports();
6562
6563     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6564     void href(BSTR v);
6565
6566     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6567     BSTR href();
6568
6569     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6570     BSTR type();
6571
6572     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6573     BSTR id();
6574
6575     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6576     LONG addImport(
6577         [in] BSTR bstrURL,
6578         [defaultvalue(-1), in] LONG lIndex);
6579
6580     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6581     LONG addRule(
6582         [in] BSTR bstrSelector,
6583         [in] BSTR bstrStyle,
6584         [defaultvalue(-1), in] LONG lIndex);
6585
6586     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6587     void removeImport([in] LONG lIndex);
6588
6589     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6590     void removeRule([in] LONG lIndex);
6591
6592     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6593     void media(BSTR v);
6594
6595     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6596     BSTR media();
6597
6598     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6599     void cssText(BSTR v);
6600
6601     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6602     BSTR cssText();
6603
6604     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6605     IHTMLStyleSheetRulesCollection* rules();
6606
6607     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6608     IHTMLStyleSheetPagesCollection* pages();
6609
6610     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6611     LONG addPageRule(
6612         [in] BSTR bstrSelector,
6613         [in] BSTR bstrStyle,
6614         [defaultvalue(-1), in] LONG lIndex);
6615 }
6616
6617 [
6618     noncreatable,
6619     uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
6620 ]
6621 coclass HTMLStyleSheet
6622 {
6623     [default]           dispinterface DispHTMLStyleSheet;
6624                         interface IHTMLStyleSheet;
6625                         interface IHTMLStyleSheet2;
6626 }
6627
6628 /*****************************************************************************
6629  *    IHTMLStyleSheetsCollection interface
6630  */
6631 [
6632     odl,
6633     oleautomation,
6634     dual,
6635     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
6636 ]
6637 interface IHTMLStyleSheetsCollection : IDispatch
6638 {
6639     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6640     HRESULT length([retval, out] LONG *p);
6641
6642     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
6643     HRESULT _newEnum([retval, out] IUnknown **p);
6644
6645     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6646     HRESULT item(
6647         [in] VARIANT *pvarIndex,
6648         [retval, out] VARIANT *pvarResult);
6649 }
6650
6651 /*****************************************************************************
6652  *    DispHTMLStyleSheetsCollection dispinterface
6653  */
6654 [
6655     hidden,
6656     uuid(3050f547-98b5-11cf-bb82-00aa00bdce0b)
6657 ]
6658 dispinterface DispHTMLStyleSheetsCollection
6659 {
6660 properties:
6661 methods:
6662     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6663     long length();
6664
6665     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM), hidden, restricted]
6666     IUnknown *_newEnum();
6667
6668     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6669     VARIANT item([in] VARIANT *pvarIndex);
6670
6671     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
6672     IDispatch *constructor();
6673 }
6674
6675 /*****************************************************************************
6676  *    IHTMLTxtRange interface
6677  */
6678 [
6679     odl,
6680     oleautomation,
6681     dual,
6682     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
6683 ]
6684 interface IHTMLTxtRange : IDispatch
6685 {
6686     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
6687     HRESULT htmlText([retval, out] BSTR *p);
6688
6689     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
6690     HRESULT text([in] BSTR v);
6691
6692     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
6693     HRESULT text([retval, out] BSTR *p);
6694
6695     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
6696     HRESULT parentElement([retval, out] IHTMLElement **parent);
6697
6698     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
6699     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
6700
6701     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
6702     HRESULT inRange(
6703         [in] IHTMLTxtRange *Range,
6704         [retval, out] VARIANT_BOOL *InRange);
6705
6706     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
6707     HRESULT isEqual(
6708         [in] IHTMLTxtRange *Range,
6709         [retval, out] VARIANT_BOOL *IsEqual);
6710
6711     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
6712     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
6713
6714     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
6715     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
6716
6717     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
6718     HRESULT expand(
6719         [in] BSTR Unit,
6720         [retval, out] VARIANT_BOOL *Success);
6721
6722     [id(DISPID_IHTMLTXTRANGE_MOVE)]
6723     HRESULT move(
6724         [in] BSTR Unit,
6725         [defaultvalue(1), in] LONG Count,
6726         [retval, out] LONG *ActualCount);
6727
6728     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
6729     HRESULT moveStart(
6730         [in] BSTR Unit,
6731         [defaultvalue(1), in] LONG Count,
6732         [retval, out] LONG *ActualCount);
6733
6734     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
6735     HRESULT moveEnd(
6736         [in] BSTR Unit,
6737         [defaultvalue(1), in] LONG Count,
6738         [retval, out] LONG *ActualCount);
6739
6740     [id(DISPID_IHTMLTXTRANGE_SELECT)]
6741     HRESULT select();
6742
6743     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
6744     HRESULT pasteHTML([in] BSTR html);
6745
6746     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
6747     HRESULT moveToElementText([in] IHTMLElement *element);
6748
6749     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
6750     HRESULT setEndPoint(
6751         [in] BSTR how,
6752         [in] IHTMLTxtRange *SourceRange);
6753
6754     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
6755     HRESULT compareEndPoints(
6756         [in] BSTR how,
6757         [in] IHTMLTxtRange *SourceRange,
6758         [retval, out] LONG *ret);
6759
6760     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
6761     HRESULT findText(
6762         [in] BSTR String,
6763         [defaultvalue(1073741823), in] LONG count,
6764         [defaultvalue(0), in] LONG Flags,
6765         [retval, out] VARIANT_BOOL *Success);
6766
6767     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
6768     HRESULT moveToPoint(
6769         [in] LONG x,
6770         [in] LONG y);
6771
6772     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
6773     HRESULT getBookmark([retval, out] BSTR *Boolmark);
6774
6775     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
6776     HRESULT moveToBookmark(
6777         [in] BSTR Bookmark,
6778         [retval, out] VARIANT_BOOL *Success);
6779
6780     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
6781     HRESULT queryCommandSupported(
6782         [in] BSTR cmdID,
6783         [retval, out] VARIANT_BOOL *pfRet);
6784
6785     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
6786     HRESULT queryCommandEnabled(
6787         [in] BSTR cmdID,
6788         [retval, out] VARIANT_BOOL *pfRet);
6789
6790     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
6791     HRESULT queryCommandState(
6792         [in] BSTR cmdID,
6793         [retval, out] VARIANT_BOOL *pfRet);
6794
6795     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
6796     HRESULT queryCommandIndeterm(
6797         [in] BSTR cmdID,
6798         [retval, out] VARIANT_BOOL *pfRet);
6799
6800     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
6801     HRESULT queryCommandText(
6802         [in] BSTR cmdID,
6803         [retval, out] BSTR *pcmdText);
6804
6805     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
6806     HRESULT queryCommandValue(
6807         [in] BSTR cmdID,
6808         [retval, out] VARIANT *pcmdValue);
6809
6810     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
6811     HRESULT execCommand(
6812         [in] BSTR cmdID,
6813         [defaultvalue(0), in] VARIANT_BOOL showUI,
6814         [optional, in] VARIANT value,
6815         [retval, out] VARIANT_BOOL *pfRet);
6816
6817     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
6818     HRESULT execCommandShowHelp(
6819         [in] BSTR cmdID,
6820         [retval, out] VARIANT_BOOL *pfRet);
6821 }
6822
6823 [
6824     noncreatable,
6825     uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
6826 ]
6827 coclass HTMLStyleSheetsCollection
6828 {
6829     [default]           interface IHTMLStyleSheetsCollection;
6830 }
6831
6832 /*****************************************************************************
6833  *    IHTMLFormElement interface
6834  */
6835 [
6836     odl,
6837     oleautomation,
6838     dual,
6839     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
6840 ]
6841 interface IHTMLFormElement : IDispatch
6842 {
6843     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6844     HRESULT action([in] BSTR v);
6845
6846     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6847     HRESULT action([retval, out] BSTR *p);
6848
6849     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
6850     HRESULT dir([in] BSTR v);
6851
6852     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
6853     HRESULT dir([retval, out] BSTR *p);
6854
6855     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6856     HRESULT encoding([in] BSTR v);
6857
6858     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6859     HRESULT encoding([retval, out] BSTR *p);
6860
6861     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6862     HRESULT method([in] BSTR v);
6863
6864     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6865     HRESULT method([retval, out] BSTR *p);
6866
6867     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6868     HRESULT elements([retval, out] IDispatch **p);
6869
6870     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6871     HRESULT target([in] BSTR v);
6872
6873     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6874     HRESULT target([retval, out] BSTR *p);
6875
6876     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6877     HRESULT name([in] BSTR v);
6878
6879     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6880     HRESULT name([retval, out] BSTR *p);
6881
6882     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6883     HRESULT onsubmit([in] VARIANT v);
6884
6885     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6886     HRESULT onsubmit([retval, out] VARIANT *p);
6887
6888     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6889     HRESULT onreset([in] VARIANT v);
6890
6891     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6892     HRESULT onreset([retval, out] VARIANT *p);
6893
6894     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6895     HRESULT submit();
6896
6897     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6898     HRESULT reset();
6899
6900     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6901     HRESULT length([in] LONG v);
6902
6903     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6904     HRESULT length([retval, out] LONG *p);
6905
6906     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
6907     HRESULT _newEnum([retval, out] IUnknown **p);
6908
6909     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6910     HRESULT item(
6911         [optional, in] VARIANT name,
6912         [optional, in] VARIANT index,
6913         [retval, out] IDispatch **pdisp);
6914
6915     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6916     HRESULT tags(
6917         [in] VARIANT tagName,
6918         [retval, out] IDispatch **pdisp);
6919 }
6920
6921 /*****************************************************************************
6922  *    DispHTMLFormElement dispinterface
6923  */
6924 [
6925     hidden,
6926     uuid(3050F510-98B5-11CF-BB82-00AA00BDCE0B)
6927 ]
6928 dispinterface DispHTMLFormElement
6929 {
6930 properties:
6931 methods:
6932     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6933
6934     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6935     void action(BSTR v);
6936
6937     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6938     BSTR action();
6939
6940     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6941     void encoding(BSTR v);
6942
6943     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6944     BSTR encoding();
6945
6946     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6947     void method(BSTR v);
6948
6949     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6950     BSTR method();
6951
6952     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6953     IDispatch *elements();
6954
6955     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6956     void target(BSTR v);
6957
6958     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6959     BSTR target();
6960
6961     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6962     void name(BSTR v);
6963
6964     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6965     BSTR name();
6966
6967     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6968     void onsubmit(VARIANT v);
6969
6970     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6971     VARIANT onsubmit();
6972
6973     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6974     void onreset(VARIANT v);
6975
6976     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6977     VARIANT onreset();
6978
6979     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6980     void submit();
6981
6982     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6983     void reset();
6984
6985     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6986     void length(long v);
6987
6988     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6989     long length();
6990
6991     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM), hidden, restricted]
6992     IUnknown *_newEnum();
6993
6994     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6995     IDispatch *item(VARIANT name, VARIANT index);
6996
6997     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6998     IDispatch *tags(VARIANT tagName);
6999 }
7000
7001 [
7002     hidden,
7003     uuid(3050F364-98B5-11CF-BB82-00AA00BDCE0B)
7004 ]
7005 dispinterface HTMLFormElementEvents
7006 {
7007 properties:
7008 methods:
7009     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
7010     VARIANT_BOOL onhelp();
7011
7012     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
7013     VARIANT_BOOL onclick();
7014
7015     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
7016     VARIANT_BOOL ondblclick();
7017
7018     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
7019     VARIANT_BOOL onkeypress();
7020
7021     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
7022     void onkeydown();
7023
7024     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
7025     void onkeyup();
7026
7027     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
7028     void onmouseout();
7029
7030     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
7031     void onmouseover();
7032
7033     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
7034     void onmousemove();
7035
7036     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
7037     void onmousedown();
7038
7039     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
7040     void onmouseup();
7041
7042     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
7043     VARIANT_BOOL onselectstart();
7044
7045     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
7046     void onfilterchange();
7047
7048     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
7049     VARIANT_BOOL ondragstart();
7050
7051     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
7052     VARIANT_BOOL onbeforeupdate();
7053
7054     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
7055     void onafterupdate();
7056
7057     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
7058     VARIANT_BOOL onerrorupdate();
7059
7060     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
7061     VARIANT_BOOL onrowexit();
7062
7063     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
7064     void onrowenter();
7065
7066     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
7067     void ondatasetchanged();
7068
7069     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
7070     void ondataavailable();
7071
7072     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
7073     void ondatasetcomplete();
7074
7075     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
7076     void onlosecapture();
7077
7078     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
7079     void onpropertychange();
7080
7081     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
7082     void onscroll();
7083
7084     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
7085     void onfocus();
7086
7087     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
7088     void onblur();
7089
7090     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
7091     void onresize();
7092
7093     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
7094     VARIANT_BOOL ondrag();
7095
7096     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
7097     void ondragend();
7098
7099     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
7100     VARIANT_BOOL ondragenter();
7101
7102     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
7103     VARIANT_BOOL ondragover();
7104
7105     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
7106     void ondragleave();
7107
7108     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
7109     VARIANT_BOOL ondrop();
7110
7111     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
7112     VARIANT_BOOL onbeforecut();
7113
7114     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
7115     VARIANT_BOOL oncut();
7116
7117     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
7118     VARIANT_BOOL onbeforecopy();
7119
7120     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
7121     VARIANT_BOOL oncopy();
7122
7123     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
7124     VARIANT_BOOL onbeforepaste();
7125
7126     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
7127     VARIANT_BOOL onpaste();
7128
7129     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
7130     VARIANT_BOOL oncontextmenu();
7131
7132     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
7133     void onrowsdelete();
7134
7135     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
7136     void onrowsinserted();
7137
7138     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
7139     void oncellchange();
7140
7141     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
7142     void onreadystatechange();
7143
7144     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
7145     void onbeforeeditfocus();
7146
7147     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
7148     void onlayoutcomplete();
7149
7150     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
7151     void onpage();
7152
7153     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
7154     VARIANT_BOOL onbeforedeactivate();
7155
7156     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
7157     VARIANT_BOOL onbeforeactivate();
7158
7159     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
7160     void onmove();
7161
7162     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
7163     VARIANT_BOOL oncontrolselect();
7164
7165     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
7166     VARIANT_BOOL onmovestart();
7167
7168     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
7169     void onmoveend();
7170
7171     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
7172     VARIANT_BOOL onresizestart();
7173
7174     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
7175     void onresizeend();
7176
7177     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
7178     void onmouseenter();
7179
7180     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
7181     void onmouseleave();
7182
7183     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
7184     VARIANT_BOOL onmousewheel();
7185
7186     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
7187     void onactivate();
7188
7189     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
7190     void ondeactivate();
7191
7192     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
7193     void onfocusin();
7194
7195     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
7196     void onfocusout();
7197
7198     [id(DISPID_HTMLFORMELEMENTEVENTS_ONSUBMIT)]
7199     VARIANT_BOOL onsubmit();
7200
7201     [id(DISPID_HTMLFORMELEMENTEVENTS_ONRESET)]
7202     VARIANT_BOOL onreset();
7203 }
7204
7205 interface IHTMLEventObj;
7206
7207 [
7208     hidden,
7209     uuid(3050F614-98B5-11CF-BB82-00AA00BDCE0B)
7210 ]
7211 dispinterface HTMLFormElementEvents2
7212 {
7213 properties:
7214 methods:
7215     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
7216     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
7217
7218     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
7219     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
7220
7221     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
7222     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
7223
7224     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
7225     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
7226
7227     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
7228     void onkeydown([in] IHTMLEventObj* pEvtObj);
7229
7230     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
7231     void onkeyup([in] IHTMLEventObj* pEvtObj);
7232
7233     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
7234     void onmouseout([in] IHTMLEventObj* pEvtObj);
7235
7236     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
7237     void onmouseover([in] IHTMLEventObj* pEvtObj);
7238
7239     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
7240     void onmousemove([in] IHTMLEventObj* pEvtObj);
7241
7242     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
7243     void onmousedown([in] IHTMLEventObj* pEvtObj);
7244
7245     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
7246     void onmouseup([in] IHTMLEventObj* pEvtObj);
7247
7248     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
7249     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
7250
7251     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
7252     void onfilterchange([in] IHTMLEventObj* pEvtObj);
7253
7254     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
7255     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
7256
7257     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
7258     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
7259
7260     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
7261     void onafterupdate([in] IHTMLEventObj* pEvtObj);
7262
7263     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
7264     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
7265
7266     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
7267     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
7268
7269     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
7270     void onrowenter([in] IHTMLEventObj* pEvtObj);
7271
7272     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
7273     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
7274
7275     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
7276     void ondataavailable([in] IHTMLEventObj* pEvtObj);
7277
7278     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
7279     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
7280
7281     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
7282     void onlosecapture([in] IHTMLEventObj* pEvtObj);
7283
7284     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
7285     void onpropertychange([in] IHTMLEventObj* pEvtObj);
7286
7287     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
7288     void onscroll([in] IHTMLEventObj* pEvtObj);
7289
7290     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
7291     void onfocus([in] IHTMLEventObj* pEvtObj);
7292
7293     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
7294     void onblur([in] IHTMLEventObj* pEvtObj);
7295
7296     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
7297     void onresize([in] IHTMLEventObj* pEvtObj);
7298
7299     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
7300     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
7301
7302     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
7303     void ondragend([in] IHTMLEventObj* pEvtObj);
7304
7305     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
7306     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
7307
7308     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
7309     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
7310
7311     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
7312     void ondragleave([in] IHTMLEventObj* pEvtObj);
7313
7314     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
7315     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
7316
7317     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
7318     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
7319
7320     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
7321     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
7322
7323     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
7324     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
7325
7326     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
7327     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
7328
7329     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
7330     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
7331
7332     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
7333     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
7334
7335     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
7336     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
7337
7338     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
7339     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
7340
7341     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
7342     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
7343
7344     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
7345     void oncellchange([in] IHTMLEventObj* pEvtObj);
7346
7347     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
7348     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
7349
7350     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
7351     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
7352
7353     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
7354     void onpage([in] IHTMLEventObj* pEvtObj);
7355
7356     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
7357     void onmouseenter([in] IHTMLEventObj* pEvtObj);
7358
7359     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
7360     void onmouseleave([in] IHTMLEventObj* pEvtObj);
7361
7362     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
7363     void onactivate([in] IHTMLEventObj* pEvtObj);
7364
7365     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
7366     void ondeactivate([in] IHTMLEventObj* pEvtObj);
7367
7368     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
7369     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
7370
7371     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
7372     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
7373
7374     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
7375     void onfocusin([in] IHTMLEventObj* pEvtObj);
7376
7377     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
7378     void onfocusout([in] IHTMLEventObj* pEvtObj);
7379
7380     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
7381     void onmove([in] IHTMLEventObj* pEvtObj);
7382
7383     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
7384     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
7385
7386     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
7387     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
7388
7389     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
7390     void onmoveend([in] IHTMLEventObj* pEvtObj);
7391
7392     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
7393     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
7394
7395     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
7396     void onresizeend([in] IHTMLEventObj* pEvtObj);
7397
7398     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
7399     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
7400
7401     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONSUBMIT)]
7402     VARIANT_BOOL onsubmit([in] IHTMLEventObj* pEvtObj);
7403
7404     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONRESET)]
7405     VARIANT_BOOL onreset([in] IHTMLEventObj* pEvtObj);
7406 }
7407
7408 [
7409     noncreatable,
7410     uuid(3050F24D-98B5-11CF-BB82-00AA00BDCE0B)
7411 ]
7412 coclass HTMLFormElement
7413 {
7414     [default]           dispinterface DispHTMLFormElement;
7415     [source, default]   dispinterface HTMLFormElementEvents;
7416     [source]            dispinterface HTMLFormElementEvents2;
7417                         interface IHTMLElement;
7418                         interface IHTMLElement2;
7419                         interface IHTMLElement3;
7420                         interface IHTMLElement4;
7421                         interface IHTMLUniqueName;
7422                         interface IHTMLDOMNode;
7423                         interface IHTMLDOMNode2;
7424                         interface IHTMLDOMConstructor;
7425                         interface IHTMLFormElement;
7426 }
7427
7428 /*****************************************************************************
7429  *    IHTMLTextContainer interface
7430  */
7431 [
7432     odl,
7433     oleautomation,
7434     dual,
7435     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
7436 ]
7437 interface IHTMLTextContainer : IDispatch
7438 {
7439     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
7440     HRESULT createControlRange([retval, out] IDispatch **range);
7441
7442     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
7443     HRESULT scrollHeight([retval, out] LONG *p);
7444
7445     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
7446     HRESULT scrollWidth([retval, out] LONG *p);
7447
7448     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7449     HRESULT scrollTop([in] LONG v);
7450
7451     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7452     HRESULT scrollTop([retval, out] LONG *p);
7453
7454     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7455     HRESULT scrollLeft([in] LONG v);
7456
7457     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7458     HRESULT scrollLeft([retval, out] LONG *p);
7459
7460     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7461     HRESULT onscroll([in] VARIANT v);
7462
7463     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7464     HRESULT onscroll([retval, out] VARIANT *p);
7465 }
7466
7467 /*****************************************************************************
7468  *    IHTMLImgElement interface
7469  */
7470 [
7471     odl,
7472     oleautomation,
7473     dual,
7474     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
7475 ]
7476 interface IHTMLImgElement : IDispatch
7477 {
7478     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7479     HRESULT isMap([in] VARIANT_BOOL v);
7480
7481     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7482     HRESULT isMap([retval, out] VARIANT_BOOL *p);
7483
7484     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7485     HRESULT useMap([in] BSTR v);
7486
7487     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7488     HRESULT useMap([retval, out] BSTR *p);
7489
7490     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7491     HRESULT mimeType([retval, out] BSTR *p);
7492
7493     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7494     HRESULT fileSize([retval, out] BSTR *p);
7495
7496     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7497     HRESULT fileCreatedDate([retval, out] BSTR *p);
7498
7499     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7500     HRESULT fileModifiedDate([retval, out] BSTR *p);
7501
7502     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7503     HRESULT fileUpdatedDate([retval, out] BSTR *p);
7504
7505     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7506     HRESULT protocol([retval, out] BSTR *p);
7507
7508     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7509     HRESULT href([retval, out] BSTR *p);
7510
7511     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7512     HRESULT nameProp([retval, out] BSTR *p);
7513
7514     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7515     HRESULT border([in] VARIANT v);
7516
7517     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7518     HRESULT border([retval, out] VARIANT *p);
7519
7520     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7521     HRESULT vspace([in] LONG v);
7522
7523     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7524     HRESULT vspace([retval, out] LONG *p);
7525
7526     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7527     HRESULT hspace([in] LONG v);
7528
7529     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7530     HRESULT hspace([retval, out] LONG *p);
7531
7532     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
7533     HRESULT alt([in] BSTR v);
7534
7535     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
7536     HRESULT alt([retval, out] BSTR *p);
7537
7538     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
7539     HRESULT src([in] BSTR v);
7540
7541     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
7542     HRESULT src([retval, out] BSTR *p);
7543
7544     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7545     HRESULT lowsrc([in] BSTR v);
7546
7547     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7548     HRESULT lowsrc([retval, out] BSTR *p);
7549
7550     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
7551     HRESULT vrml([in] BSTR v);
7552
7553     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
7554     HRESULT vrml([retval, out] BSTR *p);
7555
7556     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7557     HRESULT dynsrc([in] BSTR v);
7558
7559     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7560     HRESULT dynsrc([retval, out] BSTR *p);
7561
7562     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
7563     HRESULT readyState([retval, out] BSTR *p);
7564
7565     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7566     HRESULT complete([retval, out] VARIANT_BOOL *p);
7567
7568     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7569     HRESULT loop([in] VARIANT v);
7570
7571     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7572     HRESULT loop([retval, out] VARIANT *p);
7573
7574     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7575     HRESULT align([in] BSTR v);
7576
7577     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7578     HRESULT align([retval, out] BSTR *p);
7579
7580     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7581     HRESULT onload([in] VARIANT v);
7582
7583     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7584     HRESULT onload([retval, out] VARIANT *p);
7585
7586     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7587     HRESULT onerror([in] VARIANT v);
7588
7589     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7590     HRESULT onerror([retval, out] VARIANT *p);
7591
7592     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7593     HRESULT onabort([in] VARIANT v);
7594
7595     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7596     HRESULT onabort([retval, out] VARIANT *p);
7597
7598     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
7599     HRESULT name([in] BSTR v);
7600
7601     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
7602     HRESULT name([retval, out] BSTR *p);
7603
7604     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7605     HRESULT width([in] LONG v);
7606
7607     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7608     HRESULT width([retval, out] LONG *p);
7609
7610     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7611     HRESULT height([in] LONG v);
7612
7613     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7614     HRESULT height([retval, out] LONG *p);
7615
7616     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
7617     HRESULT start([in] BSTR v);
7618
7619     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
7620     HRESULT start([retval, out] BSTR *p);
7621 }
7622
7623 /*****************************************************************************
7624  *    IHTMLImageElementFactory interface
7625  */
7626 [
7627     odl,
7628     oleautomation,
7629     dual,
7630     uuid(3050F38E-98B5-11CF-BB82-00AA00BDCE0B)
7631 ]
7632 interface IHTMLImageElementFactory : IDispatch
7633 {
7634     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
7635     HRESULT create(
7636         [optional, in] VARIANT width,
7637         [optional, in] VARIANT height,
7638         [retval, out]  IHTMLImgElement **elem);
7639 }
7640
7641 /*****************************************************************************
7642  *    DispHTMLImg interface
7643  */
7644 [
7645     hidden,
7646     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
7647 ]
7648 dispinterface DispHTMLImg
7649 {
7650 properties:
7651 methods:
7652     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7653
7654     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7655     void isMap(VARIANT_BOOL v);
7656
7657     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7658     VARIANT_BOOL isMap();
7659
7660     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7661     void useMap(BSTR v);
7662
7663     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7664     BSTR useMap();
7665
7666     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7667     BSTR mimeType();
7668
7669     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7670     BSTR fileSize();
7671
7672     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7673     BSTR fileCreatedDate();
7674
7675     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7676     BSTR fileModifiedDate();
7677
7678     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7679     BSTR fileUpdatedDate();
7680
7681     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7682     BSTR protocol();
7683
7684     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7685     BSTR href();
7686
7687     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7688     BSTR nameProp();
7689
7690     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7691     void border(VARIANT v);
7692
7693     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7694     VARIANT border();
7695
7696     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7697     void vspace(LONG v);
7698
7699     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7700     LONG vspace();
7701
7702     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7703     void hspace(LONG v);
7704
7705     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7706     LONG hspace();
7707
7708     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7709     void alt(BSTR v);
7710
7711     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7712     BSTR alt();
7713
7714     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7715     void src(BSTR v);
7716
7717     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7718     BSTR src();
7719
7720     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7721     void lowsrc(BSTR v);
7722
7723     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7724     BSTR lowsrc();
7725
7726     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7727     void vrml(BSTR v);
7728
7729     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7730     BSTR vrml();
7731
7732     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7733     void dynsrc(BSTR v);
7734
7735     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7736     BSTR dynsrc();
7737
7738     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7739     VARIANT_BOOL complete();
7740
7741     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7742     void loop(VARIANT v);
7743
7744     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7745     VARIANT loop();
7746
7747     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7748     void align(BSTR v);
7749
7750     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7751     BSTR align();
7752
7753     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7754     void onload(VARIANT v);
7755
7756     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7757     VARIANT onload();
7758
7759     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7760     void onerror(VARIANT v);
7761
7762     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7763     VARIANT onerror();
7764
7765     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7766     void onabort(VARIANT v);
7767
7768     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7769     VARIANT onabort();
7770
7771     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7772     void name(BSTR v);
7773
7774     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7775     BSTR name();
7776
7777     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7778     void width(LONG v);
7779
7780     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7781     LONG width();
7782
7783     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7784     void height(LONG v);
7785
7786     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7787     LONG height();
7788
7789     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7790     void start(BSTR v);
7791
7792     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7793     BSTR start();
7794
7795     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7796     void longDesc(BSTR v);
7797
7798     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7799     BSTR longDesc();
7800 }
7801
7802 /*****************************************************************************
7803  *    IHTMLControlElement interface
7804  */
7805 [
7806     odl,
7807     oleautomation,
7808     dual,
7809     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
7810 ]
7811 interface IHTMLControlElement : IDispatch
7812 {
7813     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7814     HRESULT tabIndex([in] short v);
7815
7816     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7817     HRESULT tabIndex([retval, out] short * p);
7818
7819     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
7820     HRESULT focus();
7821
7822     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7823     HRESULT accessKey([in] BSTR v);
7824
7825     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7826     HRESULT accessKey([retval, out] BSTR * p);
7827
7828     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7829     HRESULT onblur([in] VARIANT v);
7830
7831     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7832     HRESULT onblur([retval, out] VARIANT * p);
7833
7834     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7835     HRESULT onfocus([in] VARIANT v);
7836
7837     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7838     HRESULT onfocus([retval, out] VARIANT * p);
7839
7840     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7841     HRESULT onresize([in] VARIANT v);
7842
7843     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7844     HRESULT onresize([retval, out] VARIANT * p);
7845
7846     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
7847     HRESULT blur();
7848
7849     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
7850     HRESULT addFilter([in] IUnknown* pUnk);
7851
7852     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
7853     HRESULT removeFilter([in] IUnknown* pUnk);
7854
7855     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
7856     HRESULT clientHeight([retval, out] LONG * p);
7857
7858     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
7859     HRESULT clientWidth([retval, out] LONG * p);
7860
7861     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
7862     HRESULT clientTop([retval, out] LONG * p);
7863
7864     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
7865     HRESULT clientLeft([retval, out] LONG * p);
7866 }
7867
7868 /*****************************************************************************
7869  *    IHTMLBodyElement interface
7870  */
7871 [
7872     odl,
7873     oleautomation,
7874     dual,
7875     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
7876 ]
7877 interface IHTMLBodyElement : IDispatch
7878 {
7879     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7880     HRESULT background([in] BSTR v);
7881
7882     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7883     HRESULT background([retval, out] BSTR *p);
7884
7885     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7886     HRESULT bgProperties([in] BSTR v);
7887
7888     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7889     HRESULT bgProperties([retval, out] BSTR *p);
7890
7891     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7892     HRESULT leftMargin([in] VARIANT v);
7893
7894     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7895     HRESULT leftMargin([retval, out] VARIANT *p);
7896
7897     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7898     HRESULT topMargin([in] VARIANT v);
7899
7900     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7901     HRESULT topMargin([retval, out] VARIANT *p);
7902
7903     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7904     HRESULT rightMargin([in] VARIANT v);
7905
7906     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7907     HRESULT rightMargin([retval, out] VARIANT *p);
7908
7909     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7910     HRESULT bottomMargin([in] VARIANT v);
7911
7912     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7913     HRESULT bottomMargin([retval, out] VARIANT *p);
7914
7915     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7916     HRESULT noWrap([in] VARIANT_BOOL v);
7917
7918     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7919     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
7920
7921     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7922     HRESULT bgColor([in] VARIANT v);
7923
7924     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7925     HRESULT bgColor([retval, out] VARIANT *p);
7926
7927     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7928     HRESULT text([in] VARIANT v);
7929
7930     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7931     HRESULT text([retval, out] VARIANT *p);
7932
7933     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7934     HRESULT link([in] VARIANT v);
7935
7936     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7937     HRESULT link([retval, out] VARIANT *p);
7938
7939     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7940     HRESULT vLink([in] VARIANT v);
7941
7942     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7943     HRESULT vLink([retval, out] VARIANT *p);
7944
7945     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7946     HRESULT aLink([in] VARIANT v);
7947
7948     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7949     HRESULT aLink([retval, out] VARIANT *p);
7950
7951     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7952     HRESULT onload([in] VARIANT v);
7953
7954     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7955     HRESULT onload([retval, out] VARIANT *p);
7956
7957     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7958     HRESULT onunload([in] VARIANT v);
7959
7960     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7961     HRESULT onunload([retval, out] VARIANT *p);
7962
7963     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7964     HRESULT scroll([in] BSTR v);
7965
7966     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7967     HRESULT scroll([retval, out] BSTR *p);
7968
7969     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7970     HRESULT onselect([in] VARIANT v);
7971
7972     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7973     HRESULT onselect([retval, out] VARIANT *p);
7974
7975     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7976     HRESULT onbeforeunload([in] VARIANT v);
7977
7978     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7979     HRESULT onbeforeunload([retval, out] VARIANT *p);
7980
7981     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7982     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7983 }
7984
7985 /*****************************************************************************
7986  *    IHTMLBodyElement2 interface
7987  */
7988 [
7989     odl,
7990     oleautomation,
7991     dual,
7992     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
7993 ]
7994 interface IHTMLBodyElement2 : IDispatch
7995 {
7996     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7997     HRESULT onbeforeprint([in] VARIANT v);
7998
7999     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8000     HRESULT onbeforeprint([retval, out] VARIANT *p);
8001
8002     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8003     HRESULT onafterprint([in] VARIANT v);
8004
8005     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8006     HRESULT onafterprint([retval, out] VARIANT *p);
8007 }
8008
8009 [
8010     hidden,
8011     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
8012 ]
8013 dispinterface DispHTMLBody
8014 {
8015 properties:
8016 methods:
8017     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8018
8019     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8020     void background(BSTR v);
8021
8022     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8023     BSTR background();
8024
8025     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8026     void bgProperties(BSTR v);
8027
8028     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8029     BSTR bgProperties();
8030
8031     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8032     void leftMargin(VARIANT v);
8033
8034     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8035     VARIANT leftMargin();
8036
8037     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8038     void topMargin(VARIANT v);
8039
8040     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8041     VARIANT topMargin();
8042
8043     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8044     void rightMargin(VARIANT v);
8045
8046     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8047     VARIANT rightMargin();
8048
8049     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8050     void bottomMargin(VARIANT v);
8051
8052     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8053     VARIANT bottomMargin();
8054
8055     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8056     void noWrap(VARIANT_BOOL v);
8057
8058     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8059     VARIANT_BOOL noWrap();
8060
8061     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8062     void bgColor(VARIANT v);
8063
8064     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8065     VARIANT bgColor();
8066
8067     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8068     void text(VARIANT v);
8069
8070     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8071     VARIANT text();
8072
8073     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8074     void link(VARIANT v);
8075
8076     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8077     VARIANT link();
8078
8079     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8080     void vLink(VARIANT v);
8081
8082     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8083     VARIANT vLink();
8084
8085     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8086     void aLink(VARIANT v);
8087
8088     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8089     VARIANT aLink();
8090
8091     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8092     void onload(VARIANT v);
8093
8094     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8095     VARIANT onload();
8096
8097     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8098     void onunload(VARIANT v);
8099
8100     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8101     VARIANT onunload();
8102
8103     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8104     void scroll(BSTR v);
8105
8106     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8107     BSTR scroll();
8108
8109     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8110     void onselect(VARIANT v);
8111
8112     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8113     VARIANT onselect();
8114
8115     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8116     void onbeforeunload(VARIANT v);
8117
8118     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8119     VARIANT onbeforeunload();
8120
8121     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8122     IHTMLTxtRange* createTextRange();
8123
8124     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8125     void onbeforeprint(VARIANT v);
8126
8127     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8128     VARIANT onbeforeprint();
8129
8130     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8131     void onafterprint(VARIANT v);
8132
8133     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8134     VARIANT onafterprint();
8135 }
8136
8137 [
8138     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
8139 ]
8140 coclass HTMLBody
8141 {
8142     [default]           dispinterface DispHTMLBody;
8143     [source, default]   dispinterface HTMLTextContainerEvents;
8144     [source]            dispinterface HTMLTextContainerEvents2;
8145                         interface IHTMLElement;
8146                         interface IHTMLElement2;
8147                         interface IHTMLElement3;
8148                         interface IHTMLElement4;
8149                         interface IHTMLUniqueName;
8150                         interface IHTMLDOMNode;
8151                         interface IHTMLDOMNode2;
8152                         interface IHTMLControlElement;
8153                         interface IHTMLTextContainer;
8154                         interface IHTMLBodyElement;
8155                         interface IHTMLBodyElement2;
8156 }
8157
8158 /*****************************************************************************
8159  *    IHTMLAnchorElement interface
8160  */
8161 [
8162     odl,
8163     oleautomation,
8164     dual,
8165     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
8166 ]
8167 interface IHTMLAnchorElement : IDispatch
8168 {
8169     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8170     HRESULT href([in] BSTR v);
8171
8172     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8173     HRESULT href([retval, out] BSTR *p);
8174
8175     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8176     HRESULT target([in] BSTR v);
8177
8178     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8179     HRESULT target([retval, out] BSTR *p);
8180
8181     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8182     HRESULT rel([in] BSTR v);
8183
8184     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8185     HRESULT rel([retval, out] BSTR *p);
8186
8187     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8188     HRESULT rev([in] BSTR v);
8189
8190     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8191     HRESULT rev([retval, out] BSTR *p);
8192
8193     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8194     HRESULT urn([in] BSTR v);
8195
8196     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8197     HRESULT urn([retval, out] BSTR *p);
8198
8199     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8200     HRESULT Methods([in] BSTR v);
8201
8202     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8203     HRESULT Methods([retval, out] BSTR *p);
8204
8205     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8206     HRESULT name([in] BSTR v);
8207
8208     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8209     HRESULT name([retval, out] BSTR *p);
8210
8211     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8212     HRESULT host([in] BSTR v);
8213
8214     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8215     HRESULT host([retval, out] BSTR *p);
8216
8217     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8218     HRESULT hostname([in] BSTR v);
8219
8220     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8221     HRESULT hostname([retval, out] BSTR *p);
8222
8223     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8224     HRESULT pathname([in] BSTR v);
8225
8226     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8227     HRESULT pathname([retval, out] BSTR *p);
8228
8229     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8230     HRESULT port([in] BSTR v);
8231
8232     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8233     HRESULT port([retval, out] BSTR *p);
8234
8235     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8236     HRESULT protocol([in] BSTR v);
8237
8238     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8239     HRESULT protocol([retval, out] BSTR *p);
8240
8241     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8242     HRESULT search([in] BSTR v);
8243
8244     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8245     HRESULT search([retval, out] BSTR *p);
8246
8247     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8248     HRESULT hash([in] BSTR v);
8249
8250     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8251     HRESULT hash([retval, out] BSTR *p);
8252
8253     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8254     HRESULT onblur([in] VARIANT v);
8255
8256     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8257     HRESULT onblur([retval, out] VARIANT *p);
8258
8259     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8260     HRESULT onfocus([in] VARIANT v);
8261
8262     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8263     HRESULT onfocus([retval, out] VARIANT *p);
8264
8265     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8266     HRESULT accessKey([in] BSTR v);
8267
8268     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8269     HRESULT accessKey([retval, out] BSTR *p);
8270
8271     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8272     HRESULT protocolLong([retval, out] BSTR *p);
8273
8274     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8275     HRESULT mimeType([retval, out] BSTR *p);
8276
8277     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8278     HRESULT nameProp([retval, out] BSTR *p);
8279
8280     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8281     HRESULT tabIndex([in] short v);
8282
8283     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8284     HRESULT tabIndex([retval, out] short *p);
8285
8286     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
8287     HRESULT focus();
8288
8289     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
8290     HRESULT blur();
8291 }
8292
8293 /*****************************************************************************
8294  *    DispHTMLAnchorElement dispinterface
8295  */
8296 [
8297     hidden,
8298     uuid(3050f502-98b5-11cf-bb82-00aa00bdce0b)
8299 ]
8300 dispinterface DispHTMLAnchorElement
8301 {
8302 properties:
8303 methods:
8304     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8305
8306     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8307     void href(BSTR v);
8308
8309     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8310     BSTR href();
8311
8312     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8313     void target(BSTR v);
8314
8315     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8316     BSTR target();
8317
8318     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8319     void rel(BSTR v);
8320
8321     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8322     BSTR rel();
8323
8324     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8325     void rev(BSTR v);
8326
8327     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8328     BSTR rev();
8329
8330     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8331     void urn(BSTR v);
8332
8333     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8334     BSTR urn();
8335
8336     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8337     void Methods(BSTR v);
8338
8339     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8340     BSTR Methods();
8341
8342     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8343     void name(BSTR v);
8344
8345     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8346     BSTR name();
8347
8348     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8349     void host(BSTR v);
8350
8351     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8352     BSTR host();
8353
8354     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8355     void hostname(BSTR v);
8356
8357     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8358     BSTR hostname();
8359
8360     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8361     void pathname(BSTR v);
8362
8363     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8364     BSTR pathname();
8365
8366     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8367     void port(BSTR v);
8368
8369     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8370     BSTR port();
8371
8372     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8373     void protocol(BSTR v);
8374
8375     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8376     BSTR protocol();
8377
8378     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8379     void search(BSTR v);
8380
8381     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8382     BSTR search();
8383
8384     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8385     void hash(BSTR v);
8386
8387     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8388     BSTR hash();
8389
8390     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8391     BSTR protocolLong();
8392
8393     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8394     BSTR mimeType();
8395
8396     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8397     BSTR nameProp();
8398
8399     [propput, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8400     void charset(BSTR v);
8401
8402     [propget, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8403     BSTR charset();
8404
8405     [propput, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8406     void coords(BSTR v);
8407
8408     [propget, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8409     BSTR coords();
8410
8411     [propput, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8412     void hreflang(BSTR v);
8413
8414     [propget, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8415     BSTR hreflang();
8416
8417     [propput, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8418     void shape(BSTR v);
8419
8420     [propget, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8421     BSTR shape();
8422
8423     [propput, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8424     void type(BSTR v);
8425
8426     [propget, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8427     BSTR type();
8428
8429     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8430     void ie8_shape(BSTR v);
8431
8432     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8433     BSTR ie8_shape();
8434
8435     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8436     void ie8_coords(BSTR v);
8437
8438     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8439     BSTR ie8_coords();
8440
8441     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8442     void ie8_href(BSTR v);
8443
8444     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8445     BSTR ie8_href();
8446 }
8447
8448 /*****************************************************************************
8449  *    IHTMLElementCollection interface
8450  */
8451 [
8452     odl,
8453     oleautomation,
8454     dual,
8455     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
8456 ]
8457 interface IHTMLElementCollection : IDispatch
8458 {
8459     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8460     HRESULT toString([retval, out] BSTR *String);
8461
8462     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8463     HRESULT length([in] LONG v);
8464
8465     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8466     HRESULT length([retval, out] LONG *p);
8467
8468     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
8469     HRESULT _newEnum([retval, out] IUnknown **p);
8470
8471     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8472     HRESULT item(
8473         [optional, in] VARIANT name,
8474         [optional, in] VARIANT index,
8475         [retval,  out] IDispatch **pdisp);
8476
8477     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8478     HRESULT tags(
8479         [in] VARIANT tagName,
8480         [retval, out] IDispatch **pdisp);
8481 }
8482
8483 /*****************************************************************************
8484  *    DispHTMLElementCollection dispinterface
8485  */
8486 [
8487     hidden,
8488     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
8489 ]
8490 dispinterface DispHTMLElementCollection
8491 {
8492 properties:
8493 methods:
8494     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8495     BSTR toString();
8496
8497     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8498     void length(LONG v);
8499
8500     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8501     LONG length();
8502
8503     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
8504     IUnknown *_newEnum();
8505
8506     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8507     IDispatch *item(
8508             [in, optional] VARIANT name,
8509             [in, optional] VARIANT index);
8510
8511     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8512     IDispatch *tags(
8513             [in] VARIANT tagName);
8514
8515     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
8516     IDispatch *urns([in] VARIANT urn);
8517
8518     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
8519     IDispatch *namedItem([in] BSTR name);
8520 }
8521
8522 /*****************************************************************************
8523  *    IHTMLSelectElement interface
8524  */
8525 [
8526     odl,
8527     oleautomation,
8528     dual,
8529     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
8530 ]
8531 interface IHTMLSelectElement : IDispatch
8532 {
8533     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8534     HRESULT size([in] LONG v);
8535
8536     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8537     HRESULT size([retval, out] LONG *p);
8538
8539     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8540     HRESULT multiple([in] VARIANT_BOOL v);
8541
8542     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8543     HRESULT multiple([retval, out] VARIANT_BOOL *p);
8544
8545     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8546     HRESULT name([in] BSTR v);
8547
8548     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8549     HRESULT name([retval, out] BSTR *p);
8550
8551     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8552     HRESULT options([retval, out] IDispatch **p);
8553
8554     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8555     HRESULT onchange([in] VARIANT v);
8556
8557     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8558     HRESULT onchange([retval, out] VARIANT *p);
8559
8560     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8561     HRESULT selectedIndex([in] LONG v);
8562
8563     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8564     HRESULT selectedIndex([retval, out] LONG *p);
8565
8566     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8567     HRESULT type([retval, out] BSTR *p);
8568
8569     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8570     HRESULT value([in] BSTR v);
8571
8572     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8573     HRESULT value([retval, out] BSTR *p);
8574
8575     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8576     HRESULT disabled([in] VARIANT_BOOL v);
8577
8578     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8579     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8580
8581     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8582     HRESULT form([retval, out] IHTMLFormElement **p);
8583
8584     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8585     HRESULT add(
8586         [in] IHTMLElement *element,
8587         [optional, in] VARIANT before);
8588
8589     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8590     HRESULT remove([defaultvalue(-1), in] LONG index);
8591
8592     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8593     HRESULT length([in] LONG v);
8594
8595     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8596     HRESULT length([retval, out] LONG *p);
8597
8598     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8599     HRESULT _newEnum([retval, out] IUnknown **p);
8600
8601     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8602     HRESULT item(
8603         [optional, in] VARIANT name,
8604         [optional, in] VARIANT index,
8605         [retval, out] IDispatch **pdisp);
8606
8607     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8608     HRESULT tags(
8609         [in] VARIANT tagName,
8610         [retval, out] IDispatch **pdisp);
8611 }
8612
8613 /*****************************************************************************
8614  *    DispHTMLSelectElement dispinterface
8615  */
8616 [
8617     hidden,
8618     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8619 ]
8620 dispinterface DispHTMLSelectElement
8621 {
8622 properties:
8623 methods:
8624     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8625
8626     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8627     void size(LONG v);
8628
8629     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8630     LONG size();
8631
8632     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8633     void multiple(VARIANT_BOOL v);
8634
8635     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8636     VARIANT_BOOL multiple();
8637
8638     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8639     void name(BSTR v);
8640
8641     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8642     BSTR name();
8643
8644     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8645     IDispatch *options();
8646
8647     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8648     void onchange(VARIANT v);
8649
8650     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8651     VARIANT onchange();
8652
8653     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8654     void selectedIndex(LONG v);
8655
8656     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8657     LONG selectedIndex();
8658
8659     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8660     BSTR type();
8661
8662     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8663     void value(BSTR v);
8664
8665     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8666     BSTR value();
8667
8668     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8669     IHTMLFormElement *form();
8670
8671     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8672     void add(
8673             [in] IHTMLElement *element,
8674             [in, optional] VARIANT before);
8675
8676     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8677     void remove([in, defaultvalue(-1)] LONG index);
8678
8679     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8680     void length(LONG v);
8681
8682     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8683     LONG length();
8684
8685     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8686     IUnknown *_newEnum();
8687
8688     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8689     IDispatch *item(
8690             [in, optional] VARIANT name,
8691             [in, optional] VARIANT index);
8692
8693     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8694     IDispatch *tags([in] VARIANT tagName);
8695
8696     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
8697     IDispatch *urns([in] VARIANT urn);
8698
8699     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
8700     IDispatch *namedItem([in] BSTR name);
8701 }
8702
8703 /*****************************************************************************
8704  *    IHTMLSelectionObject interface
8705  */
8706 [
8707     odl,
8708     oleautomation,
8709     dual,
8710     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
8711 ]
8712 interface IHTMLSelectionObject : IDispatch
8713 {
8714     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
8715     HRESULT createRange([retval, out] IDispatch **range);
8716
8717     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
8718     HRESULT empty();
8719
8720     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
8721     HRESULT clear();
8722
8723     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
8724     HRESULT type([retval, out] BSTR *p);
8725 }
8726
8727 /*****************************************************************************
8728  *    IHTMLOptionElement interface
8729  */
8730 [
8731     odl,
8732     oleautomation,
8733     dual,
8734     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
8735 ]
8736 interface IHTMLOptionElement : IDispatch
8737 {
8738     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8739     HRESULT selected([in] VARIANT_BOOL v);
8740
8741     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8742     HRESULT selected([retval, out] VARIANT_BOOL *p);
8743
8744     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8745     HRESULT value([in] BSTR v);
8746
8747     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8748     HRESULT value([retval, out] BSTR *p);
8749
8750     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8751     HRESULT defaultSelected([in] VARIANT_BOOL v);
8752
8753     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8754     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
8755
8756     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8757     HRESULT index([in] LONG v);
8758
8759     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8760     HRESULT index([retval, out] LONG *p);
8761
8762     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8763     HRESULT text([in] BSTR v);
8764
8765     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8766     HRESULT text([retval, out] BSTR *p);
8767
8768     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8769     HRESULT form([retval, out] IHTMLFormElement **p);
8770 }
8771
8772 [
8773     odl,
8774     oleautomation,
8775     dual,
8776     uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
8777 ]
8778 interface IHTMLOptionElement3 : IDispatch
8779 {
8780     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8781     HRESULT label([in] BSTR v);
8782
8783     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8784     HRESULT label([retval, out] BSTR * p);
8785 }
8786
8787 /*****************************************************************************
8788  *    IHTMLOptionElementFactory interface
8789  */
8790 [
8791     odl,
8792     oleautomation,
8793     dual,
8794     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
8795 ]
8796 interface IHTMLOptionElementFactory : IDispatch
8797 {
8798     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
8799     HRESULT create(
8800         [optional, in] VARIANT text,
8801         [optional, in] VARIANT value,
8802         [optional, in] VARIANT defaultselected,
8803         [optional, in] VARIANT selected,
8804         [retval, out] IHTMLOptionElement **optelem);
8805 }
8806
8807 /*****************************************************************************
8808  *    DispHTMLOptionElement dispinterface
8809  */
8810 [
8811     hidden,
8812     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
8813 ]
8814 dispinterface DispHTMLOptionElement
8815 {
8816 properties:
8817 methods:
8818     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8819
8820     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8821     void selected(VARIANT_BOOL v);
8822
8823     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8824     VARIANT_BOOL selected();
8825
8826     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8827     void value(BSTR v);
8828
8829     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8830     BSTR value();
8831
8832     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8833     void defaultSelected(VARIANT_BOOL v);
8834
8835     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8836     VARIANT_BOOL defaultSelected();
8837
8838     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8839     void index(LONG v);
8840
8841     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8842     LONG index();
8843
8844     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8845     void text(BSTR v);
8846
8847     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8848     BSTR text();
8849
8850     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8851     IHTMLFormElement *form();
8852
8853     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8854     void label(BSTR v);
8855
8856     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8857     BSTR label();
8858 }
8859
8860 [
8861     noncreatable,
8862     uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
8863 ]
8864 coclass HTMLOptionElement
8865 {
8866     [default]           dispinterface DispHTMLOptionElement;
8867     [source, default]   dispinterface HTMLElementEvents;
8868     [source]            dispinterface HTMLElementEvents2;
8869                         interface IHTMLElement;
8870                         interface IHTMLElement2;
8871                         interface IHTMLElement3;
8872                         interface IHTMLElement4;
8873                         interface IHTMLUniqueName;
8874                         interface IHTMLDOMNode;
8875                         interface IHTMLDOMNode2;
8876                         interface IHTMLDatabinding;
8877                         interface IHTMLOptionElement;
8878                         interface IHTMLOptionElement3;
8879 }
8880
8881 /*****************************************************************************
8882  *    IHTMLInputElement interface
8883  */
8884 [
8885     odl,
8886     oleautomation,
8887     dual,
8888     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
8889 ]
8890 interface IHTMLInputElement : IDispatch
8891 {
8892     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8893     HRESULT type([in] BSTR v);
8894
8895     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8896     HRESULT type([retval, out] BSTR *p);
8897
8898     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8899     HRESULT value([in] BSTR v);
8900
8901     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8902     HRESULT value([retval, out] BSTR *p);
8903
8904     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8905     HRESULT name([in] BSTR v);
8906
8907     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8908     HRESULT name([retval, out] BSTR *p);
8909
8910     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8911     HRESULT status([in] VARIANT_BOOL v);
8912
8913     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8914     HRESULT status([retval, out] VARIANT_BOOL *p);
8915
8916     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8917     HRESULT disabled([in] VARIANT_BOOL v);
8918
8919     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8920     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8921
8922     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8923     HRESULT form([retval, out] IHTMLFormElement **p);
8924
8925     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8926     HRESULT size([in] LONG v);
8927
8928     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8929     HRESULT size([retval, out] LONG *p);
8930
8931     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8932     HRESULT maxLength([in] LONG v);
8933
8934     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8935     HRESULT maxLength([retval, out] LONG *p);
8936
8937     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8938     HRESULT select();
8939
8940     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8941     HRESULT onchange([in] VARIANT v);
8942
8943     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8944     HRESULT onchange([retval, out] VARIANT *p);
8945
8946     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8947     HRESULT onselect([in] VARIANT v);
8948
8949     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8950     HRESULT onselect([retval, out] VARIANT *p);
8951
8952     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8953     HRESULT defaultValue([in] BSTR v);
8954
8955     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8956     HRESULT defaultValue([retval, out] BSTR *p);
8957
8958     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8959     HRESULT readOnly([in] VARIANT_BOOL v);
8960
8961     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8962     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8963
8964     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8965     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8966
8967     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8968     HRESULT indeterminate([in] VARIANT_BOOL v);
8969
8970     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8971     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
8972
8973     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8974     HRESULT defaultChecked([in] VARIANT_BOOL v);
8975
8976     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8977     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
8978
8979     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8980     HRESULT checked([in] VARIANT_BOOL v);
8981
8982     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8983     HRESULT checked([retval, out] VARIANT_BOOL *p);
8984
8985     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8986     HRESULT border([in] VARIANT v);
8987
8988     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8989     HRESULT border([retval, out] VARIANT *p);
8990
8991     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8992     HRESULT vspace([in] LONG v);
8993
8994     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8995     HRESULT vspace([retval, out] LONG *p);
8996
8997     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8998     HRESULT hspace([in] LONG v);
8999
9000     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9001     HRESULT hspace([retval, out] LONG *p);
9002
9003     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9004     HRESULT alt([in] BSTR v);
9005
9006     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9007     HRESULT alt([retval, out] BSTR *p);
9008
9009     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9010     HRESULT src([in] BSTR v);
9011
9012     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9013     HRESULT src([retval, out] BSTR *p);
9014
9015     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9016     HRESULT lowsrc([in] BSTR v);
9017
9018     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9019     HRESULT lowsrc([retval, out] BSTR *p);
9020
9021     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9022     HRESULT vrml([in] BSTR v);
9023
9024     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9025     HRESULT vrml([retval, out] BSTR *p);
9026
9027     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9028     HRESULT dynsrc([in] BSTR v);
9029
9030     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9031     HRESULT dynsrc([retval, out] BSTR *p);
9032
9033     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
9034     HRESULT readyState([retval, out] BSTR *p);
9035
9036     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9037     HRESULT complete([retval, out] VARIANT_BOOL *p);
9038
9039     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9040     HRESULT loop([in] VARIANT v);
9041
9042     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9043     HRESULT loop([retval, out] VARIANT *p);
9044
9045     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9046     HRESULT align([in] BSTR v);
9047
9048     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9049     HRESULT align([retval, out] BSTR *p);
9050
9051     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9052     HRESULT onload([in] VARIANT v);
9053
9054     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9055     HRESULT onload([retval, out] VARIANT *p);
9056
9057     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9058     HRESULT onerror([in] VARIANT v);
9059
9060     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9061     HRESULT onerror([retval, out] VARIANT *p);
9062
9063     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9064     HRESULT onabort([in] VARIANT v);
9065
9066     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9067     HRESULT onabort([retval, out] VARIANT *p);
9068
9069     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9070     HRESULT width([in] LONG v);
9071
9072     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9073     HRESULT width([retval, out] LONG *p);
9074
9075     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9076     HRESULT height([in] LONG v);
9077
9078     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9079     HRESULT height([retval, out] LONG *p);
9080
9081     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9082     HRESULT start([in] BSTR v);
9083
9084     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9085     HRESULT start([retval, out] BSTR *p);
9086 }
9087
9088 /*****************************************************************************
9089  *    IHTMLInputTextElement interface
9090  */
9091 [
9092     odl,
9093     oleautomation,
9094     dual,
9095     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
9096 ]
9097 interface IHTMLInputTextElement : IDispatch
9098 {
9099     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
9100     HRESULT type([retval, out] BSTR *p);
9101
9102     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9103     HRESULT value([in] BSTR v);
9104
9105     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9106     HRESULT value([retval, out] BSTR *p);
9107
9108     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9109     HRESULT name([in] BSTR v);
9110
9111     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9112     HRESULT name([retval, out] BSTR *p);
9113
9114     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9115     HRESULT status([in] VARIANT v);
9116
9117     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9118     HRESULT status([retval, out] VARIANT *p);
9119
9120     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9121     HRESULT disabled([in] VARIANT_BOOL v);
9122
9123     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9124     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9125
9126     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
9127     HRESULT form([retval, out] IHTMLFormElement **p);
9128
9129     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9130     HRESULT defaultValue([in] BSTR v);
9131
9132     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9133     HRESULT defaultValue([retval, out] BSTR *p);
9134
9135     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9136     HRESULT size([in] LONG v);
9137
9138     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9139     HRESULT size([retval, out] LONG *p);
9140
9141     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9142     HRESULT maxLength([in] LONG v);
9143
9144     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9145     HRESULT maxLength([retval, out] LONG *p);
9146
9147     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
9148     HRESULT select();
9149
9150     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9151     HRESULT onchange([in] VARIANT v);
9152
9153     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9154     HRESULT onchange([retval, out] VARIANT *p);
9155
9156     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9157     HRESULT onselect([in] VARIANT v);
9158
9159     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9160     HRESULT onselect([retval, out] VARIANT *p);
9161
9162     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9163     HRESULT readOnly([in] VARIANT_BOOL v);
9164
9165     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9166     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9167
9168     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
9169     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9170 }
9171
9172 [
9173     hidden,
9174     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
9175 ]
9176 dispinterface DispHTMLInputElement
9177 {
9178 properties:
9179 methods:
9180     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9181
9182     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9183     void type(BSTR v);
9184
9185     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9186     BSTR type();
9187
9188     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9189     void value(BSTR v);
9190
9191     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9192     BSTR value();
9193
9194     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9195     void name(BSTR v);
9196
9197     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9198     BSTR name();
9199
9200     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9201     void status(VARIANT_BOOL v);
9202
9203     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9204     VARIANT_BOOL status();
9205
9206     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
9207     IHTMLFormElement *form();
9208
9209     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9210     void size(LONG v);
9211
9212     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9213     LONG size();
9214
9215     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9216     void maxLength(LONG v);
9217
9218     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9219     LONG maxLength();
9220
9221     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
9222     void select();
9223
9224     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9225     void onchange(VARIANT v);
9226
9227     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9228     VARIANT onchange();
9229
9230     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9231     void onselect(VARIANT v);
9232
9233     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9234     VARIANT onselect();
9235
9236     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9237     void defaultValue(BSTR v);
9238
9239     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9240     BSTR defaultValue();
9241
9242     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9243     void readOnly(VARIANT_BOOL v);
9244
9245     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9246     VARIANT_BOOL readOnly();
9247
9248     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
9249     IHTMLTxtRange *createTextRange();
9250
9251     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9252     void indeterminate(VARIANT_BOOL v);
9253
9254     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9255     VARIANT_BOOL indeterminate();
9256
9257     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9258     void defaultChecked(VARIANT_BOOL v);
9259
9260     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9261     VARIANT_BOOL defaultChecked();
9262
9263     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9264     void checked(VARIANT_BOOL v);
9265
9266     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9267     VARIANT_BOOL checked();
9268
9269     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9270     void border(VARIANT v);
9271
9272     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9273     VARIANT border();
9274
9275     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9276     void vspace(LONG v);
9277
9278     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9279     LONG vspace();
9280
9281     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9282     void hspace(LONG v);
9283
9284     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9285     LONG hspace();
9286
9287     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9288     void alt(BSTR v);
9289
9290     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9291     BSTR alt();
9292
9293     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9294     void src(BSTR v);
9295
9296     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9297     BSTR src();
9298
9299     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9300     void lowsrc(BSTR v);
9301
9302     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9303     BSTR lowsrc();
9304
9305     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9306     void vrml(BSTR v);
9307
9308     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9309     BSTR vrml();
9310
9311     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9312     void dynsrc(BSTR v);
9313
9314     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9315     BSTR dynsrc();
9316
9317     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9318     VARIANT_BOOL complete();
9319
9320     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9321     void loop(VARIANT v);
9322
9323     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9324     VARIANT loop();
9325
9326     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9327     void align(BSTR v);
9328
9329     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9330     BSTR align();
9331
9332     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9333     void onload(VARIANT v);
9334
9335     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9336     VARIANT onload();
9337
9338     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9339     void onerror(VARIANT v);
9340
9341     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9342     VARIANT onerror();
9343
9344     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9345     void onabort(VARIANT v);
9346
9347     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9348     VARIANT onabort();
9349
9350     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9351     void width(LONG v);
9352
9353     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9354     LONG width();
9355
9356     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9357     void height(LONG v);
9358
9359     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9360     LONG height();
9361
9362     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9363     void start(BSTR v);
9364
9365     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9366     BSTR start();
9367
9368     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9369     void accept(BSTR v);
9370
9371     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9372     BSTR accept();
9373
9374     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9375     void useMap(BSTR v);
9376
9377     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9378     BSTR useMap();
9379 }
9380
9381 /*****************************************************************************
9382  *    IHTMLTextAreaElement interface
9383  */
9384 [
9385     odl,
9386     oleautomation,
9387     dual,
9388     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
9389 ]
9390 interface IHTMLTextAreaElement : IDispatch
9391 {
9392     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9393     HRESULT type([retval, out] BSTR *p);
9394
9395     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9396     HRESULT value([in] BSTR v);
9397
9398     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9399     HRESULT value([retval, out] BSTR *p);
9400
9401     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9402     HRESULT name([in] BSTR v);
9403
9404     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9405     HRESULT name([retval, out] BSTR *p);
9406
9407     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9408     HRESULT status([in] VARIANT v);
9409
9410     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9411     HRESULT status([retval, out] VARIANT *p);
9412
9413     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9414     HRESULT disabled([in] VARIANT_BOOL v);
9415
9416     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9417     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9418
9419     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9420     HRESULT form([retval, out] IHTMLFormElement **p);
9421
9422     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9423     HRESULT defaultValue([in] BSTR v);
9424
9425     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9426     HRESULT defaultValue([retval, out] BSTR *p);
9427
9428     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9429     HRESULT select();
9430
9431     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9432     HRESULT onchange([in] VARIANT v);
9433
9434     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9435     HRESULT onchange([retval, out] VARIANT *p);
9436
9437     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9438     HRESULT onselect([in] VARIANT v);
9439
9440     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9441     HRESULT onselect([retval, out] VARIANT *p);
9442
9443     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9444     HRESULT readOnly([in] VARIANT_BOOL v);
9445
9446     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9447     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9448
9449     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9450     HRESULT rows([in] LONG v);
9451
9452     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9453     HRESULT rows([retval, out] LONG *p);
9454
9455     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9456     HRESULT cols([in] LONG v);
9457
9458     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9459     HRESULT cols([retval, out] LONG *p);
9460
9461     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9462     HRESULT wrap([in] BSTR v);
9463
9464     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9465     HRESULT wrap([retval, out] BSTR *p);
9466
9467     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9468     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9469 }
9470
9471 /*****************************************************************************
9472  *    DispHTMLTextAreaElement dispinterface
9473  */
9474 [
9475     hidden,
9476     uuid(3050f521-98b5-11cf-bb82-00aa00bdce0b)
9477 ]
9478 dispinterface DispHTMLTextAreaElement
9479 {
9480 properties:
9481 methods:
9482     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9483
9484     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9485     BSTR type();
9486
9487     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9488     void value(BSTR v);
9489
9490     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9491     BSTR value();
9492
9493     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9494     void name(BSTR v);
9495
9496     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9497     BSTR name();
9498
9499     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9500     void status(VARIANT v);
9501
9502     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9503     VARIANT status();
9504
9505     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9506     IHTMLFormElement *form();
9507
9508     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9509     void defaultValue(BSTR v);
9510
9511     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9512     BSTR defaultValue();
9513
9514     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9515     void select();
9516
9517     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9518     void onchange(VARIANT v);
9519
9520     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9521     VARIANT onchange();
9522
9523     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9524     void onselect(VARIANT v);
9525
9526     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9527     VARIANT onselect();
9528
9529     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9530     void readOnly(VARIANT_BOOL v);
9531
9532     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9533     VARIANT_BOOL readOnly();
9534
9535     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9536     void rows(LONG v);
9537
9538     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9539     LONG rows();
9540
9541     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9542     void cols(LONG v);
9543
9544     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9545     LONG cols();
9546
9547     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9548     void wrap(BSTR v);
9549
9550     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9551     BSTR wrap();
9552
9553     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9554     IHTMLTxtRange *createTextRange();
9555 }
9556
9557 /*****************************************************************************
9558  *    IHTMLHeadElement interface
9559  */
9560 [
9561     odl,
9562     oleautomation,
9563     dual,
9564     uuid(3050f81d-98b5-11cf-bb82-00aa00bdce0b)
9565 ]
9566 interface IHTMLHeadElement : IDispatch
9567 {
9568     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9569     HRESULT profile([in] BSTR v);
9570
9571     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9572     HRESULT profile([retval, out] BSTR *p);
9573 }
9574
9575 /*****************************************************************************
9576  *    IHTMLHeadElement2 interface
9577  */
9578 [
9579     odl,
9580     oleautomation,
9581     dual,
9582     uuid(3051042f-98b5-11cf-bb82-00aa00bdce0b)
9583 ]
9584 interface IHTMLHeadElement2 : IDispatch
9585 {
9586     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9587     HRESULT profile([in] BSTR v);
9588
9589     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9590     HRESULT profile([retval, out] BSTR *p);
9591 }
9592
9593 /*****************************************************************************
9594  *    IHTMLTitleElement interface
9595  */
9596 [
9597     odl,
9598     oleautomation,
9599     dual,
9600     uuid(3050f322-98b5-11cf-bb82-00aa00bdce0b)
9601 ]
9602 interface IHTMLTitleElement : IDispatch
9603 {
9604     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9605     HRESULT text([in] BSTR v);
9606
9607     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9608     HRESULT text([retval, out] BSTR *p);
9609 }
9610
9611 /*****************************************************************************
9612  *    DispHTMLHeadElement interface
9613  */
9614 [
9615     hidden,
9616     uuid(3050f561-98b5-11cf-bb82-00aa00bdce0b)
9617 ]
9618 dispinterface DispHTMLHeadElement
9619 {
9620 properties:
9621 methods:
9622     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9623
9624     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9625     void profile(BSTR v);
9626
9627     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9628     BSTR profile();
9629
9630     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9631     void ie8_profile(BSTR v);
9632
9633     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9634     BSTR ie8_profile();
9635 }
9636
9637 /*****************************************************************************
9638  *    DispHTMLTitleElement interface
9639  */
9640 [
9641     hidden,
9642     uuid(3050f516-98b5-11cf-bb82-00aa00bdce0b)
9643 ]
9644 dispinterface DispHTMLTitleElement
9645 {
9646 properties:
9647 methods:
9648     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9649
9650     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9651     void text(BSTR v);
9652
9653     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9654     BSTR text();
9655 }
9656
9657 /*****************************************************************************
9658  *    DispHTMLUnknownElement interface
9659  */
9660 [
9661     hidden,
9662     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
9663 ]
9664 dispinterface DispHTMLUnknownElement
9665 {
9666 properties:
9667 methods:
9668     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9669 }
9670
9671 /*****************************************************************************
9672  *    IOmHistory interface
9673  */
9674 [
9675     odl,
9676     oleautomation,
9677     dual,
9678     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
9679 ]
9680 interface IOmHistory : IDispatch
9681 {
9682     [propget, id(DISPID_IOMHISTORY_LENGTH)]
9683     HRESULT length([retval, out] short *p);
9684
9685     [id(DISPID_IOMHISTORY_BACK)]
9686     HRESULT back([optional, in] VARIANT *pvargdistance);
9687
9688     [id(DISPID_IOMHISTORY_FORWARD)]
9689     HRESULT forward([optional, in] VARIANT *pvargdistance);
9690
9691     [id(DISPID_IOMHISTORY_GO)]
9692     HRESULT go([optional, in] VARIANT *pvargdistance);
9693 }
9694
9695 [
9696     noncreatable,
9697     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
9698 ]
9699 coclass HTMLHistory
9700 {
9701     [default]           interface IOmHistory;
9702 }
9703
9704 /*****************************************************************************
9705  *    IHTMLMimeTypesCollection interface
9706  */
9707 [
9708     odl,
9709     oleautomation,
9710     dual,
9711     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
9712 ]
9713 interface IHTMLMimeTypesCollection : IDispatch
9714 {
9715     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
9716     HRESULT length([retval, out] LONG *p);
9717 }
9718
9719 [
9720     noncreatable,
9721     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
9722 ]
9723 coclass CMimeTypes
9724 {
9725     [default]           interface IHTMLMimeTypesCollection;
9726 }
9727
9728 /*****************************************************************************
9729  *    IHTMLPluginsCollection interface
9730  */
9731 [
9732     odl,
9733     oleautomation,
9734     dual,
9735     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
9736 ]
9737 interface IHTMLPluginsCollection : IDispatch
9738 {
9739     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9740     HRESULT length([retval, out] LONG *p);
9741
9742     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9743     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9744 }
9745
9746 [
9747     hidden,
9748     uuid(3050f54a-98b5-11cf-bb82-00aa00bdce0b)
9749 ]
9750 dispinterface DispCPlugins
9751 {
9752  properties:
9753 methods:
9754     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9755     long length();
9756
9757     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9758     void refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9759
9760     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
9761     IDispatch *constructor();
9762 }
9763
9764 [
9765     noncreatable,
9766     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
9767 ]
9768 coclass CPlugins
9769 {
9770     [default]  dispinterface DispCPlugins;
9771                interface IHTMLPluginsCollection;
9772                interface IHTMLDOMConstructor;
9773 }
9774
9775 /*****************************************************************************
9776  *    IHTMLOpsProfile interface
9777  */
9778 [
9779     odl,
9780     oleautomation,
9781     dual,
9782     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
9783 ]
9784 interface IHTMLOpsProfile : IDispatch
9785 {
9786     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
9787     HRESULT addRequest(
9788         [in] BSTR name,
9789         [optional, in] VARIANT reserved,
9790         [retval, out] VARIANT_BOOL *success);
9791
9792     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
9793     HRESULT clearRequest();
9794
9795     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
9796     HRESULT doRequest(
9797         [in] VARIANT usage,
9798         [optional, in] VARIANT fname,
9799         [optional, in] VARIANT domain,
9800         [optional, in] VARIANT path,
9801         [optional, in] VARIANT expire,
9802         [optional, in] VARIANT reserved);
9803
9804     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
9805     HRESULT getAttribute(
9806         [in] BSTR name,
9807         [retval, out] BSTR *value);
9808
9809     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
9810     HRESULT setAttribute(
9811         [in] BSTR name,
9812         [in] BSTR value,
9813         [optional, in] VARIANT prefs,
9814         [retval, out] VARIANT_BOOL *success);
9815
9816     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
9817     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
9818
9819     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
9820     HRESULT addReadRequest(
9821         [in] BSTR name,
9822         [optional, in] VARIANT reserved,
9823         [retval, out] VARIANT_BOOL *success);
9824
9825     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
9826     HRESULT doReadRequest(
9827         [in] VARIANT usage,
9828         [optional, in] VARIANT fname,
9829         [optional, in] VARIANT domain,
9830         [optional, in] VARIANT path,
9831         [optional, in] VARIANT expire,
9832         [optional, in] VARIANT reserved);
9833
9834     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
9835     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
9836 }
9837
9838 [
9839     noncreatable,
9840     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
9841 ]
9842 coclass COpsProfile
9843 {
9844     [default]           interface IHTMLOpsProfile;
9845 }
9846
9847 /*****************************************************************************
9848  *    IOmNavigator interface
9849  */
9850 [
9851     odl,
9852     oleautomation,
9853     dual,
9854     uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
9855 ]
9856 interface IOmNavigator : IDispatch
9857 {
9858     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9859     HRESULT appCodeName([retval, out] BSTR *p);
9860
9861     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9862     HRESULT appName([retval, out] BSTR *p);
9863
9864     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
9865     HRESULT appVersion([retval, out] BSTR *p);
9866
9867     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
9868     HRESULT userAgent([retval, out] BSTR *p);
9869
9870     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
9871     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
9872
9873     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
9874     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
9875
9876     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
9877     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
9878
9879     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
9880     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
9881
9882     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
9883     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
9884
9885     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
9886     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
9887
9888     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
9889     HRESULT toString([retval, out] BSTR *String);
9890
9891     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
9892     HRESULT cpuClass([retval, out] BSTR *p);
9893
9894     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
9895     HRESULT systemLanguage([retval, out] BSTR *p);
9896
9897     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
9898     HRESULT browserLanguage([retval, out] BSTR *p);
9899
9900     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
9901     HRESULT userLanguage([retval, out] BSTR *p);
9902
9903     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
9904     HRESULT platform([retval, out] BSTR *p);
9905
9906     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
9907     HRESULT appMinorVersion([retval, out] BSTR *p);
9908
9909     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
9910     HRESULT connectionSpeed([retval, out] LONG *p);
9911
9912     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
9913     HRESULT onLine([retval, out] VARIANT_BOOL *p);
9914
9915     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
9916     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
9917 }
9918
9919 /*****************************************************************************
9920  *    DispHTMLNavigator dispinterface
9921  */
9922 [
9923     hidden,
9924     uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
9925 ]
9926 dispinterface DispHTMLNavigator
9927 {
9928 properties:
9929 methods:
9930     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9931     BSTR appCodeName();
9932
9933     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9934     BSTR appName();
9935
9936     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
9937     BSTR appVersion();
9938
9939     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
9940     BSTR userAgent();
9941
9942     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
9943     VARIANT_BOOL javaEnabled();
9944
9945     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
9946     VARIANT_BOOL taintEnabled();
9947
9948     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
9949     IHTMLMimeTypesCollection *mimeTypes();
9950
9951     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
9952     IHTMLPluginsCollection *plugins();
9953
9954     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
9955     VARIANT_BOOL cookieEnabled();
9956
9957     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
9958     IHTMLOpsProfile *opsProfile();
9959
9960     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
9961     BSTR toString();
9962
9963     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
9964     BSTR cpuClass();
9965
9966     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
9967     BSTR systemLanguage();
9968
9969     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
9970     BSTR browserLanguage();
9971
9972     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
9973     BSTR userLanguage();
9974
9975     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
9976     BSTR platform();
9977
9978     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
9979     BSTR appMinorVersion();
9980
9981     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
9982     LONG connectionSpeed();
9983
9984     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
9985     VARIANT_BOOL onLine();
9986
9987     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
9988     IHTMLOpsProfile *userProfile();
9989
9990     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
9991 }
9992
9993 [
9994     noncreatable,
9995     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
9996 ]
9997 coclass HTMLNavigator
9998 {
9999     [default]  dispinterface DispHTMLNavigator;
10000                interface IOmNavigator;
10001 }
10002
10003 /*****************************************************************************
10004  *    IHTMLLocation interface
10005  */
10006 [
10007     odl,
10008     oleautomation,
10009     dual,
10010     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
10011 ]
10012 interface IHTMLLocation : IDispatch
10013 {
10014     [propput, id(DISPID_IHTMLLOCATION_HREF)]
10015     HRESULT href([in] BSTR v);
10016
10017     [propget, id(DISPID_IHTMLLOCATION_HREF)]
10018     HRESULT href([retval, out] BSTR *p);
10019
10020     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10021     HRESULT protocol([in] BSTR v);
10022
10023     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10024     HRESULT protocol([retval, out] BSTR *p);
10025
10026     [propput, id(DISPID_IHTMLLOCATION_HOST)]
10027     HRESULT host([in] BSTR v);
10028
10029     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10030     HRESULT host([retval, out] BSTR *p);
10031
10032     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10033     HRESULT hostname([in] BSTR v);
10034
10035     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10036     HRESULT hostname([retval, out] BSTR *p);
10037
10038     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10039     HRESULT port([in] BSTR v);
10040
10041     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10042     HRESULT port([retval, out] BSTR *p);
10043
10044     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10045     HRESULT pathname([in] BSTR v);
10046
10047     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10048     HRESULT pathname([retval, out] BSTR *p);
10049
10050     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10051     HRESULT search([in] BSTR v);
10052
10053     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10054     HRESULT search([retval, out] BSTR *p);
10055
10056     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10057     HRESULT hash([in] BSTR v);
10058
10059     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10060     HRESULT hash([retval, out] BSTR *p);
10061
10062     [id(DISPID_IHTMLLOCATION_RELOAD)]
10063     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
10064
10065     [id(DISPID_IHTMLLOCATION_REPLACE)]
10066     HRESULT replace([in] BSTR bstr);
10067
10068     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10069     HRESULT assign([in] BSTR bstr);
10070
10071     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10072     HRESULT toString([retval, out] BSTR *String);
10073 }
10074
10075 /*****************************************************************************
10076  *    DispHTMLLocation dispinterface
10077  */
10078 [
10079     hidden,
10080     uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
10081 ]
10082 dispinterface DispHTMLLocation
10083 {
10084 properties:
10085 methods:
10086     [propput, id(DISPID_IHTMLLOCATION_HREF)]
10087     void href(BSTR v);
10088
10089     [propget, id(DISPID_IHTMLLOCATION_HREF)]
10090     BSTR href();
10091
10092     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10093     void protocol(BSTR v);
10094
10095     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10096     BSTR protocol();
10097
10098     [propput, id(DISPID_IHTMLLOCATION_HOST)]
10099     void host(BSTR v);
10100
10101     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10102     BSTR host();
10103
10104     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10105     void hostname(BSTR v);
10106
10107     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10108     BSTR hostname();
10109
10110     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10111     void port(BSTR v);
10112
10113     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10114     BSTR port();
10115
10116     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10117     void pathname(BSTR v);
10118
10119     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10120     BSTR pathname();
10121
10122     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10123     void search(BSTR v);
10124
10125     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10126     BSTR search();
10127
10128     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10129     void hash(BSTR v);
10130
10131     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10132     BSTR hash();
10133
10134     [id(DISPID_IHTMLLOCATION_RELOAD)]
10135     void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
10136
10137     [id(DISPID_IHTMLLOCATION_REPLACE)]
10138     void replace([in] BSTR bstr);
10139
10140     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10141     void assign([in] BSTR bstr);
10142
10143     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10144     BSTR toString();
10145
10146     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
10147 }
10148
10149 [
10150     noncreatable,
10151     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
10152 ]
10153 coclass HTMLLocation
10154 {
10155     [default]  dispinterface DispHTMLLocation;
10156                interface IHTMLLocation;
10157 }
10158
10159 [
10160     odl,
10161     oleautomation,
10162     dual,
10163     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
10164 ]
10165 interface IHTMLBookmarkCollection : IDispatch
10166 {
10167     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
10168     HRESULT length([out, retval] LONG *p);
10169
10170     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
10171     HRESULT _newEnum([out, retval] IUnknown **p);
10172
10173     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
10174     HRESULT item(
10175             [in] LONG index,
10176             [out, retval] VARIANT *pVarBookmark);
10177 }
10178
10179 /*****************************************************************************
10180  *    IHTMLDataTransfer interface
10181  */
10182 [
10183     odl,
10184     oleautomation,
10185     dual,
10186     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
10187 ]
10188 interface IHTMLDataTransfer : IDispatch
10189 {
10190     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
10191     HRESULT setData(
10192             [in] BSTR format,
10193             [in] VARIANT *data,
10194             [out, retval] VARIANT_BOOL *pret);
10195
10196     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
10197     HRESULT getData(
10198             [in] BSTR format,
10199             [out, retval] VARIANT *pvarRet);
10200
10201     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
10202     HRESULT clearData(
10203             [in] BSTR format,
10204             [out, retval] VARIANT_BOOL *pret);
10205
10206     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10207     HRESULT dropEffect([in] BSTR v);
10208
10209     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10210     HRESULT dropEffect([out, retval] BSTR *p);
10211
10212     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10213     HRESULT effectAllowed([in] BSTR v);
10214
10215     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10216     HRESULT effectAllowed([out, retval] BSTR *p);
10217 }
10218
10219 /*****************************************************************************
10220  *    IHTMLEventObj interface
10221  */
10222 [
10223     odl,
10224     oleautomation,
10225     dual,
10226     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
10227 ]
10228 interface IHTMLEventObj : IDispatch
10229 {
10230     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
10231     HRESULT srcElement([retval, out] IHTMLElement **p);
10232
10233     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
10234     HRESULT altKey([retval, out] VARIANT_BOOL *p);
10235
10236     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
10237     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
10238
10239     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
10240     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
10241
10242     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10243     HRESULT returnValue([in] VARIANT v);
10244
10245     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10246     HRESULT returnValue([retval, out] VARIANT *p);
10247
10248     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10249     HRESULT cancelBubble([in] VARIANT_BOOL v);
10250
10251     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10252     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
10253
10254     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
10255     HRESULT fromElement([retval, out] IHTMLElement **p);
10256
10257     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
10258     HRESULT toElement([retval, out] IHTMLElement **p);
10259
10260     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10261     HRESULT keyCode([in] LONG v);
10262
10263     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10264     HRESULT keyCode([retval, out] LONG *p);
10265
10266     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
10267     HRESULT button([retval, out] LONG *p);
10268
10269     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
10270     HRESULT type([retval, out] BSTR *p);
10271
10272     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
10273     HRESULT qualifier([retval, out] BSTR *p);
10274
10275     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
10276     HRESULT reason([retval, out] LONG *p);
10277
10278     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
10279     HRESULT x([retval, out] LONG *p);
10280
10281     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
10282     HRESULT y([retval, out] LONG *p);
10283
10284     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
10285     HRESULT clientX([retval, out] LONG *p);
10286
10287     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
10288     HRESULT clientY([retval, out] LONG *p);
10289
10290     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
10291     HRESULT offsetX([retval, out] LONG *p);
10292
10293     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
10294     HRESULT offsetY([retval, out] LONG *p);
10295
10296     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
10297     HRESULT screenX([retval, out] LONG *p);
10298
10299     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
10300     HRESULT screenY([retval, out] LONG *p);
10301
10302     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
10303     HRESULT srcFilter([retval, out] IDispatch **p);
10304 }
10305
10306 /*****************************************************************************
10307  *    DispCEventObj dispinterface
10308  */
10309 [
10310     hidden,
10311     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
10312 ]
10313 dispinterface DispCEventObj
10314 {
10315 properties:
10316 methods:
10317     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10318     void returnValue(VARIANT v);
10319
10320     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10321     VARIANT returnValue();
10322
10323     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10324     void cancelBubble(VARIANT_BOOL v);
10325
10326     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10327     VARIANT_BOOL cancelBubble();
10328
10329     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10330     void keyCode(LONG v);
10331
10332     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10333     LONG keyCode();
10334
10335     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
10336     void setAttribute(
10337             [in] BSTR strAttributeName,
10338             [in] VARIANT AttributeValue,
10339             [in, defaultvalue(1)] LONG lFlags);
10340
10341     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
10342     VARIANT getAttribute(
10343             [in] BSTR strAttributeName,
10344             [in, defaultvalue(0)] LONG lFlags);
10345
10346     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
10347     VARIANT_BOOL removeAttribute(
10348             [in] BSTR strAttributeName,
10349             [in, defaultvalue(1)] LONG lFlags);
10350
10351     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
10352     void propertyName(BSTR v);
10353
10354     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
10355     BSTR propertyName();
10356
10357     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
10358     void bookmarks(IHTMLBookmarkCollection *v);
10359
10360     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
10361     IHTMLBookmarkCollection *bookmarks();
10362
10363     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
10364     void recordset(IDispatch *v);
10365
10366     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
10367     IDispatch *recordset();
10368
10369     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
10370     void dataFld(BSTR v);
10371
10372     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
10373     BSTR dataFld();
10374
10375     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
10376     void boundElements(IHTMLElementCollection *v);
10377
10378     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
10379     IHTMLElementCollection *boundElements();
10380
10381     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
10382     void repeat(VARIANT_BOOL v);
10383
10384     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
10385     VARIANT_BOOL repeat();
10386
10387     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
10388     void srcUrn(BSTR v);
10389
10390     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
10391     BSTR srcUrn();
10392
10393     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
10394     void srcElement(IHTMLElement *v);
10395
10396     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
10397     IHTMLElement *srcElement();
10398
10399     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
10400     void altKey(VARIANT_BOOL v);
10401
10402     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
10403     VARIANT_BOOL altKey();
10404
10405     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
10406     void ctrlKey(VARIANT_BOOL v);
10407
10408     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
10409     VARIANT_BOOL ctrlKey();
10410
10411     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
10412     void shiftKey(VARIANT_BOOL v);
10413
10414     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
10415     VARIANT_BOOL shiftKey();
10416
10417     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
10418     void fromElement(IHTMLElement *v);
10419
10420     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
10421     IHTMLElement *fromElement();
10422
10423     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
10424     void toElement(IHTMLElement *v);
10425
10426     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
10427     IHTMLElement *toElement();
10428
10429     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
10430     void button(LONG v);
10431
10432     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
10433     LONG button();
10434
10435     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
10436     void type(BSTR v);
10437
10438     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
10439     BSTR type();
10440
10441     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
10442     void qualifier(BSTR v);
10443
10444     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
10445     BSTR qualifier();
10446
10447     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
10448     void reason(LONG v);
10449
10450     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
10451     LONG reason();
10452
10453     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
10454     void x(LONG v);
10455
10456     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
10457     LONG x();
10458
10459     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
10460     void y(LONG v);
10461
10462     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
10463     LONG y();
10464
10465     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
10466     void clientX(LONG v);
10467
10468     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
10469     LONG clientX();
10470
10471     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
10472     void clientY(LONG v);
10473
10474     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
10475     LONG clientY();
10476     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
10477     void offsetX(LONG v);
10478
10479     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
10480     LONG offsetX();
10481
10482     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
10483     void offsetY(LONG v);
10484
10485     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
10486     LONG offsetY();
10487
10488     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
10489     void screenX(LONG v);
10490
10491     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
10492     LONG screenX();
10493
10494     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
10495     void screenY(LONG v);
10496
10497     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
10498     LONG screenY();
10499
10500     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
10501     void srcFilter(IDispatch *v);
10502
10503     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
10504     IDispatch *srcFilter();
10505
10506     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
10507     IHTMLDataTransfer *dataTransfer();
10508
10509     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
10510     VARIANT_BOOL contentOverflow();
10511
10512     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
10513     void shiftLeft(VARIANT_BOOL v);
10514
10515     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
10516     VARIANT_BOOL shiftLeft();
10517
10518     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
10519     void altLeft(VARIANT_BOOL v);
10520
10521     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
10522     VARIANT_BOOL altLeft();
10523
10524     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
10525     void ctrlLeft(VARIANT_BOOL v);
10526
10527     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
10528     VARIANT_BOOL ctrlLeft();
10529
10530     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
10531     LONG_PTR imeCompositionChange();
10532
10533     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
10534     LONG_PTR imeNotifyCommand();
10535
10536     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
10537     LONG_PTR imeNotifyData();
10538
10539     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
10540     LONG_PTR imeRequest();
10541
10542     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
10543     LONG_PTR imeRequestData();
10544
10545     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
10546     LONG_PTR keyboardLayout();
10547
10548     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
10549     LONG behaviorCookie();
10550
10551     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
10552     LONG behaviorPart();
10553
10554     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
10555     BSTR nextPage();
10556
10557     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
10558     LONG wheelDelta();
10559 }
10560
10561 /*****************************************************************************
10562  *    IHTMLFramesCollection2 interface
10563  */
10564 [
10565     odl,
10566     oleautomation,
10567     dual,
10568     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
10569 ]
10570 interface IHTMLFramesCollection2 : IDispatch
10571 {
10572     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10573     HRESULT item(
10574         [in] VARIANT *pvarIndex,
10575         [retval, out] VARIANT *pvarResult);
10576
10577     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10578     HRESULT length([retval, out] LONG *p);
10579 }
10580
10581 /*****************************************************************************
10582  *    IHTMLScreen interface
10583  */
10584 [
10585     odl,
10586     oleautomation,
10587     dual,
10588     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
10589 ]
10590 interface IHTMLScreen : IDispatch
10591 {
10592     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
10593     HRESULT colorDepth([retval, out] LONG *p);
10594
10595     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10596     HRESULT bufferDepth([in] LONG v);
10597
10598     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10599     HRESULT bufferDepth([retval, out] LONG *p);
10600
10601     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10602     HRESULT width([retval, out] LONG *p);
10603
10604     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10605     HRESULT height([retval, out] LONG *p);
10606
10607     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10608     HRESULT updateInterval([in] LONG v);
10609
10610     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10611     HRESULT updateInterval([retval, out] LONG *p);
10612
10613     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
10614     HRESULT availHeight([retval, out] LONG *p);
10615
10616     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
10617     HRESULT availWidth([retval, out] LONG *p);
10618
10619     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10620     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
10621 }
10622
10623 /*****************************************************************************
10624  *    IHTMLWindow2 interface
10625  */
10626 [
10627     odl,
10628     oleautomation,
10629     dual,
10630     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
10631 ]
10632 interface IHTMLWindow2 : IHTMLFramesCollection2
10633 {
10634     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10635     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
10636
10637     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10638     HRESULT defaultStatus([in] BSTR v);
10639
10640     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10641     HRESULT defaultStatus([retval, out] BSTR *p);
10642
10643     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10644     HRESULT status([in] BSTR v);
10645
10646     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10647     HRESULT status([retval, out] BSTR *p);
10648
10649     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
10650     HRESULT setTimeout(
10651         [in] BSTR expression,
10652         [in] LONG msec,
10653         [optional, in] VARIANT *language,
10654         [retval, out] LONG *timerID);
10655
10656     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10657     HRESULT clearTimeout([in] LONG timerID);
10658
10659     [id(DISPID_IHTMLWINDOW2_ALERT)]
10660     HRESULT alert([defaultvalue(""), in] BSTR message);
10661
10662     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10663     HRESULT confirm(
10664         [defaultvalue(""), in] BSTR message,
10665         [retval, out] VARIANT_BOOL *confirmed);
10666
10667     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10668     HRESULT prompt(
10669         [defaultvalue(""), in] BSTR message,
10670         [defaultvalue("undefined"), in] BSTR defstr,
10671         [retval, out] VARIANT *textdata);
10672
10673     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10674     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
10675
10676     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10677     HRESULT location([retval, out] IHTMLLocation **p);
10678
10679     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10680     HRESULT history([retval, out] IOmHistory **p);
10681
10682     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10683     HRESULT close();
10684
10685     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10686     HRESULT opener([in] VARIANT v);
10687
10688     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10689     HRESULT opener([retval, out] VARIANT *p);
10690
10691     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10692     HRESULT navigator([retval, out] IOmNavigator **p);
10693
10694     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10695     HRESULT name([in] BSTR v);
10696
10697     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10698     HRESULT name([retval, out] BSTR *p);
10699
10700     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10701     HRESULT parent([retval, out] IHTMLWindow2 **p);
10702
10703     [id(DISPID_IHTMLWINDOW2_OPEN)]
10704     HRESULT open(
10705         [defaultvalue(""), in] BSTR url,
10706         [defaultvalue(""), in] BSTR name,
10707         [defaultvalue(""), in] BSTR features,
10708         [defaultvalue(0), in] VARIANT_BOOL replace,
10709         [retval, out] IHTMLWindow2 **pomWindowResult);
10710
10711     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10712     HRESULT self([retval, out] IHTMLWindow2 **p);
10713
10714     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10715     HRESULT top([retval, out] IHTMLWindow2 **p);
10716
10717     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10718     HRESULT window([retval, out] IHTMLWindow2 **p);
10719
10720     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10721     HRESULT navigate([in] BSTR url);
10722
10723     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10724     HRESULT onfocus([in] VARIANT v);
10725
10726     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10727     HRESULT onfocus([retval, out] VARIANT *p);
10728
10729     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10730     HRESULT onblur([in] VARIANT v);
10731
10732     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10733     HRESULT onblur([retval, out] VARIANT *p);
10734
10735     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10736     HRESULT onload([in] VARIANT v);
10737
10738     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10739     HRESULT onload([retval, out] VARIANT *p);
10740
10741     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10742     HRESULT onbeforeunload([in] VARIANT v);
10743
10744     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10745     HRESULT onbeforeunload([retval, out] VARIANT *p);
10746
10747     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10748     HRESULT onunload([in] VARIANT v);
10749
10750     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10751     HRESULT onunload([retval, out] VARIANT *p);
10752
10753     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
10754     HRESULT onhelp([in] VARIANT v);
10755
10756     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
10757     HRESULT onhelp([retval, out] VARIANT *p);
10758
10759     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
10760     HRESULT onerror([in] VARIANT v);
10761
10762     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
10763     HRESULT onerror([retval, out] VARIANT *p);
10764
10765     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10766     HRESULT onresize([in] VARIANT v);
10767
10768     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10769     HRESULT onresize([retval, out] VARIANT *p);
10770
10771     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10772     HRESULT onscroll([in] VARIANT v);
10773
10774     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10775     HRESULT onscroll([retval, out] VARIANT *p);
10776
10777     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
10778     HRESULT document([retval, out] IHTMLDocument2 **p);
10779
10780     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10781     HRESULT event([retval, out] IHTMLEventObj **p);
10782
10783     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
10784     HRESULT _newEnum([retval, out] IUnknown **p);
10785
10786     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10787     HRESULT showModalDialog(
10788         [in] BSTR dialog,
10789         [optional, in] VARIANT *varArgIn,
10790         [optional, in] VARIANT *varOptions,
10791         [retval, out] VARIANT *varArgOut);
10792
10793     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10794     HRESULT showHelp(
10795         [in] BSTR helpURL,
10796         [optional, in] VARIANT helpArg,
10797         [defaultvalue(""), in] BSTR features);
10798
10799     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10800     HRESULT screen([retval, out] IHTMLScreen **p);
10801
10802     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10803     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
10804
10805     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10806     HRESULT focus();
10807
10808     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10809     HRESULT closed([retval, out] VARIANT_BOOL *p);
10810
10811     [id(DISPID_IHTMLWINDOW2_BLUR)]
10812     HRESULT blur();
10813
10814     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10815     HRESULT scroll([in] LONG x, [in] LONG y);
10816
10817     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10818     HRESULT clientInformation([retval, out] IOmNavigator **p);
10819
10820     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
10821     HRESULT setInterval([
10822         in] BSTR expression,
10823         [in] LONG msec,
10824         [optional, in] VARIANT *language,
10825         [retval, out] LONG *timerID);
10826
10827     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10828     HRESULT clearInterval([in] LONG timerID);
10829
10830     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10831     HRESULT offscreenBuffering([in] VARIANT v);
10832
10833     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10834     HRESULT offscreenBuffering([retval, out] VARIANT *p);
10835
10836     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10837     HRESULT execScript(
10838         [in] BSTR scode,
10839         [defaultvalue("JScript"), in] BSTR language,
10840         [retval, out] VARIANT *pvarRet);
10841
10842     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10843     HRESULT toString([retval, out] BSTR *String);
10844
10845     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10846     HRESULT scrollBy([in] LONG x, [in] LONG y);
10847
10848     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10849     HRESULT scrollTo([in] LONG x, [in] LONG y);
10850
10851     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10852     HRESULT moveTo([in] LONG x, [in] LONG y);
10853
10854     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10855     HRESULT moveBy([in] LONG x, [in] LONG y);
10856
10857     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10858     HRESULT resizeTo([in] LONG x, [in] LONG y);
10859
10860     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10861     HRESULT resizeBy([in] LONG x, [in] LONG y);
10862
10863     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10864     HRESULT external([retval, out] IDispatch **p);
10865 }
10866
10867 /*****************************************************************************
10868  *    IHTMLWindow3 interface
10869  */
10870 [
10871     odl,
10872     oleautomation,
10873     dual,
10874     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
10875 ]
10876 interface IHTMLWindow3 : IDispatch
10877 {
10878     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10879     HRESULT screenLeft([out, retval] LONG *p);
10880
10881     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10882     HRESULT screenTop([out, retval] LONG *p);
10883
10884     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10885     HRESULT attachEvent(
10886             [in] BSTR event,
10887             [in] IDispatch *pDisp,
10888             [out, retval] VARIANT_BOOL *pfResult);
10889
10890     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10891     HRESULT detachEvent(
10892             [in] BSTR event,
10893             [in] IDispatch *pDisp);
10894
10895     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10896     HRESULT setTimeout(
10897             [in] VARIANT *expression,
10898             [in] LONG msec,
10899             [in, optional] VARIANT *language,
10900             [out, retval] LONG *timerID);
10901
10902     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10903     HRESULT setInterval(
10904             [in] VARIANT *expression,
10905             [in] LONG msec,
10906             [in, optional] VARIANT *language,
10907             [out, retval] LONG *timerID);
10908
10909     [id(DISPID_IHTMLWINDOW3_PRINT)]
10910     HRESULT print();
10911
10912     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10913     HRESULT onbeforeprint([in] VARIANT v);
10914
10915     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10916     HRESULT onbeforeprint([out, retval] VARIANT *p);
10917
10918     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10919     HRESULT onafterprint([in] VARIANT v);
10920
10921     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10922     HRESULT onafterprint([out, retval] VARIANT *p);
10923
10924     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10925     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
10926
10927     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10928     HRESULT showModelessDialog(
10929             [in, defaultvalue("")] BSTR url,
10930             [in, optional] VARIANT *varArgIn,
10931             [in, optional] VARIANT *options,
10932             [out, retval] IHTMLWindow2 **pDialog);
10933 }
10934
10935 /*****************************************************************************
10936  *    IHTMLWindow4 interface
10937  */
10938 [
10939     odl,
10940     oleautomation,
10941     dual,
10942     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
10943 ]
10944 interface IHTMLWindow4 : IDispatch
10945 {
10946     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10947     HRESULT createPopup([optional, in] VARIANT* varArgIn,
10948                         [retval, out] IDispatch** ppPopup);
10949
10950     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10951     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
10952 }
10953
10954 /*****************************************************************************
10955  *    IHTMLWindow5 interface
10956  */
10957 [
10958     odl,
10959     oleautomation,
10960     dual,
10961     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
10962 ]
10963 interface IHTMLWindow5 : IDispatch
10964 {
10965     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10966     HRESULT XMLHttpRequest([in] VARIANT v);
10967
10968     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10969     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
10970 }
10971
10972 /*****************************************************************************
10973  *    DispHTMLScreen dispinterface
10974  */
10975 [
10976     hidden,
10977     uuid(3050f591-98b5-11cf-bb82-00aa00bdce0b)
10978 ]
10979 dispinterface DispHTMLScreen
10980 {
10981 properties:
10982 methods:
10983     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
10984     long colorDepth();
10985
10986     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10987     void bufferDepth(long v);
10988
10989     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10990     long bufferDepth();
10991
10992     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10993     long width();
10994
10995     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10996     long height();
10997
10998     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10999     void updateInterval(long v);
11000
11001     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11002     long updateInterval();
11003
11004     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
11005     long availHeight();
11006
11007     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
11008     long availWidth();
11009
11010     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
11011     VARIANT_BOOL fontSmoothingEnabled();
11012
11013     [propget, id(DISPID_IHTMLSCREEN2_LOGICALXDPI)]
11014     long logicalXDPI();
11015
11016     [propget, id(DISPID_IHTMLSCREEN2_LOGICALYDPI)]
11017     long logicalYDPI();
11018
11019     [propget, id(DISPID_IHTMLSCREEN2_DEVICEXDPI)]
11020     long deviceXDPI();
11021
11022     [propget, id(DISPID_IHTMLSCREEN2_DEVICEYDPI)]
11023     long deviceYDPI();
11024
11025     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMXDPI)]
11026     long systemXDPI();
11027
11028     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMYDPI)]
11029     long systemYDPI();
11030
11031     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
11032     IDispatch *constructor();
11033 }
11034
11035 /*****************************************************************************
11036  *    DispHTMLWindow2 dispinterface
11037  */
11038 [
11039     hidden,
11040     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
11041 ]
11042 dispinterface DispHTMLWindow2
11043 {
11044 properties:
11045 methods:
11046     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11047     VARIANT item([in] VARIANT *pvarIndex);
11048
11049     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11050     LONG length();
11051
11052     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11053     IHTMLFramesCollection2 *frames();
11054
11055     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11056     void defaultStatus(BSTR v);
11057
11058     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11059     BSTR defaultStatus();
11060
11061     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11062     void status(BSTR v);
11063
11064     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11065     BSTR status();
11066
11067     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11068     void clearTimeout([in] LONG timerID);
11069
11070     [id(DISPID_IHTMLWINDOW2_ALERT)]
11071     void alert([in, defaultvalue("")] BSTR message);
11072
11073     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11074     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
11075
11076     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11077     VARIANT prompt(
11078             [in, defaultvalue("")] BSTR message,
11079             [in, defaultvalue("undefined")] BSTR defstr);
11080
11081     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11082     IHTMLImageElementFactory *Image();
11083
11084     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11085     IHTMLLocation *location();
11086
11087     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11088     IOmHistory *history();
11089
11090     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11091     void close();
11092
11093     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11094     void opener(VARIANT v);
11095
11096     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11097     VARIANT opener();
11098
11099     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11100     IOmNavigator *navigator();
11101
11102     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11103     void name(BSTR v);
11104
11105     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11106     BSTR name();
11107
11108     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11109     IHTMLWindow2 *parent();
11110
11111     [id(DISPID_IHTMLWINDOW2_OPEN)]
11112     IHTMLWindow2 *open(
11113             [in, defaultvalue("")] BSTR url,
11114             [in, defaultvalue("")] BSTR name,
11115             [in, defaultvalue("")] BSTR features,
11116             [in, defaultvalue(0)]  VARIANT_BOOL replace);
11117
11118     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11119     IHTMLWindow2 *self();
11120
11121     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11122     IHTMLWindow2 *top();
11123
11124     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11125     IHTMLWindow2 *window();
11126
11127     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11128     void navigate([in] BSTR url);
11129
11130     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11131     void onfocus(VARIANT v);
11132
11133     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11134     VARIANT onfocus();
11135
11136     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11137     void onblur(VARIANT v);
11138
11139     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11140     VARIANT onblur();
11141
11142     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11143     VARIANT onload();
11144
11145     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11146     void onbeforeunload(VARIANT v);
11147
11148     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11149     VARIANT onbeforeunload();
11150
11151     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11152     void onunload(VARIANT v);
11153
11154     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11155     VARIANT onunload();
11156
11157     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11158     void onhelp(VARIANT v);
11159
11160     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11161     VARIANT onhelp();
11162
11163     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11164     void onerror(VARIANT v);
11165
11166     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11167     VARIANT onerror();
11168
11169     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11170     void onresize(VARIANT v);
11171
11172     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11173     VARIANT onresize();
11174
11175     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11176     void onscroll(VARIANT v);
11177
11178     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11179     VARIANT onscroll();
11180
11181     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11182     IHTMLDocument2 *document();
11183
11184     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11185     IHTMLEventObj *event();
11186
11187     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11188     IUnknown *_newEnum();
11189
11190     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11191     VARIANT showModalDialog(
11192             [in] BSTR dialog,
11193             [in, optional] VARIANT *varArgIn,
11194             [in, optional] VARIANT *varOptions);
11195
11196     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11197     void showHelp(
11198             [in] BSTR helpURL,
11199             [in, optional] VARIANT helpArg,
11200             [in, defaultvalue("")] BSTR features);
11201
11202     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11203     IHTMLScreen *screen();
11204
11205     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11206     IHTMLOptionElementFactory *Option();
11207
11208     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11209     void focus();
11210
11211     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11212     VARIANT_BOOL closed();
11213
11214     [id(DISPID_IHTMLWINDOW2_BLUR)]
11215     void blur();
11216
11217     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11218     void scroll([in] LONG x, [in] LONG y);
11219
11220     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11221     IOmNavigator *clientInformation();
11222
11223     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11224     void clearInterval([in] LONG timerID);
11225
11226     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11227     void offscreenBuffering(VARIANT v);
11228
11229     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11230     VARIANT offscreenBuffering();
11231
11232     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11233     VARIANT execScript(
11234             [in] BSTR _code,
11235             [in, defaultvalue("JScript")] BSTR language);
11236
11237     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11238     BSTR toString();
11239
11240     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11241     void scrollBy([in] LONG x, [in] LONG y);
11242
11243     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11244     void scrollTo([in] LONG x, [in] LONG y);
11245
11246     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11247     void moveTo([in] LONG x, [in] LONG y);
11248
11249     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11250     void moveBy([in] LONG x, [in] LONG y);
11251
11252     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11253     void resizeTo([in] LONG x, [in] LONG y);
11254
11255     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11256     void resizeBy([in] LONG x, [in] LONG y);
11257
11258     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11259     IDispatch *external();
11260
11261     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11262     LONG screenLeft();
11263
11264     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11265     LONG screenTop();
11266
11267     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11268     VARIANT_BOOL attachEvent(
11269              [in] BSTR event,
11270              [in] IDispatch *pDisp);
11271
11272     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11273     void detachEvent(
11274             [in] BSTR event,
11275             [in] IDispatch *pDisp);
11276
11277     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11278     LONG setTimeout(
11279             [in] VARIANT *expression,
11280             [in] LONG msec,
11281             [in, optional] VARIANT *language);
11282
11283     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11284     LONG setInterval(
11285             [in] VARIANT *expression,
11286             [in] LONG msec,
11287             [in, optional] VARIANT *language);
11288
11289     [id(DISPID_IHTMLWINDOW3_PRINT)]
11290     void print();
11291
11292     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11293     void onbeforeprint(VARIANT v);
11294
11295     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11296     VARIANT onbeforeprint();
11297
11298     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11299     void onafterprint(VARIANT v);
11300
11301     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11302     VARIANT onafterprint();
11303
11304     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11305     IHTMLDataTransfer *clipboardData();
11306
11307     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11308     IHTMLWindow2 *showModelessDialog(
11309             [in, defaultvalue("")] BSTR url,
11310             [in, optional] VARIANT *varArgIn,
11311             [in, optional] VARIANT *options);
11312
11313     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11314     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
11315
11316     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11317     IHTMLFrameBase *frameElement();
11318 }
11319
11320 /*****************************************************************************
11321  *    DispHTMLWindowProxy dispinterface
11322  */
11323 [
11324     hidden,
11325     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
11326 ]
11327 dispinterface DispHTMLWindowProxy
11328 {
11329 properties:
11330 methods:
11331     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11332     VARIANT item([in] VARIANT* pvarIndex);
11333
11334     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11335     LONG length();
11336
11337     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11338     IHTMLFramesCollection2* frames();
11339
11340     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11341     void defaultStatus(BSTR v);
11342
11343     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11344     BSTR defaultStatus();
11345
11346     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11347     void status(BSTR v);
11348
11349     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11350     BSTR status();
11351
11352     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11353     void clearTimeout([in] LONG timerID);
11354
11355     [id(DISPID_IHTMLWINDOW2_ALERT)]
11356     void alert([defaultvalue(""), in] BSTR message);
11357
11358     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11359     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
11360
11361     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11362     VARIANT prompt([defaultvalue(""), in] BSTR message,
11363                    [defaultvalue("undefined"), in] BSTR defstr);
11364
11365     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11366     IHTMLImageElementFactory* Image();
11367
11368     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11369     IHTMLLocation* location();
11370
11371     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11372     IOmHistory* history();
11373
11374     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11375     void close();
11376
11377     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11378     void opener(VARIANT v);
11379
11380     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11381     VARIANT opener();
11382
11383     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11384     IOmNavigator* navigator();
11385
11386     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11387     void name(BSTR v);
11388
11389     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11390     BSTR name();
11391
11392     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11393     IHTMLWindow2* parent();
11394
11395     [id(DISPID_IHTMLWINDOW2_OPEN)]
11396     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
11397                        [defaultvalue(""), in] BSTR name,
11398                        [defaultvalue(""), in] BSTR features,
11399                        [defaultvalue(0), in] VARIANT_BOOL replace);
11400
11401     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11402     IHTMLWindow2* self();
11403
11404     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11405     IHTMLWindow2* top();
11406
11407     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11408     IHTMLWindow2* window();
11409
11410     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11411     void navigate([in] BSTR url);
11412
11413     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11414     void onfocus(VARIANT v);
11415
11416     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11417     VARIANT onfocus();
11418
11419     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11420     void onblur(VARIANT v);
11421
11422     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11423     VARIANT onblur();
11424
11425     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11426     void onload(VARIANT v);
11427
11428     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11429     VARIANT onload();
11430
11431     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11432     void onbeforeunload(VARIANT v);
11433
11434     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11435     VARIANT onbeforeunload();
11436
11437     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11438     void onunload(VARIANT v);
11439
11440     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11441     VARIANT onunload();
11442
11443     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11444     void onhelp(VARIANT v);
11445
11446     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11447     VARIANT onhelp();
11448
11449     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11450     void onerror(VARIANT v);
11451
11452     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11453     VARIANT onerror();
11454
11455     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11456     void onresize(VARIANT v);
11457
11458     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11459     VARIANT onresize();
11460
11461     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11462     void onscroll(VARIANT v);
11463
11464     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11465     VARIANT onscroll();
11466
11467     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11468     IHTMLDocument2* document();
11469
11470     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11471     IHTMLEventObj* event();
11472
11473     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11474     IUnknown* _newEnum();
11475
11476     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11477     VARIANT showModalDialog([in] BSTR dialog,
11478                             [optional, in] VARIANT* varArgIn,
11479                             [optional, in] VARIANT* varOptions);
11480
11481     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11482     void showHelp([in] BSTR helpURL,
11483                   [optional, in] VARIANT helpArg,
11484                   [defaultvalue(""), in] BSTR features);
11485
11486     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11487     IHTMLScreen* screen();
11488
11489     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11490     IHTMLOptionElementFactory* Option();
11491
11492     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11493     void focus();
11494
11495     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11496     VARIANT_BOOL closed();
11497
11498     [id(DISPID_IHTMLWINDOW2_BLUR)]
11499     void blur();
11500
11501     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11502     void scroll([in] LONG x,
11503                 [in] LONG y);
11504
11505     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11506     IOmNavigator* clientInformation();
11507
11508     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11509     void clearInterval([in] LONG timerID);
11510
11511     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11512     void offscreenBuffering(VARIANT v);
11513
11514     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11515     VARIANT offscreenBuffering();
11516
11517     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11518     VARIANT execScript([in] BSTR code,
11519                        [defaultvalue("JScript"), in] BSTR language);
11520
11521     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11522     BSTR toString();
11523
11524     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11525     void scrollBy([in] LONG x,
11526                   [in] LONG y);
11527
11528     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11529     void scrollTo([in] LONG x,
11530                   [in] LONG y);
11531
11532     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11533     void moveTo([in] LONG x,
11534                 [in] LONG y);
11535
11536     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11537     void moveBy([in] LONG x,
11538                 [in] LONG y);
11539
11540     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11541     void resizeTo([in] LONG x,
11542                   [in] LONG y);
11543
11544     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11545     void resizeBy([in] LONG x,
11546                   [in] LONG y);
11547
11548     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11549     IDispatch* external();
11550
11551     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11552     LONG screenLeft();
11553
11554     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11555     LONG screenTop();
11556
11557     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11558     VARIANT_BOOL attachEvent([in] BSTR event,
11559                              [in] IDispatch* pDisp);
11560
11561     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11562     void detachEvent([in] BSTR event,
11563                      [in] IDispatch* pDisp);
11564
11565     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11566     LONG setTimeout([in] VARIANT* expression,
11567                     [in] LONG msec,
11568                     [optional, in] VARIANT* language);
11569
11570     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11571     LONG setInterval([in] VARIANT* expression,
11572                      [in] LONG msec,
11573                      [optional, in] VARIANT* language);
11574
11575     [id(DISPID_IHTMLWINDOW3_PRINT)]
11576     void print();
11577
11578     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11579     void onbeforeprint(VARIANT v);
11580
11581     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11582     VARIANT onbeforeprint();
11583
11584     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11585     void onafterprint(VARIANT v);
11586
11587     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11588     VARIANT onafterprint();
11589
11590     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11591     IHTMLDataTransfer* clipboardData();
11592
11593     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11594     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
11595                                      [optional, in] VARIANT* varArgIn,
11596                                      [optional, in] VARIANT* options);
11597
11598     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11599     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
11600
11601     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11602     IHTMLFrameBase* frameElement();
11603
11604     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11605     void XMLHttpRequest(VARIANT v);
11606
11607     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11608     VARIANT XMLHttpRequest();
11609 }
11610
11611 /*****************************************************************************
11612  *    HTMLWindowEvents interface
11613  */
11614 [
11615     hidden,
11616     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
11617 ]
11618 dispinterface HTMLWindowEvents
11619 {
11620 properties:
11621 methods:
11622     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
11623     void onload();
11624
11625     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
11626     void onunload();
11627
11628     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
11629     VARIANT_BOOL onhelp();
11630
11631     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
11632     void onfocus();
11633
11634     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
11635     void onblur();
11636
11637     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
11638     void onerror([in] BSTR description,
11639                  [in] BSTR url,
11640                  [in] LONG line);
11641
11642     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
11643     void onresize();
11644
11645     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
11646     void onscroll();
11647
11648     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
11649     void onbeforeunload();
11650
11651     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
11652     void onbeforeprint();
11653
11654     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
11655     void onafterprint();
11656 }
11657
11658 /*****************************************************************************
11659  *    HTMLWindowEvents2 interface
11660  */
11661 [
11662     hidden,
11663     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
11664 ]
11665 dispinterface HTMLWindowEvents2
11666 {
11667 properties:
11668 methods:
11669     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
11670     void onload([in] IHTMLEventObj* pEvtObj);
11671
11672     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
11673     void onunload([in] IHTMLEventObj* pEvtObj);
11674
11675     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
11676     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
11677
11678     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
11679     void onfocus([in] IHTMLEventObj* pEvtObj);
11680
11681     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
11682     void onblur([in] IHTMLEventObj* pEvtObj);
11683
11684     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
11685     void onerror([in] BSTR description,
11686                  [in] BSTR url,
11687                  [in] LONG line);
11688
11689     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
11690     void onresize([in] IHTMLEventObj* pEvtObj);
11691
11692     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
11693     void onscroll([in] IHTMLEventObj* pEvtObj);
11694
11695     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
11696     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
11697
11698     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
11699     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
11700
11701     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
11702     void onafterprint([in] IHTMLEventObj* pEvtObj);
11703 }
11704
11705 /*****************************************************************************
11706  *    HTMLWindowProxy class
11707  */
11708 [
11709     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
11710 ]
11711 coclass HTMLWindowProxy
11712 {
11713     [default]           dispinterface DispHTMLWindowProxy;
11714     [source, default]   dispinterface HTMLWindowEvents;
11715     [source]            dispinterface HTMLWindowEvents2;
11716                         interface IHTMLWindow2;
11717                         interface IHTMLWindow3;
11718                         interface IHTMLWindow4;
11719                         interface IHTMLWindow5;
11720 }
11721
11722 /*****************************************************************************
11723  *    HTMLDocumentEvents2 interface
11724  */
11725 [
11726     hidden,
11727     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
11728 ]
11729 dispinterface HTMLDocumentEvents2
11730 {
11731     properties:
11732     methods:
11733     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
11734     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
11735
11736     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
11737     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
11738
11739     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
11740     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
11741
11742     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
11743     void onkeydown([in] IHTMLEventObj *pEvtObj);
11744
11745     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
11746     void onkeyup([in] IHTMLEventObj *pEvtObj);
11747
11748     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
11749     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
11750
11751     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
11752     void onmousedown([in] IHTMLEventObj *pEvtObj);
11753
11754     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
11755     void onmousemove([in] IHTMLEventObj *pEvtObj);
11756
11757     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
11758     void onmouseup([in] IHTMLEventObj *pEvtObj);
11759
11760     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
11761     void onmouseout([in] IHTMLEventObj *pEvtObj);
11762
11763     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
11764     void onmouseover([in] IHTMLEventObj *pEvtObj);
11765
11766     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
11767     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
11768
11769     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
11770     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
11771
11772     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
11773     void onafterupdate([in] IHTMLEventObj *pEvtObj);
11774
11775     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
11776     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
11777
11778     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
11779     void onrowenter([in] IHTMLEventObj *pEvtObj);
11780
11781     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
11782     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
11783
11784     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
11785     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
11786
11787     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
11788     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
11789
11790     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
11791     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
11792
11793     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
11794     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
11795
11796     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
11797     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
11798
11799     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
11800     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
11801
11802     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
11803     void oncellchange([in] IHTMLEventObj *pEvtObj);
11804
11805     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
11806     void onpropertychange([in] IHTMLEventObj *pEvtObj);
11807
11808     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
11809     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
11810
11811     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
11812     void ondataavailable([in] IHTMLEventObj *pEvtObj);
11813
11814     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
11815     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
11816
11817     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
11818     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
11819
11820     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
11821     void onselectionchange([in] IHTMLEventObj *pEvtObj);
11822
11823     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
11824     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
11825
11826     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
11827     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
11828
11829     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
11830     void onfocusin([in] IHTMLEventObj *pEvtObj);
11831
11832     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
11833     void onfocusout([in] IHTMLEventObj *pEvtObj);
11834
11835     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
11836     void onactivate([in] IHTMLEventObj *pEvtObj);
11837
11838     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
11839     void ondeactivate([in] IHTMLEventObj *pEvtObj);
11840
11841     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
11842     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
11843
11844     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
11845     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
11846 }
11847
11848 /*****************************************************************************
11849  *    HTMLDocumentEvents interface
11850  */
11851 [
11852     hidden,
11853     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
11854 ]
11855 dispinterface HTMLDocumentEvents
11856 {
11857     properties:
11858     methods:
11859     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
11860     VARIANT_BOOL onhelp();
11861
11862     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
11863     VARIANT_BOOL onclick();
11864
11865     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
11866     VARIANT_BOOL ondblclick();
11867
11868     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
11869     void onkeydown();
11870
11871     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
11872     void onkeyup();
11873
11874     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
11875     VARIANT_BOOL onkeypress();
11876
11877     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
11878     void onmousedown();
11879
11880     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
11881     void onmousemove();
11882
11883     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
11884     void onmouseup();
11885
11886     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
11887     void onmouseout();
11888
11889     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
11890     void onmouseover();
11891
11892     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
11893     void onreadystatechange();
11894
11895     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
11896     VARIANT_BOOL onbeforeupdate();
11897
11898     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
11899     void onafterupdate();
11900
11901     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
11902     VARIANT_BOOL onrowexit();
11903
11904     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
11905     void onrowenter();
11906
11907     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
11908     VARIANT_BOOL ondragstart();
11909
11910     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
11911     VARIANT_BOOL onselectstart();
11912
11913     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
11914     VARIANT_BOOL onerrorupdate();
11915
11916     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
11917     VARIANT_BOOL oncontextmenu();
11918
11919     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
11920     VARIANT_BOOL onstop();
11921
11922     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
11923     void onrowsdelete();
11924
11925     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
11926     void onrowsinserted();
11927
11928     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
11929     void oncellchange();
11930
11931     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
11932     void onpropertychange();
11933
11934     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
11935     void ondatasetchanged();
11936
11937     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
11938     void ondataavailable();
11939
11940     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
11941     void ondatasetcomplete();
11942
11943     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
11944     void onbeforeeditfocus();
11945
11946     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
11947     void onselectionchange();
11948
11949     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
11950     VARIANT_BOOL oncontrolselect();
11951
11952     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
11953     VARIANT_BOOL onmousewheel();
11954
11955     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
11956     void onfocusin();
11957
11958     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
11959     void onfocusout();
11960
11961     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
11962     void onactivate();
11963
11964     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
11965     void ondeactivate();
11966
11967     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
11968     VARIANT_BOOL onbeforeactivate();
11969
11970     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
11971     VARIANT_BOOL onbeforedeactivate();
11972 }
11973
11974 /*****************************************************************************
11975  *    HTMLTextContainerEvents interface
11976  */
11977 [
11978     hidden,
11979     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
11980 ]
11981 dispinterface HTMLTextContainerEvents
11982 {
11983 properties:
11984
11985 methods:
11986     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
11987     VARIANT_BOOL onhelp();
11988
11989     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
11990     VARIANT_BOOL onclick();
11991
11992     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
11993     VARIANT_BOOL ondblclick();
11994
11995     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
11996     VARIANT_BOOL onkeypress();
11997
11998     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
11999     void onkeydown();
12000
12001     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
12002     void onkeyup();
12003
12004     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
12005     void onmouseout();
12006
12007     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
12008     void onmouseover();
12009
12010     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
12011     void onmousemove();
12012
12013     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
12014     void onmousedown();
12015
12016     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
12017     void onmouseup();
12018
12019     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
12020     VARIANT_BOOL onselectstart();
12021
12022     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
12023     void onfilterchange();
12024
12025     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
12026     VARIANT_BOOL ondragstart();
12027
12028     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
12029     VARIANT_BOOL onbeforeupdate();
12030
12031     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
12032     void onafterupdate();
12033
12034     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
12035     VARIANT_BOOL onerrorupdate();
12036
12037     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
12038     VARIANT_BOOL onrowexit();
12039
12040     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
12041     void onrowenter();
12042
12043     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
12044     void ondatasetchanged();
12045
12046     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
12047     void ondataavailable();
12048
12049     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
12050     void ondatasetcomplete();
12051
12052     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
12053     void onlosecapture();
12054
12055     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
12056     void onpropertychange();
12057
12058     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
12059     void onscroll();
12060
12061     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
12062     void onfocus();
12063
12064     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
12065     void onblur();
12066
12067     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
12068     void onresize();
12069
12070     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
12071     VARIANT_BOOL ondrag();
12072
12073     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
12074     void ondragend();
12075
12076     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
12077     VARIANT_BOOL ondragenter();
12078
12079     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
12080     VARIANT_BOOL ondragover();
12081
12082     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
12083     void ondragleave();
12084
12085     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
12086     VARIANT_BOOL ondrop();
12087
12088     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
12089     VARIANT_BOOL onbeforecut();
12090
12091     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
12092     VARIANT_BOOL oncut();
12093
12094     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
12095     VARIANT_BOOL onbeforecopy();
12096
12097     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
12098     VARIANT_BOOL oncopy();
12099
12100     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
12101     VARIANT_BOOL onbeforepaste();
12102
12103     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
12104     VARIANT_BOOL onpaste();
12105
12106     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
12107     VARIANT_BOOL oncontextmenu();
12108
12109     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
12110     void onrowsdelete();
12111
12112     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
12113     void onrowsinserted();
12114
12115     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
12116     void oncellchange();
12117
12118     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
12119     void onreadystatechange();
12120
12121     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
12122     void onbeforeeditfocus();
12123
12124     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
12125     void onlayoutcomplete();
12126
12127     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
12128     void onpage();
12129
12130     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
12131     VARIANT_BOOL onbeforedeactivate();
12132
12133     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
12134     VARIANT_BOOL onbeforeactivate();
12135
12136     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
12137     void onmove();
12138
12139     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
12140     VARIANT_BOOL oncontrolselect();
12141
12142     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
12143     VARIANT_BOOL onmovestart();
12144
12145     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
12146     void onmoveend();
12147
12148     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
12149     VARIANT_BOOL onresizestart();
12150
12151     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
12152     void onresizeend();
12153
12154     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
12155     void onmouseenter();
12156
12157     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
12158     void onmouseleave();
12159
12160     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
12161     VARIANT_BOOL onmousewheel();
12162
12163     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
12164     void onactivate();
12165
12166     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
12167     void ondeactivate();
12168
12169     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
12170     void onfocusin();
12171
12172     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
12173     void onfocusout();
12174
12175     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
12176     void onchange();
12177
12178     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
12179     void onselect();
12180 }
12181
12182 /*****************************************************************************
12183  *    HTMLTextContainerEvents2 interface
12184  */
12185 [
12186     hidden,
12187     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
12188 ]
12189 dispinterface HTMLTextContainerEvents2
12190 {
12191 properties:
12192 methods:
12193     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
12194     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
12195
12196     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
12197     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
12198
12199     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
12200     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
12201
12202     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
12203     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
12204
12205     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
12206     void onkeydown([in] IHTMLEventObj* pEvtObj);
12207
12208     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
12209     void onkeyup([in] IHTMLEventObj* pEvtObj);
12210
12211     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
12212     void onmouseout([in] IHTMLEventObj* pEvtObj);
12213
12214     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
12215     void onmouseover([in] IHTMLEventObj* pEvtObj);
12216
12217     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
12218     void onmousemove([in] IHTMLEventObj* pEvtObj);
12219
12220     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
12221     void onmousedown([in] IHTMLEventObj* pEvtObj);
12222
12223     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
12224     void onmouseup([in] IHTMLEventObj* pEvtObj);
12225
12226     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
12227     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
12228
12229     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
12230     void onfilterchange([in] IHTMLEventObj* pEvtObj);
12231
12232     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
12233     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
12234
12235     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
12236     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
12237
12238     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
12239     void onafterupdate([in] IHTMLEventObj* pEvtObj);
12240
12241     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
12242     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
12243
12244     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
12245     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
12246
12247     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
12248     void onrowenter([in] IHTMLEventObj* pEvtObj);
12249
12250     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
12251     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
12252
12253     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
12254     void ondataavailable([in] IHTMLEventObj* pEvtObj);
12255
12256     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
12257     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
12258
12259     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
12260     void onlosecapture([in] IHTMLEventObj* pEvtObj);
12261
12262     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
12263     void onpropertychange([in] IHTMLEventObj* pEvtObj);
12264
12265     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
12266     void onscroll([in] IHTMLEventObj* pEvtObj);
12267
12268     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
12269     void onfocus([in] IHTMLEventObj* pEvtObj);
12270
12271     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
12272     void onblur([in] IHTMLEventObj* pEvtObj);
12273
12274     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
12275     void onresize([in] IHTMLEventObj* pEvtObj);
12276
12277     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
12278     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
12279
12280     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
12281     void ondragend([in] IHTMLEventObj* pEvtObj);
12282
12283     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
12284     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
12285
12286     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
12287     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
12288
12289     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
12290     void ondragleave([in] IHTMLEventObj* pEvtObj);
12291
12292     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
12293     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
12294
12295     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
12296     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
12297
12298     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
12299     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
12300
12301     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
12302     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
12303
12304     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
12305     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
12306
12307     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
12308     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
12309
12310     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
12311     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
12312
12313     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
12314     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
12315
12316     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
12317     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
12318
12319     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
12320     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
12321
12322     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
12323     void oncellchange([in] IHTMLEventObj* pEvtObj);
12324
12325     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
12326     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
12327
12328     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
12329     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
12330
12331     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
12332     void onpage([in] IHTMLEventObj* pEvtObj);
12333
12334     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
12335     void onmouseenter([in] IHTMLEventObj* pEvtObj);
12336
12337     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
12338     void onmouseleave([in] IHTMLEventObj* pEvtObj);
12339
12340     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
12341     void onactivate([in] IHTMLEventObj* pEvtObj);
12342
12343     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
12344     void ondeactivate([in] IHTMLEventObj* pEvtObj);
12345
12346     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
12347     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
12348
12349     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
12350     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
12351
12352     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
12353     void onfocusin([in] IHTMLEventObj* pEvtObj);
12354
12355     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
12356     void onfocusout([in] IHTMLEventObj* pEvtObj);
12357
12358     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
12359     void onmove([in] IHTMLEventObj* pEvtObj);
12360
12361     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
12362     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
12363
12364     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
12365     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
12366
12367     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
12368     void onmoveend([in] IHTMLEventObj* pEvtObj);
12369
12370     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
12371     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
12372
12373     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
12374     void onresizeend([in] IHTMLEventObj* pEvtObj);
12375
12376     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
12377     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
12378
12379     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
12380     void onchange([in] IHTMLEventObj* pEvtObj);
12381
12382     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
12383     void onselect([in] IHTMLEventObj* pEvtObj);
12384 }
12385
12386 /*****************************************************************************
12387  *    IHTMLDocument interface
12388  */
12389 [
12390     odl,
12391     oleautomation,
12392     dual,
12393     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
12394 ]
12395 interface IHTMLDocument : IDispatch
12396 {
12397     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
12398     HRESULT Script([retval, out] IDispatch **p);
12399 }
12400
12401 /*****************************************************************************
12402  *    IHTMLDocument2 interface
12403  */
12404 [
12405     odl,
12406     oleautomation,
12407     dual,
12408     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
12409 ]
12410 interface IHTMLDocument2 : IHTMLDocument
12411 {
12412     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
12413     HRESULT all([retval, out] IHTMLElementCollection **p);
12414
12415     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
12416     HRESULT body([retval, out] IHTMLElement **p);
12417
12418     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
12419     HRESULT activeElement([retval, out] IHTMLElement **p);
12420
12421     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
12422     HRESULT images([retval, out] IHTMLElementCollection **p);
12423
12424     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
12425     HRESULT applets([retval, out] IHTMLElementCollection **p);
12426
12427     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
12428     HRESULT links([retval, out] IHTMLElementCollection **p);
12429
12430     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
12431     HRESULT forms([retval, out] IHTMLElementCollection **p);
12432
12433     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
12434     HRESULT anchors([retval, out] IHTMLElementCollection **p);
12435
12436     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12437     HRESULT title([in] BSTR v);
12438
12439     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12440     HRESULT title([retval, out] BSTR *p);
12441
12442     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
12443     HRESULT scripts([retval, out] IHTMLElementCollection **p);
12444
12445     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
12446     HRESULT designMode([in] BSTR v);
12447
12448     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
12449     HRESULT designMode([retval, out] BSTR *p);
12450
12451     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
12452     HRESULT selection([retval, out] IHTMLSelectionObject **p);
12453
12454     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
12455      HRESULT readyState([retval, out] BSTR *p);
12456
12457     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
12458     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
12459
12460     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
12461     HRESULT embeds([retval, out] IHTMLElementCollection **p);
12462
12463     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
12464     HRESULT plugins([retval, out] IHTMLElementCollection **p);
12465
12466     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12467     HRESULT alinkColor([in] VARIANT v);
12468
12469     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12470     HRESULT alinkColor([retval, out] VARIANT *p);
12471
12472     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12473     HRESULT bgColor([in] VARIANT v);
12474
12475     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12476     HRESULT bgColor([retval, out] VARIANT *p);
12477
12478     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12479     HRESULT fgColor([in] VARIANT v);
12480
12481     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12482     HRESULT fgColor([retval, out] VARIANT *p);
12483
12484     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12485     HRESULT linkColor([in] VARIANT v);
12486
12487     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12488     HRESULT linkColor([retval, out] VARIANT *p);
12489
12490     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12491     HRESULT vlinkColor([in] VARIANT v);
12492
12493     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12494     HRESULT vlinkColor([retval, out] VARIANT *p);
12495
12496     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
12497     HRESULT referrer([retval, out] BSTR *p);
12498
12499     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
12500     HRESULT location([retval, out] IHTMLLocation **p);
12501
12502     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
12503     HRESULT lastModified([retval, out] BSTR *p);
12504
12505     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
12506     HRESULT URL([in] BSTR v);
12507
12508     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
12509     HRESULT URL([retval, out] BSTR *p);
12510
12511     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12512     HRESULT domain([in] BSTR v);
12513
12514     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12515     HRESULT domain([retval, out] BSTR *p);
12516
12517     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12518     HRESULT cookie([in] BSTR v);
12519
12520     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12521     HRESULT cookie([retval, out] BSTR *p);
12522
12523     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12524     HRESULT expando([in] VARIANT_BOOL v);
12525
12526     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12527     HRESULT expando([retval, out] VARIANT_BOOL *p);
12528
12529     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12530      HRESULT charset([in] BSTR v);
12531
12532     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12533     HRESULT charset([retval, out] BSTR *p);
12534
12535     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12536     HRESULT defaultCharset([in] BSTR v);
12537
12538     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12539     HRESULT defaultCharset([retval, out] BSTR *p);
12540
12541     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
12542     HRESULT mimeType([retval, out] BSTR *p);
12543
12544     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
12545     HRESULT fileSize([retval, out] BSTR *p);
12546
12547     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
12548     HRESULT fileCreatedDate([retval, out] BSTR *p);
12549
12550     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
12551     HRESULT fileModifiedDate([retval, out] BSTR *p);
12552
12553     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
12554     HRESULT fileUpdatedDate([retval, out] BSTR *p);
12555
12556     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
12557     HRESULT security([retval, out] BSTR *p);
12558
12559     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
12560     HRESULT protocol([retval, out] BSTR *p);
12561
12562     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
12563      HRESULT nameProp([retval, out] BSTR *p);
12564
12565     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
12566     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
12567
12568     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
12569     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
12570
12571     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
12572     HRESULT open(
12573         [defaultvalue("text/html"), in] BSTR url,
12574         [optional, in] VARIANT name,
12575         [optional, in] VARIANT features,
12576         [optional, in] VARIANT replace,
12577         [retval, out]  IDispatch **pomWindowResult);
12578
12579     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
12580     HRESULT close();
12581
12582     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
12583     HRESULT clear();
12584
12585     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
12586     HRESULT queryCommandSupported(
12587         [in] BSTR cmdID,
12588         [retval, out] VARIANT_BOOL *pfRet);
12589
12590     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
12591     HRESULT queryCommandEnabled(
12592         [in] BSTR cmdID,
12593         [retval, out] VARIANT_BOOL *pfRet);
12594
12595     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
12596     HRESULT queryCommandState(
12597         [in] BSTR cmdID,
12598         [retval, out] VARIANT_BOOL *pfRet);
12599
12600     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
12601     HRESULT queryCommandIndeterm(
12602         [in] BSTR cmdID,
12603         [retval, out] VARIANT_BOOL *pfRet);
12604
12605     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
12606     HRESULT queryCommandText(
12607         [in] BSTR cmdID,
12608         [retval, out] BSTR *pcmdText);
12609
12610     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
12611     HRESULT queryCommandValue(
12612         [in] BSTR cmdID,
12613         [retval, out] VARIANT *pcmdValue);
12614
12615     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
12616     HRESULT execCommand(
12617         [in] BSTR cmdID,
12618         [defaultvalue(0), in] VARIANT_BOOL showUI,
12619         [optional, in] VARIANT value,
12620         [retval, out] VARIANT_BOOL *pfRet);
12621
12622     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12623     HRESULT execCommandShowHelp(
12624         [in] BSTR cmdID,
12625         [retval, out] VARIANT_BOOL *pfRet);
12626
12627     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12628      HRESULT createElement(
12629         [in] BSTR eTag,
12630         [retval, out] IHTMLElement **newElem);
12631
12632     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12633     HRESULT onhelp([in] VARIANT v);
12634
12635     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12636     HRESULT onhelp([retval, out] VARIANT *p);
12637
12638     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12639     HRESULT onclick([in] VARIANT v);
12640
12641     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12642     HRESULT onclick([retval, out] VARIANT *p);
12643
12644     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12645     HRESULT ondblclick([in] VARIANT v);
12646
12647     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12648     HRESULT ondblclick([retval, out] VARIANT *p);
12649
12650     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12651     HRESULT onkeyup([in] VARIANT v);
12652
12653     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12654     HRESULT onkeyup([retval, out] VARIANT *p);
12655
12656     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12657     HRESULT onkeydown([in] VARIANT v);
12658
12659     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12660     HRESULT onkeydown([retval, out] VARIANT *p);
12661
12662     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12663      HRESULT onkeypress([in] VARIANT v);
12664
12665     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12666     HRESULT onkeypress([retval, out] VARIANT *p);
12667
12668     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12669     HRESULT onmouseup([in] VARIANT v);
12670
12671     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12672     HRESULT onmouseup([retval, out] VARIANT *p);
12673
12674     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12675     HRESULT onmousedown([in] VARIANT v);
12676
12677     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12678     HRESULT onmousedown([retval, out] VARIANT *p);
12679
12680     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12681     HRESULT onmousemove([in] VARIANT v);
12682
12683     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12684     HRESULT onmousemove([retval, out] VARIANT *p);
12685
12686     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12687     HRESULT onmouseout([in] VARIANT v);
12688
12689     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12690     HRESULT onmouseout([retval, out] VARIANT *p);
12691
12692     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12693     HRESULT onmouseover([in] VARIANT v);
12694
12695     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12696     HRESULT onmouseover([retval, out] VARIANT *p);
12697
12698     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12699     HRESULT onreadystatechange([in] VARIANT v);
12700
12701     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12702     HRESULT onreadystatechange([retval, out] VARIANT *p);
12703
12704     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12705     HRESULT onafterupdate([in] VARIANT v);
12706
12707     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12708     HRESULT onafterupdate([retval, out] VARIANT *p);
12709
12710     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12711     HRESULT onrowexit([in] VARIANT v);
12712
12713     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12714     HRESULT onrowexit([retval, out] VARIANT *p);
12715
12716     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12717     HRESULT onrowenter([in] VARIANT v);
12718
12719     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12720     HRESULT onrowenter([retval, out] VARIANT *p);
12721
12722     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12723     HRESULT ondragstart([in] VARIANT v);
12724
12725     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12726     HRESULT ondragstart([retval, out] VARIANT *p);
12727
12728     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12729     HRESULT onselectstart([in] VARIANT v);
12730
12731     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12732     HRESULT onselectstart([retval, out] VARIANT *p);
12733
12734     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12735     HRESULT elementFromPoint(
12736         [in] LONG x,
12737         [in] LONG y,
12738         [retval, out] IHTMLElement **elementHit);
12739
12740     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12741     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
12742
12743     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12744     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
12745
12746     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12747     HRESULT onbeforeupdate([in] VARIANT v);
12748
12749     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12750     HRESULT onbeforeupdate([retval, out] VARIANT *p);
12751
12752     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12753     HRESULT onerrorupdate([in] VARIANT v);
12754
12755     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12756     HRESULT onerrorupdate([retval, out] VARIANT *p);
12757
12758     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12759     HRESULT toString([retval, out] BSTR *String);
12760
12761     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12762     HRESULT createStyleSheet(
12763         [defaultvalue(""), in] BSTR bstrHref,
12764         [defaultvalue(-1), in] LONG lIndex,
12765         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
12766 }
12767
12768 /*****************************************************************************
12769  *    IHTMLDocument3 interface
12770  */
12771 [
12772     odl,
12773     oleautomation,
12774     dual,
12775     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
12776 ]
12777 interface IHTMLDocument3 : IDispatch
12778 {
12779     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12780     HRESULT releaseCapture();
12781
12782     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12783     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12784
12785     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12786     HRESULT createTextNode(
12787         [in] BSTR text,
12788         [retval, out] IHTMLDOMNode **newTextNode);
12789
12790     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12791     HRESULT documentElement([retval, out] IHTMLElement **p);
12792
12793     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12794     HRESULT uniqueID([retval, out] BSTR *p);
12795
12796     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12797     HRESULT attachEvent(
12798         [in] BSTR event,
12799         [in] IDispatch* pDisp,
12800         [retval, out] VARIANT_BOOL *pfResult);
12801
12802     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12803     HRESULT detachEvent(
12804         [in] BSTR event,
12805         [in] IDispatch *pDisp);
12806
12807     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12808     HRESULT onrowsdelete([in] VARIANT v);
12809
12810     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12811     HRESULT onrowsdelete([retval, out] VARIANT *p);
12812
12813     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12814     HRESULT onrowsinserted([in] VARIANT v);
12815
12816     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12817     HRESULT onrowsinserted([retval, out] VARIANT *p);
12818
12819     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12820     HRESULT oncellchange([in] VARIANT v);
12821
12822     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12823     HRESULT oncellchange([retval, out] VARIANT *p);
12824
12825     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12826     HRESULT ondatasetchanged([in] VARIANT v);
12827
12828     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12829     HRESULT ondatasetchanged([retval, out] VARIANT *p);
12830
12831     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12832     HRESULT ondataavailable([in] VARIANT v);
12833
12834     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12835     HRESULT ondataavailable([retval, out] VARIANT * p);
12836
12837     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12838     HRESULT ondatasetcomplete([in] VARIANT v);
12839
12840     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12841     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
12842
12843     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12844     HRESULT onpropertychange([in] VARIANT v);
12845
12846     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12847     HRESULT onpropertychange([retval, out] VARIANT *p);
12848
12849     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
12850     HRESULT dir([in] BSTR v);
12851
12852     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
12853     HRESULT dir([retval, out] BSTR *p);
12854
12855     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12856     HRESULT oncontextmenu([in] VARIANT v);
12857
12858     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12859     HRESULT oncontextmenu([retval, out] VARIANT *p);
12860
12861     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12862     HRESULT onstop([in] VARIANT v);
12863
12864     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12865     HRESULT onstop([retval, out] VARIANT *p);
12866
12867     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
12868     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
12869
12870     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
12871     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
12872
12873     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12874     HRESULT enableDownload([in] VARIANT_BOOL v);
12875
12876     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12877     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
12878
12879     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12880     HRESULT baseUrl([in] BSTR v);
12881
12882     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12883     HRESULT baseUrl([retval, out] BSTR *p);
12884
12885     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
12886     HRESULT childNodes([retval, out] IDispatch **p);
12887
12888     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12889     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
12890
12891     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12892     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
12893
12894     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12895     HRESULT onbeforeeditfocus([in] VARIANT v);
12896
12897     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12898     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
12899
12900     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
12901     HRESULT getElementsByName(
12902         [in] BSTR v,
12903         [retval, out] IHTMLElementCollection **pelColl);
12904
12905     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
12906     HRESULT getElementById(
12907         [in] BSTR v,
12908         [retval, out] IHTMLElement **pel);
12909
12910     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
12911     HRESULT getElementsByTagName(
12912         [in] BSTR v,
12913         [retval, out] IHTMLElementCollection **pelColl);
12914 }
12915
12916 /*****************************************************************************
12917  *    IHTMLDocument4 interface
12918  */
12919 [
12920     odl,
12921     oleautomation,
12922     dual,
12923     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
12924 ]
12925 interface IHTMLDocument4 : IDispatch
12926 {
12927     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
12928     HRESULT focus();
12929
12930     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
12931     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
12932
12933     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12934     HRESULT onselectionchange([in] VARIANT v);
12935
12936     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12937     HRESULT onselectionchange([retval, out] VARIANT *p);
12938
12939     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
12940     HRESULT namespaces([retval, out] IDispatch **p);
12941
12942     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
12943     HRESULT createDocumentFromUrl(
12944         [in] BSTR bstrUrl,
12945         [in] BSTR bstrOptions,
12946         [retval, out] IHTMLDocument2 **newDoc);
12947
12948     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12949     HRESULT media([in] BSTR v);
12950
12951     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12952     HRESULT media([retval, out] BSTR *p);
12953
12954     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
12955     HRESULT createEventObject(
12956         [optional, in] VARIANT *pvarEventObject,
12957         [retval, out] IHTMLEventObj **ppEventObj);
12958
12959     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
12960     HRESULT fireEvent(
12961         [in] BSTR bstrEventName,
12962         [optional, in] VARIANT *pvarEventObject,
12963         [retval, out] VARIANT_BOOL *pfCancelled);
12964
12965     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
12966     HRESULT createRenderStyle(
12967         [in] BSTR v,
12968         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
12969
12970     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12971     HRESULT oncontrolselect([in] VARIANT v);
12972
12973     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12974     HRESULT oncontrolselect([retval, out] VARIANT *p);
12975
12976     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
12977     HRESULT URLUnencoded([retval, out] BSTR *p);
12978 }
12979
12980 /*****************************************************************************
12981  *    IHTMLDocument5 interface
12982  */
12983 [
12984     odl,
12985     oleautomation,
12986     dual,
12987     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
12988 ]
12989 interface IHTMLDocument5 : IDispatch
12990 {
12991     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12992     HRESULT onmousewheel([in] VARIANT v);
12993
12994     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12995     HRESULT onmousewheel([retval, out] VARIANT *p);
12996
12997     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
12998     HRESULT doctype([retval, out] IHTMLDOMNode **p);
12999
13000     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13001     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
13002
13003     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13004     HRESULT createAttribute(
13005         [in] BSTR bstrattrName,
13006         [retval, out] IHTMLDOMAttribute **ppattribute);
13007
13008     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13009     HRESULT createComment(
13010         [in] BSTR bstrdata,
13011         [retval, out] IHTMLDOMNode **ppRetNode);
13012
13013     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13014     HRESULT onfocusin([in] VARIANT v);
13015
13016     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13017     HRESULT onfocusin([retval, out] VARIANT *p);
13018
13019     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13020     HRESULT onfocusout([in] VARIANT v);
13021
13022     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13023     HRESULT onfocusout([retval, out] VARIANT *p);
13024
13025     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13026     HRESULT onactivate([in] VARIANT v);
13027
13028     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13029     HRESULT onactivate([retval, out] VARIANT *p);
13030
13031     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13032     HRESULT ondeactivate([in] VARIANT v);
13033
13034     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13035     HRESULT ondeactivate([retval, out] VARIANT *p);
13036
13037     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13038     HRESULT onbeforeactivate([in] VARIANT v);
13039
13040     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13041     HRESULT onbeforeactivate([retval, out] VARIANT *p);
13042
13043     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13044     HRESULT onbeforedeactivate([in] VARIANT v);
13045
13046     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13047     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
13048
13049     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
13050     HRESULT compatMode([retval, out] BSTR *p);
13051 }
13052
13053 /*****************************************************************************
13054  *    IHTMLDocument6 interface
13055  */
13056 [
13057     odl,
13058     oleautomation,
13059     dual,
13060     uuid(30510417-98b5-11cf-bb82-00aa00bdce0b)
13061 ]
13062 interface IHTMLDocument6 : IDispatch
13063 {
13064     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
13065     HRESULT compatible([retval, out] IHTMLDocumentCompatibleInfoCollection **p);
13066
13067     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
13068     HRESULT documentMode([retval, out] VARIANT *p);
13069
13070     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13071     HRESULT onstorage([in] VARIANT v);
13072
13073     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13074     HRESULT onstorage([out] VARIANT *p);
13075
13076     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13077     HRESULT onstoragecommit([in] VARIANT v);
13078
13079     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13080     HRESULT onstoragecommit([out] VARIANT *p);
13081
13082     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
13083     HRESULT getElementById(
13084         [in] BSTR bstrId,
13085         [retval, out] IHTMLElement2 **p);
13086
13087     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
13088     HRESULT updateSettings();
13089 }
13090
13091 /*****************************************************************************
13092  *    DispHTMLDocument dispinterface
13093  */
13094 [
13095     hidden,
13096     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
13097 ]
13098 dispinterface DispHTMLDocument
13099 {
13100 properties:
13101 methods:
13102     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
13103     IDispatch *Script();
13104
13105     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
13106     IHTMLElementCollection *all();
13107
13108     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
13109     IHTMLElement *body();
13110
13111     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
13112     IHTMLElement *activeElement();
13113
13114     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
13115     IHTMLElementCollection *images();
13116
13117     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
13118     IHTMLElementCollection *applets();
13119
13120     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
13121     IHTMLElementCollection *links();
13122
13123     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
13124     IHTMLElementCollection *forms();
13125
13126     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
13127     IHTMLElementCollection *anchors();
13128
13129     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13130     void title(BSTR v);
13131
13132     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13133     BSTR title();
13134
13135     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
13136     IHTMLElementCollection *scripts();
13137
13138     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
13139     void designMode(BSTR v);
13140
13141     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
13142     BSTR designMode();
13143
13144     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
13145     IHTMLSelectionObject *selection();
13146
13147     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
13148     BSTR readyState();
13149
13150     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
13151     IHTMLFramesCollection2 *frames();
13152
13153     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
13154     IHTMLElementCollection *embeds();
13155
13156     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
13157     IHTMLElementCollection *plugins();
13158
13159     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13160     void alinkColor(VARIANT v);
13161
13162     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13163     VARIANT alinkColor();
13164
13165     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13166     void bgColor(VARIANT v);
13167
13168     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13169     VARIANT bgColor();
13170
13171     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13172     void fgColor(VARIANT v);
13173
13174     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13175     VARIANT fgColor();
13176
13177     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13178     void linkColor(VARIANT v);
13179
13180     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13181     VARIANT linkColor();
13182
13183     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13184     void vlinkColor(VARIANT v);
13185
13186     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13187     VARIANT vlinkColor();
13188
13189     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
13190     BSTR referrer();
13191
13192     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
13193     IHTMLLocation *location();
13194
13195     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
13196     BSTR lastModified();
13197
13198     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
13199     void URL(BSTR v);
13200
13201     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
13202     BSTR URL();
13203
13204     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13205     void domain(BSTR v);
13206
13207     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13208     BSTR domain();
13209
13210     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13211     void cookie(BSTR v);
13212
13213     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13214     BSTR cookie();
13215
13216     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
13217     void expando(VARIANT_BOOL v);
13218
13219     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
13220     VARIANT_BOOL expando();
13221
13222     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
13223     void charset(BSTR v);
13224
13225     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
13226     BSTR charset();
13227
13228     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13229     void defaultCharset(BSTR v);
13230
13231     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13232     BSTR defaultCharset();
13233
13234     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
13235     BSTR mimeType();
13236
13237     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
13238     BSTR fileSize();
13239
13240     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
13241     BSTR fileCreatedDate();
13242
13243     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
13244     BSTR fileModifiedDate();
13245
13246     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
13247     BSTR fileUpdatedDate();
13248
13249     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
13250     BSTR security();
13251
13252     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
13253     BSTR protocol();
13254
13255     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
13256     BSTR nameProp();
13257
13258     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
13259     void write([in] SAFEARRAY(VARIANT) psarray);
13260
13261     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
13262     void writeln([in] SAFEARRAY(VARIANT) psarray);
13263
13264     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
13265     IDispatch *open(
13266         [defaultvalue("text/html"), in] BSTR url,
13267         [optional, in] VARIANT name,
13268         [optional, in] VARIANT features,
13269         [optional, in] VARIANT replace);
13270
13271     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
13272     void close();
13273
13274     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
13275     void clear();
13276
13277     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
13278     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
13279
13280     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
13281     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
13282
13283     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
13284     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
13285
13286     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
13287     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
13288
13289     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
13290     BSTR queryCommandText([in] BSTR cmdID);
13291
13292     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
13293     VARIANT queryCommandValue([in] BSTR cmdID);
13294
13295     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
13296     VARIANT_BOOL execCommand(
13297         [in] BSTR cmdID,
13298         [defaultvalue(0), in] VARIANT_BOOL showUI,
13299         [optional, in] VARIANT value);
13300
13301     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
13302     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
13303
13304     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
13305     IHTMLElement *createElement([in] BSTR eTag);
13306
13307     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
13308     void onhelp(VARIANT v);
13309
13310     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
13311     VARIANT onhelp();
13312
13313     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
13314     void onclick(VARIANT v);
13315
13316     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
13317     VARIANT onclick();
13318
13319     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
13320     void ondblclick(VARIANT v);
13321
13322     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
13323     VARIANT ondblclick();
13324
13325     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
13326     void onkeyup(VARIANT v);
13327
13328     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
13329     VARIANT onkeyup();
13330
13331     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
13332     void onkeydown(VARIANT v);
13333
13334     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
13335     VARIANT onkeydown();
13336
13337     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
13338     void onkeypress(VARIANT v);
13339
13340     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
13341     VARIANT onkeypress();
13342
13343     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
13344     void onmouseup(VARIANT v);
13345
13346     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
13347     VARIANT onmouseup();
13348
13349     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
13350     void onmousedown(VARIANT v);
13351
13352     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
13353     VARIANT onmousedown();
13354
13355     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
13356     void onmousemove(VARIANT v);
13357
13358     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
13359     VARIANT onmousemove();
13360
13361     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
13362     void onmouseout(VARIANT v);
13363
13364     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
13365     VARIANT onmouseout();
13366
13367     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
13368     void onmouseover(VARIANT v);
13369
13370     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
13371     VARIANT onmouseover();
13372
13373     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13374     void onreadystatechange(VARIANT v);
13375
13376     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13377     VARIANT onreadystatechange();
13378
13379     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
13380     void onafterupdate(VARIANT v);
13381
13382     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
13383     VARIANT onafterupdate();
13384
13385     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
13386     void onrowexit(VARIANT v);
13387
13388     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
13389     VARIANT onrowexit();
13390
13391     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
13392     void onrowenter(VARIANT v);
13393
13394     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
13395     VARIANT onrowenter();
13396
13397     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
13398     void ondragstart(VARIANT v);
13399
13400     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
13401     VARIANT ondragstart();
13402
13403     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
13404     void onselectstart(VARIANT v);
13405
13406     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
13407     VARIANT onselectstart();
13408
13409     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
13410     IHTMLElement *elementFromPoint(
13411         [in] LONG x,
13412         [in] LONG y);
13413
13414     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
13415     IHTMLWindow2 *parentWindow();
13416
13417     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
13418     IHTMLStyleSheetsCollection *styleSheets();
13419
13420     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
13421     void onbeforeupdate(VARIANT v);
13422
13423     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
13424     VARIANT onbeforeupdate();
13425
13426     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
13427     void onerrorupdate(VARIANT v);
13428
13429     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
13430     VARIANT onerrorupdate();
13431
13432     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
13433     BSTR toString();
13434
13435     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
13436     IHTMLStyleSheet *createStyleSheet(
13437         [defaultvalue(""), in] BSTR bstrHref,
13438         [defaultvalue(-1), in] LONG lIndex);
13439
13440     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
13441     void releaseCapture();
13442
13443     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
13444     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
13445
13446     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
13447     IHTMLDOMNode *createTextNode([in] BSTR text);
13448
13449     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
13450     IHTMLElement *documentElement();
13451
13452     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
13453     BSTR uniqueID();
13454
13455     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
13456     VARIANT_BOOL attachEvent(
13457         [in] BSTR event,
13458         [in] IDispatch *pDisp);
13459
13460     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
13461     void detachEvent(
13462         [in] BSTR event,
13463         [in] IDispatch *pDisp);
13464
13465     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13466     void onrowsdelete(VARIANT v);
13467
13468     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13469     VARIANT onrowsdelete();
13470
13471     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13472     void onrowsinserted(VARIANT v);
13473
13474     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13475     VARIANT onrowsinserted();
13476
13477     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13478     void oncellchange(VARIANT v);
13479
13480     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13481     VARIANT oncellchange();
13482
13483     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13484     void ondatasetchanged(VARIANT v);
13485
13486     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13487     VARIANT ondatasetchanged();
13488
13489     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13490     void ondataavailable(VARIANT v);
13491
13492     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13493     VARIANT ondataavailable();
13494
13495     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13496     void ondatasetcomplete(VARIANT v);
13497
13498     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13499     VARIANT ondatasetcomplete();
13500
13501     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13502     void onpropertychange(VARIANT v);
13503
13504     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13505     VARIANT onpropertychange();
13506
13507     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
13508     void dir(BSTR v);
13509
13510     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
13511     BSTR dir();
13512
13513     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13514     void oncontextmenu(VARIANT v);
13515
13516     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13517     VARIANT oncontextmenu();
13518
13519     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13520     void onstop(VARIANT v);
13521
13522     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13523     VARIANT onstop();
13524
13525     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
13526     IHTMLDocument2 *createDocumentFragment();
13527
13528     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
13529     IHTMLDocument2 *parentDocument();
13530
13531     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13532     void enableDownload(VARIANT_BOOL v);
13533
13534     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13535     VARIANT_BOOL enableDownload();
13536
13537     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13538     void baseUrl(BSTR v);
13539
13540     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13541     BSTR baseUrl();
13542
13543     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13544     void inheritStyleSheets(VARIANT_BOOL v);
13545
13546     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13547     VARIANT_BOOL inheritStyleSheets();
13548
13549     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13550     void onbeforeeditfocus(VARIANT v);
13551
13552     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13553     VARIANT onbeforeeditfocus();
13554
13555     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
13556     IHTMLElementCollection *getElementsByName([in] BSTR v);
13557
13558     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
13559     IHTMLElement *getElementById([in] BSTR v);
13560
13561     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
13562     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
13563
13564     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
13565     void focus();
13566
13567     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
13568     VARIANT_BOOL hasFocus();
13569
13570     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13571     void onselectionchange(VARIANT v);
13572
13573     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13574     VARIANT onselectionchange();
13575
13576     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
13577     IDispatch *namespaces();
13578
13579     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
13580     IHTMLDocument2 *createDocumentFromUrl(
13581         [in] BSTR bstrUrl,
13582         [in] BSTR bstrOptions);
13583
13584     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13585     void media(BSTR v);
13586
13587     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13588     BSTR media();
13589
13590     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
13591     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
13592
13593     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
13594     VARIANT_BOOL fireEvent(
13595         [in] BSTR bstrEventName,
13596         [optional, in] VARIANT *pvarEventObject);
13597
13598     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
13599     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
13600
13601     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13602     void oncontrolselect(VARIANT v);
13603
13604     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13605     VARIANT oncontrolselect();
13606
13607     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
13608     BSTR URLUnencoded();
13609
13610     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13611     void onmousewheel(VARIANT v);
13612
13613     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13614     VARIANT onmousewheel();
13615
13616     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
13617     IHTMLDOMNode *doctype();
13618
13619     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13620     IHTMLDOMImplementation *implementation();
13621
13622     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13623     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
13624
13625     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13626     IHTMLDOMNode *createComment([in] BSTR bstrdata);
13627
13628     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13629     void onfocusin(VARIANT v);
13630
13631     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13632     VARIANT onfocusin();
13633
13634     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13635     void onfocusout(VARIANT v);
13636
13637     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13638     VARIANT onfocusout();
13639
13640     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13641     void onactivate(VARIANT v);
13642
13643     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13644     VARIANT onactivate();
13645
13646     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13647     void ondeactivate(VARIANT v);
13648
13649     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13650     VARIANT ondeactivate();
13651
13652     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13653     void onbeforeactivate(VARIANT v);
13654
13655     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13656     VARIANT onbeforeactivate();
13657
13658     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13659     void onbeforedeactivate(VARIANT v);
13660
13661     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13662     VARIANT onbeforedeactivate();
13663
13664     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
13665     BSTR compatMode();
13666
13667     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
13668     IHTMLDocumentCompatibleInfoCollection *compatible();
13669
13670     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
13671     VARIANT documentMode();
13672
13673     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13674     void onstorage(VARIANT v);
13675
13676     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13677     VARIANT onstorage();
13678
13679     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13680     void onstoragecommit(VARIANT v);
13681
13682     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13683     VARIANT onstoragecommit();
13684
13685     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
13686     IHTMLElement2 *ie8_getElementById([in] BSTR bstrId);
13687
13688     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
13689     void updateSettings();
13690
13691     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
13692 }
13693
13694 /*****************************************************************************
13695  *    HTMLDocument coclass
13696  */
13697 [
13698     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
13699 ]
13700 coclass HTMLDocument
13701 {
13702     [default]         dispinterface DispHTMLDocument;
13703     [source, default] dispinterface HTMLDocumentEvents;
13704     [source]          dispinterface HTMLDocumentEvents2;
13705                       interface IHTMLDocument2;
13706                       interface IHTMLDocument3;
13707                       interface IHTMLDocument4;
13708                       interface IHTMLDocument5;
13709                       interface IHTMLDocument6;
13710                       interface IHTMLDOMNode;
13711                       interface IHTMLDOMNode2;
13712 }
13713
13714 /*****************************************************************************
13715  *    DWebBridgeEvents dispinterface
13716  */
13717 [
13718     hidden,
13719     uuid(a6d897ff-0a95-11d1-b0ba-006008166e11)
13720 ]
13721 dispinterface DWebBridgeEvents
13722 {
13723 properties:
13724 methods:
13725     [id(DISPID_DWEBBRIDGEEVENTS_ONSCRIPTLETEVENT)]
13726     void onscriptletevent([in] BSTR name,[in] VARIANT eventData);
13727
13728     [id(DISPID_DWEBBRIDGEEVENTS_ONREADYSTATECHANGE)]
13729     void onreadystatechange();
13730
13731     [id(DISPID_DWEBBRIDGEEVENTS_ONCLICK)]
13732     VARIANT_BOOL onclick();
13733
13734     [id(DISPID_DWEBBRIDGEEVENTS_ONDBLCLICK)]
13735     VARIANT_BOOL ondblclick();
13736
13737     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYDOWN)]
13738     void onkeydown();
13739
13740     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYUP)]
13741     void onkeyup();
13742
13743     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYPRESS)]
13744     VARIANT_BOOL onkeypress();
13745
13746     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEDOWN)]
13747     void onmousedown();
13748
13749     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEMOVE)]
13750     void onmousemove();
13751
13752     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEUP)]
13753     void onmouseup();
13754 }
13755
13756 /*****************************************************************************
13757  *    IWebBridge interface
13758  */
13759 [
13760     odl,
13761     oleautomation,
13762     dual,
13763     uuid(ae24fdad-03c6-11d1-8b76-0080c744f389)
13764 ]
13765 interface IWebBridge : IDispatch
13766 {
13767     [propput, id(DISPID_IWEBBRIDGE_URL)]
13768     HRESULT URL([in] BSTR v);
13769
13770     [propget, id(DISPID_IWEBBRIDGE_URL)]
13771     HRESULT URL([retval, out] BSTR * p);
13772
13773     [propput, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
13774     HRESULT Scrollbar([in] VARIANT_BOOL v);
13775
13776     [propget, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
13777     HRESULT Scrollbar([retval, out] VARIANT_BOOL * p);
13778
13779     [propput, id(DISPID_IWEBBRIDGE_EMBED)]
13780     HRESULT embed([in] VARIANT_BOOL v);
13781
13782     [propget, id(DISPID_IWEBBRIDGE_EMBED)]
13783     HRESULT embed([retval, out] VARIANT_BOOL * p);
13784
13785     [propget, id(DISPID_IWEBBRIDGE_EVENT)]
13786     HRESULT event([retval, out] IDispatch* * p);
13787
13788     [propget, id(DISPID_IWEBBRIDGE_READYSTATE)]
13789     HRESULT readyState([retval, out] long * p);
13790
13791     [id(DISPID_IWEBBRIDGE_ABOUTBOX)]
13792     HRESULT AboutBox();
13793 }
13794
13795 /*****************************************************************************
13796  *    Scriptlet coclass
13797  */
13798 [
13799     control,
13800     helpstring("Microsoft Scriptlet Component"),
13801     progid("ScriptBridge.ScriptBridge.1"),
13802     vi_progid("ScriptBridge.ScriptBridge"),
13803     uuid(ae24fdae-03c6-11d1-8b76-0080c744f389)
13804 ]
13805 coclass Scriptlet
13806 {
13807     [default]           interface IWebBridge;
13808     [source, default]   dispinterface DWebBridgeEvents;
13809 }
13810
13811 /*****************************************************************************
13812  *    IHTMLEmbedElement interface
13813  */
13814 [
13815     odl,
13816     oleautomation,
13817     dual,
13818     uuid(3050f25f-98b5-11cf-bb82-00aa00bdce0b)
13819 ]
13820 interface IHTMLEmbedElement : IDispatch
13821 {
13822     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13823     HRESULT hidden([in] BSTR v);
13824
13825     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13826     HRESULT hidden([retval, out] BSTR *p);
13827
13828     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
13829     HRESULT palette([retval, out] BSTR *p);
13830
13831     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
13832     HRESULT pluginspage([retval, out] BSTR *p);
13833
13834     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13835     HRESULT src([in] BSTR v);
13836
13837     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13838     HRESULT src([retval, out] BSTR *p);
13839
13840     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13841     HRESULT units([in] BSTR v);
13842
13843     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13844     HRESULT units([retval, out] BSTR *p);
13845
13846     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13847     HRESULT name([in] BSTR v);
13848
13849     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13850     HRESULT name([retval, out] BSTR *p);
13851
13852     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13853     HRESULT width([in] VARIANT v);
13854
13855     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13856     HRESULT width([retval, out] VARIANT *p);
13857
13858     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13859     HRESULT height([in] VARIANT v);
13860
13861     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13862     HRESULT height([retval, out] VARIANT *p);
13863 }
13864
13865 /*****************************************************************************
13866  *    DispHTMLEmbedElement dispinterface
13867  */
13868 [
13869     hidden,
13870     uuid(3050f52e-98b5-11cf-bb82-00aa00bdce0b)
13871 ]
13872 dispinterface DispHTMLEmbed
13873 {
13874 properties:
13875 methods:
13876     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
13877
13878     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13879     void hidden(BSTR v);
13880
13881     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13882     BSTR hidden();
13883
13884     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
13885     BSTR palette();
13886
13887     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
13888     BSTR pluginspage();
13889
13890     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13891     void src(BSTR v);
13892
13893     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13894     BSTR src();
13895
13896     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13897     void units(BSTR v);
13898
13899     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13900     BSTR units();
13901
13902     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13903     void name(BSTR v);
13904
13905     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13906     BSTR name();
13907
13908     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13909     void width(VARIANT v);
13910
13911     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13912     VARIANT width();
13913
13914     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13915     void height(VARIANT v);
13916
13917     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13918     VARIANT height();
13919
13920     [propput, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
13921     void ie8_src(BSTR v);
13922
13923     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
13924     BSTR ie8_src();
13925
13926     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_PLUGINSPAGE)]
13927     BSTR ie8_pluginspage();
13928 }
13929
13930 /*****************************************************************************
13931  *    IHTMLCommentElement interface
13932  */
13933 [
13934     odl,
13935     oleautomation,
13936     dual,
13937     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
13938 ]
13939 interface IHTMLCommentElement : IDispatch
13940 {
13941     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13942     HRESULT text([in] BSTR v);
13943
13944     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13945     HRESULT text([out, retval] BSTR *p);
13946
13947     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13948     HRESULT atomic([in] LONG v);
13949
13950     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13951     HRESULT atomic([out, retval] LONG *p);
13952 }
13953
13954 /*****************************************************************************
13955  *    IHTMLCommentElement2 interface
13956  */
13957 [
13958     odl,
13959     oleautomation,
13960     dual,
13961     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
13962 ]
13963 interface IHTMLCommentElement2 : IDispatch
13964 {
13965     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13966     HRESULT data([in] BSTR v);
13967
13968     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13969     HRESULT data([out, retval] BSTR *p);
13970
13971     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
13972     HRESULT length([out, retval] LONG *p);
13973
13974     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
13975     HRESULT substringData(
13976             [in] LONG offset,
13977             [in] LONG Count,
13978             [out, retval] BSTR *pbstrsubString);
13979
13980     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
13981     HRESULT appendData([in] BSTR bstrstring);
13982
13983     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
13984     HRESULT insertData(
13985             [in] LONG offset,
13986             [in] BSTR bstrstring);
13987
13988     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
13989     HRESULT deleteData(
13990             [in] LONG offset,
13991             [in] LONG Count);
13992
13993     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
13994     HRESULT replaceData(
13995             [in] LONG offset,
13996             [in] LONG Count,
13997             [in] BSTR bstrstring);
13998 }
13999
14000 /*****************************************************************************
14001  *    DispHTMLCommentElement dispinterface
14002  */
14003 [
14004     hidden,
14005     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
14006 ]
14007 dispinterface DispHTMLCommentElement
14008 {
14009 properties:
14010 methods:
14011     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14012
14013     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14014     void text(BSTR v);
14015
14016     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14017     BSTR text();
14018
14019     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14020     void atomic(LONG v);
14021
14022     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14023     LONG atomic();
14024
14025     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14026     void data(BSTR v);
14027
14028     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14029     BSTR data();
14030
14031     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14032     LONG length();
14033
14034     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14035     BSTR substringData(
14036             [in] LONG offset,
14037             [in] LONG Count);
14038
14039     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14040     void appendData([in] BSTR bstrstring);
14041
14042     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14043      void insertData(
14044             [in] LONG offset,
14045             [in] BSTR bstrstring);
14046
14047     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
14048     void deleteData(
14049             [in] LONG offset,
14050             [in] LONG Count);
14051
14052     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
14053     void replaceData(
14054             [in] LONG offset,
14055             [in] LONG Count,
14056             [in] BSTR bstrstring);
14057 }
14058
14059 [
14060     hidden,
14061     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
14062 ]
14063 dispinterface HTMLElementEvents2
14064 {
14065 properties:
14066 methods:
14067     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14068     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14069
14070     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14071     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14072
14073     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14074     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14075
14076     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14077     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14078
14079     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14080     void onkeydown([in] IHTMLEventObj* pEvtObj);
14081
14082     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14083     void onkeyup([in] IHTMLEventObj* pEvtObj);
14084
14085     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14086     void onmouseout([in] IHTMLEventObj* pEvtObj);
14087
14088     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14089     void onmouseover([in] IHTMLEventObj* pEvtObj);
14090
14091     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14092     void onmousemove([in] IHTMLEventObj* pEvtObj);
14093
14094     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14095     void onmousedown([in] IHTMLEventObj* pEvtObj);
14096
14097     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14098     void onmouseup([in] IHTMLEventObj* pEvtObj);
14099
14100     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14101     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14102
14103     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14104     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14105
14106     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14107     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14108
14109     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14110     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14111
14112     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14113     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14114
14115     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14116     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14117
14118     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14119     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14120
14121     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14122     void onrowenter([in] IHTMLEventObj* pEvtObj);
14123
14124     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14125     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14126
14127     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14128     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14129
14130     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14131     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14132
14133     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14134     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14135
14136     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14137     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14138
14139     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14140     void onscroll([in] IHTMLEventObj* pEvtObj);
14141
14142     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14143     void onfocus([in] IHTMLEventObj* pEvtObj);
14144
14145     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14146     void onblur([in] IHTMLEventObj* pEvtObj);
14147
14148     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14149     void onresize([in] IHTMLEventObj* pEvtObj);
14150
14151     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14152     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14153
14154     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14155     void ondragend([in] IHTMLEventObj* pEvtObj);
14156
14157     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14158     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14159
14160     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14161     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14162
14163     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14164     void ondragleave([in] IHTMLEventObj* pEvtObj);
14165
14166     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14167     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14168
14169     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14170     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14171
14172     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14173     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14174
14175     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14176     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14177
14178     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14179     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14180
14181     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14182     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14183
14184     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14185     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14186
14187     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14188     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14189
14190     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14191     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14192
14193     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14194     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14195
14196     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14197     void oncellchange([in] IHTMLEventObj* pEvtObj);
14198
14199     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14200     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14201
14202     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14203     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14204
14205     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14206     void onpage([in] IHTMLEventObj* pEvtObj);
14207
14208     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14209     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14210
14211     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14212     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14213
14214     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14215     void onactivate([in] IHTMLEventObj* pEvtObj);
14216
14217     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14218     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14219
14220     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14221     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14222
14223     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14224     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14225
14226     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14227     void onfocusin([in] IHTMLEventObj* pEvtObj);
14228
14229     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14230     void onfocusout([in] IHTMLEventObj* pEvtObj);
14231
14232     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14233     void onmove([in] IHTMLEventObj* pEvtObj);
14234
14235     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14236     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14237
14238     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14239     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14240
14241     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14242     void onmoveend([in] IHTMLEventObj* pEvtObj);
14243
14244     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14245     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14246
14247     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14248     void onresizeend([in] IHTMLEventObj* pEvtObj);
14249
14250     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14251     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14252 }
14253
14254 [
14255     hidden,
14256     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
14257 ]
14258 dispinterface HTMLElementEvents
14259 {
14260 properties:
14261 methods:
14262     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14263     VARIANT_BOOL onhelp();
14264
14265     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14266     VARIANT_BOOL onclick();
14267
14268     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14269     VARIANT_BOOL ondblclick();
14270
14271     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14272     VARIANT_BOOL onkeypress();
14273
14274     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14275     void onkeydown();
14276
14277     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14278     void onkeyup();
14279
14280     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14281     void onmouseout();
14282
14283     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14284     void onmouseover();
14285
14286     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14287     void onmousemove();
14288
14289     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14290     void onmousedown();
14291
14292     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14293     void onmouseup();
14294
14295     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14296     VARIANT_BOOL onselectstart();
14297
14298     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14299     void onfilterchange();
14300
14301     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14302     VARIANT_BOOL ondragstart();
14303
14304     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14305     VARIANT_BOOL onbeforeupdate();
14306
14307     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14308     void onafterupdate();
14309
14310     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14311     VARIANT_BOOL onerrorupdate();
14312
14313     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14314     VARIANT_BOOL onrowexit();
14315
14316     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14317     void onrowenter();
14318
14319     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14320     void ondatasetchanged();
14321
14322     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14323     void ondataavailable();
14324
14325     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14326     void ondatasetcomplete();
14327
14328     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14329     void onlosecapture();
14330
14331     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14332     void onpropertychange();
14333
14334     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14335     void onscroll();
14336
14337     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14338     void onfocus();
14339
14340     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14341     void onblur();
14342
14343     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14344     void onresize();
14345
14346     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14347     VARIANT_BOOL ondrag();
14348
14349     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14350     void ondragend();
14351
14352     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14353     VARIANT_BOOL ondragenter();
14354
14355     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14356     VARIANT_BOOL ondragover();
14357
14358     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14359     void ondragleave();
14360
14361     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14362     VARIANT_BOOL ondrop();
14363
14364     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14365     VARIANT_BOOL onbeforecut();
14366
14367     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14368     VARIANT_BOOL oncut();
14369
14370     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14371     VARIANT_BOOL onbeforecopy();
14372
14373     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14374     VARIANT_BOOL oncopy();
14375
14376     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14377     VARIANT_BOOL onbeforepaste();
14378
14379     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14380     VARIANT_BOOL onpaste();
14381
14382     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14383     VARIANT_BOOL oncontextmenu();
14384
14385     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14386     void onrowsdelete();
14387
14388     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14389     void onrowsinserted();
14390
14391     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14392     void oncellchange();
14393
14394     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14395     void onreadystatechange();
14396
14397     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14398     void onbeforeeditfocus();
14399
14400     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14401     void onlayoutcomplete();
14402
14403     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14404     void onpage();
14405
14406     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14407     VARIANT_BOOL onbeforedeactivate();
14408
14409     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14410     VARIANT_BOOL onbeforeactivate();
14411
14412     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14413     void onmove();
14414
14415     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14416     VARIANT_BOOL oncontrolselect();
14417
14418     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14419     VARIANT_BOOL onmovestart();
14420
14421     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14422     void onmoveend();
14423
14424     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14425     VARIANT_BOOL onresizestart();
14426
14427     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14428     void onresizeend();
14429
14430     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14431     void onmouseenter();
14432
14433     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14434     void onmouseleave();
14435
14436     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14437     VARIANT_BOOL onmousewheel();
14438
14439     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14440     void onactivate();
14441
14442     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14443     void ondeactivate();
14444
14445     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14446     void onfocusin();
14447
14448     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14449     void onfocusout();
14450 }
14451
14452 [
14453     noncreatable,
14454     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
14455 ]
14456 coclass HTMLCommentElement
14457 {
14458     [default]           dispinterface DispHTMLCommentElement;
14459     [source, default]   dispinterface HTMLElementEvents;
14460     [source]            dispinterface HTMLElementEvents2;
14461                         interface IHTMLElement;
14462                         interface IHTMLElement2;
14463                         interface IHTMLElement3;
14464                         interface IHTMLElement4;
14465                         interface IHTMLUniqueName;
14466                         interface IHTMLDOMNode;
14467                         interface IHTMLDOMNode2;
14468                         interface IHTMLCommentElement;
14469                         interface IHTMLCommentElement2;
14470 }
14471
14472 /*****************************************************************************
14473  *    HTMLTableEvents dispinterface
14474  */
14475 [
14476     hidden,
14477     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
14478 ]
14479 dispinterface HTMLTableEvents
14480 {
14481 properties:
14482 methods:
14483     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14484     VARIANT_BOOL onhelp();
14485
14486     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14487     VARIANT_BOOL onclick();
14488
14489     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14490     VARIANT_BOOL ondblclick();
14491
14492     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14493     VARIANT_BOOL onkeypress();
14494
14495     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14496     void onkeydown();
14497
14498     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14499     void onkeyup();
14500
14501     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14502     void onmouseout();
14503
14504     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14505     void onmouseover();
14506
14507     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14508     void onmousemove();
14509
14510     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14511     void onmousedown();
14512
14513     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14514     void onmouseup();
14515
14516     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14517     VARIANT_BOOL onselectstart();
14518
14519     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14520     void onfilterchange();
14521
14522     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14523     VARIANT_BOOL ondragstart();
14524
14525     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14526     VARIANT_BOOL onbeforeupdate();
14527
14528     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14529     void onafterupdate();
14530
14531     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14532     VARIANT_BOOL onerrorupdate();
14533
14534     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14535     VARIANT_BOOL onrowexit();
14536
14537     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14538     void onrowenter();
14539
14540     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14541     void ondatasetchanged();
14542
14543     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14544     void ondataavailable();
14545
14546     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14547     void ondatasetcomplete();
14548
14549     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14550     void onlosecapture();
14551
14552     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14553     void onpropertychange();
14554
14555     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14556     void onscroll();
14557
14558     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14559     void onfocus();
14560
14561     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14562     void onblur();
14563
14564     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14565     void onresize();
14566
14567     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14568     VARIANT_BOOL ondrag();
14569
14570     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14571     void ondragend();
14572
14573     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14574     VARIANT_BOOL ondragenter();
14575
14576     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14577     VARIANT_BOOL ondragover();
14578
14579     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14580     void ondragleave();
14581
14582     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14583     VARIANT_BOOL ondrop();
14584
14585     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14586     VARIANT_BOOL onbeforecut();
14587
14588     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14589     VARIANT_BOOL oncut();
14590
14591     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14592     VARIANT_BOOL onbeforecopy();
14593
14594     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14595     VARIANT_BOOL oncopy();
14596
14597     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14598     VARIANT_BOOL onbeforepaste();
14599
14600     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14601     VARIANT_BOOL onpaste();
14602
14603     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14604     VARIANT_BOOL oncontextmenu();
14605
14606     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14607     void onrowsdelete();
14608
14609     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14610     void onrowsinserted();
14611
14612     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14613     void oncellchange();
14614
14615     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14616     void onreadystatechange();
14617
14618     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14619     void onbeforeeditfocus();
14620
14621     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14622     void onlayoutcomplete();
14623
14624     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14625     void onpage();
14626
14627     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14628     VARIANT_BOOL onbeforedeactivate();
14629
14630     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14631     VARIANT_BOOL onbeforeactivate();
14632
14633     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14634     void onmove();
14635
14636     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14637     VARIANT_BOOL oncontrolselect();
14638
14639     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14640     VARIANT_BOOL onmovestart();
14641
14642     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14643     void onmoveend();
14644
14645     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14646     VARIANT_BOOL onresizestart();
14647
14648     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14649     void onresizeend();
14650
14651     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14652     void onmouseenter();
14653
14654     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14655     void onmouseleave();
14656
14657     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14658     VARIANT_BOOL onmousewheel();
14659
14660     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14661     void onactivate();
14662
14663     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14664     void ondeactivate();
14665
14666     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14667     void onfocusin();
14668
14669     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14670     void onfocusout();
14671 }
14672
14673 [
14674     hidden,
14675     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
14676 ]
14677 dispinterface HTMLTableEvents2
14678 {
14679 properties:
14680 methods:
14681     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14682     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14683
14684     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14685     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14686
14687     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14688     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14689
14690     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14691     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14692
14693     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14694     void onkeydown([in] IHTMLEventObj* pEvtObj);
14695
14696     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14697     void onkeyup([in] IHTMLEventObj* pEvtObj);
14698
14699     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14700     void onmouseout([in] IHTMLEventObj* pEvtObj);
14701
14702     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14703     void onmouseover([in] IHTMLEventObj* pEvtObj);
14704
14705     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14706     void onmousemove([in] IHTMLEventObj* pEvtObj);
14707
14708     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14709     void onmousedown([in] IHTMLEventObj* pEvtObj);
14710
14711     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14712     void onmouseup([in] IHTMLEventObj* pEvtObj);
14713
14714     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14715     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14716
14717     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14718     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14719
14720     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14721     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14722
14723     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14724     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14725
14726     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14727     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14728
14729     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14730     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14731
14732     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14733     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14734
14735     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14736     void onrowenter([in] IHTMLEventObj* pEvtObj);
14737
14738     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14739     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14740
14741     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14742     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14743
14744     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14745     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14746
14747     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14748     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14749
14750     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14751     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14752
14753     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14754     void onscroll([in] IHTMLEventObj* pEvtObj);
14755
14756     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14757     void onfocus([in] IHTMLEventObj* pEvtObj);
14758
14759     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14760     void onblur([in] IHTMLEventObj* pEvtObj);
14761
14762     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14763     void onresize([in] IHTMLEventObj* pEvtObj);
14764
14765     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14766     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14767
14768     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14769     void ondragend([in] IHTMLEventObj* pEvtObj);
14770
14771     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14772     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14773
14774     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14775     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14776
14777     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14778     void ondragleave([in] IHTMLEventObj* pEvtObj);
14779
14780     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14781     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14782
14783     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14784     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14785
14786     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14787     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14788
14789     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14790     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14791
14792     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14793     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14794
14795     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14796     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14797
14798     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14799     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14800
14801     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14802     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14803
14804     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14805     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14806
14807     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14808     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14809
14810     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14811     void oncellchange([in] IHTMLEventObj* pEvtObj);
14812
14813     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14814     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14815
14816     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14817     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14818
14819     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14820     void onpage([in] IHTMLEventObj* pEvtObj);
14821
14822     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14823     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14824
14825     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14826     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14827
14828     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14829     void onactivate([in] IHTMLEventObj* pEvtObj);
14830
14831     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14832     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14833
14834     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14835     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14836
14837     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14838     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14839
14840     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14841     void onfocusin([in] IHTMLEventObj* pEvtObj);
14842
14843     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14844     void onfocusout([in] IHTMLEventObj* pEvtObj);
14845
14846     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14847     void onmove([in] IHTMLEventObj* pEvtObj);
14848
14849     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14850     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14851
14852     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14853     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14854
14855     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14856     void onmoveend([in] IHTMLEventObj* pEvtObj);
14857
14858     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14859     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14860
14861     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14862     void onresizeend([in] IHTMLEventObj* pEvtObj);
14863
14864     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14865     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14866 }
14867
14868 /*****************************************************************************
14869  *    IHTMLTableCaption interface
14870  */
14871 [
14872     odl,
14873     oleautomation,
14874     dual,
14875     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
14876 ]
14877 interface IHTMLTableCaption : IDispatch
14878 {
14879     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
14880     HRESULT align([in] BSTR v);
14881
14882     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
14883     HRESULT align([retval, out] BSTR *p);
14884
14885     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
14886     HRESULT vAlign([in] BSTR v);
14887
14888     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
14889     HRESULT vAlign([retval, out] BSTR *p);
14890 }
14891
14892 interface IHTMLTableSection;
14893
14894 /*****************************************************************************
14895  *    IHTMLTable interface
14896  */
14897 [
14898     odl,
14899     oleautomation,
14900     dual,
14901     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
14902 ]
14903 interface IHTMLTable : IDispatch
14904 {
14905     [propput, id(DISPID_IHTMLTABLE_COLS)]
14906     HRESULT cols([in] LONG v);
14907
14908     [propget, id(DISPID_IHTMLTABLE_COLS)]
14909     HRESULT cols([retval, out] LONG *p);
14910
14911     [propput, id(DISPID_IHTMLTABLE_BORDER)]
14912     HRESULT border([in] VARIANT v);
14913
14914     [propget, id(DISPID_IHTMLTABLE_BORDER)]
14915     HRESULT border([retval, out] VARIANT *p);
14916
14917     [propput, id(DISPID_IHTMLTABLE_FRAME)]
14918     HRESULT frame([in] BSTR v);
14919
14920     [propget, id(DISPID_IHTMLTABLE_FRAME)]
14921     HRESULT frame([retval, out] BSTR *p);
14922
14923     [propput, id(DISPID_IHTMLTABLE_RULES)]
14924     HRESULT rules([in] BSTR v);
14925
14926     [propget, id(DISPID_IHTMLTABLE_RULES)]
14927     HRESULT rules([retval, out] BSTR *p);
14928
14929     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
14930     HRESULT cellSpacing([in] VARIANT v);
14931
14932     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
14933     HRESULT cellSpacing([retval, out] VARIANT *p);
14934
14935     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
14936     HRESULT cellPadding([in] VARIANT v);
14937
14938     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
14939     HRESULT cellPadding([retval, out] VARIANT *p);
14940
14941     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
14942     HRESULT background([in] BSTR v);
14943
14944     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
14945     HRESULT background([retval, out] BSTR *p);
14946
14947     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
14948     HRESULT bgColor([in] VARIANT v);
14949
14950     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
14951     HRESULT bgColor([retval, out] VARIANT *p);
14952
14953     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14954     HRESULT borderColor([in] VARIANT v);
14955
14956     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14957     HRESULT borderColor([retval, out] VARIANT *p);
14958
14959     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14960     HRESULT borderColorLight([in] VARIANT v);
14961
14962     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14963     HRESULT borderColorLight([retval, out] VARIANT *p);
14964
14965     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14966     HRESULT borderColorDark([in] VARIANT v);
14967
14968     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14969     HRESULT borderColorDark([retval, out] VARIANT *p);
14970
14971     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
14972     HRESULT align([in] BSTR v);
14973
14974     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
14975     HRESULT align([retval, out] BSTR * p);
14976
14977     [id(DISPID_IHTMLTABLE_REFRESH)]
14978     HRESULT refresh();
14979
14980     [propget, id(DISPID_IHTMLTABLE_ROWS)]
14981     HRESULT rows([retval, out] IHTMLElementCollection **p);
14982
14983     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
14984     HRESULT width([in] VARIANT v);
14985
14986     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
14987     HRESULT width([retval, out] VARIANT *p);
14988
14989     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
14990     HRESULT height([in] VARIANT v);
14991
14992     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
14993     HRESULT height([retval, out] VARIANT *p);
14994
14995     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14996     HRESULT dataPageSize([in] LONG v);
14997
14998     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14999     HRESULT dataPageSize([retval, out] LONG *p);
15000
15001     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
15002     HRESULT nextPage();
15003
15004     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
15005     HRESULT previousPage();
15006
15007     [propget, id(DISPID_IHTMLTABLE_THEAD)]
15008     HRESULT tHead([retval, out] IHTMLTableSection **p);
15009
15010     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
15011     HRESULT tFoot([retval, out] IHTMLTableSection **p);
15012
15013     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
15014     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
15015
15016     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
15017     HRESULT caption([retval, out] IHTMLTableCaption **p);
15018
15019     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
15020     HRESULT createTHead([retval, out] IDispatch **head);
15021
15022     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
15023     HRESULT deleteTHead();
15024
15025     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
15026     HRESULT createTFoot([retval, out] IDispatch **foot);
15027
15028     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
15029     HRESULT deleteTFoot();
15030
15031     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
15032     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
15033
15034     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
15035     HRESULT deleteCaption();
15036
15037     [id(DISPID_IHTMLTABLE_INSERTROW)]
15038     HRESULT insertRow(
15039             [defaultvalue(-1), in] LONG index,
15040             [retval, out] IDispatch **row);
15041
15042     [id(DISPID_IHTMLTABLE_DELETEROW)]
15043     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
15044
15045     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
15046     HRESULT readyState([retval, out] BSTR *p);
15047
15048     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
15049     HRESULT onreadystatechange([in] VARIANT v);
15050
15051     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
15052     HRESULT onreadystatechange([retval, out] VARIANT *p);
15053 }
15054
15055 [
15056     odl,
15057     oleautomation,
15058     dual,
15059     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
15060 ]
15061 interface IHTMLTable2 : IDispatch
15062 {
15063     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
15064     HRESULT firstPage();
15065
15066     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
15067     HRESULT lastPage();
15068
15069     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
15070     HRESULT cells([retval, out] IHTMLElementCollection* * p);
15071
15072     [id(DISPID_IHTMLTABLE2_MOVEROW)]
15073     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
15074         [defaultvalue(-1), in] LONG indexTo,
15075         [retval, out] IDispatch** row);
15076 }
15077
15078 [
15079     odl,
15080     oleautomation,
15081     dual,
15082     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
15083 ]
15084 interface IHTMLTable3 : IDispatch
15085 {
15086     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15087     HRESULT summary([in] BSTR v);
15088
15089     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15090     HRESULT summary([retval, out] BSTR * p);
15091 }
15092
15093 [
15094     noncreatable,
15095     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
15096 ]
15097 coclass HTMLTable
15098 {
15099     [default]           dispinterface DispHTMLTable;
15100     [source, default]   dispinterface HTMLTableEvents;
15101     [source]            dispinterface HTMLTableEvents2;
15102                         interface IHTMLElement;
15103                         interface IHTMLElement2;
15104                         interface IHTMLElement3;
15105                         interface IHTMLElement4;
15106                         interface IHTMLUniqueName;
15107                         interface IHTMLDOMNode;
15108                         interface IHTMLDOMNode2;
15109                         interface IHTMLDatabinding;
15110                         interface IHTMLControlElement;
15111                         interface IHTMLTable;
15112                         interface IHTMLTable2;
15113                         interface IHTMLTable3;
15114 }
15115
15116 [
15117     odl,
15118     oleautomation,
15119     dual,
15120     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
15121 ]
15122 interface IHTMLTableSection : IDispatch
15123 {
15124     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
15125     HRESULT align([in] BSTR v);
15126
15127     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
15128     HRESULT align([retval, out] BSTR *p);
15129
15130     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
15131     HRESULT vAlign([in] BSTR v);
15132
15133     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
15134     HRESULT vAlign([retval, out] BSTR *p);
15135
15136     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
15137     HRESULT bgColor([in] VARIANT v);
15138
15139     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
15140     HRESULT bgColor([retval, out] VARIANT *p);
15141
15142     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
15143     HRESULT rows([retval, out] IHTMLElementCollection **p);
15144
15145     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
15146     HRESULT insertRow(
15147             [defaultvalue(-1), in] LONG index,
15148             [retval, out] IDispatch **row);
15149
15150     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
15151     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
15152 }
15153
15154 /*****************************************************************************
15155  *    IHTMLTableRow interface
15156  */
15157 [
15158     odl,
15159     oleautomation,
15160     dual,
15161     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
15162 ]
15163 interface IHTMLTableRow : IDispatch
15164 {
15165     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
15166     HRESULT align([in] BSTR v);
15167
15168     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
15169     HRESULT align([out, retval] BSTR *p);
15170
15171     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
15172     HRESULT vAlign([in] BSTR v);
15173
15174     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
15175     HRESULT vAlign([out, retval] BSTR *p);
15176
15177     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15178     HRESULT bgColor([in] VARIANT v);
15179
15180     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15181     HRESULT bgColor([out, retval] VARIANT *p);
15182
15183     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15184     HRESULT borderColor([in] VARIANT v);
15185
15186     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15187     HRESULT borderColor([out, retval] VARIANT *p);
15188
15189     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15190     HRESULT borderColorLight([in] VARIANT v);
15191
15192     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15193     HRESULT borderColorLight([out, retval] VARIANT *p);
15194
15195     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15196     HRESULT borderColorDark([in] VARIANT v);
15197
15198     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15199     HRESULT borderColorDark([out, retval] VARIANT *p);
15200
15201     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
15202     HRESULT rowIndex([out, retval] LONG *p);
15203
15204     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
15205     HRESULT sectionRowIndex([out, retval] LONG *p);
15206
15207     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
15208     HRESULT cells([out, retval] IHTMLElementCollection **p);
15209
15210     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
15211     HRESULT insertCell(
15212             [in, defaultvalue(-1)] LONG index,
15213             [out, retval] IDispatch **row);
15214
15215     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
15216     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
15217 }
15218
15219 /*****************************************************************************
15220  *    DispHTMLTable interface
15221  */
15222 [
15223     hidden,
15224     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
15225 ]
15226 dispinterface DispHTMLTable
15227 {
15228 properties:
15229 methods:
15230     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
15231
15232     [propput, id(DISPID_IHTMLTABLE_COLS)]
15233     void cols(LONG v);
15234
15235     [propget, id(DISPID_IHTMLTABLE_COLS)]
15236     LONG cols();
15237
15238     [propput, id(DISPID_IHTMLTABLE_BORDER)]
15239     void border(VARIANT v);
15240
15241     [propget, id(DISPID_IHTMLTABLE_BORDER)]
15242     VARIANT border();
15243
15244     [propput, id(DISPID_IHTMLTABLE_FRAME)]
15245     void frame(BSTR v);
15246
15247     [propget, id(DISPID_IHTMLTABLE_FRAME)]
15248     BSTR frame();
15249
15250     [propput, id(DISPID_IHTMLTABLE_RULES)]
15251     void rules(BSTR v);
15252
15253     [propget, id(DISPID_IHTMLTABLE_RULES)]
15254     BSTR rules();
15255
15256     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
15257     void cellSpacing(VARIANT v);
15258
15259     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
15260     VARIANT cellSpacing();
15261
15262     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
15263     void cellPadding(VARIANT v);
15264
15265     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
15266     VARIANT cellPadding();
15267
15268     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
15269     void background(BSTR v);
15270
15271     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
15272     BSTR background();
15273
15274     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
15275     void bgColor(VARIANT v);
15276
15277     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
15278     VARIANT bgColor();
15279
15280     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15281     void borderColor(VARIANT v);
15282
15283     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15284     VARIANT borderColor();
15285
15286     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15287     void borderColorLight(VARIANT v);
15288
15289     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15290     VARIANT borderColorLight();
15291
15292     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15293     void borderColorDark(VARIANT v);
15294
15295     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15296     VARIANT borderColorDark();
15297
15298     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
15299     void align(BSTR v);
15300
15301     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
15302     BSTR align();
15303
15304     [id(DISPID_IHTMLTABLE_REFRESH)]
15305     void refresh();
15306
15307     [propget, id(DISPID_IHTMLTABLE_ROWS)]
15308     IHTMLElementCollection *rows();
15309
15310     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
15311     void width(VARIANT v);
15312
15313     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
15314     VARIANT width();
15315
15316     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
15317     void height(VARIANT v);
15318
15319     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
15320     VARIANT height();
15321
15322     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15323     void dataPageSize(LONG v);
15324
15325     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15326     LONG dataPageSize();
15327
15328     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
15329     void nextPage();
15330
15331     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
15332     void previousPage();
15333
15334     [propget, id(DISPID_IHTMLTABLE_THEAD)]
15335     IHTMLTableSection *tHead();
15336
15337     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
15338     IHTMLTableSection *tFoot();
15339
15340     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
15341     IHTMLElementCollection *tBodies();
15342
15343     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
15344     IHTMLTableCaption *caption();
15345
15346     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
15347     IDispatch *createTHead();
15348
15349     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
15350     void deleteTHead();
15351
15352     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
15353     IDispatch *createTFoot();
15354
15355     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
15356     void deleteTFoot();
15357
15358     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
15359     IHTMLTableCaption *createCaption();
15360
15361     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
15362     void deleteCaption();
15363
15364     [id(DISPID_IHTMLTABLE_INSERTROW)]
15365     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
15366
15367     [id(DISPID_IHTMLTABLE_DELETEROW)]
15368     void deleteRow([in, defaultvalue(-1)] LONG index);
15369
15370     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
15371     void firstPage();
15372
15373     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
15374     void lastPage();
15375
15376     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
15377     IHTMLElementCollection *cells();
15378
15379     [id(DISPID_IHTMLTABLE2_MOVEROW)]
15380     IDispatch *moveRow(
15381             [in, defaultvalue(-1)] LONG indexFrom,
15382             [in, defaultvalue(-1)] LONG indexTo);
15383
15384     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15385     void summary(BSTR v);
15386
15387     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15388     BSTR summary();
15389 }
15390
15391 /*****************************************************************************
15392  *    DispHTMLTableRow dispinterface
15393  */
15394 [
15395     hidden,
15396     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
15397 ]
15398 dispinterface DispHTMLTableRow
15399 {
15400 properties:
15401 methods:
15402     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15403
15404     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
15405     void align(BSTR v);
15406
15407     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
15408     BSTR align();
15409
15410     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
15411     void vAlign(BSTR v);
15412
15413     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
15414     BSTR vAlign();
15415
15416     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15417     void bgColor(VARIANT v);
15418
15419     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15420     VARIANT bgColor();
15421
15422     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15423     void borderColor(VARIANT v);
15424
15425     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15426     VARIANT borderColor();
15427
15428     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15429     void borderColorLight(VARIANT v);
15430
15431     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15432     VARIANT borderColorLight();
15433
15434     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15435     void borderColorDark(VARIANT v);
15436
15437     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15438     VARIANT borderColorDark();
15439
15440     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
15441     LONG rowIndex();
15442
15443     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
15444     LONG sectionRowIndex();
15445
15446     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
15447     IHTMLElementCollection *cells();
15448
15449     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
15450     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
15451
15452     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
15453     void deleteCell([in, defaultvalue(-1)] LONG index);
15454
15455     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
15456     void height(VARIANT v);
15457
15458     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
15459     VARIANT height();
15460
15461     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
15462     void ch(BSTR v);
15463
15464     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
15465     BSTR ch();
15466
15467     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
15468     void chOff(BSTR v);
15469
15470     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
15471     BSTR chOff();
15472 }
15473
15474 /*****************************************************************************
15475  *    IHTMLScriptElement interface
15476  */
15477 [
15478     odl,
15479     oleautomation,
15480     dual,
15481     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
15482 ]
15483 interface IHTMLScriptElement : IDispatch
15484 {
15485     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15486     HRESULT src([in] BSTR v);
15487
15488     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15489     HRESULT src([retval, out] BSTR *p);
15490
15491     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15492     HRESULT htmlFor([in] BSTR v);
15493
15494     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15495     HRESULT htmlFor([retval, out] BSTR *p);
15496
15497     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15498     HRESULT event([in] BSTR v);
15499
15500     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15501     HRESULT event([retval, out] BSTR *p);
15502
15503     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15504     HRESULT text([in] BSTR v);
15505
15506     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15507     HRESULT text([retval, out] BSTR *p);
15508
15509     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15510     HRESULT defer([in] VARIANT_BOOL v);
15511
15512     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15513     HRESULT defer([retval, out] VARIANT_BOOL *p);
15514
15515     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
15516     HRESULT readyState([retval, out] BSTR *p);
15517
15518     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15519     HRESULT onerror([in] VARIANT v);
15520
15521     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15522     HRESULT onerror([retval, out] VARIANT *p);
15523
15524     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15525     HRESULT type([in] BSTR v);
15526
15527     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15528     HRESULT type([retval, out] BSTR *p);
15529 }
15530
15531 /*****************************************************************************
15532  *    IHTMLScriptElement2 interface
15533  */
15534 [
15535     odl,
15536     oleautomation,
15537     dual,
15538     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
15539 ]
15540 interface IHTMLScriptElement2 : IDispatch
15541 {
15542     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15543     HRESULT charset([in] BSTR v);
15544
15545     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15546     HRESULT charset([retval, out] BSTR *p);
15547 }
15548
15549 /*****************************************************************************
15550  *    DispHTMLScriptElement dispinterface
15551  */
15552 [
15553     hidden,
15554     uuid(3050f530-98b5-11cf-bb82-00aa00bdce0b)
15555 ]
15556 dispinterface DispHTMLScriptElement
15557 {
15558 properties:
15559 methods:
15560     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15561
15562     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15563     void src(BSTR v);
15564
15565     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15566     BSTR src();
15567
15568     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15569     void htmlFor(BSTR v);
15570
15571     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15572     BSTR htmlFor();
15573
15574     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15575     void event(BSTR v);
15576
15577     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15578     BSTR event();
15579
15580     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15581     void text(BSTR v);
15582
15583     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15584     BSTR text();
15585
15586     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15587     void defer(VARIANT_BOOL v);
15588
15589     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15590     VARIANT_BOOL defer();
15591
15592     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15593     void onerror(VARIANT v);
15594
15595     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15596     VARIANT onerror();
15597
15598     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15599     void type(BSTR v);
15600
15601     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15602     BSTR type();
15603
15604     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15605     void charset(BSTR v);
15606
15607     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15608     BSTR charset();
15609
15610     [propput, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
15611     void ie8_src(BSTR v);
15612
15613     [propget, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
15614     BSTR ie8_src();
15615 }
15616
15617 /*****************************************************************************
15618  *    IHTMLObjectElement interface
15619  */
15620 [
15621     odl,
15622     oleautomation,
15623     dual,
15624     uuid(3050f24f-98b5-11cf-bb82-00aa00bdce0b)
15625 ]
15626 interface IHTMLObjectElement : IDispatch
15627 {
15628     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
15629     HRESULT object([retval, out] IDispatch **p);
15630
15631     [propget, id(DISPID_IHTMLOBJECTELEMENT_CLASSID), hidden]
15632     HRESULT classid([retval, out] BSTR *p);
15633
15634     [propget, id(DISPID_IHTMLOBJECTELEMENT_DATA), hidden]
15635     HRESULT data([retval, out] BSTR *p);
15636
15637     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15638     HRESULT recordset([in] IDispatch *v);
15639
15640     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15641     HRESULT recordset([retval, out] IDispatch **p);
15642
15643     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15644     HRESULT align([in] BSTR v);
15645
15646     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15647     HRESULT align([retval, out] BSTR *p);
15648
15649     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15650     HRESULT name([in] BSTR v);
15651
15652     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15653     HRESULT name([retval, out] BSTR *p);
15654
15655     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15656     HRESULT codeBase([in] BSTR v);
15657
15658     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15659     HRESULT codeBase([retval, out] BSTR *p);
15660
15661     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15662     HRESULT codeType([in] BSTR v);
15663
15664     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15665     HRESULT codeType([retval, out] BSTR *p);
15666
15667     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15668     HRESULT code([in] BSTR v);
15669
15670     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15671     HRESULT code([retval, out] BSTR *p);
15672
15673     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
15674     HRESULT BaseHref([retval, out] BSTR *p);
15675
15676     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15677     HRESULT type([in] BSTR v);
15678
15679     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15680     HRESULT type([retval, out] BSTR *p);
15681
15682     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
15683     HRESULT form([retval, out] IHTMLFormElement **p);
15684
15685     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15686     HRESULT width([in] VARIANT v);
15687
15688     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15689     HRESULT width([retval, out] VARIANT *p);
15690
15691     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15692     HRESULT height([in] VARIANT v);
15693
15694     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15695     HRESULT height([retval, out] VARIANT *p);
15696
15697     [propget, id(DISPID_IHTMLOBJECTELEMENT_READYSTATE), hidden]
15698     HRESULT readyState([retval, out] long *p);
15699
15700     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
15701     HRESULT onreadystatechange([in] VARIANT v);
15702
15703     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
15704     HRESULT onreadystatechange([retval, out] VARIANT *p);
15705
15706     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15707     HRESULT onerror([in] VARIANT v);
15708
15709     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15710     HRESULT onerror([retval, out] VARIANT *p);
15711
15712     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15713     HRESULT altHtml([in] BSTR v);
15714
15715     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15716     HRESULT altHtml([retval, out] BSTR *p);
15717
15718     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15719     HRESULT vspace([in] long v);
15720
15721     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15722     HRESULT vspace([retval, out] long *p);
15723
15724     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15725     HRESULT hspace([in] long v);
15726
15727     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15728     HRESULT hspace([retval, out] long *p);
15729 }
15730
15731 /*****************************************************************************
15732  *    IHTMLParamElement interface
15733  */
15734 [
15735     odl,
15736     oleautomation,
15737     dual,
15738     uuid(3050f83d-98b5-11cf-bb82-00aa00bdce0b)
15739 ]
15740 interface IHTMLParamElement : IDispatch
15741 {
15742     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15743     HRESULT name([in] BSTR v);
15744
15745     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15746     HRESULT name([retval, out] BSTR *p);
15747
15748     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15749     HRESULT value([in] BSTR v);
15750
15751     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15752     HRESULT value([retval, out] BSTR *p);
15753
15754     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15755     HRESULT type([in] BSTR v);
15756
15757     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15758     HRESULT type([retval, out] BSTR *p);
15759
15760     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15761     HRESULT valueType([in] BSTR v);
15762
15763     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15764     HRESULT valueType([retval, out] BSTR *p);
15765 }
15766
15767 /*****************************************************************************
15768  *    IHTMLParamElement2 interface
15769  */
15770 [
15771     odl,
15772     oleautomation,
15773     dual,
15774     uuid(30510444-98b5-11cf-bb82-00aa00bdce0b)
15775 ]
15776 interface IHTMLParamElement2 : IDispatch
15777 {
15778     [propput, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
15779     HRESULT name([in] BSTR v);
15780
15781     [propget, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
15782     HRESULT name([retval, out] BSTR *p);
15783
15784     [propput, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
15785     HRESULT type([in] BSTR v);
15786
15787     [propget, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
15788     HRESULT type([retval, out] BSTR *p);
15789
15790     [propput, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
15791     HRESULT value([in] BSTR v);
15792
15793     [propget, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
15794     HRESULT value([retval, out] BSTR *p);
15795
15796     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15797     HRESULT valueType([in] BSTR v);
15798
15799     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15800     HRESULT valueType([retval, out] BSTR *p);
15801 }
15802
15803 /*****************************************************************************
15804  *    DispHTMLObjectElement dispinterface
15805  */
15806 [
15807     hidden,
15808     uuid(3050f529-98b5-11cf-bb82-00aa00bdce0b)
15809 ]
15810 dispinterface DispHTMLObjectElement
15811 {
15812 properties:
15813 methods:
15814     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15815
15816     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
15817     IDispatch *object();
15818
15819     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15820     void recordset(IDispatch *v);
15821
15822     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15823     IDispatch *recordset();
15824
15825     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15826     void align(BSTR v);
15827
15828     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15829     BSTR align();
15830
15831     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15832     void name(BSTR v);
15833
15834     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15835     BSTR name();
15836
15837     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15838     void codeBase(BSTR v);
15839
15840     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15841     BSTR codeBase();
15842
15843     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15844     void codeType(BSTR v);
15845
15846     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15847     BSTR codeType();
15848
15849     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15850     void code(BSTR v);
15851
15852     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15853     BSTR code();
15854
15855     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
15856     BSTR BaseHref();
15857
15858     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15859     void type(BSTR v);
15860
15861     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15862     BSTR type();
15863
15864     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
15865     IHTMLFormElement *form();
15866
15867     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15868     void width(VARIANT v);
15869
15870     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15871     VARIANT width();
15872
15873     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15874     void height(VARIANT v);
15875
15876     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15877     VARIANT height();
15878
15879     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15880     void onerror(VARIANT v);
15881
15882     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15883     VARIANT onerror();
15884
15885     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15886     void altHtml(BSTR v);
15887
15888     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15889     BSTR altHtml();
15890
15891     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15892     void vspace(long v);
15893
15894     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15895     long vspace();
15896
15897     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15898     void hspace(long v);
15899
15900     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15901     long hspace();
15902
15903     [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
15904     IDispatch *namedRecordset(
15905             [in] BSTR dataMember,
15906             [optional, in] VARIANT *hierarchy);
15907
15908     [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
15909     void classid(BSTR v);
15910
15911     [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
15912     BSTR classid();
15913
15914     [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
15915     void data(BSTR v);
15916
15917     [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
15918     BSTR data();
15919
15920     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
15921     void archive(BSTR v);
15922
15923     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
15924     BSTR archive();
15925
15926     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
15927     void alt(BSTR v);
15928
15929     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
15930     BSTR alt();
15931
15932     [propput, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
15933     void declare(VARIANT_BOOL v);
15934
15935     [propget, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
15936     VARIANT_BOOL declare();
15937
15938     [propput, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
15939     void standby(BSTR v);
15940
15941     [propget, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
15942     BSTR standby();
15943
15944     [propput, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
15945     void border(VARIANT v);
15946
15947     [propget, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
15948     VARIANT border();
15949
15950     [propput, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
15951     void useMap(BSTR v);
15952
15953     [propget, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
15954     BSTR useMap();
15955
15956     [propget, id(DISPID_IHTMLOBJECTELEMENT4_CONTENTDOCUMENT)]
15957     IDispatch *contentDocument();
15958
15959     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
15960     void ie8_codeBase(BSTR v);
15961
15962     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
15963     BSTR ie8_codeBase();
15964
15965     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
15966     void ie8_data(BSTR v);
15967
15968     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
15969     BSTR ie8_data();
15970 }
15971
15972 /*****************************************************************************
15973  *    DispHTMLParamElement dispinterface
15974  */
15975 [
15976     hidden,
15977     uuid(3050f590-98b5-11cf-bb82-00aa00bdce0b)
15978 ]
15979 dispinterface DispHTMLParamElement
15980 {
15981 properties:
15982 methods:
15983     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15984
15985     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15986     void name(BSTR v);
15987
15988     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15989     BSTR name();
15990
15991     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15992     void value(BSTR v);
15993
15994     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15995     BSTR value();
15996
15997     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15998     void type(BSTR v);
15999
16000     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16001     BSTR type();
16002
16003     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16004     void valueType(BSTR v);
16005
16006     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16007     BSTR valueType();
16008
16009     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16010     void ie8_valueType(BSTR v);
16011
16012     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16013     BSTR ie8_valueType();
16014 }
16015
16016 /*****************************************************************************
16017  *    IHTMLFrameBase interface
16018  */
16019 [
16020     odl,
16021     oleautomation,
16022     dual,
16023     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
16024 ]
16025 interface IHTMLFrameBase : IDispatch
16026 {
16027     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
16028     HRESULT src([in] BSTR v);
16029
16030     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
16031     HRESULT src([out, retval] BSTR *p);
16032
16033     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
16034     HRESULT name([in] BSTR v);
16035
16036     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
16037     HRESULT name([out, retval] BSTR *p);
16038
16039     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
16040     HRESULT border([in] VARIANT v);
16041
16042     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
16043     HRESULT border([out, retval] VARIANT *p);
16044
16045     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
16046     HRESULT frameBorder([in] BSTR v);
16047
16048     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
16049     HRESULT frameBorder([out, retval] BSTR *p);
16050
16051     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
16052     HRESULT frameSpacing([in] VARIANT v);
16053
16054     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
16055     HRESULT frameSpacing([out, retval] VARIANT *p);
16056
16057     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
16058     HRESULT marginWidth([in] VARIANT v);
16059
16060     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
16061     HRESULT marginWidth([out, retval] VARIANT *p);
16062
16063     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
16064     HRESULT marginHeight([in] VARIANT v);
16065
16066     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
16067     HRESULT marginHeight([out, retval] VARIANT *p);
16068
16069     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
16070     HRESULT noResize([in] VARIANT_BOOL v);
16071
16072     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
16073     HRESULT noResize([out, retval] VARIANT_BOOL *p);
16074
16075     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
16076     HRESULT scrolling([in] BSTR v);
16077
16078     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
16079     HRESULT scrolling([out, retval] BSTR *p);
16080 }
16081
16082 #define WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL          \
16083     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
16084     void src(BSTR v);                                   \
16085                                                         \
16086     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
16087     BSTR src();                                         \
16088                                                         \
16089     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
16090     void name(BSTR v);                                  \
16091                                                         \
16092     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
16093     BSTR name();                                        \
16094                                                         \
16095     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
16096     void border(VARIANT v);                             \
16097                                                         \
16098     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
16099     VARIANT border();                                   \
16100                                                         \
16101     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
16102     void frameBorder(BSTR v);                           \
16103                                                         \
16104     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
16105     BSTR frameBorder();                                 \
16106                                                         \
16107     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
16108     void frameSpacing(VARIANT v);                       \
16109                                                         \
16110     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
16111     VARIANT frameSpacing();                             \
16112                                                         \
16113     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
16114     void marginWidth(VARIANT v);                        \
16115                                                         \
16116     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
16117     VARIANT marginWidth();                              \
16118                                                         \
16119     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
16120     void marginHeight(VARIANT v);                       \
16121                                                         \
16122     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
16123     VARIANT marginHeight();                             \
16124                                                         \
16125     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
16126     void noResize(VARIANT_BOOL v);                      \
16127                                                         \
16128     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
16129     VARIANT_BOOL noResize();                            \
16130                                                         \
16131     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
16132     void scrolling(BSTR v);                             \
16133                                                         \
16134     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
16135     BSTR scrolling()
16136
16137 /*****************************************************************************
16138  *    IHTMLFrameBase2 interface
16139  */
16140 [
16141     odl,
16142     oleautomation,
16143     dual,
16144     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
16145 ]
16146 interface IHTMLFrameBase2 : IDispatch
16147 {
16148     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
16149     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
16150
16151     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
16152     HRESULT onload([in] VARIANT v);
16153
16154     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
16155     HRESULT onload([retval, out] VARIANT *p);
16156
16157     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
16158     HRESULT onreadystatechange([in] VARIANT v);
16159
16160     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
16161     HRESULT onreadystatechange([retval, out] VARIANT *p);
16162
16163     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
16164     HRESULT readyState([retval, out] BSTR *p);
16165
16166     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
16167     HRESULT allowTransparency([in] VARIANT_BOOL v);
16168
16169     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
16170     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
16171 }
16172
16173 #define WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL                         \
16174     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]                 \
16175     IHTMLWindow2 *contentWindow();                                      \
16176                                                                         \
16177     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
16178     void onload(VARIANT v);                                             \
16179                                                                         \
16180     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
16181     VARIANT onload();                                                   \
16182                                                                         \
16183     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
16184     void allowTransparency(VARIANT_BOOL v);                             \
16185                                                                         \
16186     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
16187     VARIANT_BOOL allowTransparency()
16188
16189 #define WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL                           \
16190     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
16191     void longDesc(BSTR v);                                                \
16192                                                                           \
16193     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
16194     BSTR longDesc()
16195
16196
16197 #define WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL \
16198     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;  \
16199     WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL;   \
16200     WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL;  \
16201     WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL
16202
16203 /*****************************************************************************
16204  *    IHTMLFrameElement3 interface
16205  */
16206 [
16207     odl,
16208     oleautomation,
16209     dual,
16210     uuid(3051042d-98b5-11cf-bb82-00aa00bdce0b)
16211 ]
16212 interface IHTMLFrameElement3 : IDispatch
16213 {
16214     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
16215     HRESULT contentDocument([out, retval] IDispatch **p);
16216
16217     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16218     HRESULT src([in] BSTR v);
16219
16220     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16221     HRESULT src([out, retval] BSTR *p);
16222
16223     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16224     HRESULT longDesc([in] BSTR v);
16225
16226     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16227     HRESULT longDesc([out, retval] BSTR *p);
16228
16229     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16230     HRESULT frameBorder([in] BSTR v);
16231
16232     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16233     HRESULT frameBorder([out, retval] BSTR * p);
16234 }
16235
16236 /*****************************************************************************
16237  *    DispHTMLFrameElement dispinterface
16238  */
16239 [
16240     hidden,
16241     uuid(3050f513-98b5-11cf-bb82-00aa00bdce0b)
16242 ]
16243 dispinterface DispHTMLFrameElement
16244 {
16245 properties:
16246 methods:
16247     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
16248
16249     [propput, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
16250     void borderColor(VARIANT v);
16251
16252     [propget, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
16253     VARIANT borderColor();
16254
16255     [propput, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
16256     void height(VARIANT v);
16257
16258     [propget, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
16259     VARIANT height();
16260
16261     [propput, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
16262     void width(VARIANT v);
16263
16264     [propget, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
16265     VARIANT width();
16266
16267     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
16268     IDispatch *contentDocument();
16269
16270     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16271     void ie8_src(BSTR v);
16272
16273     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16274     BSTR ie8_src();
16275
16276     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16277     void ie8_longDesc(BSTR v);
16278
16279     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16280     BSTR ie8_longDesc();
16281
16282     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16283     void ie8_frameBorder(BSTR v);
16284
16285     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16286     BSTR ie8_frameBorder();
16287 }
16288
16289 /*****************************************************************************
16290  *    IHTMLIFrameElement interface
16291  */
16292 [
16293     odl,
16294     oleautomation,
16295     dual,
16296     uuid(3050f315-98b5-11cf-bb82-00aa00bdce0b)
16297 ]
16298 interface IHTMLIFrameElement : IDispatch
16299 {
16300     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16301     HRESULT vspace([in] LONG v);
16302
16303     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16304     HRESULT vspace([retval, out] LONG *p);
16305
16306     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16307     HRESULT hspace([in] LONG v);
16308
16309     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16310     HRESULT hspace([retval, out] LONG *p);
16311
16312     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16313     HRESULT align([in] BSTR v);
16314
16315     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16316     HRESULT align([retval, out] BSTR *p);
16317 }
16318
16319 /*****************************************************************************
16320  *    DispHTMLIFrame dispinterface
16321  */
16322 [
16323     hidden,
16324     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
16325 ]
16326 dispinterface DispHTMLIFrame
16327 {
16328 properties:
16329 methods:
16330     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
16331
16332     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16333     void vspace(LONG v);
16334
16335     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16336     LONG vspace();
16337
16338     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16339     void hspace(LONG v);
16340
16341     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16342     LONG hspace();
16343
16344     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16345     void align(BSTR v);
16346
16347     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16348     BSTR align();
16349
16350     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
16351     void height(VARIANT v);
16352
16353     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
16354     VARIANT height();
16355
16356     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
16357     void width(VARIANT v);
16358
16359     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
16360     VARIANT width();
16361 }
16362
16363 /*****************************************************************************
16364  *    IHTMLStyleElement interface
16365  */
16366 [
16367     odl,
16368     oleautomation,
16369     dual,
16370     uuid(3050f375-98b5-11cf-bb82-00aa00bdce0b)
16371 ]
16372 interface IHTMLStyleElement : IDispatch
16373 {
16374     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16375     HRESULT type([in] BSTR v);
16376
16377     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16378     HRESULT type([retval, out] BSTR *p);
16379
16380     [propget, id(DISPID_IHTMLSTYLEELEMENT_READYSTATE)]
16381     HRESULT readyState([retval, out] BSTR *p);
16382
16383     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16384     HRESULT onreadystatechange([in] VARIANT v);
16385
16386     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16387     HRESULT onreadystatechange([retval, out] VARIANT *p);
16388
16389     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16390     HRESULT onload([in] VARIANT v);
16391
16392     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16393     HRESULT onload([retval, out] VARIANT *p);
16394
16395     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16396     HRESULT onerror([in] VARIANT v);
16397
16398     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16399     HRESULT onerror([retval, out] VARIANT *p);
16400
16401     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
16402     HRESULT styleSheet([retval, out] IHTMLStyleSheet **p);
16403
16404     [propput, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
16405     HRESULT disabled([in] VARIANT_BOOL v);
16406
16407     [propget, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
16408     HRESULT disabled([retval, out] VARIANT_BOOL *p);
16409
16410     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16411     HRESULT media([in] BSTR v);
16412
16413     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16414     HRESULT media([retval, out] BSTR *p);
16415 }
16416
16417 /*****************************************************************************
16418  *    DispHTMLStyleElement dispinterface
16419  */
16420 [
16421     hidden,
16422     uuid(3050f511-98b5-11cf-bb82-00aa00bdce0b)
16423 ]
16424 dispinterface DispHTMLStyleElement
16425 {
16426 properties:
16427 methods:
16428     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16429
16430     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16431     void type(BSTR v);
16432
16433     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16434     BSTR type();
16435
16436     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16437     void onload(VARIANT v);
16438
16439     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16440     VARIANT onload();
16441
16442     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16443     void onerror(VARIANT v);
16444
16445     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16446     VARIANT onerror();
16447
16448     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
16449     IHTMLStyleSheet *styleSheet();
16450
16451     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16452     void media(BSTR v);
16453
16454     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16455     BSTR media();
16456 }
16457
16458 /*****************************************************************************
16459  *    IMarkupContainer interface
16460  */
16461 [
16462     object,
16463     pointer_default(unique),
16464     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
16465 ]
16466 interface IMarkupContainer : IUnknown
16467 {
16468     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
16469 }
16470
16471 /*****************************************************************************
16472  *    IMarkupPointer interface
16473  */
16474 [
16475     object,
16476     pointer_default(unique),
16477     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
16478 ]
16479 interface IMarkupPointer : IUnknown
16480 {
16481     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
16482
16483     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
16484
16485     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
16486
16487     HRESULT Cling([out] BOOL *pfCling);
16488
16489     HRESULT SetCling([in] BOOL fCLing);
16490
16491     HRESULT UnPosition();
16492
16493     HRESULT IsPositioned([out] BOOL *pfPositioned);
16494
16495     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
16496
16497     HRESULT MoveAdjacentToElement(
16498         [in] IHTMLElement *pElement,
16499         [in] ELEMENT_ADJACENCY eAdj);
16500
16501     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
16502
16503     HRESULT MoveToContainer(
16504         [in] IMarkupContainer *pContainer,
16505         [in] BOOL fAtStart);
16506
16507     HRESULT Left(
16508         [in] BOOL fMove,
16509         [out] MARKUP_CONTEXT_TYPE *pContext,
16510         [out] IHTMLElement **ppElement,
16511         [in, out] LONG *pcch,
16512         [out, size_is(*pcch)] OLECHAR *pchText);
16513
16514     HRESULT Right(
16515         [in] BOOL fMove,
16516         [out] MARKUP_CONTEXT_TYPE *pContext,
16517         [out] IHTMLElement **ppElement,
16518         [in, out] LONG *pcch,
16519         [out, size_is(*pcch)] OLECHAR *pchText);
16520
16521     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
16522
16523     HRESULT IsLeftOf(
16524         [in] IMarkupPointer *pPointerThat,
16525         [out] BOOL *pfResult);
16526
16527     HRESULT IsLeftOfOrEqualTo(
16528         [in] IMarkupPointer *pPointerThat,
16529         [out] BOOL *pfResult);
16530
16531     HRESULT IsRightOf(
16532         [in] IMarkupPointer *pPointerThat,
16533         [out] BOOL *pfResult);
16534
16535     HRESULT IsRightOfOrEqualTo(
16536         [in] IMarkupPointer *pPointerThat,
16537         [out] BOOL *pfResult);
16538
16539     HRESULT IsEqualTo(
16540         [in] IMarkupPointer *pPointerThat,
16541         [out] BOOL *pfAreEqual);
16542
16543     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
16544
16545     HRESULT FindText(
16546         [in] OLECHAR *pchFindText,
16547         [in] DWORD dwFlags,
16548         [in] IMarkupPointer *pIEndMatch,
16549         [in] IMarkupPointer *pIEndSearch);
16550 }
16551
16552 /*****************************************************************************
16553  *    ISegment interface
16554  */
16555 [
16556     object,
16557     pointer_default(unique),
16558     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
16559 ]
16560 interface ISegment : IUnknown
16561 {
16562     HRESULT GetPointers(
16563         [in] IMarkupPointer *pIStart,
16564         [in] IMarkupPointer *pIEnd);
16565 }
16566
16567 /*****************************************************************************
16568  *    IElementSegment interface
16569  */
16570 [
16571     object,
16572     pointer_default(unique),
16573     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
16574 ]
16575 interface IElementSegment : ISegment
16576 {
16577     HRESULT GetElement([out] IHTMLElement **ppIElement);
16578
16579     HRESULT SetPrimary([in] BOOL fPrimary);
16580
16581     HRESULT IsPrimary([out] BOOL *pfPrimary);
16582 }
16583
16584 /*****************************************************************************
16585  *    ISelectionServicesListener interface
16586  */
16587 [
16588     object,
16589     pointer_default(unique),
16590     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
16591 ]
16592 interface ISelectionServicesListener : IUnknown
16593 {
16594     HRESULT BeginSelectionUndo();
16595
16596     HRESULT EndSelectionUndo();
16597
16598     HRESULT OnSelectedElementExit(
16599         [in] IMarkupPointer *pIElementStart,
16600         [in] IMarkupPointer *pIElementEnd,
16601         [in] IMarkupPointer *pIElementContentStart,
16602         [in] IMarkupPointer *pIElementContentEnd);
16603
16604     HRESULT OnChangeType(
16605         [in] SELECTION_TYPE eType,
16606         [in] ISelectionServicesListener *pIListener);
16607
16608     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
16609 }
16610
16611 /*****************************************************************************
16612  *    ISelectionServices interface
16613  */
16614 [
16615     object,
16616     pointer_default(unique),
16617     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
16618 ]
16619 interface ISelectionServices : IUnknown
16620 {
16621     HRESULT SetSelectionType(
16622         [in] SELECTION_TYPE eType,
16623         [in] ISelectionServicesListener *pIListener);
16624
16625     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
16626
16627     HRESULT AddSegment(
16628         [in] IMarkupPointer *pIStart,
16629         [in] IMarkupPointer *pIEnd,
16630         [out] ISegment **ppISegmentAdded);
16631
16632     HRESULT AddElementSegment(
16633         [in] IHTMLElement *pIElement,
16634         [out] IElementSegment **ppISegmentAdded);
16635
16636     HRESULT RemoveSegment([in] ISegment *pISegment);
16637
16638     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
16639 }
16640
16641 /*****************************************************************************
16642  *    IHTMLEditDesigner interface
16643  */
16644 [
16645     object,
16646     pointer_default(unique),
16647     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
16648 ]
16649 interface IHTMLEditDesigner : IUnknown
16650 {
16651     HRESULT PreHandleEvent(
16652         [in] DISPID inEvtDispId,
16653         [in] IHTMLEventObj *pIEventObj);
16654
16655     HRESULT PostHandleEvent(
16656         [in] DISPID inEvtDispId,
16657         [in] IHTMLEventObj *pIEventObj);
16658
16659     HRESULT TranslateAccelerator(
16660         [in] DISPID inEvtDispId,
16661         [in] IHTMLEventObj *pIEventObj);
16662
16663     HRESULT PostEditorEventNotify(
16664         [in] DISPID inEvtDispId,
16665         [in] IHTMLEventObj *pIEventObj);
16666 }
16667
16668 /*****************************************************************************
16669  *    IHTMLEditServices interface
16670  */
16671 [
16672     object,
16673     pointer_default(unique),
16674     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
16675 ]
16676 interface IHTMLEditServices : IUnknown
16677 {
16678     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
16679
16680     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
16681
16682     HRESULT GetSelectionServices(
16683         [in] IMarkupContainer *pIContainer,
16684         [out] ISelectionServices **ppSelSvc);
16685
16686     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
16687
16688     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
16689
16690     HRESULT SelectRange(
16691         [in] IMarkupPointer* pStart,
16692         [in] IMarkupPointer* pEnd,
16693         [in] SELECTION_TYPE eType);
16694 }
16695
16696 /*****************************************************************************
16697  *    IElementBehaviorSite interface
16698  */
16699 [
16700     odl,
16701     uuid(3050F427-98B5-11CF-BB82-00AA00BDCE0B)
16702 ]
16703 interface IElementBehaviorSite : IUnknown {
16704     HRESULT GetElement([out, retval] IHTMLElement **ppElement);
16705     HRESULT RegisterNotification([in] long lEvent);
16706 }
16707
16708 /*****************************************************************************
16709  *    IElementBehavior interface
16710  */
16711 [
16712     odl,
16713     uuid(3050F425-98B5-11CF-BB82-00AA00BDCE0B)
16714 ]
16715 interface IElementBehavior : IUnknown {
16716     HRESULT Init([in] IElementBehaviorSite *pBehaviorSite);
16717     HRESULT Notify([in] long lEvent,  [in, out] VARIANT *pVar);
16718     HRESULT Detach();
16719 }
16720
16721 /*****************************************************************************
16722  *    IElementBehaviorFactory interface
16723  */
16724 [
16725     odl,
16726     uuid(3050f429-98b5-11cf-bb82-00aa00bdce0b)
16727 ]
16728 interface IElementBehaviorFactory : IUnknown
16729 {
16730     HRESULT FindBehavior(
16731         [in] BSTR bstrBehavior,
16732         [in] BSTR bstrBehaviorUrl,
16733         [in] IElementBehaviorSite *pSite,
16734         [out] IElementBehavior **ppBehavior);
16735 }
16736
16737 } /* library MSHTML */
16738
16739 interface IOleCommandTarget;
16740
16741 /*****************************************************************************
16742  *    IHTMLPrivateWindow interface
16743  */
16744 [
16745     object,
16746     uuid(3050f6dc-98b5-11cf-bb82-00aa00bdce0b),
16747     local
16748 ]
16749 interface IHTMLPrivateWindow : IUnknown
16750 {
16751     HRESULT SuperNavigate(BSTR url, BSTR arg2, BSTR arg3, BSTR arg4, VARIANT *post_data, VARIANT *headers, ULONG flags);
16752     HRESULT GetPendingUrl(BSTR *url);
16753     HRESULT SetPICSTarget(IOleCommandTarget *cmdtrg);
16754     HRESULT PICSComplete(int arg);
16755     HRESULT FindWindowByName(LPCWSTR name, IHTMLWindow2 **ret);
16756     HRESULT GetAddressBarUrl(BSTR *url);
16757 }