quartz: Define the QuartzTypeLib library in control.idl.
[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 interface IHTMLStorage;
133
134 /*****************************************************************************
135  *    IHTMLFiltersCollection interface
136  */
137 [
138     odl,
139     oleautomation,
140     dual,
141     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
142 ]
143 interface IHTMLFiltersCollection : IDispatch
144 {
145     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
146     HRESULT length([retval, out] LONG *p);
147
148     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
149     HRESULT _newEnum([retval, out] IUnknown **p);
150
151     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
152     HRESULT item(
153         [in] VARIANT *pvarIndex,
154         [retval, out] VARIANT *pvarResult);
155 }
156
157 /*****************************************************************************
158  *    IHTMLStyle interface
159  */
160 [
161     odl,
162     oleautomation,
163     dual,
164     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
165 ]
166 interface IHTMLStyle : IDispatch
167 {
168     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
169     HRESULT fontFamily([in] BSTR v);
170
171     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
172     HRESULT fontFamily([retval, out] BSTR *p);
173
174     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
175     HRESULT fontStyle([in] BSTR v);
176
177     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
178     HRESULT fontStyle([retval, out] BSTR *p);
179
180     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
181     HRESULT fontVariant([in] BSTR v);
182
183     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
184     HRESULT fontVariant([retval, out] BSTR *p);
185
186     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
187     HRESULT fontWeight([in] BSTR v);
188
189     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
190     HRESULT fontWeight([retval, out] BSTR *p);
191
192     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
193     HRESULT fontSize([in] VARIANT v);
194
195     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
196     HRESULT fontSize([retval, out] VARIANT *p);
197
198     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
199     HRESULT font([in] BSTR v);
200
201     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
202     HRESULT font([retval, out] BSTR *p);
203
204     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
205     HRESULT color([in] VARIANT v);
206
207     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
208     HRESULT color([retval, out] VARIANT *p);
209
210     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
211     HRESULT background([in] BSTR v);
212
213     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
214     HRESULT background([retval, out] BSTR *p);
215
216     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
217     HRESULT backgroundColor([in] VARIANT v);
218
219     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
220     HRESULT backgroundColor([retval, out] VARIANT *p);
221
222     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
223     HRESULT backgroundImage([in] BSTR v);
224
225     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
226     HRESULT backgroundImage([retval, out] BSTR *p);
227
228     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
229     HRESULT backgroundRepeat([in] BSTR v);
230
231     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
232     HRESULT backgroundRepeat([retval, out] BSTR *p);
233
234     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
235     HRESULT backgroundAttachment([in] BSTR v);
236
237     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
238     HRESULT backgroundAttachment([retval, out] BSTR *p);
239
240     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
241     HRESULT backgroundPosition([in] BSTR v);
242
243     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
244     HRESULT backgroundPosition([retval, out] BSTR *p);
245
246     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
247     HRESULT backgroundPositionX([in] VARIANT v);
248
249     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
250     HRESULT backgroundPositionX([retval, out] VARIANT *p);
251
252     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
253     HRESULT backgroundPositionY([in] VARIANT v);
254
255     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
256     HRESULT backgroundPositionY([retval, out] VARIANT *p);
257
258     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
259     HRESULT wordSpacing([in] VARIANT v);
260
261     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
262     HRESULT wordSpacing([retval, out] VARIANT *p);
263
264     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
265     HRESULT letterSpacing([in] VARIANT v);
266
267     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
268     HRESULT letterSpacing([retval, out] VARIANT *p);
269
270     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
271     HRESULT textDecoration([in] BSTR v);
272
273     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
274     HRESULT textDecoration([retval, out] BSTR *p);
275
276     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
277     HRESULT textDecorationNone([in] VARIANT_BOOL v);
278
279     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
280     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
281
282     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
283     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
284
285     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
286     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
287
288     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
289     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
290
291     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
292     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
293
294     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
295     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
296
297     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
298     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
299
300     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
301     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
302
303     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
304     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
305
306     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
307     HRESULT verticalAlign([in] VARIANT v);
308
309     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
310     HRESULT verticalAlign([retval, out] VARIANT *p);
311
312     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
313     HRESULT textTransform([in] BSTR v);
314
315     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
316     HRESULT textTransform([retval, out] BSTR *p);
317
318     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
319     HRESULT textAlign([in] BSTR v);
320
321     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
322     HRESULT textAlign([retval, out] BSTR *p);
323
324     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
325     HRESULT textIndent([in] VARIANT v);
326
327     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
328     HRESULT textIndent([retval, out] VARIANT *p);
329
330     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
331     HRESULT lineHeight([in] VARIANT v);
332
333     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
334     HRESULT lineHeight([retval, out] VARIANT *p);
335
336     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
337     HRESULT marginTop([in] VARIANT v);
338
339     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
340     HRESULT marginTop([retval, out] VARIANT *p);
341
342     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
343     HRESULT marginRight([in] VARIANT v);
344
345     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
346     HRESULT marginRight([retval, out] VARIANT *p);
347
348     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
349     HRESULT marginBottom([in] VARIANT v);
350
351     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
352     HRESULT marginBottom([retval, out] VARIANT *p);
353
354     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
355     HRESULT marginLeft([in] VARIANT v);
356
357     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
358     HRESULT marginLeft([retval, out] VARIANT *p);
359
360     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
361     HRESULT margin([in] BSTR v);
362
363     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
364     HRESULT margin([retval, out] BSTR *p);
365
366     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
367     HRESULT paddingTop([in] VARIANT v);
368
369     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
370     HRESULT paddingTop([retval, out] VARIANT *p);
371
372     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
373     HRESULT paddingRight([in] VARIANT v);
374
375     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
376     HRESULT paddingRight([retval, out] VARIANT *p);
377
378     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
379     HRESULT paddingBottom([in] VARIANT v);
380
381     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
382     HRESULT paddingBottom([retval, out] VARIANT *p);
383
384     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
385     HRESULT paddingLeft([in] VARIANT v);
386
387     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
388     HRESULT paddingLeft([retval, out] VARIANT *p);
389
390     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
391     HRESULT padding([in] BSTR v);
392
393     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
394     HRESULT padding([retval, out] BSTR *p);
395
396     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
397     HRESULT border([in] BSTR v);
398
399     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
400     HRESULT border([retval, out] BSTR *p);
401
402     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
403     HRESULT borderTop([in] BSTR v);
404
405     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
406     HRESULT borderTop([retval, out] BSTR *p);
407
408     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
409     HRESULT borderRight([in] BSTR v);
410
411     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
412     HRESULT borderRight([retval, out] BSTR *p);
413
414     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
415     HRESULT borderBottom([in] BSTR v);
416
417     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
418     HRESULT borderBottom([retval, out] BSTR *p);
419
420     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
421     HRESULT borderLeft([in] BSTR v);
422
423     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
424     HRESULT borderLeft([retval, out] BSTR *p);
425
426     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
427     HRESULT borderColor([in] BSTR v);
428
429     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
430     HRESULT borderColor([retval, out] BSTR *p);
431
432     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
433     HRESULT borderTopColor([in] VARIANT v);
434
435     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
436     HRESULT borderTopColor([retval, out] VARIANT *p);
437
438     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
439     HRESULT borderRightColor([in] VARIANT v);
440
441     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
442     HRESULT borderRightColor([retval, out] VARIANT *p);
443
444     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
445     HRESULT borderBottomColor([in] VARIANT v);
446
447     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
448     HRESULT borderBottomColor([retval, out] VARIANT *p);
449
450     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
451     HRESULT borderLeftColor([in] VARIANT v);
452
453     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
454     HRESULT borderLeftColor([retval, out] VARIANT *p);
455
456     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
457     HRESULT borderWidth([in] BSTR v);
458
459     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
460     HRESULT borderWidth([retval, out] BSTR *p);
461
462     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
463     HRESULT borderTopWidth([in] VARIANT v);
464
465     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
466     HRESULT borderTopWidth([retval, out] VARIANT *p);
467
468     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
469     HRESULT borderRightWidth([in] VARIANT v);
470
471     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
472     HRESULT borderRightWidth([retval, out] VARIANT *p);
473
474     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
475     HRESULT borderBottomWidth([in] VARIANT v);
476
477     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
478     HRESULT borderBottomWidth([retval, out] VARIANT *p);
479
480     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
481     HRESULT borderLeftWidth([in] VARIANT v);
482
483     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
484     HRESULT borderLeftWidth([retval, out] VARIANT *p);
485
486     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
487     HRESULT borderStyle([in] BSTR v);
488
489     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
490     HRESULT borderStyle([retval, out] BSTR *p);
491
492     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
493     HRESULT borderTopStyle([in] BSTR v);
494
495     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
496     HRESULT borderTopStyle([retval, out] BSTR *p);
497
498     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
499     HRESULT borderRightStyle([in] BSTR v);
500
501     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
502     HRESULT borderRightStyle([retval, out] BSTR *p);
503
504     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
505     HRESULT borderBottomStyle([in] BSTR v);
506
507     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
508     HRESULT borderBottomStyle([retval, out] BSTR *p);
509
510     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
511     HRESULT borderLeftStyle([in] BSTR v);
512
513     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
514     HRESULT borderLeftStyle([retval, out] BSTR *p);
515
516     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
517     HRESULT width([in] VARIANT v);
518
519     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
520     HRESULT width([retval, out] VARIANT *p);
521
522     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
523     HRESULT height([in] VARIANT v);
524
525     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
526     HRESULT height([retval, out] VARIANT *p);
527
528     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
529     HRESULT styleFloat([in] BSTR v);
530
531     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
532     HRESULT styleFloat([retval, out] BSTR *p);
533
534     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
535     HRESULT clear([in] BSTR v);
536
537     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
538     HRESULT clear([retval, out] BSTR *p);
539
540     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
541     HRESULT display([in] BSTR v);
542
543     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
544     HRESULT display([retval, out] BSTR *p);
545
546     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
547     HRESULT visibility([in] BSTR v);
548
549     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
550     HRESULT visibility([retval, out] BSTR *p);
551
552     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
553     HRESULT listStyleType([in] BSTR v);
554
555     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
556     HRESULT listStyleType([retval, out] BSTR *p);
557
558     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
559     HRESULT listStylePosition([in] BSTR v);
560
561     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
562     HRESULT listStylePosition([retval, out] BSTR *p);
563
564     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
565     HRESULT listStyleImage([in] BSTR v);
566
567     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
568     HRESULT listStyleImage([retval, out] BSTR *p);
569
570     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
571     HRESULT listStyle([in] BSTR v);
572
573     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
574     HRESULT listStyle([retval, out] BSTR *p);
575
576     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
577     HRESULT whiteSpace([in] BSTR v);
578
579     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
580     HRESULT whiteSpace([retval, out] BSTR *p);
581
582     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
583     HRESULT top([in] VARIANT v);
584
585     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
586     HRESULT top([retval, out] VARIANT *p);
587
588     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
589     HRESULT left([in] VARIANT v);
590
591     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
592     HRESULT left([retval, out] VARIANT *p);
593
594     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
595     HRESULT position([retval, out] BSTR *p);
596
597     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
598     HRESULT zIndex([in] VARIANT v);
599
600     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
601     HRESULT zIndex([retval, out] VARIANT *p);
602
603     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
604     HRESULT overflow([in] BSTR v);
605
606     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
607     HRESULT overflow([retval, out] BSTR *p);
608
609     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
610     HRESULT pageBreakBefore([in] BSTR v);
611
612     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
613     HRESULT pageBreakBefore([retval, out] BSTR *p);
614
615     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
616     HRESULT pageBreakAfter([in] BSTR v);
617
618     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
619     HRESULT pageBreakAfter([retval, out] BSTR *p);
620
621     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
622     HRESULT cssText([in] BSTR v);
623
624     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
625     HRESULT cssText([retval, out] BSTR *p);
626
627     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
628     HRESULT pixelTop([in] LONG v);
629
630     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
631     HRESULT pixelTop([retval, out] LONG *p);
632
633     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
634     HRESULT pixelLeft([in] LONG v);
635
636     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
637     HRESULT pixelLeft([retval, out] LONG *p);
638
639     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
640     HRESULT pixelWidth([in] LONG v);
641
642     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
643     HRESULT pixelWidth([retval, out] LONG *p);
644
645     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
646     HRESULT pixelHeight([in] LONG v);
647
648     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
649     HRESULT pixelHeight([retval, out] LONG *p);
650
651     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
652     HRESULT posTop([in] float v);
653
654     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
655     HRESULT posTop([retval, out] float *p);
656
657     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
658     HRESULT posLeft([in] float v);
659
660     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
661     HRESULT posLeft([retval, out] float *p);
662
663     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
664     HRESULT posWidth([in] float v);
665
666     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
667     HRESULT posWidth([retval, out] float *p);
668
669     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
670     HRESULT posHeight([in] float v);
671
672     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
673     HRESULT posHeight([retval, out] float *p);
674
675     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
676     HRESULT cursor([in] BSTR v);
677
678     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
679     HRESULT cursor([retval, out] BSTR *p);
680
681     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
682     HRESULT clip([in] BSTR v);
683
684     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
685     HRESULT clip([retval, out] BSTR *p);
686
687     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
688     HRESULT filter([in] BSTR v);
689
690     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
691     HRESULT filter([retval, out] BSTR *p);
692
693     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
694     HRESULT setAttribute(
695         [in] BSTR strAttributeName,
696         [in] VARIANT AttributeValue,
697         [defaultvalue(1), in] LONG lFlags);
698
699     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
700     HRESULT getAttribute(
701         [in] BSTR strAttributeName,
702         [defaultvalue(0), in] LONG lFlags,
703         [retval, out] VARIANT *AttributeValue);
704
705     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
706     HRESULT removeAttribute(
707         [in] BSTR strAttributeName,
708         [defaultvalue(1), in]
709         LONG lFlags,
710         [retval, out] VARIANT_BOOL *pfSuccess);
711
712     [id(DISPID_IHTMLSTYLE_TOSTRING)]
713     HRESULT toString([retval, out] BSTR *String);
714 }
715
716 /*****************************************************************************
717  *    IHTMLStyle2 interface
718  */
719 [
720     odl,
721     oleautomation,
722     dual,
723     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
724 ]
725 interface IHTMLStyle2 : IDispatch
726 {
727     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
728     HRESULT tableLayout([in] BSTR v);
729
730     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
731     HRESULT tableLayout([out, retval] BSTR *p);
732
733     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
734     HRESULT borderCollapse([in] BSTR v);
735
736     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
737     HRESULT borderCollapse([out, retval] BSTR *p);
738
739     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
740     HRESULT direction([in] BSTR v);
741
742     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
743     HRESULT direction([out, retval] BSTR *p);
744
745     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
746     HRESULT behavior([in] BSTR v);
747
748     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
749     HRESULT behavior([out, retval] BSTR *p);
750
751     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
752     HRESULT setExpression(
753             [in] BSTR propname,
754             [in] BSTR expression,
755             [in, defaultvalue("")] BSTR language);
756
757     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
758     HRESULT getExpression(
759             [in] BSTR propname,
760             [out, retval] VARIANT *expression);
761
762     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
763     HRESULT removeExpression(
764             [in] BSTR propname,
765             [out, retval] VARIANT_BOOL *pfSuccess);
766
767     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
768     HRESULT position([in] BSTR v);
769
770     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
771     HRESULT position([out, retval] BSTR *p);
772
773     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
774     HRESULT unicodeBidi([in] BSTR v);
775
776     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
777     HRESULT unicodeBidi([out, retval] BSTR *p);
778
779     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
780     HRESULT bottom([in] VARIANT v);
781
782     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
783     HRESULT bottom([out, retval] VARIANT *p);
784
785     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
786     HRESULT right([in] VARIANT v);
787
788     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
789     HRESULT right([out, retval] VARIANT *p);
790
791     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
792     HRESULT pixelBottom([in] LONG v);
793
794     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
795     HRESULT pixelBottom([out, retval] LONG *p);
796
797     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
798     HRESULT pixelRight([in] LONG v);
799
800     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
801     HRESULT pixelRight([out, retval] LONG *p);
802
803     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
804     HRESULT posBottom([in] float v);
805
806     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
807     HRESULT posBottom([out, retval] float *p);
808
809     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
810     HRESULT posRight([in] float v);
811
812     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
813     HRESULT posRight([out, retval] float *p);
814
815     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
816     HRESULT imeMode([in] BSTR v);
817
818     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
819     HRESULT imeMode([out, retval] BSTR *p);
820
821     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
822     HRESULT rubyAlign([in] BSTR v);
823
824     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
825     HRESULT rubyAlign([out, retval] BSTR *p);
826
827     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
828     HRESULT rubyPosition([in] BSTR v);
829
830     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
831     HRESULT rubyPosition([out, retval] BSTR *p);
832
833     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
834     HRESULT rubyOverhang([in] BSTR v);
835
836     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
837     HRESULT rubyOverhang([out, retval] BSTR *p);
838
839     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
840     HRESULT layoutGridChar([in] VARIANT v);
841
842     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
843     HRESULT layoutGridChar([out, retval] VARIANT *p);
844
845     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
846     HRESULT layoutGridLine([in] VARIANT v);
847
848     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
849     HRESULT layoutGridLine([out, retval] VARIANT *p);
850
851     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
852     HRESULT layoutGridMode([in] BSTR v);
853
854     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
855     HRESULT layoutGridMode([out, retval] BSTR *p);
856
857     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
858     HRESULT layoutGridType([in] BSTR v);
859
860     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
861     HRESULT layoutGridType([out, retval] BSTR *p);
862
863     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
864     HRESULT layoutGrid([in] BSTR v);
865
866     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
867     HRESULT layoutGrid([out, retval] BSTR *p);
868
869     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
870     HRESULT wordBreak([in] BSTR v);
871
872     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
873     HRESULT wordBreak([out, retval] BSTR *p);
874
875     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
876     HRESULT lineBreak([in] BSTR v);
877
878     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
879     HRESULT lineBreak([out, retval] BSTR *p);
880
881     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
882     HRESULT textJustify([in] BSTR v);
883
884     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
885     HRESULT textJustify([out, retval] BSTR *p);
886
887     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
888     HRESULT textJustifyTrim([in] BSTR v);
889
890     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
891     HRESULT textJustifyTrim([out, retval] BSTR *p);
892
893     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
894     HRESULT textKashida([in] VARIANT v);
895
896     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
897     HRESULT textKashida([out, retval] VARIANT *p);
898
899     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
900     HRESULT textAutospace([in] BSTR v);
901
902     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
903     HRESULT textAutospace([out, retval] BSTR *p);
904
905     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
906     HRESULT overflowX([in] BSTR v);
907
908     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
909     HRESULT overflowX([out, retval] BSTR *p);
910
911     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
912     HRESULT overflowY([in] BSTR v);
913
914     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
915     HRESULT overflowY([out, retval] BSTR *p);
916
917     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
918     HRESULT accelerator([in] BSTR v);
919
920     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
921     HRESULT accelerator([out, retval] BSTR *p);
922 }
923
924 /*****************************************************************************
925  *    IHTMLRuleStyle interface
926  */
927 [
928     odl,
929     oleautomation,
930     dual,
931     uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
932 ]
933 interface IHTMLRuleStyle : IDispatch
934 {
935     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
936     HRESULT fontFamily([in] BSTR v);
937
938     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
939     HRESULT fontFamily([retval, out] BSTR *p);
940
941     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
942     HRESULT fontStyle([in] BSTR v);
943
944     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
945     HRESULT fontStyle([retval, out] BSTR *p);
946
947     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
948     HRESULT fontVariant([in] BSTR v);
949
950     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
951     HRESULT fontVariant([retval, out] BSTR *p);
952
953     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
954     HRESULT fontWeight([in] BSTR v);
955
956     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
957     HRESULT fontWeight([retval, out] BSTR *p);
958
959     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
960     HRESULT fontSize([in] VARIANT v);
961
962     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
963     HRESULT fontSize([retval, out] VARIANT *p);
964
965     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
966     HRESULT font([in] BSTR v);
967
968     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
969     HRESULT font([retval, out] BSTR *p);
970
971     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
972     HRESULT color([in] VARIANT v);
973
974     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
975     HRESULT color([retval, out] VARIANT *p);
976
977     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
978     HRESULT background([in] BSTR v);
979
980     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
981     HRESULT background([retval, out] BSTR *p);
982
983     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
984     HRESULT backgroundColor([in] VARIANT v);
985
986     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
987     HRESULT backgroundColor([retval, out] VARIANT *p);
988
989     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
990     HRESULT backgroundImage([in] BSTR v);
991
992     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
993     HRESULT backgroundImage([retval, out] BSTR *p);
994
995     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
996     HRESULT backgroundRepeat([in] BSTR v);
997
998     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
999     HRESULT backgroundRepeat([retval, out] BSTR *p);
1000
1001     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1002     HRESULT backgroundAttachment([in] BSTR v);
1003
1004     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1005     HRESULT backgroundAttachment([retval, out] BSTR *p);
1006
1007     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1008     HRESULT backgroundPosition([in] BSTR v);
1009
1010     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1011     HRESULT backgroundPosition([retval, out] BSTR *p);
1012
1013     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1014     HRESULT backgroundPositionX([in] VARIANT v);
1015
1016     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1017     HRESULT backgroundPositionX([retval, out] VARIANT *p);
1018
1019     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1020     HRESULT backgroundPositionY([in] VARIANT v);
1021
1022     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1023     HRESULT backgroundPositionY([retval, out] VARIANT *p);
1024
1025     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1026     HRESULT wordSpacing([in] VARIANT v);
1027
1028     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1029     HRESULT wordSpacing([retval, out] VARIANT *p);
1030
1031     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1032     HRESULT letterSpacing([in] VARIANT v);
1033
1034     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1035     HRESULT letterSpacing([retval, out] VARIANT *p);
1036
1037     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1038     HRESULT textDecoration([in] BSTR v);
1039
1040     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1041     HRESULT textDecoration([retval, out] BSTR *p);
1042
1043     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1044     HRESULT textDecorationNone([in] VARIANT_BOOL v);
1045
1046     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1047     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1048
1049     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1050     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1051
1052     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1053     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1054
1055     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1056     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1057
1058     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1059     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1060
1061     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1062     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1063
1064     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1065     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1066
1067     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1068     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1069
1070     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1071     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1072
1073     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1074     HRESULT verticalAlign([in] VARIANT v);
1075
1076     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1077     HRESULT verticalAlign([retval, out] VARIANT *p);
1078
1079     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1080     HRESULT textTransform([in] BSTR v);
1081
1082     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1083     HRESULT textTransform([retval, out] BSTR *p);
1084
1085     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1086     HRESULT textAlign([in] BSTR v);
1087
1088     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1089     HRESULT textAlign([retval, out] BSTR *p);
1090
1091     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1092     HRESULT textIndent([in] VARIANT v);
1093
1094     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1095     HRESULT textIndent([retval, out] VARIANT *p);
1096
1097     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1098     HRESULT lineHeight([in] VARIANT v);
1099
1100     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1101     HRESULT lineHeight([retval, out] VARIANT *p);
1102
1103     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1104     HRESULT marginTop([in] VARIANT v);
1105
1106     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1107     HRESULT marginTop([retval, out] VARIANT *p);
1108
1109     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1110     HRESULT marginRight([in] VARIANT v);
1111
1112     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1113     HRESULT marginRight([retval, out] VARIANT *p);
1114
1115     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1116     HRESULT marginBottom([in] VARIANT v);
1117
1118     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1119     HRESULT marginBottom([retval, out] VARIANT *p);
1120
1121     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1122     HRESULT marginLeft([in] VARIANT v);
1123
1124     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1125     HRESULT marginLeft([retval, out] VARIANT *p);
1126
1127     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1128     HRESULT margin([in] BSTR v);
1129
1130     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1131     HRESULT margin([retval, out] BSTR *p);
1132
1133     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1134     HRESULT paddingTop([in] VARIANT v);
1135
1136     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1137     HRESULT paddingTop([retval, out] VARIANT *p);
1138
1139     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1140     HRESULT paddingRight([in] VARIANT v);
1141
1142     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1143     HRESULT paddingRight([retval, out] VARIANT *p);
1144
1145     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1146     HRESULT paddingBottom([in] VARIANT v);
1147
1148     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1149     HRESULT paddingBottom([retval, out] VARIANT *p);
1150
1151     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1152     HRESULT paddingLeft([in] VARIANT v);
1153
1154     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1155     HRESULT paddingLeft([retval, out] VARIANT *p);
1156
1157     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1158     HRESULT padding([in] BSTR v);
1159
1160     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1161     HRESULT padding([retval, out] BSTR *p);
1162
1163     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1164     HRESULT border([in] BSTR v);
1165
1166     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1167     HRESULT border([retval, out] BSTR *p);
1168
1169     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1170     HRESULT borderTop([in] BSTR v);
1171
1172     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1173     HRESULT borderTop([retval, out] BSTR *p);
1174
1175     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1176     HRESULT borderRight([in] BSTR v);
1177
1178     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1179     HRESULT borderRight([retval, out] BSTR *p);
1180
1181     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1182     HRESULT borderBottom([in] BSTR v);
1183
1184     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1185     HRESULT borderBottom([retval, out] BSTR *p);
1186
1187     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1188     HRESULT borderLeft([in] BSTR v);
1189
1190     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1191     HRESULT borderLeft([retval, out] BSTR *p);
1192
1193     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1194     HRESULT borderColor([in] BSTR v);
1195
1196     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1197     HRESULT borderColor([retval, out] BSTR *p);
1198
1199     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1200     HRESULT borderTopColor([in] VARIANT v);
1201
1202     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1203     HRESULT borderTopColor([retval, out] VARIANT *p);
1204
1205     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1206     HRESULT borderRightColor([in] VARIANT v);
1207
1208     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1209     HRESULT borderRightColor([retval, out] VARIANT *p);
1210
1211     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1212     HRESULT borderBottomColor([in] VARIANT v);
1213
1214     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1215     HRESULT borderBottomColor([retval, out] VARIANT *p);
1216
1217     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1218     HRESULT borderLeftColor([in] VARIANT v);
1219
1220     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1221     HRESULT borderLeftColor([retval, out] VARIANT *p);
1222
1223     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1224     HRESULT borderWidth([in] BSTR v);
1225
1226     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1227     HRESULT borderWidth([retval, out] BSTR *p);
1228
1229     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1230     HRESULT borderTopWidth([in] VARIANT v);
1231
1232     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1233     HRESULT borderTopWidth([retval, out] VARIANT *p);
1234
1235     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1236     HRESULT borderRightWidth([in] VARIANT v);
1237
1238     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1239     HRESULT borderRightWidth([retval, out] VARIANT *p);
1240
1241     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1242     HRESULT borderBottomWidth([in] VARIANT v);
1243
1244     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1245     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1246
1247     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1248     HRESULT borderLeftWidth([in] VARIANT v);
1249
1250     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1251     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1252
1253     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1254     HRESULT borderStyle([in] BSTR v);
1255
1256     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1257     HRESULT borderStyle([retval, out] BSTR *p);
1258
1259     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1260     HRESULT borderTopStyle([in] BSTR v);
1261
1262     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1263     HRESULT borderTopStyle([retval, out] BSTR *p);
1264
1265     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1266     HRESULT borderRightStyle([in] BSTR v);
1267
1268     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1269     HRESULT borderRightStyle([retval, out] BSTR *p);
1270
1271     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1272     HRESULT borderBottomStyle([in] BSTR v);
1273
1274     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1275     HRESULT borderBottomStyle([retval, out] BSTR *p);
1276
1277     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1278     HRESULT borderLeftStyle([in] BSTR v);
1279
1280     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1281     HRESULT borderLeftStyle([retval, out] BSTR *p);
1282
1283     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1284     HRESULT width([in] VARIANT v);
1285
1286     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1287     HRESULT width([retval, out] VARIANT *p);
1288
1289     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1290     HRESULT height([in] VARIANT v);
1291
1292     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1293     HRESULT height([retval, out] VARIANT *p);
1294
1295     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1296     HRESULT styleFloat([in] BSTR v);
1297
1298     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1299     HRESULT styleFloat([retval, out] BSTR *p);
1300
1301     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1302     HRESULT clear([in] BSTR v);
1303
1304     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1305     HRESULT clear([retval, out] BSTR *p);
1306
1307     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1308     HRESULT display([in] BSTR v);
1309
1310     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1311     HRESULT display([retval, out] BSTR *p);
1312
1313     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1314     HRESULT visibility([in] BSTR v);
1315
1316     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1317     HRESULT visibility([retval, out] BSTR *p);
1318
1319     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1320     HRESULT listStyleType([in] BSTR v);
1321
1322     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1323     HRESULT listStyleType([retval, out] BSTR *p);
1324
1325     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1326     HRESULT listStylePosition([in] BSTR v);
1327
1328     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1329     HRESULT listStylePosition([retval, out] BSTR *p);
1330
1331     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1332     HRESULT listStyleImage([in] BSTR v);
1333
1334     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1335     HRESULT listStyleImage([retval, out] BSTR *p);
1336
1337     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1338     HRESULT listStyle([in] BSTR v);
1339
1340     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1341     HRESULT listStyle([retval, out] BSTR *p);
1342
1343     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1344     HRESULT whiteSpace([in] BSTR v);
1345
1346     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1347     HRESULT whiteSpace([retval, out] BSTR *p);
1348
1349     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1350     HRESULT top([in] VARIANT v);
1351
1352     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1353     HRESULT top([retval, out] VARIANT *p);
1354
1355     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1356     HRESULT left([in] VARIANT v);
1357
1358     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1359     HRESULT left([retval, out] VARIANT *p);
1360
1361     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1362     HRESULT position([retval, out] BSTR *p);
1363
1364     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1365     HRESULT zIndex([in] VARIANT v);
1366
1367     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1368     HRESULT zIndex([retval, out] VARIANT *p);
1369
1370     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1371     HRESULT overflow([in] BSTR v);
1372
1373     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1374     HRESULT overflow([retval, out] BSTR *p);
1375
1376     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1377     HRESULT pageBreakBefore([in] BSTR v);
1378
1379     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1380     HRESULT pageBreakBefore([retval, out] BSTR *p);
1381
1382     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1383     HRESULT pageBreakAfter([in] BSTR v);
1384
1385     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1386     HRESULT pageBreakAfter([retval, out] BSTR *p);
1387
1388     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1389     HRESULT cssText([in] BSTR v);
1390
1391     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1392     HRESULT cssText([retval, out] BSTR *p);
1393
1394     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1395     HRESULT cursor([in] BSTR v);
1396
1397     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1398     HRESULT cursor([retval, out] BSTR *p);
1399
1400     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1401     HRESULT clip([in] BSTR v);
1402
1403     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1404     HRESULT clip([retval, out] BSTR *p);
1405
1406     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1407     HRESULT filter([in] BSTR v);
1408
1409     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1410     HRESULT filter([retval, out] BSTR *p);
1411
1412     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1413     HRESULT setAttribute(
1414         [in] BSTR strAttributeName,
1415         [in] VARIANT AttributeValue,
1416         [defaultvalue(1), in] LONG lFlags);
1417
1418     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1419     HRESULT getAttribute(
1420         [in] BSTR strAttributeName,
1421         [defaultvalue(0), in] LONG lFlags,
1422         [retval, out] VARIANT *AttributeValue);
1423
1424     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1425     HRESULT removeAttribute(
1426         [in] BSTR strAttributeName,
1427         [defaultvalue(1), in] LONG lFlags,
1428         [retval, out] VARIANT_BOOL *pfSuccess);
1429 }
1430
1431 /*****************************************************************************
1432  *    DispHTMLStyle dispinterface
1433  */
1434 [
1435     hidden,
1436     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1437 ]
1438 dispinterface DispHTMLStyle
1439 {
1440 properties:
1441 methods:
1442     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1443     void fontFamily(BSTR v);
1444
1445     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1446     BSTR fontFamily();
1447
1448     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1449     void fontStyle(BSTR v);
1450
1451     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1452     BSTR fontStyle();
1453
1454     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1455     void fontVariant(BSTR v);
1456
1457     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1458     BSTR fontVariant();
1459
1460     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1461     void fontWeight(BSTR v);
1462
1463     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1464     BSTR fontWeight();
1465
1466     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1467     void fontSize(VARIANT v);
1468
1469     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1470     VARIANT fontSize();
1471
1472     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1473     void font(BSTR v);
1474
1475     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1476     BSTR font();
1477
1478     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1479     void color(VARIANT v);
1480
1481     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1482     VARIANT color();
1483
1484     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1485     void background(BSTR v);
1486
1487     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1488     BSTR background();
1489
1490     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1491     void backgroundColor(VARIANT v);
1492
1493     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1494     VARIANT backgroundColor();
1495
1496     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1497     void backgroundImage(BSTR v);
1498
1499     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1500     BSTR backgroundImage();
1501
1502     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1503     void backgroundRepeat(BSTR v);
1504
1505     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1506     BSTR backgroundRepeat();
1507
1508     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1509     void backgroundAttachment(BSTR v);
1510
1511     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1512     BSTR backgroundAttachment();
1513
1514     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1515     void backgroundPosition(BSTR v);
1516
1517     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1518     BSTR backgroundPosition();
1519
1520     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1521     void backgroundPositionX(VARIANT v);
1522
1523     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1524     VARIANT backgroundPositionX();
1525
1526     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1527     void backgroundPositionY(VARIANT v);
1528
1529     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1530     VARIANT backgroundPositionY();
1531
1532     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1533     void wordSpacing(VARIANT v);
1534
1535     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1536     VARIANT wordSpacing();
1537
1538     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1539     void letterSpacing(VARIANT v);
1540
1541     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1542     VARIANT letterSpacing();
1543
1544     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1545     void textDecoration(BSTR v);
1546
1547     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1548     BSTR textDecoration();
1549
1550     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1551     void textDecorationNone(VARIANT_BOOL v);
1552
1553     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1554     VARIANT_BOOL textDecorationNone();
1555
1556     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1557     void textDecorationUnderline(VARIANT_BOOL v);
1558
1559     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1560     VARIANT_BOOL textDecorationUnderline();
1561
1562     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1563     void textDecorationOverline(VARIANT_BOOL v);
1564
1565     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1566     VARIANT_BOOL textDecorationOverline();
1567
1568     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1569     void textDecorationLineThrough(VARIANT_BOOL v);
1570
1571     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1572     VARIANT_BOOL textDecorationLineThrough();
1573
1574     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1575     void textDecorationBlink(VARIANT_BOOL v);
1576
1577     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1578     VARIANT_BOOL textDecorationBlink();
1579
1580     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1581     void verticalAlign(VARIANT v);
1582
1583     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1584     VARIANT verticalAlign();
1585
1586     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1587     void textTransform(BSTR v);
1588
1589     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1590     BSTR textTransform();
1591
1592     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1593     void textAlign(BSTR v);
1594
1595     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1596     BSTR textAlign();
1597
1598     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1599     void textIndent(VARIANT v);
1600
1601     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1602     VARIANT textIndent();
1603
1604     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1605     void lineHeight(VARIANT v);
1606
1607     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1608     VARIANT lineHeight();
1609
1610     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1611     void marginTop(VARIANT v);
1612
1613     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1614     VARIANT marginTop();
1615
1616     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1617     void marginRight(VARIANT v);
1618
1619     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1620     VARIANT marginRight();
1621
1622     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1623     void marginBottom(VARIANT v);
1624
1625     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1626     VARIANT marginBottom();
1627
1628     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1629     void marginLeft(VARIANT v);
1630
1631     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1632     VARIANT marginLeft();
1633
1634     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1635     void margin(BSTR v);
1636
1637     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1638     BSTR margin();
1639
1640     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1641     void paddingTop(VARIANT v);
1642
1643     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1644     VARIANT paddingTop();
1645
1646     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1647     void paddingRight(VARIANT v);
1648
1649     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1650     VARIANT paddingRight();
1651
1652     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1653     void paddingBottom(VARIANT v);
1654
1655     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1656     VARIANT paddingBottom();
1657
1658     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1659     void paddingLeft(VARIANT v);
1660
1661     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1662     VARIANT paddingLeft();
1663
1664     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1665     void padding(BSTR v);
1666
1667     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1668     BSTR padding();
1669
1670     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1671     void border(BSTR v);
1672
1673     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1674     BSTR border();
1675
1676     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1677     void borderTop(BSTR v);
1678
1679     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1680     BSTR borderTop();
1681
1682     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1683     void borderRight(BSTR v);
1684
1685     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1686     BSTR borderRight();
1687
1688     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1689     void borderBottom(BSTR v);
1690
1691     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1692     BSTR borderBottom();
1693
1694     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1695     void borderLeft(BSTR v);
1696
1697     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1698     BSTR borderLeft();
1699
1700     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1701     void borderColor(BSTR v);
1702
1703     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1704     BSTR borderColor();
1705
1706     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1707     void borderTopColor(VARIANT v);
1708
1709     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1710     VARIANT borderTopColor();
1711
1712     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1713     void borderRightColor(VARIANT v);
1714
1715     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1716     VARIANT borderRightColor();
1717
1718     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1719     void borderBottomColor(VARIANT v);
1720
1721     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1722     VARIANT borderBottomColor();
1723
1724     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1725     void borderLeftColor(VARIANT v);
1726
1727     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1728     VARIANT borderLeftColor();
1729
1730     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1731     void borderWidth(BSTR v);
1732
1733     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1734     BSTR borderWidth();
1735
1736     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1737     void borderTopWidth(VARIANT v);
1738
1739     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1740     VARIANT borderTopWidth();
1741
1742     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1743     void borderRightWidth(VARIANT v);
1744
1745     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1746     VARIANT borderRightWidth();
1747
1748     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1749     void borderBottomWidth(VARIANT v);
1750
1751     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1752     VARIANT borderBottomWidth();
1753
1754     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1755     void borderLeftWidth(VARIANT v);
1756
1757     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1758     VARIANT borderLeftWidth();
1759
1760     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1761     void borderStyle(BSTR v);
1762
1763     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1764     BSTR borderStyle();
1765
1766     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1767     void borderTopStyle(BSTR v);
1768
1769     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1770     BSTR borderTopStyle();
1771
1772     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1773     void borderRightStyle(BSTR v);
1774
1775     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1776     BSTR borderRightStyle();
1777
1778     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1779     void borderBottomStyle(BSTR v);
1780
1781     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1782     BSTR borderBottomStyle();
1783
1784     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1785     void borderLeftStyle(BSTR v);
1786
1787     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1788     BSTR borderLeftStyle();
1789
1790     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1791     void width(VARIANT v);
1792
1793     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1794     VARIANT width();
1795
1796     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1797     void height(VARIANT v);
1798
1799     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1800     VARIANT height();
1801
1802     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1803     void styleFloat(BSTR v);
1804
1805     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1806     BSTR styleFloat();
1807
1808     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1809     void clear(BSTR v);
1810
1811     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1812     BSTR clear();
1813
1814     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1815     void display(BSTR v);
1816
1817     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1818     BSTR display();
1819
1820     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1821     void visibility(BSTR v);
1822
1823     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1824     BSTR visibility();
1825
1826     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1827     void listStyleType(BSTR v);
1828
1829     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1830     BSTR listStyleType();
1831
1832     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1833     void listStylePosition(BSTR v);
1834
1835     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1836     BSTR listStylePosition();
1837
1838     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1839     void listStyleImage(BSTR v);
1840
1841     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1842     BSTR listStyleImage();
1843
1844     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1845     void listStyle(BSTR v);
1846
1847     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1848     BSTR listStyle();
1849
1850     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1851     void whiteSpace(BSTR v);
1852
1853     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1854     BSTR whiteSpace();
1855
1856     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1857     void top(VARIANT v);
1858
1859     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1860     VARIANT top();
1861
1862     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1863     void left(VARIANT v);
1864
1865     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1866     VARIANT left();
1867
1868     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1869     void zIndex(VARIANT v);
1870
1871     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1872     VARIANT zIndex();
1873
1874     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1875     void overflow(BSTR v);
1876
1877     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1878     BSTR overflow();
1879
1880     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1881     void pageBreakBefore(BSTR v);
1882
1883     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1884     BSTR pageBreakBefore();
1885
1886     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1887     void pageBreakAfter(BSTR v);
1888
1889     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1890     BSTR pageBreakAfter();
1891
1892     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1893     void cssText(BSTR v);
1894
1895     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1896     BSTR cssText();
1897
1898     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1899     void pixelTop(LONG v);
1900
1901     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1902     LONG pixelTop();
1903
1904     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1905     void pixelLeft(LONG v);
1906
1907     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1908     LONG pixelLeft();
1909
1910     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1911     void pixelWidth(LONG v);
1912
1913     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1914     LONG pixelWidth();
1915
1916     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1917     void pixelHeight(LONG v);
1918
1919     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1920     LONG pixelHeight();
1921
1922     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1923     void posTop(float v);
1924
1925     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1926     float posTop();
1927
1928     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1929     void posLeft(float v);
1930
1931     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1932     float posLeft();
1933
1934     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1935     void posWidth(float v);
1936
1937     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1938     float posWidth();
1939
1940     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1941     void posHeight(float v);
1942
1943     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1944     float posHeight();
1945
1946     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1947     void cursor(BSTR v);
1948
1949     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1950     BSTR cursor();
1951
1952     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1953     void clip(BSTR v);
1954
1955     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1956     BSTR clip();
1957
1958     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1959     void filter(BSTR v);
1960
1961     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1962     BSTR filter();
1963
1964     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1965     void setAttribute(
1966             [in] BSTR strAttributeName,
1967             [in] VARIANT AttributeValue,
1968             [in, defaultvalue(1)] LONG lFlags);
1969
1970     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1971     VARIANT getAttribute(
1972             [in] BSTR strAttributeName,
1973             [in, defaultvalue(0)] LONG lFlags);
1974
1975     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1976     VARIANT_BOOL removeAttribute(
1977             [in] BSTR strAttributeName,
1978             [in, defaultvalue(1)] LONG lFlags);
1979
1980     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1981     BSTR toString();
1982
1983     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1984     void tableLayout(BSTR v);
1985
1986     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1987     BSTR tableLayout();
1988
1989     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1990     void borderCollapse(BSTR v);
1991
1992     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1993     BSTR borderCollapse();
1994
1995     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1996     void direction(BSTR v);
1997
1998     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1999     BSTR direction();
2000
2001     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2002     void behavior(BSTR v);
2003
2004     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2005     BSTR behavior();
2006
2007     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
2008     void setExpression(
2009             [in] BSTR propname,
2010             [in] BSTR expression,
2011             [in, defaultvalue("")] BSTR language);
2012
2013     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
2014     VARIANT getExpression([in] BSTR propname);
2015
2016     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
2017     VARIANT_BOOL removeExpression([in] BSTR propname);
2018
2019     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2020     void position(BSTR v);
2021
2022     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2023     BSTR position();
2024
2025     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2026     void unicodeBidi(BSTR v);
2027
2028     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2029     BSTR unicodeBidi();
2030
2031     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2032     void bottom(VARIANT v);
2033
2034     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2035     VARIANT bottom();
2036
2037     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2038     void right(VARIANT v);
2039
2040     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2041     VARIANT right();
2042
2043     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2044     void pixelBottom(LONG v);
2045
2046     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2047     LONG pixelBottom();
2048
2049     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2050     void pixelRight(LONG v);
2051
2052     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2053     LONG pixelRight();
2054
2055     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2056     void posBottom(float v);
2057
2058     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2059     float posBottom();
2060
2061     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2062     void posRight(float v);
2063
2064     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2065     float posRight();
2066
2067     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2068     void imeMode(BSTR v);
2069
2070     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2071     BSTR imeMode();
2072
2073     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2074     void rubyAlign(BSTR v);
2075
2076     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2077     BSTR rubyAlign();
2078
2079     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2080     void rubyPosition(BSTR v);
2081
2082     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2083     BSTR rubyPosition();
2084
2085     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2086     void rubyOverhang(BSTR v);
2087
2088     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2089     BSTR rubyOverhang();
2090
2091     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2092     void layoutGridChar(VARIANT v);
2093
2094     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2095     VARIANT layoutGridChar();
2096
2097     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2098     void layoutGridLine(VARIANT v);
2099
2100     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2101     VARIANT layoutGridLine();
2102
2103     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2104     void layoutGridMode(BSTR v);
2105
2106     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2107     BSTR layoutGridMode();
2108
2109     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2110     void layoutGridType(BSTR v);
2111
2112     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2113     BSTR layoutGridType();
2114
2115     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2116     void layoutGrid(BSTR v);
2117
2118     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2119     BSTR layoutGrid();
2120
2121     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2122     void wordBreak(BSTR v);
2123
2124     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2125     BSTR wordBreak();
2126
2127     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2128     void lineBreak(BSTR v);
2129
2130     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2131     BSTR lineBreak();
2132
2133     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2134     void textJustify(BSTR v);
2135
2136     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2137     BSTR textJustify();
2138
2139     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2140     void textJustifyTrim(BSTR v);
2141
2142     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2143     BSTR textJustifyTrim();
2144
2145     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2146     void textKashida(VARIANT v);
2147
2148     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2149     VARIANT textKashida();
2150
2151     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2152     void textAutospace(BSTR v);
2153
2154     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2155     BSTR textAutospace();
2156
2157     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2158     void overflowX(BSTR v);
2159
2160     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2161     BSTR overflowX();
2162
2163     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2164     void overflowY(BSTR v);
2165
2166     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2167     BSTR overflowY();
2168
2169     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2170     void accelerator(BSTR v);
2171
2172     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2173     BSTR accelerator();
2174
2175     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2176     void layoutFlow(BSTR v);
2177
2178     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2179     BSTR layoutFlow();
2180
2181     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2182     void zoom(VARIANT v);
2183
2184     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2185     VARIANT zoom();
2186
2187     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2188     void wordWrap(BSTR v);
2189
2190     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2191     BSTR wordWrap();
2192
2193     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2194     void textUnderlinePosition(BSTR v);
2195
2196     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2197     BSTR textUnderlinePosition();
2198
2199     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2200     void scrollbarBaseColor(VARIANT v);
2201
2202     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2203     VARIANT scrollbarBaseColor();
2204
2205     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2206     void scrollbarFaceColor(VARIANT v);
2207
2208     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2209     VARIANT scrollbarFaceColor();
2210
2211     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2212     void scrollbar3dLightColor(VARIANT v);
2213
2214     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2215     VARIANT scrollbar3dLightColor();
2216
2217     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2218     void scrollbarShadowColor(VARIANT v);
2219
2220     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2221     VARIANT scrollbarShadowColor();
2222
2223     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2224     void scrollbarHighlightColor(VARIANT v);
2225
2226     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2227     VARIANT scrollbarHighlightColor();
2228
2229     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2230     void scrollbarDarkShadowColor(VARIANT v);
2231
2232     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2233     VARIANT scrollbarDarkShadowColor();
2234
2235     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2236     void scrollbarArrowColor(VARIANT v);
2237
2238     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2239     VARIANT scrollbarArrowColor();
2240
2241     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2242     void scrollbarTrackColor(VARIANT v);
2243
2244     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2245     VARIANT scrollbarTrackColor();
2246
2247     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2248     void writingMode(BSTR v);
2249
2250     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2251     BSTR writingMode();
2252
2253     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2254     void textAlignLast(BSTR v);
2255
2256     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2257     BSTR textAlignLast();
2258
2259     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2260     void textKashidaSpace(VARIANT v);
2261
2262     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2263     VARIANT textKashidaSpace();
2264
2265     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2266     void textOverflow(BSTR v);
2267
2268     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2269     BSTR textOverflow();
2270
2271     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2272     void minHeight(VARIANT v);
2273
2274     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2275     VARIANT minHeight();
2276
2277     [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2278     void msInterpolationMode(BSTR v);
2279
2280     [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2281     BSTR msInterpolationMode();
2282
2283     [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2284     void maxHeight(VARIANT v);
2285
2286     [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2287     VARIANT maxHeight();
2288
2289     [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2290     void minWidth(VARIANT v);
2291
2292     [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2293     VARIANT minWidth();
2294
2295     [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2296     void maxWidth(VARIANT v);
2297
2298     [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2299     VARIANT maxWidth();
2300
2301     [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2302     void content(BSTR v);
2303
2304     [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2305     BSTR content();
2306
2307     [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2308     void captionSide(BSTR v);
2309
2310     [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2311     BSTR captionSide();
2312
2313     [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2314     void counterIncrement(BSTR v);
2315
2316     [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2317     BSTR counterIncrement();
2318
2319     [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2320     void counterReset(BSTR v);
2321
2322     [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2323     BSTR counterReset();
2324
2325     [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2326     void outline(BSTR v);
2327
2328     [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2329     BSTR outline();
2330
2331     [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2332     void outlineWidth(VARIANT v);
2333
2334     [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2335     VARIANT outlineWidth();
2336
2337     [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2338     void outlineStyle(BSTR v);
2339
2340     [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2341     BSTR outlineStyle();
2342
2343     [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2344     void outlineColor(VARIANT v);
2345
2346     [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2347     VARIANT outlineColor();
2348
2349     [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2350     void boxSizing(BSTR v);
2351
2352     [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2353     BSTR boxSizing();
2354
2355     [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2356     void borderSpacing(BSTR v);
2357
2358     [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2359     BSTR borderSpacing();
2360
2361     [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2362     void orphans(VARIANT v);
2363
2364     [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2365     VARIANT orphans();
2366
2367     [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2368     void widows(VARIANT v);
2369
2370     [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2371     VARIANT widows();
2372
2373     [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2374     void pageBreakInside(BSTR v);
2375
2376     [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2377     BSTR pageBreakInside();
2378
2379     [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2380     void emptyCells(BSTR v);
2381
2382     [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2383     BSTR emptyCells();
2384
2385     [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2386     void msBlockProgression(BSTR v);
2387
2388     [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2389     BSTR msBlockProgression();
2390
2391     [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2392     void quotes(BSTR v);
2393
2394     [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2395     BSTR quotes();
2396
2397     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
2398     IDispatch *constructor();
2399 }
2400
2401 [
2402     odl,
2403     oleautomation,
2404     dual,
2405     uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2406 ]
2407 interface IHTMLStyle3 : IDispatch
2408 {
2409     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2410     HRESULT layoutFlow([in] BSTR v);
2411
2412     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2413     HRESULT layoutFlow([retval, out] BSTR * p);
2414
2415     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2416     HRESULT zoom([in] VARIANT v);
2417
2418     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2419     HRESULT zoom([retval, out] VARIANT * p);
2420
2421     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2422     HRESULT wordWrap([in] BSTR v);
2423
2424     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2425     HRESULT wordWrap([retval, out] BSTR * p);
2426
2427     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2428     HRESULT textUnderlinePosition([in] BSTR v);
2429
2430     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2431     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2432
2433     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2434     HRESULT scrollbarBaseColor([in] VARIANT v);
2435
2436     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2437     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2438
2439     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2440     HRESULT scrollbarFaceColor([in] VARIANT v);
2441
2442     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2443     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2444
2445     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2446     HRESULT scrollbar3dLightColor([in] VARIANT v);
2447
2448     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2449     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2450
2451     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2452     HRESULT scrollbarShadowColor([in] VARIANT v);
2453
2454     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2455     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2456
2457     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2458     HRESULT scrollbarHighlightColor([in] VARIANT v);
2459
2460     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2461     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2462
2463     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2464     HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2465
2466     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2467     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2468
2469     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2470     HRESULT scrollbarArrowColor([in] VARIANT v);
2471
2472     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2473     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2474
2475     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2476     HRESULT scrollbarTrackColor([in] VARIANT v);
2477
2478     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2479     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2480
2481     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2482     HRESULT writingMode([in] BSTR v);
2483
2484     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2485     HRESULT writingMode([retval, out] BSTR * p);
2486
2487     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2488     HRESULT textAlignLast([in] BSTR v);
2489
2490     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2491     HRESULT textAlignLast([retval, out] BSTR * p);
2492
2493     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2494     HRESULT textKashidaSpace([in] VARIANT v);
2495
2496     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2497     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2498 }
2499
2500 /*****************************************************************************
2501  *    IHTMLSytyle4 interface
2502  */
2503 [
2504     odl,
2505     oleautomation,
2506     dual,
2507     uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2508 ]
2509 interface IHTMLStyle4 : IDispatch
2510 {
2511     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2512     HRESULT textOverflow([in] BSTR v);
2513
2514     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2515     HRESULT textOverflow([retval, out] BSTR * p);
2516
2517     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2518     HRESULT minHeight([in] VARIANT v);
2519
2520     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2521     HRESULT minHeight([retval, out] VARIANT * p);
2522 }
2523
2524 /*****************************************************************************
2525  *    IHTMLSytyle5 interface
2526  */
2527 [
2528     odl,
2529     oleautomation,
2530     dual,
2531     uuid(3050f33a-98b5-11cf-bb82-00aa00bdce0b)
2532 ]
2533 interface IHTMLStyle5 : IDispatch
2534 {
2535     [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2536     HRESULT msInterpolationMode([in] BSTR v);
2537
2538     [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2539     HRESULT msInterpolationMode([out, retval] BSTR *p);
2540
2541     [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2542     HRESULT maxHeight([in] VARIANT v);
2543
2544     [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2545     HRESULT maxHeight([out, retval] VARIANT *p);
2546
2547     [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2548     HRESULT minWidth([in] VARIANT v);
2549
2550     [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2551     HRESULT minWidth([out, retval] VARIANT *p);
2552
2553     [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2554     HRESULT maxWidth([in] VARIANT v);
2555
2556     [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2557     HRESULT maxWidth([out, retval] VARIANT *p);
2558 }
2559
2560 /*****************************************************************************
2561  *    IHTMLSytyle6 interface
2562  */
2563 [
2564     odl,
2565     oleautomation,
2566     dual,
2567     uuid(30510480-98b5-11cf-bb82-00aa00bdce0b)
2568 ]
2569 interface IHTMLStyle6 : IDispatch
2570 {
2571     [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2572     HRESULT content([in] BSTR v);
2573
2574     [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2575     HRESULT content([out, retval] BSTR *p);
2576
2577     [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2578     HRESULT captionSide([in] BSTR v);
2579
2580     [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2581     HRESULT captionSide([retval, out] BSTR *p);
2582
2583     [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2584     HRESULT counterIncrement([in] BSTR v);
2585
2586     [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2587     HRESULT counterIncrement([out, retval] BSTR *p);
2588
2589     [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2590     HRESULT counterReset([in] BSTR v);
2591
2592     [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2593     HRESULT counterReset([out, retval] BSTR *p);
2594
2595     [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2596     HRESULT outline([in] BSTR v);
2597
2598     [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2599     HRESULT outline([out, retval] BSTR *p);
2600
2601     [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2602     HRESULT outlineWidth([in] VARIANT v);
2603
2604     [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2605     HRESULT outlineWidth([out, retval] VARIANT *p);
2606
2607     [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2608     HRESULT outlineStyle([in] BSTR v);
2609
2610     [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2611     HRESULT outlineStyle([out, retval] BSTR *p);
2612
2613     [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2614     HRESULT outlineColor([in] VARIANT v);
2615
2616     [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2617     HRESULT outlineColor([out, retval] VARIANT *p);
2618
2619     [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2620     HRESULT boxSizing([in] BSTR v);
2621
2622     [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2623     HRESULT boxSizing([out, retval] BSTR *p);
2624
2625     [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2626     HRESULT borderSpacing([in] BSTR v);
2627
2628     [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2629     HRESULT borderSpacing([out, retval] BSTR *p);
2630
2631     [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2632     HRESULT orphans([in] VARIANT v);
2633
2634     [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2635     HRESULT orphans([out, retval] VARIANT *p);
2636
2637     [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2638     HRESULT widows([in] VARIANT v);
2639
2640     [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2641     HRESULT widows([out, retval] VARIANT *p);
2642
2643     [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2644     HRESULT pageBreakInside([in] BSTR v);
2645
2646     [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2647     HRESULT pageBreakInside([out, retval] BSTR *p);
2648
2649     [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2650     HRESULT emptyCells([in] BSTR v);
2651
2652     [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2653     HRESULT emptyCells([out, retval] BSTR *p);
2654
2655     [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2656     HRESULT msBlockProgression([in] BSTR v);
2657
2658     [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2659     HRESULT msBlockProgression([out, retval] BSTR *p);
2660
2661     [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2662     HRESULT quotes([in] BSTR v);
2663
2664     [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2665     HRESULT quotes([out, retval] BSTR *p);
2666 }
2667
2668 [
2669     noncreatable,
2670     uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2671 ]
2672 coclass HTMLStyle
2673 {
2674     [default] dispinterface DispHTMLStyle;
2675     interface IHTMLStyle;
2676     interface IHTMLStyle2;
2677     interface IHTMLStyle3;
2678     interface IHTMLStyle4;
2679     interface IHTMLStyle5;
2680     interface IHTMLStyle6;
2681 }
2682
2683 /*****************************************************************************
2684  *    IHTMLRenderStyle interface
2685  */
2686 [
2687     odl,
2688     oleautomation,
2689     dual,
2690     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2691 ]
2692 interface IHTMLRenderStyle : IDispatch
2693 {
2694     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2695     HRESULT textLineThroughStyle([in] BSTR v);
2696
2697     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2698     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2699
2700     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2701     HRESULT textUnderlineStyle([in] BSTR v);
2702
2703     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2704     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2705
2706     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2707     HRESULT textEffect([in] BSTR v);
2708
2709     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2710     HRESULT textEffect([retval, out] BSTR *p);
2711
2712     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2713     HRESULT textColor([in] VARIANT v);
2714
2715     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2716     HRESULT textColor([retval, out] VARIANT *p);
2717
2718     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2719     HRESULT textBackgroundColor([in] VARIANT v);
2720
2721     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2722     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2723
2724     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2725     HRESULT textDecorationColor([in] VARIANT v);
2726
2727     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2728     HRESULT textDecorationColor([retval, out] VARIANT *p);
2729
2730     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2731     HRESULT renderingPriority([in] LONG v);
2732
2733     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2734     HRESULT renderingPriority([retval, out] LONG *p);
2735
2736     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2737     HRESULT defaultTextSelection([in] BSTR v);
2738
2739     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2740     HRESULT defaultTextSelection([retval, out] BSTR *p);
2741
2742     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2743     HRESULT textDecoration([in] BSTR v);
2744
2745     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2746     HRESULT textDecoration([retval, out] BSTR *p);
2747 }
2748
2749 /*****************************************************************************
2750  *    IHTMLCurrentStyle interface
2751  */
2752 [
2753     odl,
2754     oleautomation,
2755     dual,
2756     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2757 ]
2758 interface IHTMLCurrentStyle : IDispatch
2759 {
2760     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2761     HRESULT position([retval, out] BSTR *p);
2762
2763     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2764     HRESULT styleFloat([retval, out] BSTR *p);
2765
2766     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2767     HRESULT color([retval, out] VARIANT *p);
2768
2769     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2770     HRESULT backgroundColor([retval, out] VARIANT *p);
2771
2772     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2773     HRESULT fontFamily([retval, out] BSTR *p);
2774
2775     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2776     HRESULT fontStyle([retval, out] BSTR *p);
2777
2778     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2779     HRESULT fontVariant([retval, out] BSTR *p);
2780
2781     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2782     HRESULT fontWeight([retval, out] VARIANT *p);
2783
2784     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2785     HRESULT fontSize([retval, out] VARIANT *p);
2786
2787     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2788     HRESULT backgroundImage([retval, out] BSTR *p);
2789
2790     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2791     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2792
2793     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2794     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2795
2796     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2797     HRESULT backgroundRepeat([retval, out] BSTR *p);
2798
2799     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2800     HRESULT borderLeftColor([retval, out] VARIANT *p);
2801
2802     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2803     HRESULT borderTopColor([retval, out] VARIANT *p);
2804
2805     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2806     HRESULT borderRightColor([retval, out] VARIANT *p);
2807
2808     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2809     HRESULT borderBottomColor([retval, out] VARIANT *p);
2810
2811     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2812     HRESULT borderTopStyle([retval, out] BSTR *p);
2813
2814     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2815     HRESULT borderRightStyle([retval, out] BSTR *p);
2816
2817     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2818     HRESULT borderBottomStyle([retval, out] BSTR *p);
2819
2820     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2821     HRESULT borderLeftStyle([retval, out] BSTR *p);
2822
2823     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2824     HRESULT borderTopWidth([retval, out] VARIANT *p);
2825
2826     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2827     HRESULT borderRightWidth([retval, out] VARIANT *p);
2828
2829     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2830     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2831
2832     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2833     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2834
2835     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2836     HRESULT left([retval, out] VARIANT *p);
2837
2838     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2839     HRESULT top([retval, out] VARIANT *p);
2840
2841     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2842     HRESULT width([retval, out] VARIANT *p);
2843
2844     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2845     HRESULT height([retval, out] VARIANT *p);
2846
2847     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2848     HRESULT paddingLeft([retval, out] VARIANT *p);
2849
2850     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2851     HRESULT paddingTop([retval, out] VARIANT *p);
2852
2853     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2854     HRESULT paddingRight([retval, out] VARIANT *p);
2855
2856     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2857     HRESULT paddingBottom([retval, out] VARIANT *p);
2858
2859     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2860     HRESULT textAlign([retval, out] BSTR *p);
2861
2862     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2863     HRESULT textDecoration([retval, out] BSTR *p);
2864
2865     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2866     HRESULT display([retval, out] BSTR *p);
2867
2868     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2869     HRESULT visibility([retval, out] BSTR *p);
2870
2871     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2872     HRESULT zIndex([retval, out] VARIANT *p);
2873
2874     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2875     HRESULT letterSpacing([retval, out] VARIANT *p);
2876
2877     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2878     HRESULT lineHeight([retval, out] VARIANT *p);
2879
2880     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2881     HRESULT textIndent([retval, out] VARIANT *p);
2882
2883     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2884     HRESULT verticalAlign([retval, out] VARIANT *p);
2885
2886     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2887     HRESULT backgroundAttachment([retval, out] BSTR *p);
2888
2889     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2890     HRESULT marginTop([retval, out] VARIANT *p);
2891
2892     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2893     HRESULT marginRight([retval, out] VARIANT *p);
2894
2895     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2896     HRESULT marginBottom([retval, out] VARIANT *p);
2897
2898     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2899     HRESULT marginLeft([retval, out] VARIANT *p);
2900
2901     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2902     HRESULT clear([retval, out] BSTR *p);
2903
2904     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2905     HRESULT listStyleType([retval, out] BSTR *p);
2906
2907     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2908     HRESULT listStylePosition([retval, out] BSTR *p);
2909
2910     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2911     HRESULT listStyleImage([retval, out] BSTR *p);
2912
2913     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2914     HRESULT clipTop([retval, out] VARIANT *p);
2915
2916     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2917     HRESULT clipRight([retval, out] VARIANT *p);
2918
2919     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2920     HRESULT clipBottom([retval, out] VARIANT *p);
2921
2922     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2923     HRESULT clipLeft([retval, out] VARIANT *p);
2924
2925     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2926     HRESULT overflow([retval, out] BSTR *p);
2927
2928     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2929     HRESULT pageBreakBefore([retval, out] BSTR *p);
2930
2931     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2932     HRESULT pageBreakAfter([retval, out] BSTR *p);
2933
2934     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2935     HRESULT cursor([retval, out] BSTR *p);
2936
2937     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2938     HRESULT tableLayout([retval, out] BSTR *p);
2939
2940     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2941     HRESULT borderCollapse([retval, out] BSTR *p);
2942
2943     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2944     HRESULT direction([retval, out] BSTR *p);
2945
2946     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2947     HRESULT behavior([retval, out] BSTR *p);
2948
2949     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2950     HRESULT getAttribute(
2951         [in] BSTR strAttributeName,
2952         [defaultvalue(0), in] LONG lFlags,
2953         [retval, out] VARIANT *AttributeValue);
2954
2955     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2956     HRESULT unicodeBidi([retval, out] BSTR *p);
2957
2958     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2959     HRESULT right([retval, out] VARIANT *p);
2960
2961     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2962     HRESULT bottom([retval, out] VARIANT *p);
2963
2964     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2965     HRESULT imeMode([retval, out] BSTR *p);
2966
2967     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2968     HRESULT rubyAlign([retval, out] BSTR *p);
2969
2970     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2971     HRESULT rubyPosition([retval, out] BSTR *p);
2972
2973     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2974     HRESULT rubyOverhang([retval, out] BSTR *p);
2975
2976     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2977     HRESULT textAutospace([retval, out] BSTR *p);
2978
2979     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2980     HRESULT lineBreak([retval, out] BSTR *p);
2981
2982     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2983     HRESULT wordBreak([retval, out] BSTR *p);
2984
2985     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2986     HRESULT textJustify([retval, out] BSTR *p);
2987
2988     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2989     HRESULT textJustifyTrim([retval, out] BSTR *p);
2990
2991     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2992     HRESULT textKashida([retval, out] VARIANT *p);
2993
2994     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2995     HRESULT blockDirection([retval, out] BSTR *p);
2996
2997     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2998     HRESULT layoutGridChar([retval, out] VARIANT *p);
2999
3000     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3001     HRESULT layoutGridLine([retval, out] VARIANT *p);
3002
3003     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3004     HRESULT layoutGridMode([retval, out] BSTR *p);
3005
3006     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3007     HRESULT layoutGridType([retval, out] BSTR *p);
3008
3009     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3010     HRESULT borderStyle([retval, out] BSTR *p);
3011
3012     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3013     HRESULT borderColor([retval, out] BSTR *p);
3014
3015     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3016     HRESULT borderWidth([retval, out] BSTR *p);
3017
3018     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3019     HRESULT padding([retval, out] BSTR *p);
3020
3021     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3022     HRESULT margin([retval, out] BSTR *p);
3023
3024     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3025     HRESULT accelerator([retval, out] BSTR *p);
3026
3027     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3028     HRESULT overflowX([retval, out] BSTR *p);
3029
3030     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3031     HRESULT overflowY([retval, out] BSTR *p);
3032
3033     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3034     HRESULT textTransform([retval, out] BSTR *p);
3035 }
3036
3037 /*****************************************************************************
3038  *    IHTMLCurrentStyle2 interface
3039  */
3040 [
3041     odl,
3042     oleautomation,
3043     dual,
3044     uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
3045 ]
3046 interface IHTMLCurrentStyle2 : IDispatch
3047 {
3048     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3049     HRESULT layoutFlow([retval, out] BSTR * p);
3050
3051     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3052     HRESULT wordWrap([retval, out] BSTR * p);
3053
3054     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3055     HRESULT textUnderlinePosition([retval, out] BSTR * p);
3056
3057     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3058     HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
3059
3060     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3061     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
3062
3063     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3064     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
3065
3066     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3067     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
3068
3069     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3070     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
3071
3072     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3073     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
3074
3075     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3076     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
3077
3078     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3079     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
3080
3081     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3082     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
3083
3084     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3085     HRESULT writingMode([retval, out] BSTR * p);
3086
3087     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3088     HRESULT zoom([retval, out] VARIANT * p);
3089
3090     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3091     HRESULT filter([retval, out] BSTR * p);
3092
3093     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3094     HRESULT textAlignLast([retval, out] BSTR * p);
3095
3096     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3097     HRESULT textKashidaSpace([retval, out] VARIANT * p);
3098
3099     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3100     HRESULT isBlock([retval, out] VARIANT_BOOL * p);
3101 }
3102
3103 /*****************************************************************************
3104  *    IHTMLCurrentStyle3 interface
3105  */
3106 [
3107     odl,
3108     oleautomation,
3109     dual,
3110     uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
3111 ]
3112 interface IHTMLCurrentStyle3 : IDispatch
3113 {
3114     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3115     HRESULT textOverflow([retval, out] BSTR * p);
3116
3117     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3118     HRESULT minHeight([retval, out] VARIANT * p);
3119
3120     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3121     HRESULT wordSpacing([retval, out] VARIANT * p);
3122
3123     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3124     HRESULT whiteSpace([retval, out] BSTR * p);
3125 }
3126
3127 /*****************************************************************************
3128  *    IHTMLCurrentStyle4 interface
3129  */
3130 [
3131     odl,
3132     oleautomation,
3133     dual,
3134     uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
3135 ]
3136 interface IHTMLCurrentStyle4 : IDispatch
3137 {
3138     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3139     HRESULT msInterpolationMode([retval, out] BSTR * p);
3140
3141     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3142     HRESULT maxHeight([retval, out] VARIANT * p);
3143
3144     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3145     HRESULT minWidth([retval, out] VARIANT * p);
3146
3147     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3148     HRESULT maxWidth([retval, out] VARIANT * p);
3149 }
3150
3151 /*****************************************************************************
3152  *    DispHTMLCurrentStyle dispinterface
3153  */
3154 [
3155     hidden,
3156     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
3157 ]
3158 dispinterface DispHTMLCurrentStyle
3159 {
3160 properties:
3161 methods:
3162     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
3163     BSTR position();
3164
3165     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
3166     BSTR styleFloat();
3167
3168     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
3169     VARIANT color();
3170
3171     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
3172     VARIANT backgroundColor();
3173
3174     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
3175     BSTR fontFamily();
3176
3177     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
3178     BSTR fontStyle();
3179
3180     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
3181     BSTR fontVariant();
3182
3183     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
3184     VARIANT fontWeight();
3185
3186     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
3187     VARIANT fontSize();
3188
3189     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
3190     BSTR backgroundImage();
3191
3192     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
3193     VARIANT backgroundPositionX();
3194
3195     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
3196     VARIANT backgroundPositionY();
3197
3198     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
3199     BSTR backgroundRepeat();
3200
3201     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
3202     VARIANT borderLeftColor();
3203
3204     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
3205     VARIANT borderTopColor();
3206
3207     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
3208     VARIANT borderRightColor();
3209
3210     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
3211     VARIANT borderBottomColor();
3212
3213     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
3214     BSTR borderTopStyle();
3215
3216     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
3217     BSTR borderRightStyle();
3218
3219     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
3220     BSTR borderBottomStyle();
3221
3222     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
3223     BSTR borderLeftStyle();
3224
3225     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
3226     VARIANT borderTopWidth();
3227
3228     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
3229     VARIANT borderRightWidth();
3230
3231     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
3232     VARIANT borderBottomWidth();
3233
3234     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
3235     VARIANT borderLeftWidth();
3236
3237     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
3238     VARIANT left();
3239
3240     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
3241     VARIANT top();
3242
3243     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
3244     VARIANT width();
3245
3246     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
3247     VARIANT height();
3248
3249     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
3250     VARIANT paddingLeft();
3251
3252     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
3253     VARIANT paddingTop();
3254
3255     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
3256     VARIANT paddingRight();
3257
3258     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
3259     VARIANT paddingBottom();
3260
3261     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
3262     BSTR textAlign();
3263
3264     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
3265     BSTR textDecoration();
3266
3267     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
3268     BSTR display();
3269
3270     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
3271     BSTR visibility();
3272
3273     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
3274     VARIANT zIndex();
3275
3276     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
3277     VARIANT letterSpacing();
3278
3279     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
3280     VARIANT lineHeight();
3281
3282     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
3283     VARIANT textIndent();
3284
3285     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
3286     VARIANT verticalAlign();
3287
3288     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
3289     BSTR backgroundAttachment();
3290
3291     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
3292     VARIANT marginTop();
3293
3294     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3295     VARIANT marginRight();
3296
3297     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3298     VARIANT marginBottom();
3299
3300     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3301     VARIANT marginLeft();
3302
3303     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3304     BSTR clear();
3305
3306     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3307     BSTR listStyleType();
3308
3309     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3310     BSTR listStylePosition();
3311
3312     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3313     BSTR listStyleImage();
3314
3315     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3316     VARIANT clipTop();
3317
3318     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3319     VARIANT clipRight();
3320
3321     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3322     VARIANT clipBottom();
3323
3324     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3325     VARIANT clipLeft();
3326
3327     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3328     BSTR overflow();
3329
3330     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3331     BSTR pageBreakBefore();
3332
3333     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3334     BSTR pageBreakAfter();
3335
3336     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3337     BSTR cursor();
3338
3339     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3340     BSTR tableLayout();
3341
3342     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3343     BSTR borderCollapse();
3344
3345     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3346     BSTR direction();
3347
3348     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3349     BSTR behavior();
3350
3351     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3352     VARIANT getAttribute(
3353             [in] BSTR strAttributeName,
3354             [in, defaultvalue(0)] LONG lFlags);
3355
3356     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3357     BSTR unicodeBidi();
3358
3359     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3360     VARIANT right();
3361
3362     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3363     VARIANT bottom();
3364
3365     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3366     BSTR imeMode();
3367
3368     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3369     BSTR rubyAlign();
3370
3371     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3372     BSTR rubyPosition();
3373
3374     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3375     BSTR rubyOverhang();
3376
3377     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3378     BSTR textAutospace();
3379
3380     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3381     BSTR lineBreak();
3382
3383     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3384     BSTR wordBreak();
3385
3386     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3387     BSTR textJustify();
3388
3389     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3390     BSTR textJustifyTrim();
3391
3392     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3393     VARIANT textKashida();
3394
3395     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3396     BSTR blockDirection();
3397
3398     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3399     VARIANT layoutGridChar();
3400
3401     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3402     VARIANT layoutGridLine();
3403
3404     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3405     BSTR layoutGridMode();
3406
3407     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3408     BSTR layoutGridType();
3409
3410     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3411     BSTR borderStyle();
3412
3413     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3414     BSTR borderColor();
3415
3416     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3417     BSTR borderWidth();
3418
3419     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3420     BSTR padding();
3421
3422     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3423     BSTR margin();
3424
3425     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3426     BSTR accelerator();
3427
3428     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3429     BSTR overflowX();
3430
3431     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3432     BSTR overflowY();
3433
3434     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3435     BSTR textTransform();
3436
3437     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3438     BSTR layoutFlow();
3439
3440     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3441     BSTR wordWrap();
3442
3443     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3444     BSTR textUnderlinePosition();
3445
3446     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3447     VARIANT_BOOL hasLayout();
3448
3449     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3450     VARIANT scrollbarBaseColor();
3451
3452     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3453     VARIANT scrollbarFaceColor();
3454
3455     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3456     VARIANT scrollbar3dLightColor();
3457
3458     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3459     VARIANT scrollbarShadowColor();
3460
3461     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3462     VARIANT scrollbarHighlightColor();
3463
3464     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3465     VARIANT scrollbarDarkShadowColor();
3466
3467     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3468     VARIANT scrollbarArrowColor();
3469
3470     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3471     VARIANT scrollbarTrackColor();
3472
3473     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3474     BSTR writingMode();
3475
3476     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3477     VARIANT zoom();
3478
3479     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3480     BSTR filter();
3481
3482     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3483     BSTR textAlignLast();
3484
3485     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3486     VARIANT textKashidaSpace();
3487
3488     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3489     VARIANT_BOOL isBlock();
3490
3491     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3492     BSTR textOverflow();
3493
3494     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3495     VARIANT minHeight();
3496
3497     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3498     VARIANT wordSpacing();
3499
3500     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3501     BSTR whiteSpace();
3502
3503     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3504     BSTR msInterpolationMode();
3505
3506     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3507     VARIANT maxHeight();
3508
3509     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3510     VARIANT minWidth();
3511
3512     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3513     VARIANT maxWidth();
3514 }
3515
3516 [
3517     noncreatable,
3518     uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3519 ]
3520 coclass HTMLCurrentStyle
3521 {
3522     [default] dispinterface DispHTMLCurrentStyle;
3523     interface IHTMLCurrentStyle;
3524     interface IHTMLCurrentStyle2;
3525     interface IHTMLCurrentStyle3;
3526     interface IHTMLCurrentStyle4;
3527 }
3528
3529 /*****************************************************************************
3530  *    IHTMLRect interface
3531  */
3532 [
3533     odl,
3534     oleautomation,
3535     dual,
3536     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3537 ]
3538 interface IHTMLRect : IDispatch
3539 {
3540     [propput, id(DISPID_IHTMLRECT_LEFT)]
3541     HRESULT left([in] LONG v);
3542
3543     [propget, id(DISPID_IHTMLRECT_LEFT)]
3544     HRESULT left([retval, out] LONG *p);
3545
3546     [propput, id(DISPID_IHTMLRECT_TOP)]
3547     HRESULT top([in] LONG v);
3548
3549     [propget, id(DISPID_IHTMLRECT_TOP)]
3550     HRESULT top([retval, out] LONG *p);
3551
3552     [propput, id(DISPID_IHTMLRECT_RIGHT)]
3553     HRESULT right([in] LONG v);
3554
3555     [propget, id(DISPID_IHTMLRECT_RIGHT)]
3556     HRESULT right([retval, out] LONG *p);
3557
3558     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3559     HRESULT bottom([in] LONG v);
3560
3561     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3562     HRESULT bottom([retval, out] LONG *p);
3563 }
3564
3565 /*****************************************************************************
3566  *    IHTMLRectCollection interface
3567  */
3568 [
3569     odl,
3570     oleautomation,
3571     dual,
3572     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3573 ]
3574 interface IHTMLRectCollection : IDispatch
3575 {
3576     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3577     HRESULT length([retval, out] LONG *p);
3578
3579     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3580     HRESULT _newEnum([retval, out] IUnknown **p);
3581
3582     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3583     HRESULT item(
3584         [in] VARIANT *pvarIndex,
3585         [retval, out] VARIANT *pvarResult);
3586 }
3587
3588 /*****************************************************************************
3589  *    IHTMLDOMNode interface
3590  */
3591 [
3592     odl,
3593     oleautomation,
3594     dual,
3595     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3596 ]
3597 interface IHTMLDOMNode : IDispatch
3598 {
3599     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3600     HRESULT nodeType([retval, out] LONG *p);
3601
3602     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3603     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3604
3605     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3606     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3607
3608     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3609     HRESULT childNodes([retval, out] IDispatch **p);
3610
3611     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3612     HRESULT attributes([retval, out] IDispatch **p);
3613
3614     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3615     HRESULT insertBefore(
3616         [in] IHTMLDOMNode *newChild,
3617         [optional, in] VARIANT refChild,
3618         [retval, out] IHTMLDOMNode **node);
3619
3620     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3621     HRESULT removeChild(
3622         [in] IHTMLDOMNode *oldChild,
3623         [retval, out] IHTMLDOMNode **node);
3624
3625     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3626     HRESULT replaceChild(
3627         [in] IHTMLDOMNode *newChild,
3628         [in] IHTMLDOMNode *oldChild,
3629         [retval, out] IHTMLDOMNode **node);
3630
3631     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3632     HRESULT cloneNode(
3633         [in] VARIANT_BOOL fDeep,
3634         [retval, out] IHTMLDOMNode **clonedNode);
3635
3636     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3637     HRESULT removeNode(
3638         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3639         [retval, out] IHTMLDOMNode **removed);
3640
3641     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3642     HRESULT swapNode(
3643         [in] IHTMLDOMNode *otherNode,
3644         [retval, out] IHTMLDOMNode **swappedNode);
3645
3646     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3647     HRESULT replaceNode(
3648         [in] IHTMLDOMNode *replacement,
3649         [retval, out] IHTMLDOMNode **replaced);
3650
3651     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3652     HRESULT appendChild(
3653         [in] IHTMLDOMNode *newChild,
3654         [retval, out] IHTMLDOMNode **node);
3655
3656     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3657     HRESULT nodeName([retval, out] BSTR *p);
3658
3659     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3660     HRESULT nodeValue([in] VARIANT v);
3661
3662     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3663     HRESULT nodeValue([retval, out] VARIANT *p);
3664
3665     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3666     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3667
3668     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3669     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3670
3671     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3672     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3673
3674     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3675     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3676 }
3677
3678 #define WINE_IHTMLDOMNODE_DISPINTERFACE_DECL                            \
3679     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]                         \
3680     LONG nodeType();                                                    \
3681                                                                         \
3682     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]                       \
3683     IHTMLDOMNode* parentNode();                                         \
3684                                                                         \
3685     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]                             \
3686     VARIANT_BOOL hasChildNodes();                                       \
3687                                                                         \
3688     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]                       \
3689     IDispatch* childNodes();                                            \
3690                                                                         \
3691     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]                       \
3692     IDispatch* attributes();                                            \
3693                                                                         \
3694     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]                              \
3695     IHTMLDOMNode* insertBefore(                                         \
3696             [in] IHTMLDOMNode* newChild,                                \
3697             [optional, in] VARIANT refChild);                           \
3698                                                                         \
3699     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]                               \
3700     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);             \
3701                                                                         \
3702     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]                              \
3703     IHTMLDOMNode* replaceChild(                                         \
3704         [in] IHTMLDOMNode* newChild,                                    \
3705         [in] IHTMLDOMNode* oldChild);                                   \
3706                                                                         \
3707     [id(DISPID_IHTMLDOMNODE_CLONENODE)]                                 \
3708     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);                   \
3709                                                                         \
3710     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]                                \
3711     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep); \
3712                                                                         \
3713     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]                                  \
3714     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);               \
3715                                                                         \
3716     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]                               \
3717     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);          \
3718                                                                         \
3719     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]                               \
3720     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);             \
3721                                                                         \
3722     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]                         \
3723     BSTR nodeName();                                                    \
3724                                                                         \
3725     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3726     void nodeValue(VARIANT v);                                          \
3727                                                                         \
3728     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3729     VARIANT nodeValue();                                                \
3730                                                                         \
3731     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]                       \
3732     IHTMLDOMNode* firstChild();                                         \
3733                                                                         \
3734     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]                        \
3735     IHTMLDOMNode* lastChild();                                          \
3736                                                                         \
3737     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]                  \
3738     IHTMLDOMNode* previousSibling();                                    \
3739                                                                         \
3740     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]                      \
3741     IHTMLDOMNode* nextSibling()
3742
3743 /*****************************************************************************
3744  *    IHTMLDOMNode2 interface
3745  */
3746 [
3747     odl,
3748     oleautomation,
3749     dual,
3750     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3751 ]
3752 interface IHTMLDOMNode2 : IDispatch
3753 {
3754     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3755     HRESULT ownerDocument([retval, out] IDispatch **p);
3756 }
3757
3758 #define WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL           \
3759     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]   \
3760     IDispatch *ownerDocument()
3761
3762 #define WINE_HTMLDOMNODE_DISPINTERFACE_DECL     \
3763     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;       \
3764     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL
3765
3766 /*****************************************************************************
3767  *    IHTMLDOMAttribute interface
3768  */
3769 [
3770     odl,
3771     oleautomation,
3772     dual,
3773     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3774 ]
3775 interface IHTMLDOMAttribute : IDispatch
3776 {
3777     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3778     HRESULT nodeName([retval, out] BSTR *p);
3779
3780     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3781     HRESULT nodeValue([in] VARIANT v);
3782
3783     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3784     HRESULT nodeValue([retval, out] VARIANT *p);
3785
3786     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3787     HRESULT specified([retval, out] VARIANT_BOOL *p);
3788 }
3789
3790 /*****************************************************************************
3791  *    IHTMLDOMAttribute2 interface
3792  */
3793 [
3794     odl,
3795     oleautomation,
3796     dual,
3797     uuid(3050f810-98b5-11cf-bb82-00aa00bdce0b)
3798 ]
3799 interface IHTMLDOMAttribute2 : IDispatch
3800 {
3801     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3802     HRESULT name([retval, out] BSTR *p);
3803
3804     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3805     HRESULT value([in] BSTR v);
3806
3807     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3808     HRESULT value([retval, out] BSTR *p);
3809
3810     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3811     HRESULT expando([retval, out] VARIANT_BOOL *p);
3812
3813     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3814     HRESULT nodeType([retval, out] long *p);
3815
3816     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3817     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3818
3819     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
3820     HRESULT childNodes([retval, out] IDispatch **p);
3821
3822     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
3823     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3824
3825     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
3826     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3827
3828     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
3829     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3830
3831     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
3832     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3833
3834     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
3835     HRESULT attributes([retval, out] IDispatch **p);
3836
3837     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
3838     HRESULT ownerDocument([retval, out] IDispatch **p);
3839
3840     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
3841     HRESULT insertBefore(
3842             [in] IHTMLDOMNode *newChild,
3843             [optional, in] VARIANT refChild,
3844             [retval, out] IHTMLDOMNode **node);
3845
3846     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
3847     HRESULT replaceChild(
3848             [in] IHTMLDOMNode *newChild,
3849             [in] IHTMLDOMNode *oldChild,
3850             [retval, out] IHTMLDOMNode **node);
3851
3852     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
3853     HRESULT removeChild(
3854             [in] IHTMLDOMNode *oldChild,
3855             [retval, out] IHTMLDOMNode **node);
3856
3857     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
3858     HRESULT appendChild(
3859             [in] IHTMLDOMNode *newChild,
3860             [retval, out] IHTMLDOMNode **node);
3861
3862     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
3863     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3864
3865     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
3866     HRESULT cloneNode(
3867             [in] VARIANT_BOOL fDeep,
3868             [retval, out] IHTMLDOMAttribute **clonedNode);
3869 }
3870
3871 /*****************************************************************************
3872  *    IHTMLDOMTextNode interface
3873  */
3874 [
3875     odl,
3876     oleautomation,
3877     dual,
3878     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3879 ]
3880 interface IHTMLDOMTextNode : IDispatch
3881 {
3882     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3883     HRESULT data([in] BSTR v);
3884
3885     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3886     HRESULT data([out, retval] BSTR *p);
3887
3888     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3889     HRESULT toString([out, retval] BSTR *String);
3890
3891     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3892     HRESULT length([out, retval] LONG *p);
3893
3894     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3895     HRESULT splitText(
3896             [in] LONG offset,
3897             [out, retval] IHTMLDOMNode **pRetNode);
3898 }
3899
3900 /*****************************************************************************
3901  *    IHTMLDOMTextNode2 interface
3902  */
3903 [
3904     odl,
3905     oleautomation,
3906     dual,
3907     uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
3908 ]
3909 interface IHTMLDOMTextNode2 : IDispatch
3910 {
3911     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3912     HRESULT substringData([in] LONG offset,[in] LONG Count,[retval, out] BSTR* pbstrsubString);
3913
3914     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3915     HRESULT appendData([in] BSTR bstrstring);
3916
3917     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3918     HRESULT insertData([in] LONG offset,[in] BSTR bstrstring);
3919
3920     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3921     HRESULT deleteData([in] LONG offset,[in] LONG Count);
3922
3923     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3924     HRESULT replaceData([in] LONG offset,[in] LONG Count,[in] BSTR bstrstring);
3925 }
3926
3927 [
3928     noncreatable,
3929     uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
3930 ]
3931 coclass HTMLDOMTextNode
3932 {
3933     [default]           dispinterface DispHTMLDOMTextNode;
3934                         interface IHTMLDOMTextNode;
3935                         interface IHTMLDOMTextNode2;
3936                         interface IHTMLDOMNode;
3937                         interface IHTMLDOMNode2;
3938 }
3939
3940 /*****************************************************************************
3941  *    IHTMLDOMImplementation interface
3942  */
3943 [
3944     odl,
3945     oleautomation,
3946     dual,
3947     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3948 ]
3949 interface IHTMLDOMImplementation : IDispatch
3950 {
3951     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3952     HRESULT hasFeature(
3953         [in] BSTR bstrfeature,
3954         [optional, in] VARIANT version,
3955         [retval, out] VARIANT_BOOL *pfHasFeature);
3956 }
3957
3958 /*****************************************************************************
3959  *    DispHTMLDOMAttribute dispinterface
3960  */
3961 [
3962     hidden,
3963     uuid(3050f564-98b5-11cf-bb82-00aa00bdce0b)
3964 ]
3965 dispinterface DispHTMLDOMAttribute
3966 {
3967  properties:
3968     methods:
3969     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3970     BSTR nodeName();
3971
3972     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3973     void nodeValue(VARIANT v);
3974
3975     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3976     VARIANT nodeValue();
3977
3978     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3979     VARIANT_BOOL specified();
3980
3981     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3982     BSTR name();
3983
3984     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3985     void value(BSTR v);
3986
3987     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3988     BSTR value();
3989
3990     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3991     VARIANT_BOOL expando();
3992
3993     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3994     long nodeType();
3995
3996     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3997     IHTMLDOMNode *parentNode();
3998
3999     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
4000     IDispatch *childNodes();
4001
4002     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
4003     IHTMLDOMNode *firstChild();
4004
4005     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
4006     IHTMLDOMNode *lastChild();
4007
4008     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
4009     IHTMLDOMNode *previousSibling();
4010
4011     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
4012     IHTMLDOMNode *nextSibling();
4013
4014     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
4015     IDispatch *attributes();
4016
4017     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
4018     IDispatch *ownerDocument();
4019
4020     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
4021     IHTMLDOMNode *insertBefore(
4022             [in] IHTMLDOMNode *newChild,
4023             [optional, in] VARIANT refChild);
4024
4025     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
4026     IHTMLDOMNode *replaceChild(
4027             [in] IHTMLDOMNode *newChild,
4028             [in] IHTMLDOMNode *oldChild);
4029
4030     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
4031     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
4032
4033     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
4034     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
4035
4036     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
4037     VARIANT_BOOL hasChildNodes();
4038
4039     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
4040     IHTMLDOMAttribute *cloneNode([in] VARIANT_BOOL fDeep);
4041
4042     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
4043     void ie8_nodeValue(VARIANT v);
4044
4045     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
4046     VARIANT ie8_nodeValue();
4047
4048     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
4049     void ie8_value(BSTR v);
4050
4051     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
4052     BSTR ie8_value();
4053
4054     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_SPECIFIED)]
4055     VARIANT_BOOL ie8_specified();
4056
4057     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_OWNERELEMENT)]
4058     IHTMLElement2 *ownerElement();
4059
4060     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
4061 }
4062
4063 /*****************************************************************************
4064  *    IHTMLDocumentCompatibleInfo interface
4065  */
4066 [
4067     odl,
4068     oleautomation,
4069     dual,
4070     uuid(3051041a-98b5-11cf-bb82-00aa00bdce0b)
4071 ]
4072 interface IHTMLDocumentCompatibleInfo : IDispatch
4073 {
4074     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_USERAGENT)]
4075     HRESULT userAgent([retval, out] BSTR *p);
4076
4077     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_VERSION)]
4078     HRESULT version([retval, out] BSTR *p);
4079 }
4080
4081 /*****************************************************************************
4082  *    IHTMLDocumentCompatibleInfoCollection interface
4083  */
4084 [
4085     odl,
4086     oleautomation,
4087     dual,
4088     uuid(30510418-98b5-11cf-bb82-00aa00bdce0b)
4089 ]
4090 interface IHTMLDocumentCompatibleInfoCollection : IDispatch
4091 {
4092     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_LENGTH)]
4093     HRESULT length([retval, out] long *p);
4094
4095     [id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_ITEM)]
4096     HRESULT item([in] long i, [retval, out]IHTMLDocumentCompatibleInfo **p);
4097 }
4098
4099 /*****************************************************************************
4100  *    DispHTMLDOMTextNode dispinterface
4101  */
4102 [
4103     hidden,
4104     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
4105 ]
4106 dispinterface DispHTMLDOMTextNode
4107 {
4108 properties:
4109 methods:
4110     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4111     void data(BSTR v);
4112
4113     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4114     BSTR data();
4115
4116     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
4117     BSTR toString();
4118
4119     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
4120     LONG length();
4121
4122     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
4123     IHTMLDOMNode *splitText([in] LONG offset);
4124
4125     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
4126     BSTR substringData(
4127             [in] LONG offset,
4128             [in] LONG Count);
4129
4130     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
4131     void appendData([in] BSTR bstrstring);
4132
4133     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
4134     void insertData(
4135             [in] LONG offset,
4136             [in] BSTR bstrstring);
4137
4138     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
4139     void deleteData(
4140             [in] LONG offset,
4141             [in] LONG Count);
4142
4143     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
4144     void replaceData(
4145             [in] LONG offset,
4146             [in] LONG Count,
4147             [in] BSTR bstrstring);
4148
4149     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
4150 }
4151
4152 /*****************************************************************************
4153  *    IHTMLAttributeCollection interface
4154  */
4155 [
4156     odl,
4157     oleautomation,
4158     dual,
4159     uuid(3050f4c3-98b5-11cf-bb82-00aa00bdce0b)
4160 ]
4161 interface IHTMLAttributeCollection : IDispatch
4162 {
4163     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION_LENGTH)]
4164     HRESULT length(
4165             [retval, out] long *p);
4166
4167     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION__NEWENUM), hidden, restricted]
4168     HRESULT _newEnum(
4169             [retval, out] IUnknown **p);
4170
4171     [id(DISPID_IHTMLATTRIBUTECOLLECTION_ITEM)]
4172     HRESULT item(
4173             [optional, in] VARIANT *name,
4174             [retval, out] IDispatch **pdisp);
4175 }
4176
4177 /*****************************************************************************
4178  *    IHTMLAttributeCollection2 interface
4179  */
4180 [
4181     odl,
4182     oleautomation,
4183     dual,
4184     uuid(3050f80a-98b5-11cf-bb82-00aa00bdce0b)
4185     ]
4186 interface IHTMLAttributeCollection2 : IDispatch
4187 {
4188     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_GETNAMEDITEM)]
4189     HRESULT getNamedItem(
4190             [in] BSTR bstrName,
4191             [retval, out] IHTMLDOMAttribute **newretNode);
4192
4193     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_SETNAMEDITEM)]
4194     HRESULT setNamedItem(
4195             [in] IHTMLDOMAttribute *ppNode,
4196             [retval, out] IHTMLDOMAttribute **newretNode);
4197
4198     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_REMOVENAMEDITEM)]
4199     HRESULT removeNamedItem(
4200             [in] BSTR bstrName,
4201             [retval, out] IHTMLDOMAttribute **newretNode);
4202 }
4203
4204 /*****************************************************************************
4205  *    IHTMLAttributeCollection3 interface
4206  */
4207 [
4208     odl,
4209     oleautomation,
4210     dual,
4211     uuid(30510469-98b5-11cf-bb82-00aa00bdce0b)
4212 ]
4213 interface IHTMLAttributeCollection3 : IDispatch
4214 {
4215     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
4216     HRESULT getNamedItem(
4217             [in] BSTR bstrName,
4218             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4219
4220     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
4221     HRESULT setNamedItem(
4222             [in] IHTMLDOMAttribute *pNodeIn,
4223             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4224
4225     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
4226     HRESULT removeNamedItem(
4227             [in] BSTR bstrName,
4228             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4229
4230     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
4231     HRESULT item(
4232             [in] long index,
4233             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4234
4235     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
4236     HRESULT length([retval, out] long *p);
4237 }
4238
4239 /*****************************************************************************
4240  *    DispHTMLAttributeCollection dispinterface
4241  */
4242 [
4243     hidden,
4244     uuid(3050f56c-98b5-11cf-bb82-00aa00bdce0b)
4245 ]
4246 dispinterface DispHTMLAttributeCollection
4247 {
4248 properties:
4249 methods:
4250     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION_LENGTH)]
4251     long length();
4252
4253     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION__NEWENUM), hidden, restricted]
4254     IUnknown *_newEnum();
4255
4256     [id(DISPID_IHTMLATTRIBUTECOLLECTION_ITEM)]
4257     IDispatch *item([optional, in] VARIANT *name);
4258
4259     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_GETNAMEDITEM)]
4260     IHTMLDOMAttribute *getNamedItem([in] BSTR bstrName);
4261
4262     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_SETNAMEDITEM)]
4263     IHTMLDOMAttribute *setNamedItem([in] IHTMLDOMAttribute *ppNode);
4264
4265     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_REMOVENAMEDITEM)]
4266     IHTMLDOMAttribute *removeNamedItem([in] BSTR bstrName);
4267
4268     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
4269     IHTMLDOMAttribute *ie8_getNamedItem([in] BSTR bstrName);
4270
4271     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
4272     IHTMLDOMAttribute *ie8_setNamedItem([in] IHTMLDOMAttribute *pNodeIn);
4273
4274     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
4275     IHTMLDOMAttribute *ie8_removeNamedItem([in] BSTR bstrName);
4276
4277     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
4278     IHTMLDOMAttribute *ie8_item([in] long index);
4279
4280     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
4281     long ie8_length();
4282
4283     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
4284     IDispatch *constructor();
4285 }
4286
4287 /*****************************************************************************
4288  *    IHTMLDOMChildrenCollection interface
4289  */
4290 [
4291     odl,
4292     oleautomation,
4293     dual,
4294     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
4295 ]
4296 interface IHTMLDOMChildrenCollection : IDispatch
4297 {
4298     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
4299     HRESULT length([out, retval] LONG *p);
4300
4301     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
4302     HRESULT _newEnum([out, retval] IUnknown **p);
4303
4304     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
4305     HRESULT item(
4306             [in] LONG index,
4307             [out, retval] IDispatch **ppItem);
4308 }
4309
4310 /*****************************************************************************
4311  *    DispDOMChildrenCollection dispinterface
4312  */
4313 [
4314     hidden,
4315     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
4316 ]
4317 dispinterface DispDOMChildrenCollection
4318 {
4319 properties:
4320 methods:
4321     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
4322     LONG length();
4323
4324     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
4325     IUnknown *_newEnum();
4326
4327     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
4328     IDispatch *item([in] LONG index);
4329 }
4330
4331 interface IHTMLElementCollection;
4332
4333 /*****************************************************************************
4334  *    IHTMLElement interface
4335  */
4336 [
4337     odl,
4338     dual,
4339     oleautomation,
4340     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
4341 ]
4342 interface IHTMLElement : IDispatch
4343 {
4344     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
4345     HRESULT setAttribute(
4346         [in] BSTR strAttributeName,
4347         [in] VARIANT AttributeValue,
4348         [defaultvalue(1), in] LONG lFlags);
4349
4350     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
4351     HRESULT getAttribute(
4352         [in] BSTR strAttributeName,
4353         [defaultvalue(0), in] LONG lFlags,
4354         [retval, out] VARIANT *AttributeValue);
4355
4356     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
4357     HRESULT removeAttribute(
4358         [in] BSTR strAttributeName,
4359         [defaultvalue(1), in] LONG lFlags,
4360         [retval, out] VARIANT_BOOL *pfSuccess);
4361
4362     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
4363     HRESULT className([in] BSTR v);
4364
4365     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
4366     HRESULT className([retval, out] BSTR *p);
4367
4368     [propput, id(DISPID_IHTMLELEMENT_ID)]
4369     HRESULT id([in] BSTR v);
4370
4371     [propget, id(DISPID_IHTMLELEMENT_ID)]
4372     HRESULT id([retval, out] BSTR *p);
4373
4374     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4375     HRESULT tagName([retval, out] BSTR *p);
4376
4377     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4378     HRESULT parentElement([retval, out] IHTMLElement **p);
4379
4380     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
4381     HRESULT style([retval, out] IHTMLStyle **p);
4382
4383     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
4384     HRESULT onhelp([in] VARIANT v);
4385
4386     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
4387     HRESULT onhelp([retval, out] VARIANT *p);
4388
4389     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
4390     HRESULT onclick([in] VARIANT v);
4391
4392     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
4393     HRESULT onclick([retval, out] VARIANT *p);
4394
4395     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4396     HRESULT ondblclick([in] VARIANT v);
4397
4398     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4399     HRESULT ondblclick([retval, out] VARIANT *p);
4400
4401     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4402     HRESULT onkeydown([in] VARIANT v);
4403
4404     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4405     HRESULT onkeydown([retval, out] VARIANT *p);
4406
4407     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4408     HRESULT onkeyup([in] VARIANT v);
4409
4410     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4411     HRESULT onkeyup([retval, out] VARIANT *p);
4412
4413     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4414     HRESULT onkeypress([in] VARIANT v);
4415
4416     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4417     HRESULT onkeypress([retval, out] VARIANT *p);
4418
4419     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4420     HRESULT onmouseout([in] VARIANT v);
4421
4422     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4423     HRESULT onmouseout([retval, out] VARIANT *p);
4424
4425     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4426     HRESULT onmouseover([in] VARIANT v);
4427
4428     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4429     HRESULT onmouseover([retval, out] VARIANT *p);
4430
4431     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4432     HRESULT onmousemove([in] VARIANT v);
4433
4434     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4435     HRESULT onmousemove([retval, out] VARIANT *p);
4436
4437     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4438     HRESULT onmousedown([in] VARIANT v);
4439
4440     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4441     HRESULT onmousedown([retval, out] VARIANT *p);
4442
4443     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4444     HRESULT onmouseup([in] VARIANT v);
4445
4446     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4447     HRESULT onmouseup([retval, out] VARIANT *p);
4448
4449     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4450     HRESULT document([retval, out] IDispatch **p);
4451
4452     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
4453     HRESULT title([in] BSTR v);
4454
4455     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
4456     HRESULT title([retval, out] BSTR *p);
4457
4458     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4459     HRESULT language([in] BSTR v);
4460
4461     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4462     HRESULT language([retval, out] BSTR *p);
4463
4464     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4465     HRESULT onselectstart([in] VARIANT v);
4466
4467     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4468     HRESULT onselectstart([retval, out] VARIANT *p);
4469
4470     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4471     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
4472
4473     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4474     HRESULT contains(
4475         [in] IHTMLElement *pChild,
4476         [retval, out] VARIANT_BOOL *pfResult);
4477
4478     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
4479     HRESULT sourceIndex([retval, out] LONG *p);
4480
4481     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4482     HRESULT recordNumber([retval, out] VARIANT *p);
4483
4484     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4485     HRESULT lang([in] BSTR v);
4486
4487     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4488     HRESULT lang([retval, out] BSTR *p);
4489
4490     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4491     HRESULT offsetLeft([retval, out] LONG *p);
4492
4493     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4494     HRESULT offsetTop([retval, out] LONG *p);
4495
4496     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4497     HRESULT offsetWidth([retval, out] LONG *p);
4498
4499     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4500     HRESULT offsetHeight([retval, out] LONG *p);
4501
4502     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4503     HRESULT offsetParent([retval, out] IHTMLElement **p);
4504
4505     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4506     HRESULT innerHTML([in] BSTR v);
4507
4508     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4509     HRESULT innerHTML([retval, out] BSTR *p);
4510
4511     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4512     HRESULT innerText([in] BSTR v);
4513
4514     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4515     HRESULT innerText([retval, out] BSTR *p);
4516
4517     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4518     HRESULT outerHTML([in] BSTR v);
4519
4520     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4521     HRESULT outerHTML([retval, out] BSTR *p);
4522
4523     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4524     HRESULT outerText([in] BSTR v);
4525
4526     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4527     HRESULT outerText([retval, out] BSTR *p);
4528
4529     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4530     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
4531
4532     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4533     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
4534
4535     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4536     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
4537
4538     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4539     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
4540
4541     [id(DISPID_IHTMLELEMENT_CLICK)]
4542     HRESULT click();
4543
4544     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4545     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
4546
4547     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4548     HRESULT ondragstart([in] VARIANT v);
4549
4550     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4551     HRESULT ondragstart([retval, out] VARIANT *p);
4552
4553     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4554     HRESULT toString([retval, out] BSTR *String);
4555
4556     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4557     HRESULT onbeforeupdate([in] VARIANT v);
4558
4559     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4560     HRESULT onbeforeupdate([retval, out] VARIANT *p);
4561
4562     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4563     HRESULT onafterupdate([in] VARIANT v);
4564
4565     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4566     HRESULT onafterupdate([retval, out] VARIANT *p);
4567
4568     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4569     HRESULT onerrorupdate([in] VARIANT v);
4570
4571     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4572     HRESULT onerrorupdate([retval, out] VARIANT *p);
4573
4574     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4575     HRESULT onrowexit([in] VARIANT v);
4576
4577     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4578     HRESULT onrowexit([retval, out] VARIANT *p);
4579
4580     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4581     HRESULT onrowenter([in] VARIANT v);
4582
4583     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4584     HRESULT onrowenter([retval, out] VARIANT *p);
4585
4586     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4587     HRESULT ondatasetchanged([in] VARIANT v);
4588
4589     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4590     HRESULT ondatasetchanged([retval, out] VARIANT *p);
4591
4592     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4593     HRESULT ondataavailable([in] VARIANT v);
4594
4595     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4596     HRESULT ondataavailable([retval, out] VARIANT *p);
4597
4598     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4599     HRESULT ondatasetcomplete([in] VARIANT v);
4600
4601     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4602     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
4603
4604     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4605     HRESULT onfilterchange([in] VARIANT v);
4606
4607     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4608     HRESULT onfilterchange([retval, out] VARIANT *p);
4609
4610     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4611     HRESULT children([retval, out] IDispatch **p);
4612
4613     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4614     HRESULT all([retval, out] IDispatch **p);
4615 }
4616
4617 #define WINE_IHTMLELEMENT_DISPINTERFACE_DECL                            \
4618     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]                              \
4619     void setAttribute(                                                  \
4620         [in] BSTR strAttributeName,                                     \
4621         [in] VARIANT AttValue,                                          \
4622         [defaultvalue(1), in] LONG lFlags);                             \
4623                                                                         \
4624     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]                              \
4625     VARIANT getAttribute(                                               \
4626         [in] BSTR strAttributeName,                                     \
4627         [defaultvalue(0), in] LONG lFlags);                             \
4628                                                                         \
4629     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]                           \
4630     VARIANT_BOOL removeAttribute(                                       \
4631         [in] BSTR strAttributeName,                                     \
4632         [defaultvalue(1), in] LONG lFlags);                             \
4633                                                                         \
4634     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4635     void className(BSTR v);                                             \
4636                                                                         \
4637     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4638     BSTR className();                                                   \
4639                                                                         \
4640     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4641     void id(BSTR v);                                                    \
4642                                                                         \
4643     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4644     BSTR id();                                                          \
4645                                                                         \
4646     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]                          \
4647     BSTR tagName();                                                     \
4648                                                                         \
4649     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]                    \
4650     IHTMLElement *parentElement();                                      \
4651                                                                         \
4652     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]              \
4653     IHTMLStyle *style();                                                \
4654                                                                         \
4655     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4656     void onhelp(VARIANT v);                                             \
4657                                                                         \
4658     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4659     VARIANT onhelp();                                                   \
4660                                                                         \
4661     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4662     void onclick(VARIANT v);                                            \
4663                                                                         \
4664     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4665     VARIANT onclick();                                                  \
4666                                                                         \
4667     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4668     void ondblclick(VARIANT v);                                         \
4669                                                                         \
4670     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4671     VARIANT ondblclick();                                               \
4672                                                                         \
4673     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4674     void onkeydown(VARIANT v);                                          \
4675                                                                         \
4676     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4677     VARIANT onkeydown();                                                \
4678                                                                         \
4679     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4680     void onkeyup(VARIANT v);                                            \
4681                                                                         \
4682     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4683     VARIANT onkeyup();                                                  \
4684                                                                         \
4685     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4686     void onkeypress(VARIANT v);                                         \
4687                                                                         \
4688     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4689     VARIANT onkeypress();                                               \
4690                                                                         \
4691     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4692     void onmouseout(VARIANT v);                                         \
4693                                                                         \
4694     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4695     VARIANT onmouseout();                                               \
4696                                                                         \
4697     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4698     void onmouseover(VARIANT v);                                        \
4699                                                                         \
4700     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4701     VARIANT onmouseover();                                              \
4702                                                                         \
4703     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4704     void onmousemove(VARIANT v);                                        \
4705                                                                         \
4706     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4707     VARIANT onmousemove();                                              \
4708                                                                         \
4709     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4710     void onmousedown(VARIANT v);                                        \
4711                                                                         \
4712     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4713     VARIANT onmousedown();                                              \
4714                                                                         \
4715     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4716     void onmouseup(VARIANT v);                                          \
4717                                                                         \
4718     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4719     VARIANT onmouseup();                                                \
4720                                                                         \
4721     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();  \
4722                                                                         \
4723     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4724     void title(BSTR v);                                                 \
4725                                                                         \
4726     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4727     BSTR title();                                                       \
4728                                                                         \
4729     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4730     void language(BSTR v);                                              \
4731                                                                         \
4732     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4733     BSTR language();                                                    \
4734                                                                         \
4735     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4736     void onselectstart(VARIANT v);                                      \
4737                                                                         \
4738     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4739     VARIANT onselectstart();                                            \
4740                                                                         \
4741     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]                            \
4742     void scrollIntoView([optional, in] VARIANT varargStart);            \
4743                                                                         \
4744     [id(DISPID_IHTMLELEMENT_CONTAINS)]                                  \
4745     VARIANT_BOOL contains([in] IHTMLElement* pChild);                   \
4746                                                                         \
4747     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]            \
4748     LONG sourceIndex();                                                 \
4749                                                                         \
4750     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]                     \
4751     VARIANT recordNumber();                                             \
4752                                                                         \
4753     [propput, id(DISPID_IHTMLELEMENT_LANG)]                             \
4754     void lang(BSTR v);                                                  \
4755                                                                         \
4756     [propget, id(DISPID_IHTMLELEMENT_LANG)]                             \
4757     BSTR lang();                                                        \
4758                                                                         \
4759     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]                       \
4760     LONG offsetLeft();                                                  \
4761                                                                         \
4762     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]                        \
4763     LONG offsetTop();                                                   \
4764                                                                         \
4765     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]                      \
4766     LONG offsetWidth();                                                 \
4767                                                                         \
4768     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]                     \
4769     LONG offsetHeight();                                                \
4770                                                                         \
4771     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]                     \
4772     IHTMLElement* offsetParent();                                       \
4773                                                                         \
4774     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4775     void innerHTML(BSTR v);                                             \
4776                                                                         \
4777     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4778     BSTR innerHTML();                                                   \
4779                                                                         \
4780     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4781     void innerText(BSTR v);                                             \
4782                                                                         \
4783     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4784     BSTR innerText();                                                   \
4785                                                                         \
4786     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4787     void outerHTML(BSTR v);                                             \
4788                                                                         \
4789     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4790     BSTR outerHTML();                                                   \
4791                                                                         \
4792     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4793     void outerText(BSTR v);                                             \
4794                                                                         \
4795     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4796     BSTR outerText();                                                   \
4797                                                                         \
4798     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]                        \
4799     void insertAdjacentHTML(                                            \
4800         [in] BSTR where,                                                \
4801         [in] BSTR html);                                                \
4802                                                                         \
4803     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]                        \
4804     void insertAdjacentText(                                            \
4805         [in] BSTR where,                                                \
4806         [in] BSTR text);                                                \
4807                                                                         \
4808     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]                   \
4809     IHTMLElement* parentTextEdit();                                     \
4810                                                                         \
4811     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]                       \
4812     VARIANT_BOOL isTextEdit();                                          \
4813                                                                         \
4814     [id(DISPID_IHTMLELEMENT_CLICK)]                                     \
4815     void click();                                                       \
4816                                                                         \
4817     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]                          \
4818     IHTMLFiltersCollection* filters();                                  \
4819                                                                         \
4820     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4821     void ondragstart(VARIANT v);                                        \
4822                                                                         \
4823     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4824     VARIANT ondragstart();                                              \
4825                                                                         \
4826     [id(DISPID_IHTMLELEMENT_TOSTRING)]                                  \
4827     BSTR toString();                                                    \
4828                                                                         \
4829     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4830     void onbeforeupdate(VARIANT v);                                     \
4831                                                                         \
4832     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4833     VARIANT onbeforeupdate();                                           \
4834                                                                         \
4835     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4836     void onafterupdate(VARIANT v);                                      \
4837                                                                         \
4838     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4839     VARIANT onafterupdate();                                            \
4840                                                                         \
4841     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4842     void onerrorupdate(VARIANT v);                                      \
4843                                                                         \
4844     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4845     VARIANT onerrorupdate();                                            \
4846                                                                         \
4847     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4848     void onrowexit(VARIANT v);                                          \
4849                                                                         \
4850     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4851     VARIANT onrowexit();                                                \
4852                                                                         \
4853     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4854     void onrowenter(VARIANT v);                                         \
4855                                                                         \
4856     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4857     VARIANT onrowenter();                                               \
4858                                                                         \
4859     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4860     void ondatasetchanged(VARIANT v);                                   \
4861                                                                         \
4862     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4863     VARIANT ondatasetchanged();                                         \
4864                                                                         \
4865     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4866     void ondataavailable(VARIANT v);                                    \
4867                                                                         \
4868     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4869     VARIANT ondataavailable();                                          \
4870                                                                         \
4871     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4872     void ondatasetcomplete(VARIANT v);                                  \
4873                                                                         \
4874     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4875     VARIANT ondatasetcomplete();                                        \
4876                                                                         \
4877     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4878     void onfilterchange(VARIANT v);                                     \
4879                                                                         \
4880     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4881     VARIANT onfilterchange();                                           \
4882                                                                         \
4883     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]                         \
4884     IDispatch* children();                                              \
4885                                                                         \
4886     [propget, id(DISPID_IHTMLELEMENT_ALL)]                              \
4887     IDispatch* all()
4888
4889 /*****************************************************************************
4890  *    IHTMLElement2 interface
4891  */
4892 [
4893     odl,
4894     oleautomation,
4895     dual,
4896     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
4897 ]
4898 interface IHTMLElement2 : IDispatch
4899 {
4900     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4901     HRESULT scopeName([retval, out] BSTR *p);
4902
4903     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4904     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
4905
4906     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4907     HRESULT releaseCapture();
4908
4909     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4910     HRESULT onlosecapture([in] VARIANT v);
4911
4912     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4913     HRESULT onlosecapture([retval, out] VARIANT *p);
4914
4915     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4916     HRESULT componentFromPoint(
4917         [in] LONG x,
4918         [in] LONG y,
4919         [retval, out] BSTR *component);
4920
4921     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4922     HRESULT doScroll([optional, in] VARIANT component);
4923
4924     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4925     HRESULT onscroll([in] VARIANT v);
4926
4927     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4928     HRESULT onscroll([retval, out] VARIANT *p);
4929
4930     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4931     HRESULT ondrag([in] VARIANT v);
4932
4933     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4934     HRESULT ondrag([retval, out] VARIANT *p);
4935
4936     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4937     HRESULT ondragend([in] VARIANT v);
4938
4939     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4940     HRESULT ondragend([retval, out] VARIANT *p);
4941
4942     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4943     HRESULT ondragenter([in] VARIANT v);
4944
4945     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4946     HRESULT ondragenter([retval, out] VARIANT *p);
4947
4948     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4949     HRESULT ondragover([in] VARIANT v);
4950
4951     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4952     HRESULT ondragover([retval, out] VARIANT *p);
4953
4954     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4955     HRESULT ondragleave([in] VARIANT v);
4956
4957     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4958     HRESULT ondragleave([retval, out] VARIANT *p);
4959
4960     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4961     HRESULT ondrop([in] VARIANT v);
4962
4963     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4964     HRESULT ondrop([retval, out] VARIANT *p);
4965
4966     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4967     HRESULT onbeforecut([in] VARIANT v);
4968
4969     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4970     HRESULT onbeforecut([retval, out] VARIANT *p);
4971
4972     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4973     HRESULT oncut([in] VARIANT v);
4974
4975     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4976     HRESULT oncut([retval, out] VARIANT *p);
4977
4978     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4979     HRESULT onbeforecopy([in] VARIANT v);
4980
4981     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4982     HRESULT onbeforecopy([retval, out] VARIANT *p);
4983
4984     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4985     HRESULT oncopy([in] VARIANT v);
4986
4987     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4988     HRESULT oncopy([retval, out] VARIANT *p);
4989
4990     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4991     HRESULT onbeforepaste([in] VARIANT v);
4992
4993     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4994     HRESULT onbeforepaste([retval, out] VARIANT *p);
4995
4996     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4997     HRESULT onpaste([in] VARIANT v);
4998
4999     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5000     HRESULT onpaste([retval, out] VARIANT *p);
5001
5002     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
5003     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
5004
5005     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5006     HRESULT onpropertychange([in] VARIANT v);
5007
5008     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5009     HRESULT onpropertychange([retval, out] VARIANT *p);
5010
5011     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
5012     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
5013
5014     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
5015     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
5016
5017     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
5018     HRESULT setExpression(
5019         [in] BSTR propname,
5020         [in] BSTR expression,
5021         [defaultvalue(""), in] BSTR language);
5022
5023     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
5024     HRESULT getExpression(
5025         [in] BSTR propname,
5026         [retval, out] VARIANT *expression);
5027
5028     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
5029     HRESULT removeExpression(
5030         [in] BSTR propname,
5031         [retval, out] VARIANT_BOOL *pfSuccess);
5032
5033     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5034     HRESULT tabIndex([in] short v);
5035
5036     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5037     HRESULT tabIndex([retval, out] short *p);
5038
5039     [id(DISPID_IHTMLELEMENT2_FOCUS)]
5040     HRESULT focus();
5041
5042     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5043     HRESULT accessKey([in] BSTR v);
5044
5045     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5046     HRESULT accessKey([retval, out] BSTR *p);
5047
5048     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5049     HRESULT onblur([in] VARIANT v);
5050
5051     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5052     HRESULT onblur([retval, out] VARIANT *p);
5053
5054     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5055     HRESULT onfocus([in] VARIANT v);
5056
5057     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5058     HRESULT onfocus([retval, out] VARIANT *p);
5059
5060     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5061     HRESULT onresize([in] VARIANT v);
5062
5063     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5064     HRESULT onresize([retval, out] VARIANT *p);
5065
5066     [id(DISPID_IHTMLELEMENT2_BLUR)]
5067     HRESULT blur();
5068
5069     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
5070     HRESULT addFilter([in] IUnknown *pUnk);
5071
5072     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
5073     HRESULT removeFilter([in] IUnknown *pUnk);
5074
5075     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
5076     HRESULT clientHeight([retval, out] LONG *p);
5077
5078     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
5079     HRESULT clientWidth([retval, out] LONG *p);
5080
5081     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
5082     HRESULT clientTop([retval, out] LONG *p);
5083
5084     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
5085     HRESULT clientLeft([retval, out] LONG *p);
5086
5087     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
5088     HRESULT attachEvent(
5089         [in] BSTR event,
5090         [in] IDispatch *pDisp,
5091         [retval, out] VARIANT_BOOL *pfResult);
5092
5093     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
5094     HRESULT detachEvent(
5095         [in] BSTR event,
5096         [in] IDispatch *pDisp);
5097
5098     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
5099     HRESULT readyState([retval, out] VARIANT *p);
5100
5101     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5102     HRESULT onreadystatechange([in] VARIANT v);
5103
5104     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5105     HRESULT onreadystatechange([retval, out] VARIANT *p);
5106
5107     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5108     HRESULT onrowsdelete([in] VARIANT v);
5109
5110     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5111     HRESULT onrowsdelete([retval, out] VARIANT *p);
5112
5113     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5114     HRESULT onrowsinserted([in] VARIANT v);
5115
5116     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5117     HRESULT onrowsinserted([retval, out] VARIANT *p);
5118
5119     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5120     HRESULT oncellchange([in] VARIANT v);
5121
5122     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5123     HRESULT oncellchange([retval, out] VARIANT *p);
5124
5125     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5126     HRESULT dir([in] BSTR v);
5127
5128     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5129     HRESULT dir([retval, out] BSTR *p);
5130
5131     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5132     HRESULT createControlRange([retval, out] IDispatch **range);
5133
5134     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5135     HRESULT scrollHeight([retval, out] LONG *p);
5136
5137     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5138     HRESULT scrollWidth([retval, out] LONG *p);
5139
5140     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5141     HRESULT scrollTop([in] LONG v);
5142
5143     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5144     HRESULT scrollTop([retval, out] LONG *p);
5145
5146     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5147     HRESULT scrollLeft([in] LONG v);
5148
5149     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5150     HRESULT scrollLeft([retval, out] LONG *p);
5151
5152     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5153     HRESULT clearAttributes();
5154
5155     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
5156     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
5157
5158     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5159     HRESULT oncontextmenu([in] VARIANT v);
5160
5161     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5162     HRESULT oncontextmenu([retval, out] VARIANT *p);
5163
5164     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5165     HRESULT insertAdjacentElement(
5166         [in] BSTR where,
5167         [in] IHTMLElement *insertedElement,
5168         [retval, out] IHTMLElement **inserted);
5169
5170     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5171     HRESULT applyElement(
5172         [in] IHTMLElement *apply,
5173         [in] BSTR where,
5174         [retval, out] IHTMLElement **applied);
5175
5176     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5177     HRESULT getAdjacentText(
5178         [in] BSTR where,
5179         [retval, out] BSTR *text);
5180
5181     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5182     HRESULT replaceAdjacentText(
5183         [in] BSTR where,
5184         [in] BSTR newText,
5185         [retval, out] BSTR *oldText);
5186
5187     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5188     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
5189
5190     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5191     HRESULT addBehavior(
5192         [in] BSTR bstrUrl,
5193         [optional, in] VARIANT *pvarFactory,
5194         [retval, out] LONG *pCookie);
5195
5196     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5197     HRESULT removeBehavior(
5198         [in] LONG cookie,
5199         [retval, out] VARIANT_BOOL *pfResult);
5200
5201     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5202     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
5203
5204     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5205     HRESULT behaviorUrns([retval, out] IDispatch **p);
5206
5207     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5208     HRESULT tagUrn([in] BSTR v);
5209
5210     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5211     HRESULT tagUrn([retval, out] BSTR *p);
5212
5213     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5214     HRESULT onbeforeeditfocus([in] VARIANT v);
5215
5216     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5217     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
5218
5219     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5220     HRESULT readyStateValue([retval, out] LONG *p);
5221
5222     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5223     HRESULT getElementsByTagName(
5224         [in] BSTR v,
5225         [retval, out] IHTMLElementCollection **pelColl);
5226 }
5227
5228 #define WINE_IHTMLELEMENT2_DISPINTERFACE_DECL                           \
5229     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]                       \
5230     BSTR scopeName();                                                   \
5231                                                                         \
5232     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]                               \
5233     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture); \
5234                                                                         \
5235     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]                           \
5236     void releaseCapture();                                              \
5237                                                                         \
5238     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
5239     void onlosecapture(VARIANT v);                                      \
5240                                                                         \
5241     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
5242     VARIANT onlosecapture();                                            \
5243                                                                         \
5244     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]                       \
5245     BSTR componentFromPoint([in] LONG x,[in] LONG y);                   \
5246                                                                         \
5247     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]                                 \
5248     void doScroll([optional, in] VARIANT component);                    \
5249                                                                         \
5250     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
5251     void onscroll(VARIANT v);                                           \
5252                                                                         \
5253     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
5254     VARIANT onscroll();                                                 \
5255                                                                         \
5256     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
5257     void ondrag(VARIANT v);                                             \
5258                                                                         \
5259     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
5260     VARIANT ondrag();                                                   \
5261                                                                         \
5262     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
5263     void ondragend(VARIANT v);                                          \
5264                                                                         \
5265     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
5266     VARIANT ondragend();                                                \
5267                                                                         \
5268     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
5269     void ondragenter(VARIANT v);                                        \
5270                                                                         \
5271     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
5272     VARIANT ondragenter();                                              \
5273                                                                         \
5274     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
5275     void ondragover(VARIANT v);                                         \
5276                                                                         \
5277     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
5278     VARIANT ondragover();                                               \
5279                                                                         \
5280     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
5281     void ondragleave(VARIANT v);                                        \
5282                                                                         \
5283     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
5284     VARIANT ondragleave();                                              \
5285                                                                         \
5286     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
5287     void ondrop(VARIANT v);                                             \
5288                                                                         \
5289     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
5290     VARIANT ondrop();                                                   \
5291                                                                         \
5292     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
5293     void onbeforecut(VARIANT v);                                        \
5294                                                                         \
5295     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
5296     VARIANT onbeforecut();                                              \
5297                                                                         \
5298     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
5299     void oncut(VARIANT v);                                              \
5300                                                                         \
5301     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
5302     VARIANT oncut();                                                    \
5303                                                                         \
5304     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
5305     void onbeforecopy(VARIANT v);                                       \
5306                                                                         \
5307     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
5308     VARIANT onbeforecopy();                                             \
5309                                                                         \
5310     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
5311     void oncopy(VARIANT v);                                             \
5312                                                                         \
5313     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
5314     VARIANT oncopy();                                                   \
5315                                                                         \
5316     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
5317     void onbeforepaste(VARIANT v);                                      \
5318                                                                         \
5319     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
5320     VARIANT onbeforepaste();                                            \
5321                                                                         \
5322     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
5323     void onpaste(VARIANT v);                                            \
5324                                                                         \
5325     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
5326     VARIANT onpaste();                                                  \
5327                                                                         \
5328     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]      \
5329     IHTMLCurrentStyle* currentStyle();                                  \
5330                                                                         \
5331     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
5332     void onpropertychange(VARIANT v);                                   \
5333                                                                         \
5334     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
5335     VARIANT onpropertychange();                                         \
5336                                                                         \
5337     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]                           \
5338     IHTMLRectCollection* getClientRects();                              \
5339                                                                         \
5340     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]                    \
5341     IHTMLRect* getBoundingClientRect();                                 \
5342                                                                         \
5343     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]                            \
5344     void setExpression(                                                 \
5345         [in] BSTR propname,                                             \
5346         [in] BSTR expr,                                                 \
5347         [defaultvalue(""), in] BSTR lang);                              \
5348                                                                         \
5349     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]                            \
5350     VARIANT getExpression([in] BSTR propname);                          \
5351                                                                         \
5352     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]                         \
5353     VARIANT_BOOL removeExpression([in] BSTR propname);                  \
5354                                                                         \
5355     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
5356     void tabIndex(short v);                                             \
5357                                                                         \
5358     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
5359     short tabIndex();                                                   \
5360                                                                         \
5361     [id(DISPID_IHTMLELEMENT2_FOCUS)]                                    \
5362     void focus();                                                       \
5363                                                                         \
5364     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
5365     void accessKey(BSTR v);                                             \
5366                                                                         \
5367     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
5368     BSTR accessKey();                                                   \
5369                                                                         \
5370     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5371     void onblur(VARIANT v);                                             \
5372                                                                         \
5373     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5374     VARIANT onblur();                                                   \
5375                                                                         \
5376     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5377     void onfocus(VARIANT v);                                            \
5378                                                                         \
5379     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5380     VARIANT onfocus();                                                  \
5381                                                                         \
5382     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5383     void onresize(VARIANT v);                                           \
5384                                                                         \
5385     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5386     VARIANT onresize();                                                 \
5387                                                                         \
5388     [id(DISPID_IHTMLELEMENT2_BLUR)]                                     \
5389     void blur();                                                        \
5390                                                                         \
5391     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]                                \
5392     void addFilter([in] IUnknown* pUnk);                                \
5393                                                                         \
5394     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]                             \
5395     void removeFilter([in] IUnknown* pUnk);                             \
5396                                                                         \
5397     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] \
5398     LONG clientHeight();                                                \
5399                                                                         \
5400     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] \
5401     LONG clientWidth();                                                 \
5402                                                                         \
5403     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] \
5404     LONG clientTop();                                                   \
5405                                                                         \
5406     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] \
5407     LONG clientLeft();                                                  \
5408                                                                         \
5409     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]                              \
5410     VARIANT_BOOL attachEvent(                                           \
5411             [in] BSTR event,                                            \
5412             [in] IDispatch* pDisp);                                     \
5413                                                                         \
5414     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]                              \
5415     void detachEvent(                                                   \
5416             [in] BSTR event,                                            \
5417             [in] IDispatch* pDisp);                                     \
5418                                                                         \
5419     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState(); \
5420                                                                         \
5421     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5422     void onreadystatechange(VARIANT v);                                 \
5423                                                                         \
5424     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5425     VARIANT onreadystatechange();                                       \
5426                                                                         \
5427     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5428     void onrowsdelete(VARIANT v);                                       \
5429                                                                         \
5430     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5431     VARIANT onrowsdelete();                                             \
5432                                                                         \
5433     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5434     void onrowsinserted(VARIANT v);                                     \
5435                                                                         \
5436     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5437     VARIANT onrowsinserted();                                           \
5438                                                                         \
5439     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5440     void oncellchange(VARIANT v);                                       \
5441                                                                         \
5442     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5443     VARIANT oncellchange();                                             \
5444                                                                         \
5445     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5446     void dir(BSTR v);                                                   \
5447                                                                         \
5448     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5449     BSTR dir();                                                         \
5450                                                                         \
5451     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]                       \
5452     IDispatch* createControlRange();                                    \
5453                                                                         \
5454     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] \
5455     LONG scrollHeight();                                                \
5456                                                                         \
5457     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] \
5458     LONG scrollWidth();                                                 \
5459                                                                         \
5460     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5461     void scrollTop(LONG v);                                             \
5462                                                                         \
5463     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5464     LONG scrollTop();                                                   \
5465                                                                         \
5466     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5467     void scrollLeft(LONG v);                                            \
5468                                                                         \
5469     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5470     LONG scrollLeft();                                                  \
5471                                                                         \
5472     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]                          \
5473     void clearAttributes();                                             \
5474                                                                         \
5475     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5476     void oncontextmenu(VARIANT v);                                      \
5477                                                                         \
5478     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5479     VARIANT oncontextmenu();                                            \
5480                                                                         \
5481     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]                    \
5482     IHTMLElement* insertAdjacentElement(                                \
5483         [in] BSTR where,                                                \
5484         [in] IHTMLElement* insertedElement);                            \
5485                                                                         \
5486     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]                             \
5487     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where); \
5488                                                                         \
5489     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]                          \
5490     BSTR getAdjacentText([in] BSTR where);                              \
5491                                                                         \
5492     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]                      \
5493     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);        \
5494                                                                         \
5495     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]                 \
5496     VARIANT_BOOL canHaveChildren();                                     \
5497                                                                         \
5498     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]                              \
5499     LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory); \
5500                                                                         \
5501     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]                           \
5502     VARIANT_BOOL removeBehavior([in] LONG cookie);                      \
5503                                                                         \
5504     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]      \
5505     IHTMLStyle* runtimeStyle();                                         \
5506                                                                         \
5507     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]                    \
5508     IDispatch* behaviorUrns();                                          \
5509                                                                         \
5510     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5511     void tagUrn(BSTR v);                                                \
5512                                                                         \
5513     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5514     BSTR tagUrn();                                                      \
5515                                                                         \
5516     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5517     void onbeforeeditfocus(VARIANT v);                                  \
5518                                                                         \
5519     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5520     VARIANT onbeforeeditfocus();                                        \
5521                                                                         \
5522     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] \
5523     LONG readyStateValue();                                             \
5524                                                                         \
5525     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]                     \
5526     IHTMLElementCollection* getElementsByTagName([in] BSTR v)
5527
5528 /*****************************************************************************
5529  *    IHTMLElement3 interface
5530  */
5531 [
5532     odl,
5533     oleautomation,
5534     dual,
5535     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
5536 ]
5537 interface IHTMLElement3 : IDispatch
5538 {
5539     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
5540     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
5541
5542     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5543     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
5544
5545     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5546     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
5547
5548     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5549     HRESULT onlayoutcomplete([in] VARIANT v);
5550
5551     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5552     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
5553
5554     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5555     HRESULT onpage([in] VARIANT v);
5556
5557     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5558     HRESULT onpage([retval, out] VARIANT * p);
5559
5560     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5561     HRESULT inflateBlock([in] VARIANT_BOOL v);
5562
5563     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5564     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
5565
5566     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5567     HRESULT onbeforedeactivate([in] VARIANT v);
5568
5569     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5570     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
5571
5572     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
5573
5574     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5575     HRESULT contentEditable([in] BSTR v);
5576
5577     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5578     HRESULT contentEditable([retval, out] BSTR * p);
5579
5580     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5581     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
5582
5583     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5584     HRESULT hideFocus([in] VARIANT_BOOL v);
5585
5586     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5587     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
5588
5589     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5590     HRESULT disabled([in] VARIANT_BOOL v);
5591
5592     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5593     HRESULT disabled([retval, out] VARIANT_BOOL * p);
5594
5595     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5596     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
5597
5598     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5599     HRESULT onmove([in] VARIANT v);
5600
5601     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5602     HRESULT onmove([retval, out] VARIANT * p);
5603
5604     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5605     HRESULT oncontrolselect([in] VARIANT v);
5606
5607     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5608     HRESULT oncontrolselect([retval, out] VARIANT * p);
5609
5610     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5611     HRESULT fireEvent(
5612         [in] BSTR bstrEventName,
5613         [optional, in] VARIANT* pvarEventObject,
5614         [retval, out] VARIANT_BOOL* pfCancelled);
5615
5616     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5617     HRESULT onresizestart([in] VARIANT v);
5618
5619     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5620     HRESULT onresizestart([retval, out] VARIANT * p);
5621
5622     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5623     HRESULT onresizeend([in] VARIANT v);
5624
5625     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5626     HRESULT onresizeend([retval, out] VARIANT * p);
5627
5628     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5629     HRESULT onmovestart([in] VARIANT v);
5630
5631     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5632     HRESULT onmovestart([retval, out] VARIANT * p);
5633
5634     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5635     HRESULT onmoveend([in] VARIANT v);
5636
5637     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5638     HRESULT onmoveend([retval, out] VARIANT * p);
5639
5640     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5641     HRESULT onmouseenter([in] VARIANT v);
5642
5643     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5644     HRESULT onmouseenter([retval, out] VARIANT * p);
5645
5646     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5647     HRESULT onmouseleave([in] VARIANT v);
5648
5649     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5650     HRESULT onmouseleave([retval, out] VARIANT * p);
5651
5652     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5653     HRESULT onactivate([in] VARIANT v);
5654
5655     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5656     HRESULT onactivate([retval, out] VARIANT * p);
5657
5658     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5659     HRESULT ondeactivate([in] VARIANT v);
5660
5661     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5662     HRESULT ondeactivate([retval, out] VARIANT * p);
5663
5664     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
5665     VARIANT_BOOL* pfRet);
5666
5667     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5668     HRESULT glyphMode([retval, out] LONG * p);
5669 }
5670
5671 #define WINE_IHTMLELEMENT3_DISPINTERFACE_DECL                           \
5672                                                                         \
5673     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]                          \
5674     void mergeAttributes(                                               \
5675             [in] IHTMLElement* mergeThis,                               \
5676             [optional, in] VARIANT* pvarFlags);                         \
5677                                                                         \
5678     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]                     \
5679     VARIANT_BOOL isMultiLine();                                         \
5680                                                                         \
5681     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]                     \
5682     VARIANT_BOOL canHaveHTML();                                         \
5683                                                                         \
5684     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5685     void onlayoutcomplete(VARIANT v);                                   \
5686                                                                         \
5687     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5688     VARIANT onlayoutcomplete();                                         \
5689                                                                         \
5690     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5691     void onpage(VARIANT v);                                             \
5692                                                                         \
5693     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5694     VARIANT onpage();                                                   \
5695                                                                         \
5696     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5697     void inflateBlock(VARIANT_BOOL v);                                  \
5698                                                                         \
5699     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5700     VARIANT_BOOL inflateBlock();                                        \
5701                                                                         \
5702     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5703     void onbeforedeactivate(VARIANT v);                                 \
5704                                                                         \
5705     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5706     VARIANT onbeforedeactivate();                                       \
5707                                                                         \
5708     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]                                \
5709     void setActive();                                                   \
5710                                                                         \
5711     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5712     void contentEditable(BSTR v);                                       \
5713                                                                         \
5714     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5715     BSTR contentEditable();                                             \
5716                                                                         \
5717     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]               \
5718     VARIANT_BOOL isContentEditable();                                   \
5719                                                                         \
5720     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5721     void hideFocus(VARIANT_BOOL v);                                     \
5722                                                                         \
5723     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5724     VARIANT_BOOL hideFocus();                                           \
5725                                                                         \
5726     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5727     void disabled(VARIANT_BOOL v);                                      \
5728                                                                         \
5729     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5730     VARIANT_BOOL disabled();                                            \
5731                                                                         \
5732     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]                      \
5733     VARIANT_BOOL isDisabled();                                          \
5734                                                                         \
5735     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5736     void onmove(VARIANT v);                                             \
5737                                                                         \
5738     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5739     VARIANT onmove();                                                   \
5740                                                                         \
5741     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5742     void oncontrolselect(VARIANT v);                                    \
5743                                                                         \
5744     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5745     VARIANT oncontrolselect();                                          \
5746                                                                         \
5747     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]                                \
5748     VARIANT_BOOL fireEvent(                                             \
5749         [in] BSTR bstrEventName,                                        \
5750         [optional, in] VARIANT* pvarEventObject);                       \
5751                                                                         \
5752     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5753     void onresizestart(VARIANT v);                                      \
5754                                                                         \
5755     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5756     VARIANT onresizestart();                                            \
5757                                                                         \
5758     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5759     void onresizeend(VARIANT v);                                        \
5760                                                                         \
5761     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5762     VARIANT onresizeend();                                              \
5763                                                                         \
5764     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5765     void onmovestart(VARIANT v);                                        \
5766                                                                         \
5767     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5768     VARIANT onmovestart();                                              \
5769                                                                         \
5770     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5771     void onmoveend(VARIANT v);                                          \
5772                                                                         \
5773     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5774     VARIANT onmoveend();                                                \
5775                                                                         \
5776     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5777     void onmouseenter(VARIANT v);                                       \
5778                                                                         \
5779     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5780     VARIANT onmouseenter();                                             \
5781                                                                         \
5782     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5783     void onmouseleave(VARIANT v);                                       \
5784                                                                         \
5785     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5786     VARIANT onmouseleave();                                             \
5787                                                                         \
5788     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5789     void onactivate(VARIANT v);                                         \
5790                                                                         \
5791     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5792     VARIANT onactivate();                                               \
5793                                                                         \
5794     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5795     void ondeactivate(VARIANT v);                                       \
5796                                                                         \
5797     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5798     VARIANT ondeactivate();                                             \
5799                                                                         \
5800     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]                                 \
5801     VARIANT_BOOL dragDrop();                                            \
5802                                                                         \
5803     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] \
5804     LONG glyphMode()
5805
5806 /*****************************************************************************
5807  *    IHTMLElement4 interface
5808  */
5809 [
5810     odl,
5811     oleautomation,
5812     dual,
5813     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
5814 ]
5815 interface IHTMLElement4 : IDispatch
5816 {
5817     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5818     HRESULT onmousewheel([in] VARIANT v);
5819
5820     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5821     HRESULT onmousewheel([retval, out] VARIANT * p);
5822
5823     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5824     HRESULT normalize();
5825
5826     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5827     HRESULT getAttributeNode([in] BSTR bstrname,
5828         [retval, out] IHTMLDOMAttribute** ppAttribute);
5829
5830     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5831     HRESULT setAttributeNode(
5832         [in] IHTMLDOMAttribute* pattr,
5833         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5834
5835     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5836     HRESULT removeAttributeNode(
5837         [in] IHTMLDOMAttribute* pattr,
5838         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5839
5840     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5841     HRESULT onbeforeactivate([in] VARIANT v);
5842
5843     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5844     HRESULT onbeforeactivate([retval, out] VARIANT * p);
5845
5846     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5847     HRESULT onfocusin([in] VARIANT v);
5848
5849     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5850     HRESULT onfocusin([retval, out] VARIANT * p);
5851
5852     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5853     HRESULT onfocusout([in] VARIANT v);
5854
5855     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5856     HRESULT onfocusout([retval, out] VARIANT * p);
5857 }
5858
5859 #define WINE_IHTMLELEMENT4_DISPINTERFACE_DECL                           \
5860     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5861     void onmousewheel(VARIANT v);                                       \
5862                                                                         \
5863     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5864     VARIANT onmousewheel();                                             \
5865                                                                         \
5866     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]                                \
5867     void normalize();                                                   \
5868                                                                         \
5869     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]                         \
5870     IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);            \
5871                                                                         \
5872     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]                         \
5873     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr); \
5874                                                                         \
5875     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]                      \
5876     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr); \
5877                                                                         \
5878     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5879     void onbeforeactivate(VARIANT v);                                   \
5880                                                                         \
5881     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5882     VARIANT onbeforeactivate();                                         \
5883                                                                         \
5884     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5885     void onfocusin(VARIANT v);                                          \
5886                                                                         \
5887     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5888     VARIANT onfocusin();                                                \
5889                                                                         \
5890     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5891     void onfocusout(VARIANT v);                                         \
5892                                                                         \
5893     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5894     VARIANT onfocusout()
5895
5896 #define WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL                \
5897     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)]                 \
5898     IHTMLElement *querySelector([in] BSTR v);                   \
5899                                                                 \
5900     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)]              \
5901     IHTMLDOMChildrenCollection *querySelectorAll([in] BSTR v)
5902
5903 /*****************************************************************************
5904  *    IHTMLUniqueName interface
5905  */
5906 [
5907     odl,
5908     oleautomation,
5909     dual,
5910     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
5911 ]
5912 interface IHTMLUniqueName : IDispatch
5913 {
5914     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5915     HRESULT uniqueNumber([retval, out] LONG * p);
5916
5917     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5918     HRESULT uniqueID([retval, out] BSTR * p);
5919 }
5920
5921 #define WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL                 \
5922     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]  \
5923     LONG uniqueNumber();                                        \
5924                                                                 \
5925     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]      \
5926     BSTR uniqueID()
5927
5928 #define WINE_IHTMLELEMENT5_DISPINTERFACE_DECL                           \
5929     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)]                     \
5930     IHTMLDOMAttribute2 *ie8_getAttributeNode([in] BSTR bstrname);       \
5931                                                                         \
5932     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)]                     \
5933     IHTMLDOMAttribute2 *ie8_setAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5934                                                                         \
5935     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)]                  \
5936     IHTMLDOMAttribute2 *ie8_removeAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5937                                                                         \
5938     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)]                             \
5939     VARIANT_BOOL hasAttribute([in] BSTR name);                          \
5940                                                                         \
5941     [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5942     void role(BSTR v);                                                  \
5943                                                                         \
5944     [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5945     BSTR role();                                                        \
5946                                                                         \
5947     [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5948     void ariaBusy(BSTR v);                                              \
5949                                                                         \
5950     [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5951     BSTR ariaBusy();                                                    \
5952                                                                         \
5953     [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5954     void ariaChecked(BSTR v);                                           \
5955                                                                         \
5956     [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5957     BSTR ariaChecked();                                                 \
5958                                                                         \
5959     [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5960     void ariaDisabled(BSTR v);                                          \
5961                                                                         \
5962     [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5963     BSTR ariaDisabled();                                                \
5964                                                                         \
5965     [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5966     void ariaExpanded(BSTR v);                                          \
5967                                                                         \
5968     [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5969     BSTR ariaExpanded();                                                \
5970                                                                         \
5971     [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable]\
5972     void ariaHaspopup(BSTR v);                                          \
5973                                                                         \
5974     [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] \
5975     BSTR ariaHaspopup();                                                \
5976                                                                         \
5977     [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5978     void ariaHidden(BSTR v);                                            \
5979                                                                         \
5980     [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5981     BSTR ariaHidden();                                                  \
5982                                                                         \
5983     [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5984     void ariaInvalid(BSTR v);                                           \
5985                                                                         \
5986     [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5987     BSTR ariaInvalid();                                                 \
5988                                                                         \
5989     [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5990     void ariaMultiselectable(BSTR v);                                   \
5991                                                                         \
5992     [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5993     BSTR ariaMultiselectable();                                         \
5994                                                                         \
5995     [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5996     void ariaPressed(BSTR v);                                           \
5997                                                                         \
5998     [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5999     BSTR ariaPressed();                                                 \
6000                                                                         \
6001     [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
6002     void ariaReadonly(BSTR v);                                          \
6003                                                                         \
6004     [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
6005     BSTR ariaReadonly();                                                \
6006                                                                         \
6007     [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
6008     void ariaRequired(BSTR v);                                          \
6009                                                                         \
6010     [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
6011     BSTR ariaRequired();                                                \
6012                                                                         \
6013     [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
6014     void ariaSecret(BSTR v);                                            \
6015                                                                         \
6016     [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
6017     BSTR ariaSecret();                                                  \
6018                                                                         \
6019     [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
6020     void ariaSelected(BSTR v);                                          \
6021                                                                         \
6022     [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
6023     BSTR ariaSelected();                                                \
6024                                                                         \
6025     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)]                         \
6026     VARIANT ie8_getAttribute([in] BSTR strAttributeName);               \
6027                                                                         \
6028     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)]                         \
6029     void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue); \
6030                                                                         \
6031     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)]                      \
6032     VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);       \
6033                                                                         \
6034     [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)]                  \
6035     IHTMLAttributeCollection3 *ie8_attributes();                        \
6036                                                                         \
6037     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
6038     void ariaValuenow(BSTR v);                                          \
6039                                                                         \
6040     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
6041     BSTR ariaValuenow();                                                \
6042                                                                         \
6043     [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
6044     void ariaPosinset(short v);                                         \
6045                                                                         \
6046     [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
6047     short ariaPosinset();                                               \
6048                                                                         \
6049     [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
6050     void ariaSetsize(short v);                                          \
6051                                                                         \
6052     [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
6053     short ariaSetsize();                                                \
6054                                                                         \
6055     [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
6056     void ariaLevel(short v);                                            \
6057                                                                         \
6058     [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
6059     short ariaLevel();                                                  \
6060                                                                         \
6061     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
6062     void ariaValuemin(BSTR v);                                          \
6063                                                                         \
6064     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
6065     BSTR ariaValuemin();                                                \
6066                                                                         \
6067     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
6068     void ariaValuemax(BSTR v);                                          \
6069                                                                         \
6070     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
6071     BSTR ariaValuemax();                                                \
6072                                                                         \
6073     [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
6074     void ariaControls(BSTR v);                                          \
6075                                                                         \
6076     [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
6077     BSTR ariaControls();                                                \
6078                                                                         \
6079     [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
6080     void ariaDescribedby(BSTR v);                                       \
6081                                                                         \
6082     [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
6083     BSTR ariaDescribedby();                                             \
6084                                                                         \
6085     [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
6086     void ariaFlowto(BSTR v);                                            \
6087                                                                         \
6088     [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
6089     BSTR ariaFlowto();                                                  \
6090                                                                         \
6091     [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
6092     void ariaLabelledby(BSTR v);                                        \
6093                                                                         \
6094     [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
6095     BSTR ariaLabelledby();                                              \
6096                                                                         \
6097     [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
6098     void ariaActivedescendant(BSTR v);                                  \
6099                                                                         \
6100     [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
6101     BSTR ariaActivedescendant();                                        \
6102                                                                         \
6103     [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
6104     void ariaOwns(BSTR v);                                              \
6105                                                                         \
6106     [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
6107     BSTR ariaOwns();                                                    \
6108                                                                         \
6109     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)]                            \
6110     VARIANT_BOOL hasAttributes();                                       \
6111                                                                         \
6112     [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
6113     void ariaLive(BSTR v);                                              \
6114                                                                         \
6115     [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
6116     BSTR ariaLive();                                                    \
6117                                                                         \
6118     [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
6119     void ariaRelevant(BSTR v);                                          \
6120                                                                         \
6121     [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
6122     BSTR ariaRelevant()
6123
6124 [
6125     odl,
6126     oleautomation,
6127     dual,
6128     uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
6129 ]
6130 interface IHTMLDatabinding : IDispatch
6131 {
6132     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6133     HRESULT dataFld([in] BSTR v);
6134
6135     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6136     HRESULT dataFld([retval, out] BSTR * p);
6137
6138     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6139     HRESULT dataSrc([in] BSTR v);
6140
6141     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6142     HRESULT dataSrc([retval, out] BSTR * p);
6143
6144     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6145     HRESULT dataFormatAs([in] BSTR v);
6146
6147     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6148     HRESULT dataFormatAs([retval, out] BSTR * p);
6149 }
6150
6151 #define WINE_IHTMLDATABINDING_DISPINTERFACE_DECL        \
6152     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
6153     void dataFld(BSTR v);                               \
6154                                                         \
6155     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
6156     BSTR dataFld();                                     \
6157                                                         \
6158     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
6159     void dataSrc(BSTR v);                               \
6160                                                         \
6161     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
6162     BSTR dataSrc();                                     \
6163                                                         \
6164     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
6165     void dataFormatAs(BSTR v);                          \
6166                                                         \
6167     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
6168     BSTR dataFormatAs()
6169
6170 #define WINE_HTMLELEMENT_DISPINTERFACE_DECL     \
6171     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
6172     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
6173     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
6174     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
6175     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
6176     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
6177     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
6178     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
6179
6180 #define WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL \
6181     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
6182     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
6183     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
6184     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
6185     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
6186     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
6187     WINE_IHTMLDATABINDING_DISPINTERFACE_DECL;   \
6188     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
6189     WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL;   \
6190     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
6191
6192 /*****************************************************************************
6193  *    IHTMLGenericElement interface
6194  */
6195 [
6196     odl,
6197     oleautomation,
6198     dual,
6199     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
6200 ]
6201 interface IHTMLGenericElement : IDispatch
6202 {
6203     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
6204     HRESULT recordset([out, retval] IDispatch **p);
6205
6206     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
6207     HRESULT namedRecordset(
6208             [in] BSTR dataMember,
6209             [in, optional] VARIANT *hierarchy,
6210             [out, retval] IDispatch **ppRecordset);
6211 }
6212
6213 /*****************************************************************************
6214  *    DispHTMLGenericElement dispinterface
6215  */
6216 [
6217     hidden,
6218     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
6219 ]
6220 dispinterface DispHTMLGenericElement
6221 {
6222 properties:
6223 methods:
6224     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6225
6226     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
6227     IDispatch *recordset();
6228
6229     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
6230     IDispatch *namedRecordset(
6231             [in] BSTR dataMember,
6232             [in, optional] VARIANT *hierarchy);
6233 }
6234
6235 /*****************************************************************************
6236  *    IHTMLStyleSheetRule interface
6237  */
6238 [
6239     odl,
6240     oleautomation,
6241     dual,
6242     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
6243 ]
6244 interface IHTMLStyleSheetRule : IDispatch
6245 {
6246     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6247     HRESULT selectorText([in] BSTR v);
6248
6249     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6250     HRESULT selectorText([retval, out] BSTR *p);
6251
6252     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
6253     HRESULT style([retval, out] IHTMLRuleStyle **p);
6254
6255     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
6256     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6257 }
6258
6259 [
6260     hidden,
6261     uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b)
6262 ]
6263 dispinterface DispHTMLStyleSheetRule
6264 {
6265 properties:
6266 methods:
6267     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6268     void selectorText(BSTR v);
6269
6270     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6271     BSTR selectorText();
6272
6273     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable]
6274     IHTMLRuleStyle* style();
6275
6276     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
6277     VARIANT_BOOL readOnly();
6278
6279     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6280 }
6281
6282 [
6283     noncreatable,
6284     uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b)
6285 ]
6286 coclass HTMLStyleSheetRule
6287 {
6288     [default]           dispinterface DispHTMLStyleSheetRule;
6289                         interface IHTMLStyleSheetRule;
6290                         interface IHTMLDOMConstructor;
6291 }
6292
6293 /*****************************************************************************
6294  *    IHTMLStyleSheetRulesCollection interface
6295  */
6296 [
6297     odl,
6298     oleautomation,
6299     dual,
6300     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
6301 ]
6302 interface IHTMLStyleSheetRulesCollection : IDispatch
6303 {
6304     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
6305     HRESULT length([retval, out] LONG *p);
6306
6307     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
6308     HRESULT item(
6309         [in] LONG index,
6310         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
6311 }
6312
6313 [
6314     hidden,
6315     uuid(3050f52f-98b5-11cf-bb82-00aa00bdce0b)
6316 ]
6317 dispinterface DispHTMLStyleSheetRulesCollection
6318 {
6319 properties:
6320 methods:
6321     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
6322     long length();
6323
6324     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
6325     IHTMLStyleSheetRule* item([in] long index);
6326
6327     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6328 }
6329
6330 [
6331     noncreatable,
6332     uuid(3050f3cd-98b5-11cf-bb82-00aa00bdce0b)
6333 ]
6334 coclass HTMLStyleSheetRulesCollection
6335 {
6336     [default]           dispinterface DispHTMLStyleSheetRulesCollection;
6337                         interface IHTMLStyleSheetRulesCollection;
6338                         interface IHTMLDOMConstructor;
6339 }
6340
6341 [
6342     odl,
6343     oleautomation,
6344     dual,
6345     uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
6346 ]
6347 interface IHTMLStyleSheetPage : IDispatch
6348 {
6349     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
6350     HRESULT selector([retval, out] BSTR *p);
6351
6352     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
6353     HRESULT pseudoClass([retval, out] BSTR *p);
6354 }
6355
6356 [
6357     hidden,
6358     uuid(3050f540-98b5-11cf-bb82-00aa00bdce0b)
6359 ]
6360 dispinterface DispHTMLStyleSheetPage
6361 {
6362 properties:
6363 methods:
6364     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
6365     BSTR selector();
6366
6367     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
6368     BSTR pseudoClass();
6369
6370     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6371 }
6372 [
6373     noncreatable,
6374     uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b)
6375 ]
6376 coclass HTMLStyleSheetPage
6377 {
6378     [default]           dispinterface DispHTMLStyleSheetPage;
6379                         interface IHTMLStyleSheetPage;
6380                         interface IHTMLDOMConstructor;
6381 }
6382
6383 [
6384     odl,
6385     oleautomation,
6386     dual,
6387     uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
6388 ]
6389 interface IHTMLStyleSheetPagesCollection : IDispatch
6390 {
6391     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6392     HRESULT length([retval, out] LONG *p);
6393
6394     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6395     HRESULT item(
6396         [in] LONG index,
6397         [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
6398 }
6399
6400 [
6401     hidden,
6402     uuid(3050f543-98b5-11cf-bb82-00aa00bdce0b)
6403 ]
6404 dispinterface DispHTMLStyleSheetPagesCollection
6405 {
6406 properties:
6407 methods:
6408     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6409     long length();
6410
6411     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6412     IHTMLStyleSheetPage* item([in] long index);
6413
6414     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6415 }
6416
6417 [
6418     noncreatable,
6419     uuid(3050f7f1-98b5-11cf-bb82-00aa00bdce0b)
6420 ]
6421 coclass HTMLStyleSheetPagesCollection
6422 {
6423     [default]           dispinterface DispHTMLStyleSheetPagesCollection;
6424                         interface IHTMLStyleSheetPagesCollection;
6425                         interface IHTMLDOMConstructor;
6426 }
6427
6428 /*****************************************************************************
6429  *    IHTMLStyleSheet interface
6430  */
6431 [
6432     odl,
6433     oleautomation,
6434     dual,
6435     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
6436 ]
6437 interface IHTMLStyleSheet : IDispatch
6438 {
6439     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6440     HRESULT title([in] BSTR v);
6441
6442     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6443     HRESULT title([retval, out] BSTR *p);
6444
6445     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6446     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
6447
6448     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6449     HRESULT owningElement([retval, out] IHTMLElement **p);
6450
6451     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6452     HRESULT disabled([in] VARIANT_BOOL v);
6453
6454     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6455     HRESULT disabled([retval, out] VARIANT_BOOL *p);
6456
6457     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6458     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6459
6460     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6461     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
6462
6463     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6464     HRESULT href([in] BSTR v);
6465
6466     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6467     HRESULT href([retval, out] BSTR *p);
6468
6469     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6470     HRESULT type([retval, out] BSTR *p);
6471
6472     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6473     HRESULT id([retval, out] BSTR *p);
6474
6475     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6476     HRESULT addImport(
6477         [in] BSTR bstrURL,
6478         [defaultvalue(-1), in] LONG lIndex,
6479         [retval, out] LONG *plIndex);
6480
6481     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6482     HRESULT addRule(
6483         [in] BSTR bstrSelector,
6484         [in] BSTR bstrStyle,
6485         [defaultvalue(-1), in] LONG lIndex,
6486         [retval, out] LONG *plNewIndex);
6487
6488     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6489     HRESULT removeImport([in] LONG lIndex);
6490
6491     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6492     HRESULT removeRule([in] LONG lIndex);
6493
6494     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6495     HRESULT media([in] BSTR v);
6496
6497     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6498     HRESULT media([retval, out] BSTR *p);
6499
6500     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6501     HRESULT cssText([in] BSTR v);
6502
6503     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6504     HRESULT cssText([retval, out] BSTR *p);
6505
6506     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6507     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
6508 }
6509
6510 /*****************************************************************************
6511  *    IHTMLStyleSheet2 interface
6512  */
6513 [
6514     odl,
6515     oleautomation,
6516     dual,
6517     uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
6518 ]
6519 interface IHTMLStyleSheet2 : IDispatch
6520 {
6521     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6522     HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
6523
6524     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6525     HRESULT addPageRule(
6526         [in] BSTR bstrSelector,
6527         [in] BSTR bstrStyle,
6528         [defaultvalue(-1), in] LONG lIndex,
6529         [retval, out] LONG *plNewIndex);
6530 }
6531
6532 [
6533     hidden,
6534     uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
6535 ]
6536 dispinterface DispHTMLStyleSheet
6537 {
6538 properties:
6539 methods:
6540     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6541     void title(BSTR v);
6542
6543     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6544     BSTR title();
6545
6546     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6547     IHTMLStyleSheet* parentStyleSheet();
6548
6549     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6550     IHTMLElement* owningElement();
6551
6552     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6553     void disabled(VARIANT_BOOL v);
6554
6555     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6556     VARIANT_BOOL disabled();
6557
6558     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6559     VARIANT_BOOL readOnly();
6560
6561     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6562     IHTMLStyleSheetsCollection* imports();
6563
6564     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6565     void href(BSTR v);
6566
6567     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6568     BSTR href();
6569
6570     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6571     BSTR type();
6572
6573     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6574     BSTR id();
6575
6576     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6577     LONG addImport(
6578         [in] BSTR bstrURL,
6579         [defaultvalue(-1), in] LONG lIndex);
6580
6581     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6582     LONG addRule(
6583         [in] BSTR bstrSelector,
6584         [in] BSTR bstrStyle,
6585         [defaultvalue(-1), in] LONG lIndex);
6586
6587     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6588     void removeImport([in] LONG lIndex);
6589
6590     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6591     void removeRule([in] LONG lIndex);
6592
6593     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6594     void media(BSTR v);
6595
6596     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6597     BSTR media();
6598
6599     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6600     void cssText(BSTR v);
6601
6602     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6603     BSTR cssText();
6604
6605     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6606     IHTMLStyleSheetRulesCollection* rules();
6607
6608     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6609     IHTMLStyleSheetPagesCollection* pages();
6610
6611     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6612     LONG addPageRule(
6613         [in] BSTR bstrSelector,
6614         [in] BSTR bstrStyle,
6615         [defaultvalue(-1), in] LONG lIndex);
6616 }
6617
6618 [
6619     noncreatable,
6620     uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
6621 ]
6622 coclass HTMLStyleSheet
6623 {
6624     [default]           dispinterface DispHTMLStyleSheet;
6625                         interface IHTMLStyleSheet;
6626                         interface IHTMLStyleSheet2;
6627 }
6628
6629 /*****************************************************************************
6630  *    IHTMLStyleSheetsCollection interface
6631  */
6632 [
6633     odl,
6634     oleautomation,
6635     dual,
6636     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
6637 ]
6638 interface IHTMLStyleSheetsCollection : IDispatch
6639 {
6640     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6641     HRESULT length([retval, out] LONG *p);
6642
6643     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
6644     HRESULT _newEnum([retval, out] IUnknown **p);
6645
6646     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6647     HRESULT item(
6648         [in] VARIANT *pvarIndex,
6649         [retval, out] VARIANT *pvarResult);
6650 }
6651
6652 /*****************************************************************************
6653  *    DispHTMLStyleSheetsCollection dispinterface
6654  */
6655 [
6656     hidden,
6657     uuid(3050f547-98b5-11cf-bb82-00aa00bdce0b)
6658 ]
6659 dispinterface DispHTMLStyleSheetsCollection
6660 {
6661 properties:
6662 methods:
6663     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6664     long length();
6665
6666     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM), hidden, restricted]
6667     IUnknown *_newEnum();
6668
6669     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6670     VARIANT item([in] VARIANT *pvarIndex);
6671
6672     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
6673     IDispatch *constructor();
6674 }
6675
6676 /*****************************************************************************
6677  *    IHTMLTxtRange interface
6678  */
6679 [
6680     odl,
6681     oleautomation,
6682     dual,
6683     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
6684 ]
6685 interface IHTMLTxtRange : IDispatch
6686 {
6687     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
6688     HRESULT htmlText([retval, out] BSTR *p);
6689
6690     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
6691     HRESULT text([in] BSTR v);
6692
6693     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
6694     HRESULT text([retval, out] BSTR *p);
6695
6696     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
6697     HRESULT parentElement([retval, out] IHTMLElement **parent);
6698
6699     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
6700     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
6701
6702     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
6703     HRESULT inRange(
6704         [in] IHTMLTxtRange *Range,
6705         [retval, out] VARIANT_BOOL *InRange);
6706
6707     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
6708     HRESULT isEqual(
6709         [in] IHTMLTxtRange *Range,
6710         [retval, out] VARIANT_BOOL *IsEqual);
6711
6712     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
6713     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
6714
6715     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
6716     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
6717
6718     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
6719     HRESULT expand(
6720         [in] BSTR Unit,
6721         [retval, out] VARIANT_BOOL *Success);
6722
6723     [id(DISPID_IHTMLTXTRANGE_MOVE)]
6724     HRESULT move(
6725         [in] BSTR Unit,
6726         [defaultvalue(1), in] LONG Count,
6727         [retval, out] LONG *ActualCount);
6728
6729     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
6730     HRESULT moveStart(
6731         [in] BSTR Unit,
6732         [defaultvalue(1), in] LONG Count,
6733         [retval, out] LONG *ActualCount);
6734
6735     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
6736     HRESULT moveEnd(
6737         [in] BSTR Unit,
6738         [defaultvalue(1), in] LONG Count,
6739         [retval, out] LONG *ActualCount);
6740
6741     [id(DISPID_IHTMLTXTRANGE_SELECT)]
6742     HRESULT select();
6743
6744     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
6745     HRESULT pasteHTML([in] BSTR html);
6746
6747     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
6748     HRESULT moveToElementText([in] IHTMLElement *element);
6749
6750     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
6751     HRESULT setEndPoint(
6752         [in] BSTR how,
6753         [in] IHTMLTxtRange *SourceRange);
6754
6755     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
6756     HRESULT compareEndPoints(
6757         [in] BSTR how,
6758         [in] IHTMLTxtRange *SourceRange,
6759         [retval, out] LONG *ret);
6760
6761     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
6762     HRESULT findText(
6763         [in] BSTR String,
6764         [defaultvalue(1073741823), in] LONG count,
6765         [defaultvalue(0), in] LONG Flags,
6766         [retval, out] VARIANT_BOOL *Success);
6767
6768     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
6769     HRESULT moveToPoint(
6770         [in] LONG x,
6771         [in] LONG y);
6772
6773     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
6774     HRESULT getBookmark([retval, out] BSTR *Boolmark);
6775
6776     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
6777     HRESULT moveToBookmark(
6778         [in] BSTR Bookmark,
6779         [retval, out] VARIANT_BOOL *Success);
6780
6781     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
6782     HRESULT queryCommandSupported(
6783         [in] BSTR cmdID,
6784         [retval, out] VARIANT_BOOL *pfRet);
6785
6786     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
6787     HRESULT queryCommandEnabled(
6788         [in] BSTR cmdID,
6789         [retval, out] VARIANT_BOOL *pfRet);
6790
6791     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
6792     HRESULT queryCommandState(
6793         [in] BSTR cmdID,
6794         [retval, out] VARIANT_BOOL *pfRet);
6795
6796     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
6797     HRESULT queryCommandIndeterm(
6798         [in] BSTR cmdID,
6799         [retval, out] VARIANT_BOOL *pfRet);
6800
6801     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
6802     HRESULT queryCommandText(
6803         [in] BSTR cmdID,
6804         [retval, out] BSTR *pcmdText);
6805
6806     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
6807     HRESULT queryCommandValue(
6808         [in] BSTR cmdID,
6809         [retval, out] VARIANT *pcmdValue);
6810
6811     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
6812     HRESULT execCommand(
6813         [in] BSTR cmdID,
6814         [defaultvalue(0), in] VARIANT_BOOL showUI,
6815         [optional, in] VARIANT value,
6816         [retval, out] VARIANT_BOOL *pfRet);
6817
6818     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
6819     HRESULT execCommandShowHelp(
6820         [in] BSTR cmdID,
6821         [retval, out] VARIANT_BOOL *pfRet);
6822 }
6823
6824 [
6825     noncreatable,
6826     uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
6827 ]
6828 coclass HTMLStyleSheetsCollection
6829 {
6830     [default]           interface IHTMLStyleSheetsCollection;
6831 }
6832
6833 /*****************************************************************************
6834  *    IHTMLFormElement interface
6835  */
6836 [
6837     odl,
6838     oleautomation,
6839     dual,
6840     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
6841 ]
6842 interface IHTMLFormElement : IDispatch
6843 {
6844     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6845     HRESULT action([in] BSTR v);
6846
6847     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6848     HRESULT action([retval, out] BSTR *p);
6849
6850     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
6851     HRESULT dir([in] BSTR v);
6852
6853     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
6854     HRESULT dir([retval, out] BSTR *p);
6855
6856     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6857     HRESULT encoding([in] BSTR v);
6858
6859     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6860     HRESULT encoding([retval, out] BSTR *p);
6861
6862     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6863     HRESULT method([in] BSTR v);
6864
6865     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6866     HRESULT method([retval, out] BSTR *p);
6867
6868     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6869     HRESULT elements([retval, out] IDispatch **p);
6870
6871     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6872     HRESULT target([in] BSTR v);
6873
6874     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6875     HRESULT target([retval, out] BSTR *p);
6876
6877     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6878     HRESULT name([in] BSTR v);
6879
6880     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6881     HRESULT name([retval, out] BSTR *p);
6882
6883     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6884     HRESULT onsubmit([in] VARIANT v);
6885
6886     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6887     HRESULT onsubmit([retval, out] VARIANT *p);
6888
6889     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6890     HRESULT onreset([in] VARIANT v);
6891
6892     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6893     HRESULT onreset([retval, out] VARIANT *p);
6894
6895     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6896     HRESULT submit();
6897
6898     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6899     HRESULT reset();
6900
6901     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6902     HRESULT length([in] LONG v);
6903
6904     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6905     HRESULT length([retval, out] LONG *p);
6906
6907     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
6908     HRESULT _newEnum([retval, out] IUnknown **p);
6909
6910     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6911     HRESULT item(
6912         [optional, in] VARIANT name,
6913         [optional, in] VARIANT index,
6914         [retval, out] IDispatch **pdisp);
6915
6916     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6917     HRESULT tags(
6918         [in] VARIANT tagName,
6919         [retval, out] IDispatch **pdisp);
6920 }
6921
6922 /*****************************************************************************
6923  *    DispHTMLFormElement dispinterface
6924  */
6925 [
6926     hidden,
6927     uuid(3050F510-98B5-11CF-BB82-00AA00BDCE0B)
6928 ]
6929 dispinterface DispHTMLFormElement
6930 {
6931 properties:
6932 methods:
6933     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6934
6935     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6936     void action(BSTR v);
6937
6938     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6939     BSTR action();
6940
6941     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6942     void encoding(BSTR v);
6943
6944     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6945     BSTR encoding();
6946
6947     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6948     void method(BSTR v);
6949
6950     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6951     BSTR method();
6952
6953     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6954     IDispatch *elements();
6955
6956     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6957     void target(BSTR v);
6958
6959     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6960     BSTR target();
6961
6962     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6963     void name(BSTR v);
6964
6965     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6966     BSTR name();
6967
6968     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6969     void onsubmit(VARIANT v);
6970
6971     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6972     VARIANT onsubmit();
6973
6974     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6975     void onreset(VARIANT v);
6976
6977     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6978     VARIANT onreset();
6979
6980     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6981     void submit();
6982
6983     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6984     void reset();
6985
6986     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6987     void length(long v);
6988
6989     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6990     long length();
6991
6992     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM), hidden, restricted]
6993     IUnknown *_newEnum();
6994
6995     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6996     IDispatch *item(VARIANT name, VARIANT index);
6997
6998     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6999     IDispatch *tags(VARIANT tagName);
7000 }
7001
7002 [
7003     hidden,
7004     uuid(3050F364-98B5-11CF-BB82-00AA00BDCE0B)
7005 ]
7006 dispinterface HTMLFormElementEvents
7007 {
7008 properties:
7009 methods:
7010     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
7011     VARIANT_BOOL onhelp();
7012
7013     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
7014     VARIANT_BOOL onclick();
7015
7016     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
7017     VARIANT_BOOL ondblclick();
7018
7019     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
7020     VARIANT_BOOL onkeypress();
7021
7022     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
7023     void onkeydown();
7024
7025     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
7026     void onkeyup();
7027
7028     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
7029     void onmouseout();
7030
7031     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
7032     void onmouseover();
7033
7034     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
7035     void onmousemove();
7036
7037     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
7038     void onmousedown();
7039
7040     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
7041     void onmouseup();
7042
7043     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
7044     VARIANT_BOOL onselectstart();
7045
7046     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
7047     void onfilterchange();
7048
7049     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
7050     VARIANT_BOOL ondragstart();
7051
7052     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
7053     VARIANT_BOOL onbeforeupdate();
7054
7055     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
7056     void onafterupdate();
7057
7058     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
7059     VARIANT_BOOL onerrorupdate();
7060
7061     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
7062     VARIANT_BOOL onrowexit();
7063
7064     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
7065     void onrowenter();
7066
7067     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
7068     void ondatasetchanged();
7069
7070     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
7071     void ondataavailable();
7072
7073     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
7074     void ondatasetcomplete();
7075
7076     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
7077     void onlosecapture();
7078
7079     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
7080     void onpropertychange();
7081
7082     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
7083     void onscroll();
7084
7085     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
7086     void onfocus();
7087
7088     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
7089     void onblur();
7090
7091     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
7092     void onresize();
7093
7094     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
7095     VARIANT_BOOL ondrag();
7096
7097     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
7098     void ondragend();
7099
7100     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
7101     VARIANT_BOOL ondragenter();
7102
7103     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
7104     VARIANT_BOOL ondragover();
7105
7106     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
7107     void ondragleave();
7108
7109     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
7110     VARIANT_BOOL ondrop();
7111
7112     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
7113     VARIANT_BOOL onbeforecut();
7114
7115     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
7116     VARIANT_BOOL oncut();
7117
7118     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
7119     VARIANT_BOOL onbeforecopy();
7120
7121     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
7122     VARIANT_BOOL oncopy();
7123
7124     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
7125     VARIANT_BOOL onbeforepaste();
7126
7127     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
7128     VARIANT_BOOL onpaste();
7129
7130     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
7131     VARIANT_BOOL oncontextmenu();
7132
7133     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
7134     void onrowsdelete();
7135
7136     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
7137     void onrowsinserted();
7138
7139     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
7140     void oncellchange();
7141
7142     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
7143     void onreadystatechange();
7144
7145     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
7146     void onbeforeeditfocus();
7147
7148     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
7149     void onlayoutcomplete();
7150
7151     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
7152     void onpage();
7153
7154     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
7155     VARIANT_BOOL onbeforedeactivate();
7156
7157     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
7158     VARIANT_BOOL onbeforeactivate();
7159
7160     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
7161     void onmove();
7162
7163     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
7164     VARIANT_BOOL oncontrolselect();
7165
7166     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
7167     VARIANT_BOOL onmovestart();
7168
7169     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
7170     void onmoveend();
7171
7172     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
7173     VARIANT_BOOL onresizestart();
7174
7175     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
7176     void onresizeend();
7177
7178     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
7179     void onmouseenter();
7180
7181     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
7182     void onmouseleave();
7183
7184     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
7185     VARIANT_BOOL onmousewheel();
7186
7187     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
7188     void onactivate();
7189
7190     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
7191     void ondeactivate();
7192
7193     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
7194     void onfocusin();
7195
7196     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
7197     void onfocusout();
7198
7199     [id(DISPID_HTMLFORMELEMENTEVENTS_ONSUBMIT)]
7200     VARIANT_BOOL onsubmit();
7201
7202     [id(DISPID_HTMLFORMELEMENTEVENTS_ONRESET)]
7203     VARIANT_BOOL onreset();
7204 }
7205
7206 interface IHTMLEventObj;
7207
7208 [
7209     hidden,
7210     uuid(3050F614-98B5-11CF-BB82-00AA00BDCE0B)
7211 ]
7212 dispinterface HTMLFormElementEvents2
7213 {
7214 properties:
7215 methods:
7216     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
7217     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
7218
7219     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
7220     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
7221
7222     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
7223     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
7224
7225     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
7226     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
7227
7228     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
7229     void onkeydown([in] IHTMLEventObj* pEvtObj);
7230
7231     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
7232     void onkeyup([in] IHTMLEventObj* pEvtObj);
7233
7234     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
7235     void onmouseout([in] IHTMLEventObj* pEvtObj);
7236
7237     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
7238     void onmouseover([in] IHTMLEventObj* pEvtObj);
7239
7240     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
7241     void onmousemove([in] IHTMLEventObj* pEvtObj);
7242
7243     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
7244     void onmousedown([in] IHTMLEventObj* pEvtObj);
7245
7246     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
7247     void onmouseup([in] IHTMLEventObj* pEvtObj);
7248
7249     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
7250     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
7251
7252     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
7253     void onfilterchange([in] IHTMLEventObj* pEvtObj);
7254
7255     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
7256     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
7257
7258     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
7259     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
7260
7261     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
7262     void onafterupdate([in] IHTMLEventObj* pEvtObj);
7263
7264     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
7265     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
7266
7267     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
7268     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
7269
7270     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
7271     void onrowenter([in] IHTMLEventObj* pEvtObj);
7272
7273     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
7274     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
7275
7276     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
7277     void ondataavailable([in] IHTMLEventObj* pEvtObj);
7278
7279     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
7280     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
7281
7282     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
7283     void onlosecapture([in] IHTMLEventObj* pEvtObj);
7284
7285     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
7286     void onpropertychange([in] IHTMLEventObj* pEvtObj);
7287
7288     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
7289     void onscroll([in] IHTMLEventObj* pEvtObj);
7290
7291     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
7292     void onfocus([in] IHTMLEventObj* pEvtObj);
7293
7294     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
7295     void onblur([in] IHTMLEventObj* pEvtObj);
7296
7297     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
7298     void onresize([in] IHTMLEventObj* pEvtObj);
7299
7300     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
7301     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
7302
7303     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
7304     void ondragend([in] IHTMLEventObj* pEvtObj);
7305
7306     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
7307     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
7308
7309     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
7310     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
7311
7312     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
7313     void ondragleave([in] IHTMLEventObj* pEvtObj);
7314
7315     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
7316     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
7317
7318     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
7319     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
7320
7321     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
7322     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
7323
7324     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
7325     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
7326
7327     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
7328     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
7329
7330     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
7331     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
7332
7333     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
7334     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
7335
7336     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
7337     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
7338
7339     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
7340     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
7341
7342     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
7343     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
7344
7345     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
7346     void oncellchange([in] IHTMLEventObj* pEvtObj);
7347
7348     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
7349     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
7350
7351     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
7352     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
7353
7354     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
7355     void onpage([in] IHTMLEventObj* pEvtObj);
7356
7357     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
7358     void onmouseenter([in] IHTMLEventObj* pEvtObj);
7359
7360     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
7361     void onmouseleave([in] IHTMLEventObj* pEvtObj);
7362
7363     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
7364     void onactivate([in] IHTMLEventObj* pEvtObj);
7365
7366     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
7367     void ondeactivate([in] IHTMLEventObj* pEvtObj);
7368
7369     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
7370     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
7371
7372     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
7373     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
7374
7375     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
7376     void onfocusin([in] IHTMLEventObj* pEvtObj);
7377
7378     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
7379     void onfocusout([in] IHTMLEventObj* pEvtObj);
7380
7381     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
7382     void onmove([in] IHTMLEventObj* pEvtObj);
7383
7384     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
7385     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
7386
7387     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
7388     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
7389
7390     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
7391     void onmoveend([in] IHTMLEventObj* pEvtObj);
7392
7393     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
7394     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
7395
7396     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
7397     void onresizeend([in] IHTMLEventObj* pEvtObj);
7398
7399     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
7400     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
7401
7402     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONSUBMIT)]
7403     VARIANT_BOOL onsubmit([in] IHTMLEventObj* pEvtObj);
7404
7405     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONRESET)]
7406     VARIANT_BOOL onreset([in] IHTMLEventObj* pEvtObj);
7407 }
7408
7409 [
7410     noncreatable,
7411     uuid(3050F24D-98B5-11CF-BB82-00AA00BDCE0B)
7412 ]
7413 coclass HTMLFormElement
7414 {
7415     [default]           dispinterface DispHTMLFormElement;
7416     [source, default]   dispinterface HTMLFormElementEvents;
7417     [source]            dispinterface HTMLFormElementEvents2;
7418                         interface IHTMLElement;
7419                         interface IHTMLElement2;
7420                         interface IHTMLElement3;
7421                         interface IHTMLElement4;
7422                         interface IHTMLUniqueName;
7423                         interface IHTMLDOMNode;
7424                         interface IHTMLDOMNode2;
7425                         interface IHTMLDOMConstructor;
7426                         interface IHTMLFormElement;
7427 }
7428
7429 /*****************************************************************************
7430  *    IHTMLTextContainer interface
7431  */
7432 [
7433     odl,
7434     oleautomation,
7435     dual,
7436     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
7437 ]
7438 interface IHTMLTextContainer : IDispatch
7439 {
7440     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
7441     HRESULT createControlRange([retval, out] IDispatch **range);
7442
7443     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
7444     HRESULT scrollHeight([retval, out] LONG *p);
7445
7446     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
7447     HRESULT scrollWidth([retval, out] LONG *p);
7448
7449     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7450     HRESULT scrollTop([in] LONG v);
7451
7452     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7453     HRESULT scrollTop([retval, out] LONG *p);
7454
7455     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7456     HRESULT scrollLeft([in] LONG v);
7457
7458     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7459     HRESULT scrollLeft([retval, out] LONG *p);
7460
7461     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7462     HRESULT onscroll([in] VARIANT v);
7463
7464     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7465     HRESULT onscroll([retval, out] VARIANT *p);
7466 }
7467
7468 /*****************************************************************************
7469  *    IHTMLImgElement interface
7470  */
7471 [
7472     odl,
7473     oleautomation,
7474     dual,
7475     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
7476 ]
7477 interface IHTMLImgElement : IDispatch
7478 {
7479     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7480     HRESULT isMap([in] VARIANT_BOOL v);
7481
7482     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7483     HRESULT isMap([retval, out] VARIANT_BOOL *p);
7484
7485     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7486     HRESULT useMap([in] BSTR v);
7487
7488     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7489     HRESULT useMap([retval, out] BSTR *p);
7490
7491     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7492     HRESULT mimeType([retval, out] BSTR *p);
7493
7494     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7495     HRESULT fileSize([retval, out] BSTR *p);
7496
7497     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7498     HRESULT fileCreatedDate([retval, out] BSTR *p);
7499
7500     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7501     HRESULT fileModifiedDate([retval, out] BSTR *p);
7502
7503     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7504     HRESULT fileUpdatedDate([retval, out] BSTR *p);
7505
7506     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7507     HRESULT protocol([retval, out] BSTR *p);
7508
7509     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7510     HRESULT href([retval, out] BSTR *p);
7511
7512     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7513     HRESULT nameProp([retval, out] BSTR *p);
7514
7515     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7516     HRESULT border([in] VARIANT v);
7517
7518     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7519     HRESULT border([retval, out] VARIANT *p);
7520
7521     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7522     HRESULT vspace([in] LONG v);
7523
7524     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7525     HRESULT vspace([retval, out] LONG *p);
7526
7527     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7528     HRESULT hspace([in] LONG v);
7529
7530     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7531     HRESULT hspace([retval, out] LONG *p);
7532
7533     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
7534     HRESULT alt([in] BSTR v);
7535
7536     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
7537     HRESULT alt([retval, out] BSTR *p);
7538
7539     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
7540     HRESULT src([in] BSTR v);
7541
7542     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
7543     HRESULT src([retval, out] BSTR *p);
7544
7545     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7546     HRESULT lowsrc([in] BSTR v);
7547
7548     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7549     HRESULT lowsrc([retval, out] BSTR *p);
7550
7551     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
7552     HRESULT vrml([in] BSTR v);
7553
7554     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
7555     HRESULT vrml([retval, out] BSTR *p);
7556
7557     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7558     HRESULT dynsrc([in] BSTR v);
7559
7560     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7561     HRESULT dynsrc([retval, out] BSTR *p);
7562
7563     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
7564     HRESULT readyState([retval, out] BSTR *p);
7565
7566     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7567     HRESULT complete([retval, out] VARIANT_BOOL *p);
7568
7569     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7570     HRESULT loop([in] VARIANT v);
7571
7572     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7573     HRESULT loop([retval, out] VARIANT *p);
7574
7575     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7576     HRESULT align([in] BSTR v);
7577
7578     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7579     HRESULT align([retval, out] BSTR *p);
7580
7581     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7582     HRESULT onload([in] VARIANT v);
7583
7584     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7585     HRESULT onload([retval, out] VARIANT *p);
7586
7587     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7588     HRESULT onerror([in] VARIANT v);
7589
7590     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7591     HRESULT onerror([retval, out] VARIANT *p);
7592
7593     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7594     HRESULT onabort([in] VARIANT v);
7595
7596     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7597     HRESULT onabort([retval, out] VARIANT *p);
7598
7599     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
7600     HRESULT name([in] BSTR v);
7601
7602     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
7603     HRESULT name([retval, out] BSTR *p);
7604
7605     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7606     HRESULT width([in] LONG v);
7607
7608     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7609     HRESULT width([retval, out] LONG *p);
7610
7611     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7612     HRESULT height([in] LONG v);
7613
7614     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7615     HRESULT height([retval, out] LONG *p);
7616
7617     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
7618     HRESULT start([in] BSTR v);
7619
7620     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
7621     HRESULT start([retval, out] BSTR *p);
7622 }
7623
7624 /*****************************************************************************
7625  *    IHTMLImageElementFactory interface
7626  */
7627 [
7628     odl,
7629     oleautomation,
7630     dual,
7631     uuid(3050F38E-98B5-11CF-BB82-00AA00BDCE0B)
7632 ]
7633 interface IHTMLImageElementFactory : IDispatch
7634 {
7635     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
7636     HRESULT create(
7637         [optional, in] VARIANT width,
7638         [optional, in] VARIANT height,
7639         [retval, out]  IHTMLImgElement **elem);
7640 }
7641
7642 /*****************************************************************************
7643  *    DispHTMLImg interface
7644  */
7645 [
7646     hidden,
7647     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
7648 ]
7649 dispinterface DispHTMLImg
7650 {
7651 properties:
7652 methods:
7653     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7654
7655     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7656     void isMap(VARIANT_BOOL v);
7657
7658     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7659     VARIANT_BOOL isMap();
7660
7661     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7662     void useMap(BSTR v);
7663
7664     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7665     BSTR useMap();
7666
7667     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7668     BSTR mimeType();
7669
7670     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7671     BSTR fileSize();
7672
7673     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7674     BSTR fileCreatedDate();
7675
7676     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7677     BSTR fileModifiedDate();
7678
7679     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7680     BSTR fileUpdatedDate();
7681
7682     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7683     BSTR protocol();
7684
7685     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7686     BSTR href();
7687
7688     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7689     BSTR nameProp();
7690
7691     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7692     void border(VARIANT v);
7693
7694     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7695     VARIANT border();
7696
7697     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7698     void vspace(LONG v);
7699
7700     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7701     LONG vspace();
7702
7703     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7704     void hspace(LONG v);
7705
7706     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7707     LONG hspace();
7708
7709     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7710     void alt(BSTR v);
7711
7712     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7713     BSTR alt();
7714
7715     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7716     void src(BSTR v);
7717
7718     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7719     BSTR src();
7720
7721     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7722     void lowsrc(BSTR v);
7723
7724     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7725     BSTR lowsrc();
7726
7727     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7728     void vrml(BSTR v);
7729
7730     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7731     BSTR vrml();
7732
7733     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7734     void dynsrc(BSTR v);
7735
7736     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7737     BSTR dynsrc();
7738
7739     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7740     VARIANT_BOOL complete();
7741
7742     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7743     void loop(VARIANT v);
7744
7745     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7746     VARIANT loop();
7747
7748     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7749     void align(BSTR v);
7750
7751     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7752     BSTR align();
7753
7754     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7755     void onload(VARIANT v);
7756
7757     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7758     VARIANT onload();
7759
7760     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7761     void onerror(VARIANT v);
7762
7763     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7764     VARIANT onerror();
7765
7766     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7767     void onabort(VARIANT v);
7768
7769     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7770     VARIANT onabort();
7771
7772     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7773     void name(BSTR v);
7774
7775     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7776     BSTR name();
7777
7778     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7779     void width(LONG v);
7780
7781     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7782     LONG width();
7783
7784     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7785     void height(LONG v);
7786
7787     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7788     LONG height();
7789
7790     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7791     void start(BSTR v);
7792
7793     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7794     BSTR start();
7795
7796     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7797     void longDesc(BSTR v);
7798
7799     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7800     BSTR longDesc();
7801 }
7802
7803 /*****************************************************************************
7804  *    IHTMLControlElement interface
7805  */
7806 [
7807     odl,
7808     oleautomation,
7809     dual,
7810     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
7811 ]
7812 interface IHTMLControlElement : IDispatch
7813 {
7814     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7815     HRESULT tabIndex([in] short v);
7816
7817     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7818     HRESULT tabIndex([retval, out] short * p);
7819
7820     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
7821     HRESULT focus();
7822
7823     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7824     HRESULT accessKey([in] BSTR v);
7825
7826     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7827     HRESULT accessKey([retval, out] BSTR * p);
7828
7829     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7830     HRESULT onblur([in] VARIANT v);
7831
7832     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7833     HRESULT onblur([retval, out] VARIANT * p);
7834
7835     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7836     HRESULT onfocus([in] VARIANT v);
7837
7838     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7839     HRESULT onfocus([retval, out] VARIANT * p);
7840
7841     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7842     HRESULT onresize([in] VARIANT v);
7843
7844     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7845     HRESULT onresize([retval, out] VARIANT * p);
7846
7847     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
7848     HRESULT blur();
7849
7850     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
7851     HRESULT addFilter([in] IUnknown* pUnk);
7852
7853     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
7854     HRESULT removeFilter([in] IUnknown* pUnk);
7855
7856     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
7857     HRESULT clientHeight([retval, out] LONG * p);
7858
7859     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
7860     HRESULT clientWidth([retval, out] LONG * p);
7861
7862     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
7863     HRESULT clientTop([retval, out] LONG * p);
7864
7865     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
7866     HRESULT clientLeft([retval, out] LONG * p);
7867 }
7868
7869 /*****************************************************************************
7870  *    IHTMLBodyElement interface
7871  */
7872 [
7873     odl,
7874     oleautomation,
7875     dual,
7876     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
7877 ]
7878 interface IHTMLBodyElement : IDispatch
7879 {
7880     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7881     HRESULT background([in] BSTR v);
7882
7883     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7884     HRESULT background([retval, out] BSTR *p);
7885
7886     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7887     HRESULT bgProperties([in] BSTR v);
7888
7889     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7890     HRESULT bgProperties([retval, out] BSTR *p);
7891
7892     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7893     HRESULT leftMargin([in] VARIANT v);
7894
7895     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7896     HRESULT leftMargin([retval, out] VARIANT *p);
7897
7898     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7899     HRESULT topMargin([in] VARIANT v);
7900
7901     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7902     HRESULT topMargin([retval, out] VARIANT *p);
7903
7904     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7905     HRESULT rightMargin([in] VARIANT v);
7906
7907     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7908     HRESULT rightMargin([retval, out] VARIANT *p);
7909
7910     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7911     HRESULT bottomMargin([in] VARIANT v);
7912
7913     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7914     HRESULT bottomMargin([retval, out] VARIANT *p);
7915
7916     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7917     HRESULT noWrap([in] VARIANT_BOOL v);
7918
7919     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7920     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
7921
7922     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7923     HRESULT bgColor([in] VARIANT v);
7924
7925     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7926     HRESULT bgColor([retval, out] VARIANT *p);
7927
7928     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7929     HRESULT text([in] VARIANT v);
7930
7931     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7932     HRESULT text([retval, out] VARIANT *p);
7933
7934     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7935     HRESULT link([in] VARIANT v);
7936
7937     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7938     HRESULT link([retval, out] VARIANT *p);
7939
7940     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7941     HRESULT vLink([in] VARIANT v);
7942
7943     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7944     HRESULT vLink([retval, out] VARIANT *p);
7945
7946     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7947     HRESULT aLink([in] VARIANT v);
7948
7949     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7950     HRESULT aLink([retval, out] VARIANT *p);
7951
7952     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7953     HRESULT onload([in] VARIANT v);
7954
7955     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7956     HRESULT onload([retval, out] VARIANT *p);
7957
7958     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7959     HRESULT onunload([in] VARIANT v);
7960
7961     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7962     HRESULT onunload([retval, out] VARIANT *p);
7963
7964     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7965     HRESULT scroll([in] BSTR v);
7966
7967     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7968     HRESULT scroll([retval, out] BSTR *p);
7969
7970     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7971     HRESULT onselect([in] VARIANT v);
7972
7973     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7974     HRESULT onselect([retval, out] VARIANT *p);
7975
7976     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7977     HRESULT onbeforeunload([in] VARIANT v);
7978
7979     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7980     HRESULT onbeforeunload([retval, out] VARIANT *p);
7981
7982     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7983     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7984 }
7985
7986 /*****************************************************************************
7987  *    IHTMLBodyElement2 interface
7988  */
7989 [
7990     odl,
7991     oleautomation,
7992     dual,
7993     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
7994 ]
7995 interface IHTMLBodyElement2 : IDispatch
7996 {
7997     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7998     HRESULT onbeforeprint([in] VARIANT v);
7999
8000     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8001     HRESULT onbeforeprint([retval, out] VARIANT *p);
8002
8003     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8004     HRESULT onafterprint([in] VARIANT v);
8005
8006     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8007     HRESULT onafterprint([retval, out] VARIANT *p);
8008 }
8009
8010 [
8011     hidden,
8012     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
8013 ]
8014 dispinterface DispHTMLBody
8015 {
8016 properties:
8017 methods:
8018     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8019
8020     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8021     void background(BSTR v);
8022
8023     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8024     BSTR background();
8025
8026     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8027     void bgProperties(BSTR v);
8028
8029     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8030     BSTR bgProperties();
8031
8032     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8033     void leftMargin(VARIANT v);
8034
8035     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8036     VARIANT leftMargin();
8037
8038     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8039     void topMargin(VARIANT v);
8040
8041     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8042     VARIANT topMargin();
8043
8044     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8045     void rightMargin(VARIANT v);
8046
8047     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8048     VARIANT rightMargin();
8049
8050     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8051     void bottomMargin(VARIANT v);
8052
8053     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8054     VARIANT bottomMargin();
8055
8056     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8057     void noWrap(VARIANT_BOOL v);
8058
8059     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8060     VARIANT_BOOL noWrap();
8061
8062     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8063     void bgColor(VARIANT v);
8064
8065     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8066     VARIANT bgColor();
8067
8068     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8069     void text(VARIANT v);
8070
8071     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8072     VARIANT text();
8073
8074     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8075     void link(VARIANT v);
8076
8077     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8078     VARIANT link();
8079
8080     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8081     void vLink(VARIANT v);
8082
8083     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8084     VARIANT vLink();
8085
8086     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8087     void aLink(VARIANT v);
8088
8089     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8090     VARIANT aLink();
8091
8092     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8093     void onload(VARIANT v);
8094
8095     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8096     VARIANT onload();
8097
8098     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8099     void onunload(VARIANT v);
8100
8101     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8102     VARIANT onunload();
8103
8104     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8105     void scroll(BSTR v);
8106
8107     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8108     BSTR scroll();
8109
8110     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8111     void onselect(VARIANT v);
8112
8113     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8114     VARIANT onselect();
8115
8116     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8117     void onbeforeunload(VARIANT v);
8118
8119     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8120     VARIANT onbeforeunload();
8121
8122     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8123     IHTMLTxtRange* createTextRange();
8124
8125     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8126     void onbeforeprint(VARIANT v);
8127
8128     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8129     VARIANT onbeforeprint();
8130
8131     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8132     void onafterprint(VARIANT v);
8133
8134     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8135     VARIANT onafterprint();
8136 }
8137
8138 [
8139     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
8140 ]
8141 coclass HTMLBody
8142 {
8143     [default]           dispinterface DispHTMLBody;
8144     [source, default]   dispinterface HTMLTextContainerEvents;
8145     [source]            dispinterface HTMLTextContainerEvents2;
8146                         interface IHTMLElement;
8147                         interface IHTMLElement2;
8148                         interface IHTMLElement3;
8149                         interface IHTMLElement4;
8150                         interface IHTMLUniqueName;
8151                         interface IHTMLDOMNode;
8152                         interface IHTMLDOMNode2;
8153                         interface IHTMLControlElement;
8154                         interface IHTMLTextContainer;
8155                         interface IHTMLBodyElement;
8156                         interface IHTMLBodyElement2;
8157 }
8158
8159 /*****************************************************************************
8160  *    IHTMLAnchorElement interface
8161  */
8162 [
8163     odl,
8164     oleautomation,
8165     dual,
8166     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
8167 ]
8168 interface IHTMLAnchorElement : IDispatch
8169 {
8170     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8171     HRESULT href([in] BSTR v);
8172
8173     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8174     HRESULT href([retval, out] BSTR *p);
8175
8176     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8177     HRESULT target([in] BSTR v);
8178
8179     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8180     HRESULT target([retval, out] BSTR *p);
8181
8182     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8183     HRESULT rel([in] BSTR v);
8184
8185     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8186     HRESULT rel([retval, out] BSTR *p);
8187
8188     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8189     HRESULT rev([in] BSTR v);
8190
8191     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8192     HRESULT rev([retval, out] BSTR *p);
8193
8194     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8195     HRESULT urn([in] BSTR v);
8196
8197     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8198     HRESULT urn([retval, out] BSTR *p);
8199
8200     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8201     HRESULT Methods([in] BSTR v);
8202
8203     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8204     HRESULT Methods([retval, out] BSTR *p);
8205
8206     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8207     HRESULT name([in] BSTR v);
8208
8209     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8210     HRESULT name([retval, out] BSTR *p);
8211
8212     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8213     HRESULT host([in] BSTR v);
8214
8215     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8216     HRESULT host([retval, out] BSTR *p);
8217
8218     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8219     HRESULT hostname([in] BSTR v);
8220
8221     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8222     HRESULT hostname([retval, out] BSTR *p);
8223
8224     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8225     HRESULT pathname([in] BSTR v);
8226
8227     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8228     HRESULT pathname([retval, out] BSTR *p);
8229
8230     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8231     HRESULT port([in] BSTR v);
8232
8233     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8234     HRESULT port([retval, out] BSTR *p);
8235
8236     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8237     HRESULT protocol([in] BSTR v);
8238
8239     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8240     HRESULT protocol([retval, out] BSTR *p);
8241
8242     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8243     HRESULT search([in] BSTR v);
8244
8245     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8246     HRESULT search([retval, out] BSTR *p);
8247
8248     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8249     HRESULT hash([in] BSTR v);
8250
8251     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8252     HRESULT hash([retval, out] BSTR *p);
8253
8254     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8255     HRESULT onblur([in] VARIANT v);
8256
8257     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8258     HRESULT onblur([retval, out] VARIANT *p);
8259
8260     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8261     HRESULT onfocus([in] VARIANT v);
8262
8263     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8264     HRESULT onfocus([retval, out] VARIANT *p);
8265
8266     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8267     HRESULT accessKey([in] BSTR v);
8268
8269     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8270     HRESULT accessKey([retval, out] BSTR *p);
8271
8272     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8273     HRESULT protocolLong([retval, out] BSTR *p);
8274
8275     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8276     HRESULT mimeType([retval, out] BSTR *p);
8277
8278     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8279     HRESULT nameProp([retval, out] BSTR *p);
8280
8281     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8282     HRESULT tabIndex([in] short v);
8283
8284     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8285     HRESULT tabIndex([retval, out] short *p);
8286
8287     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
8288     HRESULT focus();
8289
8290     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
8291     HRESULT blur();
8292 }
8293
8294 /*****************************************************************************
8295  *    DispHTMLAnchorElement dispinterface
8296  */
8297 [
8298     hidden,
8299     uuid(3050f502-98b5-11cf-bb82-00aa00bdce0b)
8300 ]
8301 dispinterface DispHTMLAnchorElement
8302 {
8303 properties:
8304 methods:
8305     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8306
8307     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8308     void href(BSTR v);
8309
8310     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8311     BSTR href();
8312
8313     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8314     void target(BSTR v);
8315
8316     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8317     BSTR target();
8318
8319     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8320     void rel(BSTR v);
8321
8322     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8323     BSTR rel();
8324
8325     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8326     void rev(BSTR v);
8327
8328     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8329     BSTR rev();
8330
8331     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8332     void urn(BSTR v);
8333
8334     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8335     BSTR urn();
8336
8337     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8338     void Methods(BSTR v);
8339
8340     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8341     BSTR Methods();
8342
8343     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8344     void name(BSTR v);
8345
8346     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8347     BSTR name();
8348
8349     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8350     void host(BSTR v);
8351
8352     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8353     BSTR host();
8354
8355     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8356     void hostname(BSTR v);
8357
8358     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8359     BSTR hostname();
8360
8361     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8362     void pathname(BSTR v);
8363
8364     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8365     BSTR pathname();
8366
8367     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8368     void port(BSTR v);
8369
8370     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8371     BSTR port();
8372
8373     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8374     void protocol(BSTR v);
8375
8376     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8377     BSTR protocol();
8378
8379     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8380     void search(BSTR v);
8381
8382     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8383     BSTR search();
8384
8385     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8386     void hash(BSTR v);
8387
8388     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8389     BSTR hash();
8390
8391     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8392     BSTR protocolLong();
8393
8394     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8395     BSTR mimeType();
8396
8397     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8398     BSTR nameProp();
8399
8400     [propput, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8401     void charset(BSTR v);
8402
8403     [propget, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8404     BSTR charset();
8405
8406     [propput, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8407     void coords(BSTR v);
8408
8409     [propget, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8410     BSTR coords();
8411
8412     [propput, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8413     void hreflang(BSTR v);
8414
8415     [propget, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8416     BSTR hreflang();
8417
8418     [propput, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8419     void shape(BSTR v);
8420
8421     [propget, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8422     BSTR shape();
8423
8424     [propput, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8425     void type(BSTR v);
8426
8427     [propget, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8428     BSTR type();
8429
8430     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8431     void ie8_shape(BSTR v);
8432
8433     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8434     BSTR ie8_shape();
8435
8436     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8437     void ie8_coords(BSTR v);
8438
8439     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8440     BSTR ie8_coords();
8441
8442     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8443     void ie8_href(BSTR v);
8444
8445     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8446     BSTR ie8_href();
8447 }
8448
8449 /*****************************************************************************
8450  *    IHTMLElementCollection interface
8451  */
8452 [
8453     odl,
8454     oleautomation,
8455     dual,
8456     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
8457 ]
8458 interface IHTMLElementCollection : IDispatch
8459 {
8460     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8461     HRESULT toString([retval, out] BSTR *String);
8462
8463     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8464     HRESULT length([in] LONG v);
8465
8466     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8467     HRESULT length([retval, out] LONG *p);
8468
8469     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
8470     HRESULT _newEnum([retval, out] IUnknown **p);
8471
8472     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8473     HRESULT item(
8474         [optional, in] VARIANT name,
8475         [optional, in] VARIANT index,
8476         [retval,  out] IDispatch **pdisp);
8477
8478     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8479     HRESULT tags(
8480         [in] VARIANT tagName,
8481         [retval, out] IDispatch **pdisp);
8482 }
8483
8484 /*****************************************************************************
8485  *    DispHTMLElementCollection dispinterface
8486  */
8487 [
8488     hidden,
8489     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
8490 ]
8491 dispinterface DispHTMLElementCollection
8492 {
8493 properties:
8494 methods:
8495     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8496     BSTR toString();
8497
8498     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8499     void length(LONG v);
8500
8501     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8502     LONG length();
8503
8504     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
8505     IUnknown *_newEnum();
8506
8507     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8508     IDispatch *item(
8509             [in, optional] VARIANT name,
8510             [in, optional] VARIANT index);
8511
8512     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8513     IDispatch *tags(
8514             [in] VARIANT tagName);
8515
8516     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
8517     IDispatch *urns([in] VARIANT urn);
8518
8519     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
8520     IDispatch *namedItem([in] BSTR name);
8521 }
8522
8523 /*****************************************************************************
8524  *    IHTMLSelectElement interface
8525  */
8526 [
8527     odl,
8528     oleautomation,
8529     dual,
8530     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
8531 ]
8532 interface IHTMLSelectElement : IDispatch
8533 {
8534     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8535     HRESULT size([in] LONG v);
8536
8537     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8538     HRESULT size([retval, out] LONG *p);
8539
8540     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8541     HRESULT multiple([in] VARIANT_BOOL v);
8542
8543     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8544     HRESULT multiple([retval, out] VARIANT_BOOL *p);
8545
8546     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8547     HRESULT name([in] BSTR v);
8548
8549     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8550     HRESULT name([retval, out] BSTR *p);
8551
8552     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8553     HRESULT options([retval, out] IDispatch **p);
8554
8555     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8556     HRESULT onchange([in] VARIANT v);
8557
8558     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8559     HRESULT onchange([retval, out] VARIANT *p);
8560
8561     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8562     HRESULT selectedIndex([in] LONG v);
8563
8564     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8565     HRESULT selectedIndex([retval, out] LONG *p);
8566
8567     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8568     HRESULT type([retval, out] BSTR *p);
8569
8570     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8571     HRESULT value([in] BSTR v);
8572
8573     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8574     HRESULT value([retval, out] BSTR *p);
8575
8576     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8577     HRESULT disabled([in] VARIANT_BOOL v);
8578
8579     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8580     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8581
8582     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8583     HRESULT form([retval, out] IHTMLFormElement **p);
8584
8585     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8586     HRESULT add(
8587         [in] IHTMLElement *element,
8588         [optional, in] VARIANT before);
8589
8590     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8591     HRESULT remove([defaultvalue(-1), in] LONG index);
8592
8593     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8594     HRESULT length([in] LONG v);
8595
8596     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8597     HRESULT length([retval, out] LONG *p);
8598
8599     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8600     HRESULT _newEnum([retval, out] IUnknown **p);
8601
8602     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8603     HRESULT item(
8604         [optional, in] VARIANT name,
8605         [optional, in] VARIANT index,
8606         [retval, out] IDispatch **pdisp);
8607
8608     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8609     HRESULT tags(
8610         [in] VARIANT tagName,
8611         [retval, out] IDispatch **pdisp);
8612 }
8613
8614 /*****************************************************************************
8615  *    DispHTMLSelectElement dispinterface
8616  */
8617 [
8618     hidden,
8619     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8620 ]
8621 dispinterface DispHTMLSelectElement
8622 {
8623 properties:
8624 methods:
8625     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8626
8627     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8628     void size(LONG v);
8629
8630     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8631     LONG size();
8632
8633     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8634     void multiple(VARIANT_BOOL v);
8635
8636     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8637     VARIANT_BOOL multiple();
8638
8639     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8640     void name(BSTR v);
8641
8642     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8643     BSTR name();
8644
8645     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8646     IDispatch *options();
8647
8648     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8649     void onchange(VARIANT v);
8650
8651     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8652     VARIANT onchange();
8653
8654     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8655     void selectedIndex(LONG v);
8656
8657     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8658     LONG selectedIndex();
8659
8660     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8661     BSTR type();
8662
8663     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8664     void value(BSTR v);
8665
8666     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8667     BSTR value();
8668
8669     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8670     IHTMLFormElement *form();
8671
8672     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8673     void add(
8674             [in] IHTMLElement *element,
8675             [in, optional] VARIANT before);
8676
8677     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8678     void remove([in, defaultvalue(-1)] LONG index);
8679
8680     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8681     void length(LONG v);
8682
8683     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8684     LONG length();
8685
8686     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8687     IUnknown *_newEnum();
8688
8689     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8690     IDispatch *item(
8691             [in, optional] VARIANT name,
8692             [in, optional] VARIANT index);
8693
8694     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8695     IDispatch *tags([in] VARIANT tagName);
8696
8697     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
8698     IDispatch *urns([in] VARIANT urn);
8699
8700     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
8701     IDispatch *namedItem([in] BSTR name);
8702 }
8703
8704 /*****************************************************************************
8705  *    IHTMLSelectionObject interface
8706  */
8707 [
8708     odl,
8709     oleautomation,
8710     dual,
8711     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
8712 ]
8713 interface IHTMLSelectionObject : IDispatch
8714 {
8715     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
8716     HRESULT createRange([retval, out] IDispatch **range);
8717
8718     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
8719     HRESULT empty();
8720
8721     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
8722     HRESULT clear();
8723
8724     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
8725     HRESULT type([retval, out] BSTR *p);
8726 }
8727
8728 /*****************************************************************************
8729  *    IHTMLOptionElement interface
8730  */
8731 [
8732     odl,
8733     oleautomation,
8734     dual,
8735     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
8736 ]
8737 interface IHTMLOptionElement : IDispatch
8738 {
8739     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8740     HRESULT selected([in] VARIANT_BOOL v);
8741
8742     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8743     HRESULT selected([retval, out] VARIANT_BOOL *p);
8744
8745     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8746     HRESULT value([in] BSTR v);
8747
8748     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8749     HRESULT value([retval, out] BSTR *p);
8750
8751     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8752     HRESULT defaultSelected([in] VARIANT_BOOL v);
8753
8754     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8755     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
8756
8757     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8758     HRESULT index([in] LONG v);
8759
8760     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8761     HRESULT index([retval, out] LONG *p);
8762
8763     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8764     HRESULT text([in] BSTR v);
8765
8766     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8767     HRESULT text([retval, out] BSTR *p);
8768
8769     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8770     HRESULT form([retval, out] IHTMLFormElement **p);
8771 }
8772
8773 [
8774     odl,
8775     oleautomation,
8776     dual,
8777     uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
8778 ]
8779 interface IHTMLOptionElement3 : IDispatch
8780 {
8781     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8782     HRESULT label([in] BSTR v);
8783
8784     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8785     HRESULT label([retval, out] BSTR * p);
8786 }
8787
8788 /*****************************************************************************
8789  *    IHTMLOptionElementFactory interface
8790  */
8791 [
8792     odl,
8793     oleautomation,
8794     dual,
8795     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
8796 ]
8797 interface IHTMLOptionElementFactory : IDispatch
8798 {
8799     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
8800     HRESULT create(
8801         [optional, in] VARIANT text,
8802         [optional, in] VARIANT value,
8803         [optional, in] VARIANT defaultselected,
8804         [optional, in] VARIANT selected,
8805         [retval, out] IHTMLOptionElement **optelem);
8806 }
8807
8808 /*****************************************************************************
8809  *    DispHTMLOptionElement dispinterface
8810  */
8811 [
8812     hidden,
8813     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
8814 ]
8815 dispinterface DispHTMLOptionElement
8816 {
8817 properties:
8818 methods:
8819     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8820
8821     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8822     void selected(VARIANT_BOOL v);
8823
8824     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8825     VARIANT_BOOL selected();
8826
8827     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8828     void value(BSTR v);
8829
8830     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8831     BSTR value();
8832
8833     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8834     void defaultSelected(VARIANT_BOOL v);
8835
8836     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8837     VARIANT_BOOL defaultSelected();
8838
8839     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8840     void index(LONG v);
8841
8842     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8843     LONG index();
8844
8845     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8846     void text(BSTR v);
8847
8848     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8849     BSTR text();
8850
8851     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8852     IHTMLFormElement *form();
8853
8854     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8855     void label(BSTR v);
8856
8857     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8858     BSTR label();
8859 }
8860
8861 [
8862     noncreatable,
8863     uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
8864 ]
8865 coclass HTMLOptionElement
8866 {
8867     [default]           dispinterface DispHTMLOptionElement;
8868     [source, default]   dispinterface HTMLElementEvents;
8869     [source]            dispinterface HTMLElementEvents2;
8870                         interface IHTMLElement;
8871                         interface IHTMLElement2;
8872                         interface IHTMLElement3;
8873                         interface IHTMLElement4;
8874                         interface IHTMLUniqueName;
8875                         interface IHTMLDOMNode;
8876                         interface IHTMLDOMNode2;
8877                         interface IHTMLDatabinding;
8878                         interface IHTMLOptionElement;
8879                         interface IHTMLOptionElement3;
8880 }
8881
8882 /*****************************************************************************
8883  *    IHTMLInputElement interface
8884  */
8885 [
8886     odl,
8887     oleautomation,
8888     dual,
8889     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
8890 ]
8891 interface IHTMLInputElement : IDispatch
8892 {
8893     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8894     HRESULT type([in] BSTR v);
8895
8896     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8897     HRESULT type([retval, out] BSTR *p);
8898
8899     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8900     HRESULT value([in] BSTR v);
8901
8902     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8903     HRESULT value([retval, out] BSTR *p);
8904
8905     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8906     HRESULT name([in] BSTR v);
8907
8908     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8909     HRESULT name([retval, out] BSTR *p);
8910
8911     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8912     HRESULT status([in] VARIANT_BOOL v);
8913
8914     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8915     HRESULT status([retval, out] VARIANT_BOOL *p);
8916
8917     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8918     HRESULT disabled([in] VARIANT_BOOL v);
8919
8920     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8921     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8922
8923     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8924     HRESULT form([retval, out] IHTMLFormElement **p);
8925
8926     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8927     HRESULT size([in] LONG v);
8928
8929     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8930     HRESULT size([retval, out] LONG *p);
8931
8932     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8933     HRESULT maxLength([in] LONG v);
8934
8935     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8936     HRESULT maxLength([retval, out] LONG *p);
8937
8938     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8939     HRESULT select();
8940
8941     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8942     HRESULT onchange([in] VARIANT v);
8943
8944     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8945     HRESULT onchange([retval, out] VARIANT *p);
8946
8947     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8948     HRESULT onselect([in] VARIANT v);
8949
8950     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8951     HRESULT onselect([retval, out] VARIANT *p);
8952
8953     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8954     HRESULT defaultValue([in] BSTR v);
8955
8956     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8957     HRESULT defaultValue([retval, out] BSTR *p);
8958
8959     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8960     HRESULT readOnly([in] VARIANT_BOOL v);
8961
8962     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8963     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8964
8965     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8966     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8967
8968     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8969     HRESULT indeterminate([in] VARIANT_BOOL v);
8970
8971     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8972     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
8973
8974     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8975     HRESULT defaultChecked([in] VARIANT_BOOL v);
8976
8977     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8978     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
8979
8980     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8981     HRESULT checked([in] VARIANT_BOOL v);
8982
8983     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8984     HRESULT checked([retval, out] VARIANT_BOOL *p);
8985
8986     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8987     HRESULT border([in] VARIANT v);
8988
8989     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8990     HRESULT border([retval, out] VARIANT *p);
8991
8992     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8993     HRESULT vspace([in] LONG v);
8994
8995     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8996     HRESULT vspace([retval, out] LONG *p);
8997
8998     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8999     HRESULT hspace([in] LONG v);
9000
9001     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9002     HRESULT hspace([retval, out] LONG *p);
9003
9004     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9005     HRESULT alt([in] BSTR v);
9006
9007     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9008     HRESULT alt([retval, out] BSTR *p);
9009
9010     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9011     HRESULT src([in] BSTR v);
9012
9013     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9014     HRESULT src([retval, out] BSTR *p);
9015
9016     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9017     HRESULT lowsrc([in] BSTR v);
9018
9019     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9020     HRESULT lowsrc([retval, out] BSTR *p);
9021
9022     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9023     HRESULT vrml([in] BSTR v);
9024
9025     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9026     HRESULT vrml([retval, out] BSTR *p);
9027
9028     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9029     HRESULT dynsrc([in] BSTR v);
9030
9031     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9032     HRESULT dynsrc([retval, out] BSTR *p);
9033
9034     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
9035     HRESULT readyState([retval, out] BSTR *p);
9036
9037     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9038     HRESULT complete([retval, out] VARIANT_BOOL *p);
9039
9040     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9041     HRESULT loop([in] VARIANT v);
9042
9043     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9044     HRESULT loop([retval, out] VARIANT *p);
9045
9046     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9047     HRESULT align([in] BSTR v);
9048
9049     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9050     HRESULT align([retval, out] BSTR *p);
9051
9052     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9053     HRESULT onload([in] VARIANT v);
9054
9055     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9056     HRESULT onload([retval, out] VARIANT *p);
9057
9058     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9059     HRESULT onerror([in] VARIANT v);
9060
9061     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9062     HRESULT onerror([retval, out] VARIANT *p);
9063
9064     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9065     HRESULT onabort([in] VARIANT v);
9066
9067     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9068     HRESULT onabort([retval, out] VARIANT *p);
9069
9070     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9071     HRESULT width([in] LONG v);
9072
9073     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9074     HRESULT width([retval, out] LONG *p);
9075
9076     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9077     HRESULT height([in] LONG v);
9078
9079     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9080     HRESULT height([retval, out] LONG *p);
9081
9082     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9083     HRESULT start([in] BSTR v);
9084
9085     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9086     HRESULT start([retval, out] BSTR *p);
9087 }
9088
9089 /*****************************************************************************
9090  *    IHTMLInputTextElement interface
9091  */
9092 [
9093     odl,
9094     oleautomation,
9095     dual,
9096     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
9097 ]
9098 interface IHTMLInputTextElement : IDispatch
9099 {
9100     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
9101     HRESULT type([retval, out] BSTR *p);
9102
9103     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9104     HRESULT value([in] BSTR v);
9105
9106     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9107     HRESULT value([retval, out] BSTR *p);
9108
9109     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9110     HRESULT name([in] BSTR v);
9111
9112     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9113     HRESULT name([retval, out] BSTR *p);
9114
9115     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9116     HRESULT status([in] VARIANT v);
9117
9118     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9119     HRESULT status([retval, out] VARIANT *p);
9120
9121     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9122     HRESULT disabled([in] VARIANT_BOOL v);
9123
9124     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9125     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9126
9127     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
9128     HRESULT form([retval, out] IHTMLFormElement **p);
9129
9130     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9131     HRESULT defaultValue([in] BSTR v);
9132
9133     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9134     HRESULT defaultValue([retval, out] BSTR *p);
9135
9136     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9137     HRESULT size([in] LONG v);
9138
9139     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9140     HRESULT size([retval, out] LONG *p);
9141
9142     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9143     HRESULT maxLength([in] LONG v);
9144
9145     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9146     HRESULT maxLength([retval, out] LONG *p);
9147
9148     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
9149     HRESULT select();
9150
9151     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9152     HRESULT onchange([in] VARIANT v);
9153
9154     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9155     HRESULT onchange([retval, out] VARIANT *p);
9156
9157     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9158     HRESULT onselect([in] VARIANT v);
9159
9160     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9161     HRESULT onselect([retval, out] VARIANT *p);
9162
9163     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9164     HRESULT readOnly([in] VARIANT_BOOL v);
9165
9166     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9167     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9168
9169     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
9170     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9171 }
9172
9173 [
9174     hidden,
9175     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
9176 ]
9177 dispinterface DispHTMLInputElement
9178 {
9179 properties:
9180 methods:
9181     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9182
9183     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9184     void type(BSTR v);
9185
9186     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9187     BSTR type();
9188
9189     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9190     void value(BSTR v);
9191
9192     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9193     BSTR value();
9194
9195     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9196     void name(BSTR v);
9197
9198     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9199     BSTR name();
9200
9201     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9202     void status(VARIANT_BOOL v);
9203
9204     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9205     VARIANT_BOOL status();
9206
9207     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
9208     IHTMLFormElement *form();
9209
9210     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9211     void size(LONG v);
9212
9213     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9214     LONG size();
9215
9216     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9217     void maxLength(LONG v);
9218
9219     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9220     LONG maxLength();
9221
9222     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
9223     void select();
9224
9225     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9226     void onchange(VARIANT v);
9227
9228     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9229     VARIANT onchange();
9230
9231     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9232     void onselect(VARIANT v);
9233
9234     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9235     VARIANT onselect();
9236
9237     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9238     void defaultValue(BSTR v);
9239
9240     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9241     BSTR defaultValue();
9242
9243     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9244     void readOnly(VARIANT_BOOL v);
9245
9246     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9247     VARIANT_BOOL readOnly();
9248
9249     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
9250     IHTMLTxtRange *createTextRange();
9251
9252     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9253     void indeterminate(VARIANT_BOOL v);
9254
9255     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9256     VARIANT_BOOL indeterminate();
9257
9258     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9259     void defaultChecked(VARIANT_BOOL v);
9260
9261     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9262     VARIANT_BOOL defaultChecked();
9263
9264     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9265     void checked(VARIANT_BOOL v);
9266
9267     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9268     VARIANT_BOOL checked();
9269
9270     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9271     void border(VARIANT v);
9272
9273     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9274     VARIANT border();
9275
9276     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9277     void vspace(LONG v);
9278
9279     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9280     LONG vspace();
9281
9282     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9283     void hspace(LONG v);
9284
9285     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9286     LONG hspace();
9287
9288     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9289     void alt(BSTR v);
9290
9291     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9292     BSTR alt();
9293
9294     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9295     void src(BSTR v);
9296
9297     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9298     BSTR src();
9299
9300     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9301     void lowsrc(BSTR v);
9302
9303     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9304     BSTR lowsrc();
9305
9306     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9307     void vrml(BSTR v);
9308
9309     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9310     BSTR vrml();
9311
9312     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9313     void dynsrc(BSTR v);
9314
9315     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9316     BSTR dynsrc();
9317
9318     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9319     VARIANT_BOOL complete();
9320
9321     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9322     void loop(VARIANT v);
9323
9324     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9325     VARIANT loop();
9326
9327     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9328     void align(BSTR v);
9329
9330     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9331     BSTR align();
9332
9333     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9334     void onload(VARIANT v);
9335
9336     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9337     VARIANT onload();
9338
9339     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9340     void onerror(VARIANT v);
9341
9342     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9343     VARIANT onerror();
9344
9345     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9346     void onabort(VARIANT v);
9347
9348     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9349     VARIANT onabort();
9350
9351     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9352     void width(LONG v);
9353
9354     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9355     LONG width();
9356
9357     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9358     void height(LONG v);
9359
9360     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9361     LONG height();
9362
9363     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9364     void start(BSTR v);
9365
9366     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9367     BSTR start();
9368
9369     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9370     void accept(BSTR v);
9371
9372     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9373     BSTR accept();
9374
9375     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9376     void useMap(BSTR v);
9377
9378     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9379     BSTR useMap();
9380 }
9381
9382 /*****************************************************************************
9383  *    IHTMLTextAreaElement interface
9384  */
9385 [
9386     odl,
9387     oleautomation,
9388     dual,
9389     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
9390 ]
9391 interface IHTMLTextAreaElement : IDispatch
9392 {
9393     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9394     HRESULT type([retval, out] BSTR *p);
9395
9396     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9397     HRESULT value([in] BSTR v);
9398
9399     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9400     HRESULT value([retval, out] BSTR *p);
9401
9402     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9403     HRESULT name([in] BSTR v);
9404
9405     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9406     HRESULT name([retval, out] BSTR *p);
9407
9408     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9409     HRESULT status([in] VARIANT v);
9410
9411     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9412     HRESULT status([retval, out] VARIANT *p);
9413
9414     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9415     HRESULT disabled([in] VARIANT_BOOL v);
9416
9417     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9418     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9419
9420     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9421     HRESULT form([retval, out] IHTMLFormElement **p);
9422
9423     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9424     HRESULT defaultValue([in] BSTR v);
9425
9426     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9427     HRESULT defaultValue([retval, out] BSTR *p);
9428
9429     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9430     HRESULT select();
9431
9432     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9433     HRESULT onchange([in] VARIANT v);
9434
9435     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9436     HRESULT onchange([retval, out] VARIANT *p);
9437
9438     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9439     HRESULT onselect([in] VARIANT v);
9440
9441     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9442     HRESULT onselect([retval, out] VARIANT *p);
9443
9444     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9445     HRESULT readOnly([in] VARIANT_BOOL v);
9446
9447     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9448     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9449
9450     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9451     HRESULT rows([in] LONG v);
9452
9453     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9454     HRESULT rows([retval, out] LONG *p);
9455
9456     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9457     HRESULT cols([in] LONG v);
9458
9459     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9460     HRESULT cols([retval, out] LONG *p);
9461
9462     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9463     HRESULT wrap([in] BSTR v);
9464
9465     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9466     HRESULT wrap([retval, out] BSTR *p);
9467
9468     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9469     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9470 }
9471
9472 /*****************************************************************************
9473  *    DispHTMLTextAreaElement dispinterface
9474  */
9475 [
9476     hidden,
9477     uuid(3050f521-98b5-11cf-bb82-00aa00bdce0b)
9478 ]
9479 dispinterface DispHTMLTextAreaElement
9480 {
9481 properties:
9482 methods:
9483     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9484
9485     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9486     BSTR type();
9487
9488     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9489     void value(BSTR v);
9490
9491     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9492     BSTR value();
9493
9494     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9495     void name(BSTR v);
9496
9497     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9498     BSTR name();
9499
9500     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9501     void status(VARIANT v);
9502
9503     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9504     VARIANT status();
9505
9506     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9507     IHTMLFormElement *form();
9508
9509     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9510     void defaultValue(BSTR v);
9511
9512     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9513     BSTR defaultValue();
9514
9515     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9516     void select();
9517
9518     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9519     void onchange(VARIANT v);
9520
9521     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9522     VARIANT onchange();
9523
9524     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9525     void onselect(VARIANT v);
9526
9527     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9528     VARIANT onselect();
9529
9530     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9531     void readOnly(VARIANT_BOOL v);
9532
9533     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9534     VARIANT_BOOL readOnly();
9535
9536     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9537     void rows(LONG v);
9538
9539     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9540     LONG rows();
9541
9542     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9543     void cols(LONG v);
9544
9545     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9546     LONG cols();
9547
9548     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9549     void wrap(BSTR v);
9550
9551     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9552     BSTR wrap();
9553
9554     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9555     IHTMLTxtRange *createTextRange();
9556 }
9557
9558 /*****************************************************************************
9559  *    IHTMLHeadElement interface
9560  */
9561 [
9562     odl,
9563     oleautomation,
9564     dual,
9565     uuid(3050f81d-98b5-11cf-bb82-00aa00bdce0b)
9566 ]
9567 interface IHTMLHeadElement : IDispatch
9568 {
9569     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9570     HRESULT profile([in] BSTR v);
9571
9572     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9573     HRESULT profile([retval, out] BSTR *p);
9574 }
9575
9576 /*****************************************************************************
9577  *    IHTMLHeadElement2 interface
9578  */
9579 [
9580     odl,
9581     oleautomation,
9582     dual,
9583     uuid(3051042f-98b5-11cf-bb82-00aa00bdce0b)
9584 ]
9585 interface IHTMLHeadElement2 : IDispatch
9586 {
9587     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9588     HRESULT profile([in] BSTR v);
9589
9590     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9591     HRESULT profile([retval, out] BSTR *p);
9592 }
9593
9594 /*****************************************************************************
9595  *    IHTMLTitleElement interface
9596  */
9597 [
9598     odl,
9599     oleautomation,
9600     dual,
9601     uuid(3050f322-98b5-11cf-bb82-00aa00bdce0b)
9602 ]
9603 interface IHTMLTitleElement : IDispatch
9604 {
9605     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9606     HRESULT text([in] BSTR v);
9607
9608     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9609     HRESULT text([retval, out] BSTR *p);
9610 }
9611
9612 /*****************************************************************************
9613  *    DispHTMLHeadElement interface
9614  */
9615 [
9616     hidden,
9617     uuid(3050f561-98b5-11cf-bb82-00aa00bdce0b)
9618 ]
9619 dispinterface DispHTMLHeadElement
9620 {
9621 properties:
9622 methods:
9623     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9624
9625     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9626     void profile(BSTR v);
9627
9628     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9629     BSTR profile();
9630
9631     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9632     void ie8_profile(BSTR v);
9633
9634     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9635     BSTR ie8_profile();
9636 }
9637
9638 /*****************************************************************************
9639  *    DispHTMLTitleElement interface
9640  */
9641 [
9642     hidden,
9643     uuid(3050f516-98b5-11cf-bb82-00aa00bdce0b)
9644 ]
9645 dispinterface DispHTMLTitleElement
9646 {
9647 properties:
9648 methods:
9649     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9650
9651     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9652     void text(BSTR v);
9653
9654     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9655     BSTR text();
9656 }
9657
9658 /*****************************************************************************
9659  *    DispHTMLUnknownElement interface
9660  */
9661 [
9662     hidden,
9663     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
9664 ]
9665 dispinterface DispHTMLUnknownElement
9666 {
9667 properties:
9668 methods:
9669     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9670 }
9671
9672 /*****************************************************************************
9673  *    IOmHistory interface
9674  */
9675 [
9676     odl,
9677     oleautomation,
9678     dual,
9679     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
9680 ]
9681 interface IOmHistory : IDispatch
9682 {
9683     [propget, id(DISPID_IOMHISTORY_LENGTH)]
9684     HRESULT length([retval, out] short *p);
9685
9686     [id(DISPID_IOMHISTORY_BACK)]
9687     HRESULT back([optional, in] VARIANT *pvargdistance);
9688
9689     [id(DISPID_IOMHISTORY_FORWARD)]
9690     HRESULT forward([optional, in] VARIANT *pvargdistance);
9691
9692     [id(DISPID_IOMHISTORY_GO)]
9693     HRESULT go([optional, in] VARIANT *pvargdistance);
9694 }
9695
9696 [
9697     noncreatable,
9698     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
9699 ]
9700 coclass HTMLHistory
9701 {
9702     [default]           interface IOmHistory;
9703 }
9704
9705 /*****************************************************************************
9706  *    IHTMLMimeTypesCollection interface
9707  */
9708 [
9709     odl,
9710     oleautomation,
9711     dual,
9712     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
9713 ]
9714 interface IHTMLMimeTypesCollection : IDispatch
9715 {
9716     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
9717     HRESULT length([retval, out] LONG *p);
9718 }
9719
9720 [
9721     noncreatable,
9722     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
9723 ]
9724 coclass CMimeTypes
9725 {
9726     [default]           interface IHTMLMimeTypesCollection;
9727 }
9728
9729 /*****************************************************************************
9730  *    IHTMLPluginsCollection interface
9731  */
9732 [
9733     odl,
9734     oleautomation,
9735     dual,
9736     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
9737 ]
9738 interface IHTMLPluginsCollection : IDispatch
9739 {
9740     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9741     HRESULT length([retval, out] LONG *p);
9742
9743     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9744     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9745 }
9746
9747 [
9748     hidden,
9749     uuid(3050f54a-98b5-11cf-bb82-00aa00bdce0b)
9750 ]
9751 dispinterface DispCPlugins
9752 {
9753  properties:
9754 methods:
9755     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9756     long length();
9757
9758     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9759     void refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9760
9761     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
9762     IDispatch *constructor();
9763 }
9764
9765 [
9766     noncreatable,
9767     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
9768 ]
9769 coclass CPlugins
9770 {
9771     [default]  dispinterface DispCPlugins;
9772                interface IHTMLPluginsCollection;
9773                interface IHTMLDOMConstructor;
9774 }
9775
9776 /*****************************************************************************
9777  *    IHTMLOpsProfile interface
9778  */
9779 [
9780     odl,
9781     oleautomation,
9782     dual,
9783     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
9784 ]
9785 interface IHTMLOpsProfile : IDispatch
9786 {
9787     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
9788     HRESULT addRequest(
9789         [in] BSTR name,
9790         [optional, in] VARIANT reserved,
9791         [retval, out] VARIANT_BOOL *success);
9792
9793     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
9794     HRESULT clearRequest();
9795
9796     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
9797     HRESULT doRequest(
9798         [in] VARIANT usage,
9799         [optional, in] VARIANT fname,
9800         [optional, in] VARIANT domain,
9801         [optional, in] VARIANT path,
9802         [optional, in] VARIANT expire,
9803         [optional, in] VARIANT reserved);
9804
9805     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
9806     HRESULT getAttribute(
9807         [in] BSTR name,
9808         [retval, out] BSTR *value);
9809
9810     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
9811     HRESULT setAttribute(
9812         [in] BSTR name,
9813         [in] BSTR value,
9814         [optional, in] VARIANT prefs,
9815         [retval, out] VARIANT_BOOL *success);
9816
9817     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
9818     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
9819
9820     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
9821     HRESULT addReadRequest(
9822         [in] BSTR name,
9823         [optional, in] VARIANT reserved,
9824         [retval, out] VARIANT_BOOL *success);
9825
9826     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
9827     HRESULT doReadRequest(
9828         [in] VARIANT usage,
9829         [optional, in] VARIANT fname,
9830         [optional, in] VARIANT domain,
9831         [optional, in] VARIANT path,
9832         [optional, in] VARIANT expire,
9833         [optional, in] VARIANT reserved);
9834
9835     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
9836     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
9837 }
9838
9839 [
9840     noncreatable,
9841     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
9842 ]
9843 coclass COpsProfile
9844 {
9845     [default]           interface IHTMLOpsProfile;
9846 }
9847
9848 /*****************************************************************************
9849  *    IOmNavigator interface
9850  */
9851 [
9852     odl,
9853     oleautomation,
9854     dual,
9855     uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
9856 ]
9857 interface IOmNavigator : IDispatch
9858 {
9859     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9860     HRESULT appCodeName([retval, out] BSTR *p);
9861
9862     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9863     HRESULT appName([retval, out] BSTR *p);
9864
9865     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
9866     HRESULT appVersion([retval, out] BSTR *p);
9867
9868     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
9869     HRESULT userAgent([retval, out] BSTR *p);
9870
9871     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
9872     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
9873
9874     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
9875     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
9876
9877     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
9878     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
9879
9880     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
9881     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
9882
9883     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
9884     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
9885
9886     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
9887     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
9888
9889     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
9890     HRESULT toString([retval, out] BSTR *String);
9891
9892     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
9893     HRESULT cpuClass([retval, out] BSTR *p);
9894
9895     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
9896     HRESULT systemLanguage([retval, out] BSTR *p);
9897
9898     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
9899     HRESULT browserLanguage([retval, out] BSTR *p);
9900
9901     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
9902     HRESULT userLanguage([retval, out] BSTR *p);
9903
9904     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
9905     HRESULT platform([retval, out] BSTR *p);
9906
9907     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
9908     HRESULT appMinorVersion([retval, out] BSTR *p);
9909
9910     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
9911     HRESULT connectionSpeed([retval, out] LONG *p);
9912
9913     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
9914     HRESULT onLine([retval, out] VARIANT_BOOL *p);
9915
9916     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
9917     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
9918 }
9919
9920 /*****************************************************************************
9921  *    DispHTMLNavigator dispinterface
9922  */
9923 [
9924     hidden,
9925     uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
9926 ]
9927 dispinterface DispHTMLNavigator
9928 {
9929 properties:
9930 methods:
9931     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9932     BSTR appCodeName();
9933
9934     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9935     BSTR appName();
9936
9937     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
9938     BSTR appVersion();
9939
9940     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
9941     BSTR userAgent();
9942
9943     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
9944     VARIANT_BOOL javaEnabled();
9945
9946     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
9947     VARIANT_BOOL taintEnabled();
9948
9949     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
9950     IHTMLMimeTypesCollection *mimeTypes();
9951
9952     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
9953     IHTMLPluginsCollection *plugins();
9954
9955     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
9956     VARIANT_BOOL cookieEnabled();
9957
9958     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
9959     IHTMLOpsProfile *opsProfile();
9960
9961     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
9962     BSTR toString();
9963
9964     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
9965     BSTR cpuClass();
9966
9967     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
9968     BSTR systemLanguage();
9969
9970     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
9971     BSTR browserLanguage();
9972
9973     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
9974     BSTR userLanguage();
9975
9976     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
9977     BSTR platform();
9978
9979     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
9980     BSTR appMinorVersion();
9981
9982     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
9983     LONG connectionSpeed();
9984
9985     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
9986     VARIANT_BOOL onLine();
9987
9988     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
9989     IHTMLOpsProfile *userProfile();
9990
9991     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
9992 }
9993
9994 [
9995     noncreatable,
9996     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
9997 ]
9998 coclass HTMLNavigator
9999 {
10000     [default]  dispinterface DispHTMLNavigator;
10001                interface IOmNavigator;
10002 }
10003
10004 /*****************************************************************************
10005  *    IHTMLLocation interface
10006  */
10007 [
10008     odl,
10009     oleautomation,
10010     dual,
10011     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
10012 ]
10013 interface IHTMLLocation : IDispatch
10014 {
10015     [propput, id(DISPID_IHTMLLOCATION_HREF)]
10016     HRESULT href([in] BSTR v);
10017
10018     [propget, id(DISPID_IHTMLLOCATION_HREF)]
10019     HRESULT href([retval, out] BSTR *p);
10020
10021     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10022     HRESULT protocol([in] BSTR v);
10023
10024     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10025     HRESULT protocol([retval, out] BSTR *p);
10026
10027     [propput, id(DISPID_IHTMLLOCATION_HOST)]
10028     HRESULT host([in] BSTR v);
10029
10030     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10031     HRESULT host([retval, out] BSTR *p);
10032
10033     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10034     HRESULT hostname([in] BSTR v);
10035
10036     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10037     HRESULT hostname([retval, out] BSTR *p);
10038
10039     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10040     HRESULT port([in] BSTR v);
10041
10042     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10043     HRESULT port([retval, out] BSTR *p);
10044
10045     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10046     HRESULT pathname([in] BSTR v);
10047
10048     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10049     HRESULT pathname([retval, out] BSTR *p);
10050
10051     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10052     HRESULT search([in] BSTR v);
10053
10054     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10055     HRESULT search([retval, out] BSTR *p);
10056
10057     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10058     HRESULT hash([in] BSTR v);
10059
10060     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10061     HRESULT hash([retval, out] BSTR *p);
10062
10063     [id(DISPID_IHTMLLOCATION_RELOAD)]
10064     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
10065
10066     [id(DISPID_IHTMLLOCATION_REPLACE)]
10067     HRESULT replace([in] BSTR bstr);
10068
10069     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10070     HRESULT assign([in] BSTR bstr);
10071
10072     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10073     HRESULT toString([retval, out] BSTR *String);
10074 }
10075
10076 /*****************************************************************************
10077  *    DispHTMLLocation dispinterface
10078  */
10079 [
10080     hidden,
10081     uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
10082 ]
10083 dispinterface DispHTMLLocation
10084 {
10085 properties:
10086 methods:
10087     [propput, id(DISPID_IHTMLLOCATION_HREF)]
10088     void href(BSTR v);
10089
10090     [propget, id(DISPID_IHTMLLOCATION_HREF)]
10091     BSTR href();
10092
10093     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10094     void protocol(BSTR v);
10095
10096     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10097     BSTR protocol();
10098
10099     [propput, id(DISPID_IHTMLLOCATION_HOST)]
10100     void host(BSTR v);
10101
10102     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10103     BSTR host();
10104
10105     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10106     void hostname(BSTR v);
10107
10108     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10109     BSTR hostname();
10110
10111     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10112     void port(BSTR v);
10113
10114     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10115     BSTR port();
10116
10117     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10118     void pathname(BSTR v);
10119
10120     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10121     BSTR pathname();
10122
10123     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10124     void search(BSTR v);
10125
10126     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10127     BSTR search();
10128
10129     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10130     void hash(BSTR v);
10131
10132     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10133     BSTR hash();
10134
10135     [id(DISPID_IHTMLLOCATION_RELOAD)]
10136     void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
10137
10138     [id(DISPID_IHTMLLOCATION_REPLACE)]
10139     void replace([in] BSTR bstr);
10140
10141     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10142     void assign([in] BSTR bstr);
10143
10144     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10145     BSTR toString();
10146
10147     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
10148 }
10149
10150 [
10151     noncreatable,
10152     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
10153 ]
10154 coclass HTMLLocation
10155 {
10156     [default]  dispinterface DispHTMLLocation;
10157                interface IHTMLLocation;
10158 }
10159
10160 [
10161     odl,
10162     oleautomation,
10163     dual,
10164     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
10165 ]
10166 interface IHTMLBookmarkCollection : IDispatch
10167 {
10168     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
10169     HRESULT length([out, retval] LONG *p);
10170
10171     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
10172     HRESULT _newEnum([out, retval] IUnknown **p);
10173
10174     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
10175     HRESULT item(
10176             [in] LONG index,
10177             [out, retval] VARIANT *pVarBookmark);
10178 }
10179
10180 /*****************************************************************************
10181  *    IHTMLDataTransfer interface
10182  */
10183 [
10184     odl,
10185     oleautomation,
10186     dual,
10187     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
10188 ]
10189 interface IHTMLDataTransfer : IDispatch
10190 {
10191     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
10192     HRESULT setData(
10193             [in] BSTR format,
10194             [in] VARIANT *data,
10195             [out, retval] VARIANT_BOOL *pret);
10196
10197     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
10198     HRESULT getData(
10199             [in] BSTR format,
10200             [out, retval] VARIANT *pvarRet);
10201
10202     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
10203     HRESULT clearData(
10204             [in] BSTR format,
10205             [out, retval] VARIANT_BOOL *pret);
10206
10207     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10208     HRESULT dropEffect([in] BSTR v);
10209
10210     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10211     HRESULT dropEffect([out, retval] BSTR *p);
10212
10213     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10214     HRESULT effectAllowed([in] BSTR v);
10215
10216     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10217     HRESULT effectAllowed([out, retval] BSTR *p);
10218 }
10219
10220 /*****************************************************************************
10221  *    IHTMLEventObj interface
10222  */
10223 [
10224     odl,
10225     oleautomation,
10226     dual,
10227     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
10228 ]
10229 interface IHTMLEventObj : IDispatch
10230 {
10231     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
10232     HRESULT srcElement([retval, out] IHTMLElement **p);
10233
10234     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
10235     HRESULT altKey([retval, out] VARIANT_BOOL *p);
10236
10237     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
10238     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
10239
10240     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
10241     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
10242
10243     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10244     HRESULT returnValue([in] VARIANT v);
10245
10246     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10247     HRESULT returnValue([retval, out] VARIANT *p);
10248
10249     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10250     HRESULT cancelBubble([in] VARIANT_BOOL v);
10251
10252     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10253     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
10254
10255     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
10256     HRESULT fromElement([retval, out] IHTMLElement **p);
10257
10258     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
10259     HRESULT toElement([retval, out] IHTMLElement **p);
10260
10261     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10262     HRESULT keyCode([in] LONG v);
10263
10264     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10265     HRESULT keyCode([retval, out] LONG *p);
10266
10267     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
10268     HRESULT button([retval, out] LONG *p);
10269
10270     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
10271     HRESULT type([retval, out] BSTR *p);
10272
10273     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
10274     HRESULT qualifier([retval, out] BSTR *p);
10275
10276     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
10277     HRESULT reason([retval, out] LONG *p);
10278
10279     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
10280     HRESULT x([retval, out] LONG *p);
10281
10282     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
10283     HRESULT y([retval, out] LONG *p);
10284
10285     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
10286     HRESULT clientX([retval, out] LONG *p);
10287
10288     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
10289     HRESULT clientY([retval, out] LONG *p);
10290
10291     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
10292     HRESULT offsetX([retval, out] LONG *p);
10293
10294     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
10295     HRESULT offsetY([retval, out] LONG *p);
10296
10297     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
10298     HRESULT screenX([retval, out] LONG *p);
10299
10300     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
10301     HRESULT screenY([retval, out] LONG *p);
10302
10303     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
10304     HRESULT srcFilter([retval, out] IDispatch **p);
10305 }
10306
10307 /*****************************************************************************
10308  *    DispCEventObj dispinterface
10309  */
10310 [
10311     hidden,
10312     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
10313 ]
10314 dispinterface DispCEventObj
10315 {
10316 properties:
10317 methods:
10318     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10319     void returnValue(VARIANT v);
10320
10321     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10322     VARIANT returnValue();
10323
10324     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10325     void cancelBubble(VARIANT_BOOL v);
10326
10327     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10328     VARIANT_BOOL cancelBubble();
10329
10330     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10331     void keyCode(LONG v);
10332
10333     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10334     LONG keyCode();
10335
10336     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
10337     void setAttribute(
10338             [in] BSTR strAttributeName,
10339             [in] VARIANT AttributeValue,
10340             [in, defaultvalue(1)] LONG lFlags);
10341
10342     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
10343     VARIANT getAttribute(
10344             [in] BSTR strAttributeName,
10345             [in, defaultvalue(0)] LONG lFlags);
10346
10347     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
10348     VARIANT_BOOL removeAttribute(
10349             [in] BSTR strAttributeName,
10350             [in, defaultvalue(1)] LONG lFlags);
10351
10352     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
10353     void propertyName(BSTR v);
10354
10355     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
10356     BSTR propertyName();
10357
10358     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
10359     void bookmarks(IHTMLBookmarkCollection *v);
10360
10361     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
10362     IHTMLBookmarkCollection *bookmarks();
10363
10364     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
10365     void recordset(IDispatch *v);
10366
10367     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
10368     IDispatch *recordset();
10369
10370     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
10371     void dataFld(BSTR v);
10372
10373     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
10374     BSTR dataFld();
10375
10376     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
10377     void boundElements(IHTMLElementCollection *v);
10378
10379     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
10380     IHTMLElementCollection *boundElements();
10381
10382     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
10383     void repeat(VARIANT_BOOL v);
10384
10385     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
10386     VARIANT_BOOL repeat();
10387
10388     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
10389     void srcUrn(BSTR v);
10390
10391     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
10392     BSTR srcUrn();
10393
10394     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
10395     void srcElement(IHTMLElement *v);
10396
10397     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
10398     IHTMLElement *srcElement();
10399
10400     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
10401     void altKey(VARIANT_BOOL v);
10402
10403     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
10404     VARIANT_BOOL altKey();
10405
10406     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
10407     void ctrlKey(VARIANT_BOOL v);
10408
10409     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
10410     VARIANT_BOOL ctrlKey();
10411
10412     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
10413     void shiftKey(VARIANT_BOOL v);
10414
10415     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
10416     VARIANT_BOOL shiftKey();
10417
10418     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
10419     void fromElement(IHTMLElement *v);
10420
10421     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
10422     IHTMLElement *fromElement();
10423
10424     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
10425     void toElement(IHTMLElement *v);
10426
10427     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
10428     IHTMLElement *toElement();
10429
10430     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
10431     void button(LONG v);
10432
10433     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
10434     LONG button();
10435
10436     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
10437     void type(BSTR v);
10438
10439     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
10440     BSTR type();
10441
10442     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
10443     void qualifier(BSTR v);
10444
10445     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
10446     BSTR qualifier();
10447
10448     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
10449     void reason(LONG v);
10450
10451     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
10452     LONG reason();
10453
10454     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
10455     void x(LONG v);
10456
10457     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
10458     LONG x();
10459
10460     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
10461     void y(LONG v);
10462
10463     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
10464     LONG y();
10465
10466     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
10467     void clientX(LONG v);
10468
10469     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
10470     LONG clientX();
10471
10472     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
10473     void clientY(LONG v);
10474
10475     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
10476     LONG clientY();
10477     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
10478     void offsetX(LONG v);
10479
10480     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
10481     LONG offsetX();
10482
10483     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
10484     void offsetY(LONG v);
10485
10486     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
10487     LONG offsetY();
10488
10489     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
10490     void screenX(LONG v);
10491
10492     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
10493     LONG screenX();
10494
10495     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
10496     void screenY(LONG v);
10497
10498     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
10499     LONG screenY();
10500
10501     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
10502     void srcFilter(IDispatch *v);
10503
10504     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
10505     IDispatch *srcFilter();
10506
10507     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
10508     IHTMLDataTransfer *dataTransfer();
10509
10510     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
10511     VARIANT_BOOL contentOverflow();
10512
10513     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
10514     void shiftLeft(VARIANT_BOOL v);
10515
10516     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
10517     VARIANT_BOOL shiftLeft();
10518
10519     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
10520     void altLeft(VARIANT_BOOL v);
10521
10522     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
10523     VARIANT_BOOL altLeft();
10524
10525     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
10526     void ctrlLeft(VARIANT_BOOL v);
10527
10528     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
10529     VARIANT_BOOL ctrlLeft();
10530
10531     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
10532     LONG_PTR imeCompositionChange();
10533
10534     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
10535     LONG_PTR imeNotifyCommand();
10536
10537     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
10538     LONG_PTR imeNotifyData();
10539
10540     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
10541     LONG_PTR imeRequest();
10542
10543     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
10544     LONG_PTR imeRequestData();
10545
10546     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
10547     LONG_PTR keyboardLayout();
10548
10549     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
10550     LONG behaviorCookie();
10551
10552     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
10553     LONG behaviorPart();
10554
10555     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
10556     BSTR nextPage();
10557
10558     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
10559     LONG wheelDelta();
10560 }
10561
10562 /*****************************************************************************
10563  *    IHTMLFramesCollection2 interface
10564  */
10565 [
10566     odl,
10567     oleautomation,
10568     dual,
10569     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
10570 ]
10571 interface IHTMLFramesCollection2 : IDispatch
10572 {
10573     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10574     HRESULT item(
10575         [in] VARIANT *pvarIndex,
10576         [retval, out] VARIANT *pvarResult);
10577
10578     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10579     HRESULT length([retval, out] LONG *p);
10580 }
10581
10582 /*****************************************************************************
10583  *    IHTMLScreen interface
10584  */
10585 [
10586     odl,
10587     oleautomation,
10588     dual,
10589     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
10590 ]
10591 interface IHTMLScreen : IDispatch
10592 {
10593     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
10594     HRESULT colorDepth([retval, out] LONG *p);
10595
10596     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10597     HRESULT bufferDepth([in] LONG v);
10598
10599     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10600     HRESULT bufferDepth([retval, out] LONG *p);
10601
10602     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10603     HRESULT width([retval, out] LONG *p);
10604
10605     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10606     HRESULT height([retval, out] LONG *p);
10607
10608     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10609     HRESULT updateInterval([in] LONG v);
10610
10611     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10612     HRESULT updateInterval([retval, out] LONG *p);
10613
10614     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
10615     HRESULT availHeight([retval, out] LONG *p);
10616
10617     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
10618     HRESULT availWidth([retval, out] LONG *p);
10619
10620     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10621     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
10622 }
10623
10624 /*****************************************************************************
10625  *    IHTMLWindow2 interface
10626  */
10627 [
10628     odl,
10629     oleautomation,
10630     dual,
10631     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
10632 ]
10633 interface IHTMLWindow2 : IHTMLFramesCollection2
10634 {
10635     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10636     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
10637
10638     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10639     HRESULT defaultStatus([in] BSTR v);
10640
10641     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10642     HRESULT defaultStatus([retval, out] BSTR *p);
10643
10644     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10645     HRESULT status([in] BSTR v);
10646
10647     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10648     HRESULT status([retval, out] BSTR *p);
10649
10650     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
10651     HRESULT setTimeout(
10652         [in] BSTR expression,
10653         [in] LONG msec,
10654         [optional, in] VARIANT *language,
10655         [retval, out] LONG *timerID);
10656
10657     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10658     HRESULT clearTimeout([in] LONG timerID);
10659
10660     [id(DISPID_IHTMLWINDOW2_ALERT)]
10661     HRESULT alert([defaultvalue(""), in] BSTR message);
10662
10663     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10664     HRESULT confirm(
10665         [defaultvalue(""), in] BSTR message,
10666         [retval, out] VARIANT_BOOL *confirmed);
10667
10668     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10669     HRESULT prompt(
10670         [defaultvalue(""), in] BSTR message,
10671         [defaultvalue("undefined"), in] BSTR defstr,
10672         [retval, out] VARIANT *textdata);
10673
10674     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10675     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
10676
10677     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10678     HRESULT location([retval, out] IHTMLLocation **p);
10679
10680     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10681     HRESULT history([retval, out] IOmHistory **p);
10682
10683     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10684     HRESULT close();
10685
10686     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10687     HRESULT opener([in] VARIANT v);
10688
10689     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10690     HRESULT opener([retval, out] VARIANT *p);
10691
10692     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10693     HRESULT navigator([retval, out] IOmNavigator **p);
10694
10695     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10696     HRESULT name([in] BSTR v);
10697
10698     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10699     HRESULT name([retval, out] BSTR *p);
10700
10701     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10702     HRESULT parent([retval, out] IHTMLWindow2 **p);
10703
10704     [id(DISPID_IHTMLWINDOW2_OPEN)]
10705     HRESULT open(
10706         [defaultvalue(""), in] BSTR url,
10707         [defaultvalue(""), in] BSTR name,
10708         [defaultvalue(""), in] BSTR features,
10709         [defaultvalue(0), in] VARIANT_BOOL replace,
10710         [retval, out] IHTMLWindow2 **pomWindowResult);
10711
10712     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10713     HRESULT self([retval, out] IHTMLWindow2 **p);
10714
10715     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10716     HRESULT top([retval, out] IHTMLWindow2 **p);
10717
10718     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10719     HRESULT window([retval, out] IHTMLWindow2 **p);
10720
10721     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10722     HRESULT navigate([in] BSTR url);
10723
10724     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10725     HRESULT onfocus([in] VARIANT v);
10726
10727     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10728     HRESULT onfocus([retval, out] VARIANT *p);
10729
10730     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10731     HRESULT onblur([in] VARIANT v);
10732
10733     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10734     HRESULT onblur([retval, out] VARIANT *p);
10735
10736     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10737     HRESULT onload([in] VARIANT v);
10738
10739     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10740     HRESULT onload([retval, out] VARIANT *p);
10741
10742     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10743     HRESULT onbeforeunload([in] VARIANT v);
10744
10745     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10746     HRESULT onbeforeunload([retval, out] VARIANT *p);
10747
10748     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10749     HRESULT onunload([in] VARIANT v);
10750
10751     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10752     HRESULT onunload([retval, out] VARIANT *p);
10753
10754     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
10755     HRESULT onhelp([in] VARIANT v);
10756
10757     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
10758     HRESULT onhelp([retval, out] VARIANT *p);
10759
10760     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
10761     HRESULT onerror([in] VARIANT v);
10762
10763     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
10764     HRESULT onerror([retval, out] VARIANT *p);
10765
10766     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10767     HRESULT onresize([in] VARIANT v);
10768
10769     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10770     HRESULT onresize([retval, out] VARIANT *p);
10771
10772     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10773     HRESULT onscroll([in] VARIANT v);
10774
10775     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10776     HRESULT onscroll([retval, out] VARIANT *p);
10777
10778     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
10779     HRESULT document([retval, out] IHTMLDocument2 **p);
10780
10781     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10782     HRESULT event([retval, out] IHTMLEventObj **p);
10783
10784     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
10785     HRESULT _newEnum([retval, out] IUnknown **p);
10786
10787     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10788     HRESULT showModalDialog(
10789         [in] BSTR dialog,
10790         [optional, in] VARIANT *varArgIn,
10791         [optional, in] VARIANT *varOptions,
10792         [retval, out] VARIANT *varArgOut);
10793
10794     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10795     HRESULT showHelp(
10796         [in] BSTR helpURL,
10797         [optional, in] VARIANT helpArg,
10798         [defaultvalue(""), in] BSTR features);
10799
10800     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10801     HRESULT screen([retval, out] IHTMLScreen **p);
10802
10803     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10804     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
10805
10806     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10807     HRESULT focus();
10808
10809     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10810     HRESULT closed([retval, out] VARIANT_BOOL *p);
10811
10812     [id(DISPID_IHTMLWINDOW2_BLUR)]
10813     HRESULT blur();
10814
10815     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10816     HRESULT scroll([in] LONG x, [in] LONG y);
10817
10818     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10819     HRESULT clientInformation([retval, out] IOmNavigator **p);
10820
10821     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
10822     HRESULT setInterval([
10823         in] BSTR expression,
10824         [in] LONG msec,
10825         [optional, in] VARIANT *language,
10826         [retval, out] LONG *timerID);
10827
10828     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10829     HRESULT clearInterval([in] LONG timerID);
10830
10831     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10832     HRESULT offscreenBuffering([in] VARIANT v);
10833
10834     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10835     HRESULT offscreenBuffering([retval, out] VARIANT *p);
10836
10837     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10838     HRESULT execScript(
10839         [in] BSTR scode,
10840         [defaultvalue("JScript"), in] BSTR language,
10841         [retval, out] VARIANT *pvarRet);
10842
10843     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10844     HRESULT toString([retval, out] BSTR *String);
10845
10846     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10847     HRESULT scrollBy([in] LONG x, [in] LONG y);
10848
10849     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10850     HRESULT scrollTo([in] LONG x, [in] LONG y);
10851
10852     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10853     HRESULT moveTo([in] LONG x, [in] LONG y);
10854
10855     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10856     HRESULT moveBy([in] LONG x, [in] LONG y);
10857
10858     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10859     HRESULT resizeTo([in] LONG x, [in] LONG y);
10860
10861     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10862     HRESULT resizeBy([in] LONG x, [in] LONG y);
10863
10864     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10865     HRESULT external([retval, out] IDispatch **p);
10866 }
10867
10868 /*****************************************************************************
10869  *    IHTMLWindow3 interface
10870  */
10871 [
10872     odl,
10873     oleautomation,
10874     dual,
10875     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
10876 ]
10877 interface IHTMLWindow3 : IDispatch
10878 {
10879     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10880     HRESULT screenLeft([out, retval] LONG *p);
10881
10882     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10883     HRESULT screenTop([out, retval] LONG *p);
10884
10885     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10886     HRESULT attachEvent(
10887             [in] BSTR event,
10888             [in] IDispatch *pDisp,
10889             [out, retval] VARIANT_BOOL *pfResult);
10890
10891     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10892     HRESULT detachEvent(
10893             [in] BSTR event,
10894             [in] IDispatch *pDisp);
10895
10896     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10897     HRESULT setTimeout(
10898             [in] VARIANT *expression,
10899             [in] LONG msec,
10900             [in, optional] VARIANT *language,
10901             [out, retval] LONG *timerID);
10902
10903     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10904     HRESULT setInterval(
10905             [in] VARIANT *expression,
10906             [in] LONG msec,
10907             [in, optional] VARIANT *language,
10908             [out, retval] LONG *timerID);
10909
10910     [id(DISPID_IHTMLWINDOW3_PRINT)]
10911     HRESULT print();
10912
10913     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10914     HRESULT onbeforeprint([in] VARIANT v);
10915
10916     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10917     HRESULT onbeforeprint([out, retval] VARIANT *p);
10918
10919     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10920     HRESULT onafterprint([in] VARIANT v);
10921
10922     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10923     HRESULT onafterprint([out, retval] VARIANT *p);
10924
10925     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10926     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
10927
10928     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10929     HRESULT showModelessDialog(
10930             [in, defaultvalue("")] BSTR url,
10931             [in, optional] VARIANT *varArgIn,
10932             [in, optional] VARIANT *options,
10933             [out, retval] IHTMLWindow2 **pDialog);
10934 }
10935
10936 /*****************************************************************************
10937  *    IHTMLWindow4 interface
10938  */
10939 [
10940     odl,
10941     oleautomation,
10942     dual,
10943     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
10944 ]
10945 interface IHTMLWindow4 : IDispatch
10946 {
10947     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10948     HRESULT createPopup([optional, in] VARIANT* varArgIn,
10949                         [retval, out] IDispatch** ppPopup);
10950
10951     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10952     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
10953 }
10954
10955 /*****************************************************************************
10956  *    IHTMLWindow5 interface
10957  */
10958 [
10959     odl,
10960     oleautomation,
10961     dual,
10962     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
10963 ]
10964 interface IHTMLWindow5 : IDispatch
10965 {
10966     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10967     HRESULT XMLHttpRequest([in] VARIANT v);
10968
10969     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10970     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
10971 }
10972
10973 /*****************************************************************************
10974  *    IHTMLWindow6 interface
10975  */
10976 [
10977     odl,
10978     oleautomation,
10979     dual,
10980     uuid(30510453-98b5-11cf-bb82-00aa00bdce0b)
10981 ]
10982 interface IHTMLWindow6 : IDispatch
10983 {
10984     [propput, id(DISPID_IHTMLWINDOW6_XDOMAINREQUEST)]
10985     HRESULT XDomainRequest([in] VARIANT v);
10986
10987     [propget, id(DISPID_IHTMLWINDOW6_XDOMAINREQUEST)]
10988     HRESULT XDomainRequest([out, retval] VARIANT *p);
10989
10990     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
10991     HRESULT sessionStorage([out, retval] IHTMLStorage **p);
10992
10993     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
10994     HRESULT localStorage([out, retval] IHTMLStorage **p);
10995
10996     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
10997     HRESULT onhashchange([in] VARIANT v);
10998
10999     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11000     HRESULT onhashchange([out, retval] VARIANT *p);
11001
11002     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
11003     HRESULT maxConnectionsPerServer([out, retval] long *p);
11004
11005     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
11006     HRESULT postMessage(
11007             [in] BSTR msg,
11008             [in, optional] VARIANT targetOrigin);
11009
11010     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
11011     HRESULT toStaticHTML(
11012             [in] BSTR bstrHTML,
11013             [out, retval] BSTR *pbstrStaticHTML);
11014
11015     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11016     HRESULT onmessage([in] VARIANT v);
11017
11018     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11019     HRESULT onmessage([out, retval] VARIANT *p);
11020
11021     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
11022     HRESULT msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
11023 }
11024
11025 /*****************************************************************************
11026  *    DispHTMLScreen dispinterface
11027  */
11028 [
11029     hidden,
11030     uuid(3050f591-98b5-11cf-bb82-00aa00bdce0b)
11031 ]
11032 dispinterface DispHTMLScreen
11033 {
11034 properties:
11035 methods:
11036     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
11037     long colorDepth();
11038
11039     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11040     void bufferDepth(long v);
11041
11042     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11043     long bufferDepth();
11044
11045     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
11046     long width();
11047
11048     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
11049     long height();
11050
11051     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11052     void updateInterval(long v);
11053
11054     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11055     long updateInterval();
11056
11057     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
11058     long availHeight();
11059
11060     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
11061     long availWidth();
11062
11063     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
11064     VARIANT_BOOL fontSmoothingEnabled();
11065
11066     [propget, id(DISPID_IHTMLSCREEN2_LOGICALXDPI)]
11067     long logicalXDPI();
11068
11069     [propget, id(DISPID_IHTMLSCREEN2_LOGICALYDPI)]
11070     long logicalYDPI();
11071
11072     [propget, id(DISPID_IHTMLSCREEN2_DEVICEXDPI)]
11073     long deviceXDPI();
11074
11075     [propget, id(DISPID_IHTMLSCREEN2_DEVICEYDPI)]
11076     long deviceYDPI();
11077
11078     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMXDPI)]
11079     long systemXDPI();
11080
11081     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMYDPI)]
11082     long systemYDPI();
11083
11084     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
11085     IDispatch *constructor();
11086 }
11087
11088 /*****************************************************************************
11089  *    DispHTMLWindow2 dispinterface
11090  */
11091 [
11092     hidden,
11093     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
11094 ]
11095 dispinterface DispHTMLWindow2
11096 {
11097 properties:
11098 methods:
11099     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11100     VARIANT item([in] VARIANT *pvarIndex);
11101
11102     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11103     LONG length();
11104
11105     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11106     IHTMLFramesCollection2 *frames();
11107
11108     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11109     void defaultStatus(BSTR v);
11110
11111     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11112     BSTR defaultStatus();
11113
11114     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11115     void status(BSTR v);
11116
11117     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11118     BSTR status();
11119
11120     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11121     void clearTimeout([in] LONG timerID);
11122
11123     [id(DISPID_IHTMLWINDOW2_ALERT)]
11124     void alert([in, defaultvalue("")] BSTR message);
11125
11126     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11127     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
11128
11129     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11130     VARIANT prompt(
11131             [in, defaultvalue("")] BSTR message,
11132             [in, defaultvalue("undefined")] BSTR defstr);
11133
11134     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11135     IHTMLImageElementFactory *Image();
11136
11137     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11138     IHTMLLocation *location();
11139
11140     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11141     IOmHistory *history();
11142
11143     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11144     void close();
11145
11146     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11147     void opener(VARIANT v);
11148
11149     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11150     VARIANT opener();
11151
11152     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11153     IOmNavigator *navigator();
11154
11155     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11156     void name(BSTR v);
11157
11158     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11159     BSTR name();
11160
11161     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11162     IHTMLWindow2 *parent();
11163
11164     [id(DISPID_IHTMLWINDOW2_OPEN)]
11165     IHTMLWindow2 *open(
11166             [in, defaultvalue("")] BSTR url,
11167             [in, defaultvalue("")] BSTR name,
11168             [in, defaultvalue("")] BSTR features,
11169             [in, defaultvalue(0)]  VARIANT_BOOL replace);
11170
11171     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11172     IHTMLWindow2 *self();
11173
11174     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11175     IHTMLWindow2 *top();
11176
11177     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11178     IHTMLWindow2 *window();
11179
11180     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11181     void navigate([in] BSTR url);
11182
11183     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11184     void onfocus(VARIANT v);
11185
11186     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11187     VARIANT onfocus();
11188
11189     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11190     void onblur(VARIANT v);
11191
11192     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11193     VARIANT onblur();
11194
11195     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11196     VARIANT onload();
11197
11198     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11199     void onbeforeunload(VARIANT v);
11200
11201     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11202     VARIANT onbeforeunload();
11203
11204     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11205     void onunload(VARIANT v);
11206
11207     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11208     VARIANT onunload();
11209
11210     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11211     void onhelp(VARIANT v);
11212
11213     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11214     VARIANT onhelp();
11215
11216     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11217     void onerror(VARIANT v);
11218
11219     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11220     VARIANT onerror();
11221
11222     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11223     void onresize(VARIANT v);
11224
11225     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11226     VARIANT onresize();
11227
11228     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11229     void onscroll(VARIANT v);
11230
11231     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11232     VARIANT onscroll();
11233
11234     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11235     IHTMLDocument2 *document();
11236
11237     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11238     IHTMLEventObj *event();
11239
11240     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11241     IUnknown *_newEnum();
11242
11243     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11244     VARIANT showModalDialog(
11245             [in] BSTR dialog,
11246             [in, optional] VARIANT *varArgIn,
11247             [in, optional] VARIANT *varOptions);
11248
11249     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11250     void showHelp(
11251             [in] BSTR helpURL,
11252             [in, optional] VARIANT helpArg,
11253             [in, defaultvalue("")] BSTR features);
11254
11255     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11256     IHTMLScreen *screen();
11257
11258     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11259     IHTMLOptionElementFactory *Option();
11260
11261     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11262     void focus();
11263
11264     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11265     VARIANT_BOOL closed();
11266
11267     [id(DISPID_IHTMLWINDOW2_BLUR)]
11268     void blur();
11269
11270     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11271     void scroll([in] LONG x, [in] LONG y);
11272
11273     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11274     IOmNavigator *clientInformation();
11275
11276     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11277     void clearInterval([in] LONG timerID);
11278
11279     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11280     void offscreenBuffering(VARIANT v);
11281
11282     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11283     VARIANT offscreenBuffering();
11284
11285     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11286     VARIANT execScript(
11287             [in] BSTR _code,
11288             [in, defaultvalue("JScript")] BSTR language);
11289
11290     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11291     BSTR toString();
11292
11293     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11294     void scrollBy([in] LONG x, [in] LONG y);
11295
11296     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11297     void scrollTo([in] LONG x, [in] LONG y);
11298
11299     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11300     void moveTo([in] LONG x, [in] LONG y);
11301
11302     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11303     void moveBy([in] LONG x, [in] LONG y);
11304
11305     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11306     void resizeTo([in] LONG x, [in] LONG y);
11307
11308     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11309     void resizeBy([in] LONG x, [in] LONG y);
11310
11311     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11312     IDispatch *external();
11313
11314     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11315     LONG screenLeft();
11316
11317     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11318     LONG screenTop();
11319
11320     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11321     VARIANT_BOOL attachEvent(
11322              [in] BSTR event,
11323              [in] IDispatch *pDisp);
11324
11325     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11326     void detachEvent(
11327             [in] BSTR event,
11328             [in] IDispatch *pDisp);
11329
11330     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11331     LONG setTimeout(
11332             [in] VARIANT *expression,
11333             [in] LONG msec,
11334             [in, optional] VARIANT *language);
11335
11336     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11337     LONG setInterval(
11338             [in] VARIANT *expression,
11339             [in] LONG msec,
11340             [in, optional] VARIANT *language);
11341
11342     [id(DISPID_IHTMLWINDOW3_PRINT)]
11343     void print();
11344
11345     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11346     void onbeforeprint(VARIANT v);
11347
11348     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11349     VARIANT onbeforeprint();
11350
11351     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11352     void onafterprint(VARIANT v);
11353
11354     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11355     VARIANT onafterprint();
11356
11357     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11358     IHTMLDataTransfer *clipboardData();
11359
11360     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11361     IHTMLWindow2 *showModelessDialog(
11362             [in, defaultvalue("")] BSTR url,
11363             [in, optional] VARIANT *varArgIn,
11364             [in, optional] VARIANT *options);
11365
11366     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11367     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
11368
11369     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11370     IHTMLFrameBase *frameElement();
11371
11372     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
11373     IHTMLStorage *sessionStorage();
11374
11375     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
11376     IHTMLStorage *localStorage();
11377
11378     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11379     void onhashchange(VARIANT v);
11380
11381     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11382     VARIANT onhashchange();
11383
11384     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
11385     long maxConnectionsPerServer();
11386
11387     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
11388     void postMessage(
11389             [in] BSTR msg,
11390             [in, optional] VARIANT targetOrigin);
11391
11392     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
11393     BSTR toStaticHTML([in] BSTR bstrHTML);
11394
11395     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11396     void onmessage(VARIANT v);
11397
11398     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11399     VARIANT onmessage();
11400
11401     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
11402     void msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
11403
11404     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
11405 }
11406
11407 /*****************************************************************************
11408  *    DispHTMLWindowProxy dispinterface
11409  */
11410 [
11411     hidden,
11412     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
11413 ]
11414 dispinterface DispHTMLWindowProxy
11415 {
11416 properties:
11417 methods:
11418     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11419     VARIANT item([in] VARIANT* pvarIndex);
11420
11421     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11422     LONG length();
11423
11424     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11425     IHTMLFramesCollection2* frames();
11426
11427     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11428     void defaultStatus(BSTR v);
11429
11430     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11431     BSTR defaultStatus();
11432
11433     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11434     void status(BSTR v);
11435
11436     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11437     BSTR status();
11438
11439     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11440     void clearTimeout([in] LONG timerID);
11441
11442     [id(DISPID_IHTMLWINDOW2_ALERT)]
11443     void alert([defaultvalue(""), in] BSTR message);
11444
11445     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11446     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
11447
11448     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11449     VARIANT prompt([defaultvalue(""), in] BSTR message,
11450                    [defaultvalue("undefined"), in] BSTR defstr);
11451
11452     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11453     IHTMLImageElementFactory* Image();
11454
11455     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11456     IHTMLLocation* location();
11457
11458     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11459     IOmHistory* history();
11460
11461     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11462     void close();
11463
11464     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11465     void opener(VARIANT v);
11466
11467     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11468     VARIANT opener();
11469
11470     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11471     IOmNavigator* navigator();
11472
11473     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11474     void name(BSTR v);
11475
11476     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11477     BSTR name();
11478
11479     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11480     IHTMLWindow2* parent();
11481
11482     [id(DISPID_IHTMLWINDOW2_OPEN)]
11483     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
11484                        [defaultvalue(""), in] BSTR name,
11485                        [defaultvalue(""), in] BSTR features,
11486                        [defaultvalue(0), in] VARIANT_BOOL replace);
11487
11488     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11489     IHTMLWindow2* self();
11490
11491     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11492     IHTMLWindow2* top();
11493
11494     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11495     IHTMLWindow2* window();
11496
11497     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11498     void navigate([in] BSTR url);
11499
11500     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11501     void onfocus(VARIANT v);
11502
11503     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11504     VARIANT onfocus();
11505
11506     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11507     void onblur(VARIANT v);
11508
11509     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11510     VARIANT onblur();
11511
11512     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11513     void onload(VARIANT v);
11514
11515     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11516     VARIANT onload();
11517
11518     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11519     void onbeforeunload(VARIANT v);
11520
11521     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11522     VARIANT onbeforeunload();
11523
11524     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11525     void onunload(VARIANT v);
11526
11527     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11528     VARIANT onunload();
11529
11530     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11531     void onhelp(VARIANT v);
11532
11533     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11534     VARIANT onhelp();
11535
11536     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11537     void onerror(VARIANT v);
11538
11539     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11540     VARIANT onerror();
11541
11542     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11543     void onresize(VARIANT v);
11544
11545     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11546     VARIANT onresize();
11547
11548     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11549     void onscroll(VARIANT v);
11550
11551     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11552     VARIANT onscroll();
11553
11554     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11555     IHTMLDocument2* document();
11556
11557     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11558     IHTMLEventObj* event();
11559
11560     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11561     IUnknown* _newEnum();
11562
11563     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11564     VARIANT showModalDialog([in] BSTR dialog,
11565                             [optional, in] VARIANT* varArgIn,
11566                             [optional, in] VARIANT* varOptions);
11567
11568     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11569     void showHelp([in] BSTR helpURL,
11570                   [optional, in] VARIANT helpArg,
11571                   [defaultvalue(""), in] BSTR features);
11572
11573     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11574     IHTMLScreen* screen();
11575
11576     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11577     IHTMLOptionElementFactory* Option();
11578
11579     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11580     void focus();
11581
11582     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11583     VARIANT_BOOL closed();
11584
11585     [id(DISPID_IHTMLWINDOW2_BLUR)]
11586     void blur();
11587
11588     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11589     void scroll([in] LONG x,
11590                 [in] LONG y);
11591
11592     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11593     IOmNavigator* clientInformation();
11594
11595     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11596     void clearInterval([in] LONG timerID);
11597
11598     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11599     void offscreenBuffering(VARIANT v);
11600
11601     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11602     VARIANT offscreenBuffering();
11603
11604     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11605     VARIANT execScript([in] BSTR code,
11606                        [defaultvalue("JScript"), in] BSTR language);
11607
11608     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11609     BSTR toString();
11610
11611     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11612     void scrollBy([in] LONG x,
11613                   [in] LONG y);
11614
11615     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11616     void scrollTo([in] LONG x,
11617                   [in] LONG y);
11618
11619     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11620     void moveTo([in] LONG x,
11621                 [in] LONG y);
11622
11623     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11624     void moveBy([in] LONG x,
11625                 [in] LONG y);
11626
11627     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11628     void resizeTo([in] LONG x,
11629                   [in] LONG y);
11630
11631     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11632     void resizeBy([in] LONG x,
11633                   [in] LONG y);
11634
11635     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11636     IDispatch* external();
11637
11638     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11639     LONG screenLeft();
11640
11641     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11642     LONG screenTop();
11643
11644     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11645     VARIANT_BOOL attachEvent([in] BSTR event,
11646                              [in] IDispatch* pDisp);
11647
11648     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11649     void detachEvent([in] BSTR event,
11650                      [in] IDispatch* pDisp);
11651
11652     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11653     LONG setTimeout([in] VARIANT* expression,
11654                     [in] LONG msec,
11655                     [optional, in] VARIANT* language);
11656
11657     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11658     LONG setInterval([in] VARIANT* expression,
11659                      [in] LONG msec,
11660                      [optional, in] VARIANT* language);
11661
11662     [id(DISPID_IHTMLWINDOW3_PRINT)]
11663     void print();
11664
11665     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11666     void onbeforeprint(VARIANT v);
11667
11668     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11669     VARIANT onbeforeprint();
11670
11671     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11672     void onafterprint(VARIANT v);
11673
11674     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11675     VARIANT onafterprint();
11676
11677     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11678     IHTMLDataTransfer* clipboardData();
11679
11680     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11681     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
11682                                      [optional, in] VARIANT* varArgIn,
11683                                      [optional, in] VARIANT* options);
11684
11685     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11686     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
11687
11688     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11689     IHTMLFrameBase* frameElement();
11690
11691     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11692     void XMLHttpRequest(VARIANT v);
11693
11694     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11695     VARIANT XMLHttpRequest();
11696
11697     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
11698     IHTMLStorage *sessionStorage();
11699
11700     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
11701     IHTMLStorage *localStorage();
11702
11703     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11704     void onhashchange(VARIANT v);
11705
11706     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11707     VARIANT onhashchange();
11708
11709     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
11710     long maxConnectionsPerServer();
11711
11712     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
11713     void postMessage(
11714             [in] BSTR msg,
11715             [in, optional] VARIANT targetOrigin);
11716
11717     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
11718     BSTR toStaticHTML([in] BSTR bstrHTML);
11719
11720     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11721     void onmessage(VARIANT v);
11722
11723     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11724     VARIANT onmessage();
11725
11726     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
11727     void msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
11728
11729     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
11730 }
11731
11732 /*****************************************************************************
11733  *    HTMLWindowEvents interface
11734  */
11735 [
11736     hidden,
11737     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
11738 ]
11739 dispinterface HTMLWindowEvents
11740 {
11741 properties:
11742 methods:
11743     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
11744     void onload();
11745
11746     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
11747     void onunload();
11748
11749     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
11750     VARIANT_BOOL onhelp();
11751
11752     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
11753     void onfocus();
11754
11755     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
11756     void onblur();
11757
11758     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
11759     void onerror([in] BSTR description,
11760                  [in] BSTR url,
11761                  [in] LONG line);
11762
11763     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
11764     void onresize();
11765
11766     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
11767     void onscroll();
11768
11769     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
11770     void onbeforeunload();
11771
11772     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
11773     void onbeforeprint();
11774
11775     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
11776     void onafterprint();
11777 }
11778
11779 /*****************************************************************************
11780  *    HTMLWindowEvents2 interface
11781  */
11782 [
11783     hidden,
11784     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
11785 ]
11786 dispinterface HTMLWindowEvents2
11787 {
11788 properties:
11789 methods:
11790     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
11791     void onload([in] IHTMLEventObj* pEvtObj);
11792
11793     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
11794     void onunload([in] IHTMLEventObj* pEvtObj);
11795
11796     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
11797     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
11798
11799     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
11800     void onfocus([in] IHTMLEventObj* pEvtObj);
11801
11802     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
11803     void onblur([in] IHTMLEventObj* pEvtObj);
11804
11805     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
11806     void onerror([in] BSTR description,
11807                  [in] BSTR url,
11808                  [in] LONG line);
11809
11810     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
11811     void onresize([in] IHTMLEventObj* pEvtObj);
11812
11813     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
11814     void onscroll([in] IHTMLEventObj* pEvtObj);
11815
11816     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
11817     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
11818
11819     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
11820     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
11821
11822     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
11823     void onafterprint([in] IHTMLEventObj* pEvtObj);
11824 }
11825
11826 /*****************************************************************************
11827  *    HTMLWindowProxy class
11828  */
11829 [
11830     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
11831 ]
11832 coclass HTMLWindowProxy
11833 {
11834     [default]           dispinterface DispHTMLWindowProxy;
11835     [source, default]   dispinterface HTMLWindowEvents;
11836     [source]            dispinterface HTMLWindowEvents2;
11837                         interface IHTMLWindow2;
11838                         interface IHTMLWindow3;
11839                         interface IHTMLWindow4;
11840                         interface IHTMLWindow5;
11841 }
11842
11843 /*****************************************************************************
11844  *    HTMLDocumentEvents2 interface
11845  */
11846 [
11847     hidden,
11848     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
11849 ]
11850 dispinterface HTMLDocumentEvents2
11851 {
11852     properties:
11853     methods:
11854     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
11855     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
11856
11857     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
11858     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
11859
11860     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
11861     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
11862
11863     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
11864     void onkeydown([in] IHTMLEventObj *pEvtObj);
11865
11866     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
11867     void onkeyup([in] IHTMLEventObj *pEvtObj);
11868
11869     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
11870     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
11871
11872     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
11873     void onmousedown([in] IHTMLEventObj *pEvtObj);
11874
11875     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
11876     void onmousemove([in] IHTMLEventObj *pEvtObj);
11877
11878     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
11879     void onmouseup([in] IHTMLEventObj *pEvtObj);
11880
11881     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
11882     void onmouseout([in] IHTMLEventObj *pEvtObj);
11883
11884     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
11885     void onmouseover([in] IHTMLEventObj *pEvtObj);
11886
11887     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
11888     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
11889
11890     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
11891     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
11892
11893     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
11894     void onafterupdate([in] IHTMLEventObj *pEvtObj);
11895
11896     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
11897     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
11898
11899     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
11900     void onrowenter([in] IHTMLEventObj *pEvtObj);
11901
11902     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
11903     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
11904
11905     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
11906     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
11907
11908     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
11909     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
11910
11911     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
11912     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
11913
11914     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
11915     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
11916
11917     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
11918     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
11919
11920     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
11921     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
11922
11923     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
11924     void oncellchange([in] IHTMLEventObj *pEvtObj);
11925
11926     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
11927     void onpropertychange([in] IHTMLEventObj *pEvtObj);
11928
11929     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
11930     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
11931
11932     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
11933     void ondataavailable([in] IHTMLEventObj *pEvtObj);
11934
11935     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
11936     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
11937
11938     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
11939     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
11940
11941     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
11942     void onselectionchange([in] IHTMLEventObj *pEvtObj);
11943
11944     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
11945     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
11946
11947     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
11948     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
11949
11950     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
11951     void onfocusin([in] IHTMLEventObj *pEvtObj);
11952
11953     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
11954     void onfocusout([in] IHTMLEventObj *pEvtObj);
11955
11956     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
11957     void onactivate([in] IHTMLEventObj *pEvtObj);
11958
11959     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
11960     void ondeactivate([in] IHTMLEventObj *pEvtObj);
11961
11962     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
11963     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
11964
11965     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
11966     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
11967 }
11968
11969 /*****************************************************************************
11970  *    HTMLDocumentEvents interface
11971  */
11972 [
11973     hidden,
11974     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
11975 ]
11976 dispinterface HTMLDocumentEvents
11977 {
11978     properties:
11979     methods:
11980     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
11981     VARIANT_BOOL onhelp();
11982
11983     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
11984     VARIANT_BOOL onclick();
11985
11986     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
11987     VARIANT_BOOL ondblclick();
11988
11989     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
11990     void onkeydown();
11991
11992     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
11993     void onkeyup();
11994
11995     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
11996     VARIANT_BOOL onkeypress();
11997
11998     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
11999     void onmousedown();
12000
12001     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
12002     void onmousemove();
12003
12004     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
12005     void onmouseup();
12006
12007     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
12008     void onmouseout();
12009
12010     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
12011     void onmouseover();
12012
12013     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
12014     void onreadystatechange();
12015
12016     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
12017     VARIANT_BOOL onbeforeupdate();
12018
12019     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
12020     void onafterupdate();
12021
12022     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
12023     VARIANT_BOOL onrowexit();
12024
12025     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
12026     void onrowenter();
12027
12028     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
12029     VARIANT_BOOL ondragstart();
12030
12031     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
12032     VARIANT_BOOL onselectstart();
12033
12034     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
12035     VARIANT_BOOL onerrorupdate();
12036
12037     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
12038     VARIANT_BOOL oncontextmenu();
12039
12040     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
12041     VARIANT_BOOL onstop();
12042
12043     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
12044     void onrowsdelete();
12045
12046     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
12047     void onrowsinserted();
12048
12049     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
12050     void oncellchange();
12051
12052     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
12053     void onpropertychange();
12054
12055     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
12056     void ondatasetchanged();
12057
12058     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
12059     void ondataavailable();
12060
12061     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
12062     void ondatasetcomplete();
12063
12064     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
12065     void onbeforeeditfocus();
12066
12067     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
12068     void onselectionchange();
12069
12070     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
12071     VARIANT_BOOL oncontrolselect();
12072
12073     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
12074     VARIANT_BOOL onmousewheel();
12075
12076     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
12077     void onfocusin();
12078
12079     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
12080     void onfocusout();
12081
12082     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
12083     void onactivate();
12084
12085     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
12086     void ondeactivate();
12087
12088     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
12089     VARIANT_BOOL onbeforeactivate();
12090
12091     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
12092     VARIANT_BOOL onbeforedeactivate();
12093 }
12094
12095 /*****************************************************************************
12096  *    HTMLTextContainerEvents interface
12097  */
12098 [
12099     hidden,
12100     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
12101 ]
12102 dispinterface HTMLTextContainerEvents
12103 {
12104 properties:
12105
12106 methods:
12107     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
12108     VARIANT_BOOL onhelp();
12109
12110     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
12111     VARIANT_BOOL onclick();
12112
12113     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
12114     VARIANT_BOOL ondblclick();
12115
12116     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
12117     VARIANT_BOOL onkeypress();
12118
12119     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
12120     void onkeydown();
12121
12122     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
12123     void onkeyup();
12124
12125     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
12126     void onmouseout();
12127
12128     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
12129     void onmouseover();
12130
12131     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
12132     void onmousemove();
12133
12134     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
12135     void onmousedown();
12136
12137     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
12138     void onmouseup();
12139
12140     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
12141     VARIANT_BOOL onselectstart();
12142
12143     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
12144     void onfilterchange();
12145
12146     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
12147     VARIANT_BOOL ondragstart();
12148
12149     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
12150     VARIANT_BOOL onbeforeupdate();
12151
12152     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
12153     void onafterupdate();
12154
12155     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
12156     VARIANT_BOOL onerrorupdate();
12157
12158     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
12159     VARIANT_BOOL onrowexit();
12160
12161     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
12162     void onrowenter();
12163
12164     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
12165     void ondatasetchanged();
12166
12167     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
12168     void ondataavailable();
12169
12170     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
12171     void ondatasetcomplete();
12172
12173     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
12174     void onlosecapture();
12175
12176     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
12177     void onpropertychange();
12178
12179     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
12180     void onscroll();
12181
12182     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
12183     void onfocus();
12184
12185     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
12186     void onblur();
12187
12188     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
12189     void onresize();
12190
12191     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
12192     VARIANT_BOOL ondrag();
12193
12194     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
12195     void ondragend();
12196
12197     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
12198     VARIANT_BOOL ondragenter();
12199
12200     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
12201     VARIANT_BOOL ondragover();
12202
12203     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
12204     void ondragleave();
12205
12206     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
12207     VARIANT_BOOL ondrop();
12208
12209     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
12210     VARIANT_BOOL onbeforecut();
12211
12212     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
12213     VARIANT_BOOL oncut();
12214
12215     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
12216     VARIANT_BOOL onbeforecopy();
12217
12218     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
12219     VARIANT_BOOL oncopy();
12220
12221     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
12222     VARIANT_BOOL onbeforepaste();
12223
12224     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
12225     VARIANT_BOOL onpaste();
12226
12227     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
12228     VARIANT_BOOL oncontextmenu();
12229
12230     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
12231     void onrowsdelete();
12232
12233     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
12234     void onrowsinserted();
12235
12236     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
12237     void oncellchange();
12238
12239     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
12240     void onreadystatechange();
12241
12242     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
12243     void onbeforeeditfocus();
12244
12245     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
12246     void onlayoutcomplete();
12247
12248     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
12249     void onpage();
12250
12251     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
12252     VARIANT_BOOL onbeforedeactivate();
12253
12254     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
12255     VARIANT_BOOL onbeforeactivate();
12256
12257     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
12258     void onmove();
12259
12260     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
12261     VARIANT_BOOL oncontrolselect();
12262
12263     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
12264     VARIANT_BOOL onmovestart();
12265
12266     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
12267     void onmoveend();
12268
12269     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
12270     VARIANT_BOOL onresizestart();
12271
12272     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
12273     void onresizeend();
12274
12275     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
12276     void onmouseenter();
12277
12278     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
12279     void onmouseleave();
12280
12281     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
12282     VARIANT_BOOL onmousewheel();
12283
12284     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
12285     void onactivate();
12286
12287     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
12288     void ondeactivate();
12289
12290     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
12291     void onfocusin();
12292
12293     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
12294     void onfocusout();
12295
12296     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
12297     void onchange();
12298
12299     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
12300     void onselect();
12301 }
12302
12303 /*****************************************************************************
12304  *    HTMLTextContainerEvents2 interface
12305  */
12306 [
12307     hidden,
12308     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
12309 ]
12310 dispinterface HTMLTextContainerEvents2
12311 {
12312 properties:
12313 methods:
12314     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
12315     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
12316
12317     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
12318     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
12319
12320     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
12321     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
12322
12323     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
12324     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
12325
12326     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
12327     void onkeydown([in] IHTMLEventObj* pEvtObj);
12328
12329     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
12330     void onkeyup([in] IHTMLEventObj* pEvtObj);
12331
12332     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
12333     void onmouseout([in] IHTMLEventObj* pEvtObj);
12334
12335     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
12336     void onmouseover([in] IHTMLEventObj* pEvtObj);
12337
12338     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
12339     void onmousemove([in] IHTMLEventObj* pEvtObj);
12340
12341     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
12342     void onmousedown([in] IHTMLEventObj* pEvtObj);
12343
12344     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
12345     void onmouseup([in] IHTMLEventObj* pEvtObj);
12346
12347     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
12348     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
12349
12350     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
12351     void onfilterchange([in] IHTMLEventObj* pEvtObj);
12352
12353     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
12354     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
12355
12356     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
12357     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
12358
12359     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
12360     void onafterupdate([in] IHTMLEventObj* pEvtObj);
12361
12362     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
12363     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
12364
12365     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
12366     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
12367
12368     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
12369     void onrowenter([in] IHTMLEventObj* pEvtObj);
12370
12371     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
12372     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
12373
12374     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
12375     void ondataavailable([in] IHTMLEventObj* pEvtObj);
12376
12377     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
12378     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
12379
12380     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
12381     void onlosecapture([in] IHTMLEventObj* pEvtObj);
12382
12383     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
12384     void onpropertychange([in] IHTMLEventObj* pEvtObj);
12385
12386     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
12387     void onscroll([in] IHTMLEventObj* pEvtObj);
12388
12389     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
12390     void onfocus([in] IHTMLEventObj* pEvtObj);
12391
12392     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
12393     void onblur([in] IHTMLEventObj* pEvtObj);
12394
12395     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
12396     void onresize([in] IHTMLEventObj* pEvtObj);
12397
12398     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
12399     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
12400
12401     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
12402     void ondragend([in] IHTMLEventObj* pEvtObj);
12403
12404     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
12405     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
12406
12407     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
12408     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
12409
12410     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
12411     void ondragleave([in] IHTMLEventObj* pEvtObj);
12412
12413     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
12414     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
12415
12416     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
12417     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
12418
12419     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
12420     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
12421
12422     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
12423     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
12424
12425     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
12426     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
12427
12428     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
12429     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
12430
12431     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
12432     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
12433
12434     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
12435     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
12436
12437     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
12438     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
12439
12440     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
12441     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
12442
12443     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
12444     void oncellchange([in] IHTMLEventObj* pEvtObj);
12445
12446     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
12447     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
12448
12449     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
12450     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
12451
12452     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
12453     void onpage([in] IHTMLEventObj* pEvtObj);
12454
12455     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
12456     void onmouseenter([in] IHTMLEventObj* pEvtObj);
12457
12458     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
12459     void onmouseleave([in] IHTMLEventObj* pEvtObj);
12460
12461     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
12462     void onactivate([in] IHTMLEventObj* pEvtObj);
12463
12464     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
12465     void ondeactivate([in] IHTMLEventObj* pEvtObj);
12466
12467     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
12468     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
12469
12470     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
12471     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
12472
12473     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
12474     void onfocusin([in] IHTMLEventObj* pEvtObj);
12475
12476     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
12477     void onfocusout([in] IHTMLEventObj* pEvtObj);
12478
12479     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
12480     void onmove([in] IHTMLEventObj* pEvtObj);
12481
12482     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
12483     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
12484
12485     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
12486     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
12487
12488     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
12489     void onmoveend([in] IHTMLEventObj* pEvtObj);
12490
12491     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
12492     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
12493
12494     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
12495     void onresizeend([in] IHTMLEventObj* pEvtObj);
12496
12497     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
12498     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
12499
12500     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
12501     void onchange([in] IHTMLEventObj* pEvtObj);
12502
12503     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
12504     void onselect([in] IHTMLEventObj* pEvtObj);
12505 }
12506
12507 /*****************************************************************************
12508  *    IHTMLDocument interface
12509  */
12510 [
12511     odl,
12512     oleautomation,
12513     dual,
12514     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
12515 ]
12516 interface IHTMLDocument : IDispatch
12517 {
12518     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
12519     HRESULT Script([retval, out] IDispatch **p);
12520 }
12521
12522 /*****************************************************************************
12523  *    IHTMLDocument2 interface
12524  */
12525 [
12526     odl,
12527     oleautomation,
12528     dual,
12529     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
12530 ]
12531 interface IHTMLDocument2 : IHTMLDocument
12532 {
12533     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
12534     HRESULT all([retval, out] IHTMLElementCollection **p);
12535
12536     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
12537     HRESULT body([retval, out] IHTMLElement **p);
12538
12539     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
12540     HRESULT activeElement([retval, out] IHTMLElement **p);
12541
12542     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
12543     HRESULT images([retval, out] IHTMLElementCollection **p);
12544
12545     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
12546     HRESULT applets([retval, out] IHTMLElementCollection **p);
12547
12548     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
12549     HRESULT links([retval, out] IHTMLElementCollection **p);
12550
12551     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
12552     HRESULT forms([retval, out] IHTMLElementCollection **p);
12553
12554     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
12555     HRESULT anchors([retval, out] IHTMLElementCollection **p);
12556
12557     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12558     HRESULT title([in] BSTR v);
12559
12560     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12561     HRESULT title([retval, out] BSTR *p);
12562
12563     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
12564     HRESULT scripts([retval, out] IHTMLElementCollection **p);
12565
12566     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
12567     HRESULT designMode([in] BSTR v);
12568
12569     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
12570     HRESULT designMode([retval, out] BSTR *p);
12571
12572     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
12573     HRESULT selection([retval, out] IHTMLSelectionObject **p);
12574
12575     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
12576      HRESULT readyState([retval, out] BSTR *p);
12577
12578     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
12579     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
12580
12581     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
12582     HRESULT embeds([retval, out] IHTMLElementCollection **p);
12583
12584     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
12585     HRESULT plugins([retval, out] IHTMLElementCollection **p);
12586
12587     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12588     HRESULT alinkColor([in] VARIANT v);
12589
12590     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12591     HRESULT alinkColor([retval, out] VARIANT *p);
12592
12593     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12594     HRESULT bgColor([in] VARIANT v);
12595
12596     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12597     HRESULT bgColor([retval, out] VARIANT *p);
12598
12599     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12600     HRESULT fgColor([in] VARIANT v);
12601
12602     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12603     HRESULT fgColor([retval, out] VARIANT *p);
12604
12605     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12606     HRESULT linkColor([in] VARIANT v);
12607
12608     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12609     HRESULT linkColor([retval, out] VARIANT *p);
12610
12611     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12612     HRESULT vlinkColor([in] VARIANT v);
12613
12614     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12615     HRESULT vlinkColor([retval, out] VARIANT *p);
12616
12617     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
12618     HRESULT referrer([retval, out] BSTR *p);
12619
12620     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
12621     HRESULT location([retval, out] IHTMLLocation **p);
12622
12623     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
12624     HRESULT lastModified([retval, out] BSTR *p);
12625
12626     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
12627     HRESULT URL([in] BSTR v);
12628
12629     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
12630     HRESULT URL([retval, out] BSTR *p);
12631
12632     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12633     HRESULT domain([in] BSTR v);
12634
12635     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12636     HRESULT domain([retval, out] BSTR *p);
12637
12638     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12639     HRESULT cookie([in] BSTR v);
12640
12641     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12642     HRESULT cookie([retval, out] BSTR *p);
12643
12644     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12645     HRESULT expando([in] VARIANT_BOOL v);
12646
12647     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12648     HRESULT expando([retval, out] VARIANT_BOOL *p);
12649
12650     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12651      HRESULT charset([in] BSTR v);
12652
12653     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12654     HRESULT charset([retval, out] BSTR *p);
12655
12656     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12657     HRESULT defaultCharset([in] BSTR v);
12658
12659     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12660     HRESULT defaultCharset([retval, out] BSTR *p);
12661
12662     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
12663     HRESULT mimeType([retval, out] BSTR *p);
12664
12665     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
12666     HRESULT fileSize([retval, out] BSTR *p);
12667
12668     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
12669     HRESULT fileCreatedDate([retval, out] BSTR *p);
12670
12671     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
12672     HRESULT fileModifiedDate([retval, out] BSTR *p);
12673
12674     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
12675     HRESULT fileUpdatedDate([retval, out] BSTR *p);
12676
12677     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
12678     HRESULT security([retval, out] BSTR *p);
12679
12680     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
12681     HRESULT protocol([retval, out] BSTR *p);
12682
12683     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
12684      HRESULT nameProp([retval, out] BSTR *p);
12685
12686     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
12687     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
12688
12689     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
12690     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
12691
12692     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
12693     HRESULT open(
12694         [defaultvalue("text/html"), in] BSTR url,
12695         [optional, in] VARIANT name,
12696         [optional, in] VARIANT features,
12697         [optional, in] VARIANT replace,
12698         [retval, out]  IDispatch **pomWindowResult);
12699
12700     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
12701     HRESULT close();
12702
12703     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
12704     HRESULT clear();
12705
12706     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
12707     HRESULT queryCommandSupported(
12708         [in] BSTR cmdID,
12709         [retval, out] VARIANT_BOOL *pfRet);
12710
12711     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
12712     HRESULT queryCommandEnabled(
12713         [in] BSTR cmdID,
12714         [retval, out] VARIANT_BOOL *pfRet);
12715
12716     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
12717     HRESULT queryCommandState(
12718         [in] BSTR cmdID,
12719         [retval, out] VARIANT_BOOL *pfRet);
12720
12721     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
12722     HRESULT queryCommandIndeterm(
12723         [in] BSTR cmdID,
12724         [retval, out] VARIANT_BOOL *pfRet);
12725
12726     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
12727     HRESULT queryCommandText(
12728         [in] BSTR cmdID,
12729         [retval, out] BSTR *pcmdText);
12730
12731     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
12732     HRESULT queryCommandValue(
12733         [in] BSTR cmdID,
12734         [retval, out] VARIANT *pcmdValue);
12735
12736     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
12737     HRESULT execCommand(
12738         [in] BSTR cmdID,
12739         [defaultvalue(0), in] VARIANT_BOOL showUI,
12740         [optional, in] VARIANT value,
12741         [retval, out] VARIANT_BOOL *pfRet);
12742
12743     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12744     HRESULT execCommandShowHelp(
12745         [in] BSTR cmdID,
12746         [retval, out] VARIANT_BOOL *pfRet);
12747
12748     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12749      HRESULT createElement(
12750         [in] BSTR eTag,
12751         [retval, out] IHTMLElement **newElem);
12752
12753     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12754     HRESULT onhelp([in] VARIANT v);
12755
12756     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12757     HRESULT onhelp([retval, out] VARIANT *p);
12758
12759     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12760     HRESULT onclick([in] VARIANT v);
12761
12762     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12763     HRESULT onclick([retval, out] VARIANT *p);
12764
12765     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12766     HRESULT ondblclick([in] VARIANT v);
12767
12768     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12769     HRESULT ondblclick([retval, out] VARIANT *p);
12770
12771     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12772     HRESULT onkeyup([in] VARIANT v);
12773
12774     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12775     HRESULT onkeyup([retval, out] VARIANT *p);
12776
12777     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12778     HRESULT onkeydown([in] VARIANT v);
12779
12780     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12781     HRESULT onkeydown([retval, out] VARIANT *p);
12782
12783     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12784      HRESULT onkeypress([in] VARIANT v);
12785
12786     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12787     HRESULT onkeypress([retval, out] VARIANT *p);
12788
12789     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12790     HRESULT onmouseup([in] VARIANT v);
12791
12792     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12793     HRESULT onmouseup([retval, out] VARIANT *p);
12794
12795     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12796     HRESULT onmousedown([in] VARIANT v);
12797
12798     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12799     HRESULT onmousedown([retval, out] VARIANT *p);
12800
12801     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12802     HRESULT onmousemove([in] VARIANT v);
12803
12804     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12805     HRESULT onmousemove([retval, out] VARIANT *p);
12806
12807     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12808     HRESULT onmouseout([in] VARIANT v);
12809
12810     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12811     HRESULT onmouseout([retval, out] VARIANT *p);
12812
12813     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12814     HRESULT onmouseover([in] VARIANT v);
12815
12816     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12817     HRESULT onmouseover([retval, out] VARIANT *p);
12818
12819     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12820     HRESULT onreadystatechange([in] VARIANT v);
12821
12822     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12823     HRESULT onreadystatechange([retval, out] VARIANT *p);
12824
12825     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12826     HRESULT onafterupdate([in] VARIANT v);
12827
12828     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12829     HRESULT onafterupdate([retval, out] VARIANT *p);
12830
12831     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12832     HRESULT onrowexit([in] VARIANT v);
12833
12834     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12835     HRESULT onrowexit([retval, out] VARIANT *p);
12836
12837     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12838     HRESULT onrowenter([in] VARIANT v);
12839
12840     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12841     HRESULT onrowenter([retval, out] VARIANT *p);
12842
12843     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12844     HRESULT ondragstart([in] VARIANT v);
12845
12846     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12847     HRESULT ondragstart([retval, out] VARIANT *p);
12848
12849     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12850     HRESULT onselectstart([in] VARIANT v);
12851
12852     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12853     HRESULT onselectstart([retval, out] VARIANT *p);
12854
12855     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12856     HRESULT elementFromPoint(
12857         [in] LONG x,
12858         [in] LONG y,
12859         [retval, out] IHTMLElement **elementHit);
12860
12861     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12862     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
12863
12864     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12865     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
12866
12867     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12868     HRESULT onbeforeupdate([in] VARIANT v);
12869
12870     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12871     HRESULT onbeforeupdate([retval, out] VARIANT *p);
12872
12873     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12874     HRESULT onerrorupdate([in] VARIANT v);
12875
12876     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12877     HRESULT onerrorupdate([retval, out] VARIANT *p);
12878
12879     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12880     HRESULT toString([retval, out] BSTR *String);
12881
12882     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12883     HRESULT createStyleSheet(
12884         [defaultvalue(""), in] BSTR bstrHref,
12885         [defaultvalue(-1), in] LONG lIndex,
12886         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
12887 }
12888
12889 /*****************************************************************************
12890  *    IHTMLDocument3 interface
12891  */
12892 [
12893     odl,
12894     oleautomation,
12895     dual,
12896     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
12897 ]
12898 interface IHTMLDocument3 : IDispatch
12899 {
12900     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12901     HRESULT releaseCapture();
12902
12903     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12904     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12905
12906     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12907     HRESULT createTextNode(
12908         [in] BSTR text,
12909         [retval, out] IHTMLDOMNode **newTextNode);
12910
12911     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12912     HRESULT documentElement([retval, out] IHTMLElement **p);
12913
12914     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12915     HRESULT uniqueID([retval, out] BSTR *p);
12916
12917     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12918     HRESULT attachEvent(
12919         [in] BSTR event,
12920         [in] IDispatch* pDisp,
12921         [retval, out] VARIANT_BOOL *pfResult);
12922
12923     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12924     HRESULT detachEvent(
12925         [in] BSTR event,
12926         [in] IDispatch *pDisp);
12927
12928     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12929     HRESULT onrowsdelete([in] VARIANT v);
12930
12931     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12932     HRESULT onrowsdelete([retval, out] VARIANT *p);
12933
12934     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12935     HRESULT onrowsinserted([in] VARIANT v);
12936
12937     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12938     HRESULT onrowsinserted([retval, out] VARIANT *p);
12939
12940     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12941     HRESULT oncellchange([in] VARIANT v);
12942
12943     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12944     HRESULT oncellchange([retval, out] VARIANT *p);
12945
12946     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12947     HRESULT ondatasetchanged([in] VARIANT v);
12948
12949     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12950     HRESULT ondatasetchanged([retval, out] VARIANT *p);
12951
12952     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12953     HRESULT ondataavailable([in] VARIANT v);
12954
12955     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12956     HRESULT ondataavailable([retval, out] VARIANT * p);
12957
12958     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12959     HRESULT ondatasetcomplete([in] VARIANT v);
12960
12961     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12962     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
12963
12964     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12965     HRESULT onpropertychange([in] VARIANT v);
12966
12967     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12968     HRESULT onpropertychange([retval, out] VARIANT *p);
12969
12970     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
12971     HRESULT dir([in] BSTR v);
12972
12973     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
12974     HRESULT dir([retval, out] BSTR *p);
12975
12976     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12977     HRESULT oncontextmenu([in] VARIANT v);
12978
12979     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12980     HRESULT oncontextmenu([retval, out] VARIANT *p);
12981
12982     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12983     HRESULT onstop([in] VARIANT v);
12984
12985     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12986     HRESULT onstop([retval, out] VARIANT *p);
12987
12988     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
12989     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
12990
12991     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
12992     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
12993
12994     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12995     HRESULT enableDownload([in] VARIANT_BOOL v);
12996
12997     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12998     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
12999
13000     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13001     HRESULT baseUrl([in] BSTR v);
13002
13003     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13004     HRESULT baseUrl([retval, out] BSTR *p);
13005
13006     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
13007     HRESULT childNodes([retval, out] IDispatch **p);
13008
13009     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13010     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
13011
13012     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13013     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
13014
13015     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13016     HRESULT onbeforeeditfocus([in] VARIANT v);
13017
13018     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13019     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
13020
13021     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
13022     HRESULT getElementsByName(
13023         [in] BSTR v,
13024         [retval, out] IHTMLElementCollection **pelColl);
13025
13026     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
13027     HRESULT getElementById(
13028         [in] BSTR v,
13029         [retval, out] IHTMLElement **pel);
13030
13031     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
13032     HRESULT getElementsByTagName(
13033         [in] BSTR v,
13034         [retval, out] IHTMLElementCollection **pelColl);
13035 }
13036
13037 /*****************************************************************************
13038  *    IHTMLDocument4 interface
13039  */
13040 [
13041     odl,
13042     oleautomation,
13043     dual,
13044     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
13045 ]
13046 interface IHTMLDocument4 : IDispatch
13047 {
13048     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
13049     HRESULT focus();
13050
13051     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
13052     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
13053
13054     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13055     HRESULT onselectionchange([in] VARIANT v);
13056
13057     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13058     HRESULT onselectionchange([retval, out] VARIANT *p);
13059
13060     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
13061     HRESULT namespaces([retval, out] IDispatch **p);
13062
13063     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
13064     HRESULT createDocumentFromUrl(
13065         [in] BSTR bstrUrl,
13066         [in] BSTR bstrOptions,
13067         [retval, out] IHTMLDocument2 **newDoc);
13068
13069     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13070     HRESULT media([in] BSTR v);
13071
13072     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13073     HRESULT media([retval, out] BSTR *p);
13074
13075     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
13076     HRESULT createEventObject(
13077         [optional, in] VARIANT *pvarEventObject,
13078         [retval, out] IHTMLEventObj **ppEventObj);
13079
13080     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
13081     HRESULT fireEvent(
13082         [in] BSTR bstrEventName,
13083         [optional, in] VARIANT *pvarEventObject,
13084         [retval, out] VARIANT_BOOL *pfCancelled);
13085
13086     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
13087     HRESULT createRenderStyle(
13088         [in] BSTR v,
13089         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
13090
13091     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13092     HRESULT oncontrolselect([in] VARIANT v);
13093
13094     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13095     HRESULT oncontrolselect([retval, out] VARIANT *p);
13096
13097     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
13098     HRESULT URLUnencoded([retval, out] BSTR *p);
13099 }
13100
13101 /*****************************************************************************
13102  *    IHTMLDocument5 interface
13103  */
13104 [
13105     odl,
13106     oleautomation,
13107     dual,
13108     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
13109 ]
13110 interface IHTMLDocument5 : IDispatch
13111 {
13112     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13113     HRESULT onmousewheel([in] VARIANT v);
13114
13115     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13116     HRESULT onmousewheel([retval, out] VARIANT *p);
13117
13118     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
13119     HRESULT doctype([retval, out] IHTMLDOMNode **p);
13120
13121     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13122     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
13123
13124     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13125     HRESULT createAttribute(
13126         [in] BSTR bstrattrName,
13127         [retval, out] IHTMLDOMAttribute **ppattribute);
13128
13129     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13130     HRESULT createComment(
13131         [in] BSTR bstrdata,
13132         [retval, out] IHTMLDOMNode **ppRetNode);
13133
13134     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13135     HRESULT onfocusin([in] VARIANT v);
13136
13137     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13138     HRESULT onfocusin([retval, out] VARIANT *p);
13139
13140     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13141     HRESULT onfocusout([in] VARIANT v);
13142
13143     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13144     HRESULT onfocusout([retval, out] VARIANT *p);
13145
13146     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13147     HRESULT onactivate([in] VARIANT v);
13148
13149     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13150     HRESULT onactivate([retval, out] VARIANT *p);
13151
13152     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13153     HRESULT ondeactivate([in] VARIANT v);
13154
13155     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13156     HRESULT ondeactivate([retval, out] VARIANT *p);
13157
13158     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13159     HRESULT onbeforeactivate([in] VARIANT v);
13160
13161     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13162     HRESULT onbeforeactivate([retval, out] VARIANT *p);
13163
13164     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13165     HRESULT onbeforedeactivate([in] VARIANT v);
13166
13167     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13168     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
13169
13170     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
13171     HRESULT compatMode([retval, out] BSTR *p);
13172 }
13173
13174 /*****************************************************************************
13175  *    IHTMLDocument6 interface
13176  */
13177 [
13178     odl,
13179     oleautomation,
13180     dual,
13181     uuid(30510417-98b5-11cf-bb82-00aa00bdce0b)
13182 ]
13183 interface IHTMLDocument6 : IDispatch
13184 {
13185     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
13186     HRESULT compatible([retval, out] IHTMLDocumentCompatibleInfoCollection **p);
13187
13188     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
13189     HRESULT documentMode([retval, out] VARIANT *p);
13190
13191     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13192     HRESULT onstorage([in] VARIANT v);
13193
13194     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13195     HRESULT onstorage([out] VARIANT *p);
13196
13197     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13198     HRESULT onstoragecommit([in] VARIANT v);
13199
13200     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13201     HRESULT onstoragecommit([out] VARIANT *p);
13202
13203     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
13204     HRESULT getElementById(
13205         [in] BSTR bstrId,
13206         [retval, out] IHTMLElement2 **p);
13207
13208     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
13209     HRESULT updateSettings();
13210 }
13211
13212 /*****************************************************************************
13213  *    DispHTMLDocument dispinterface
13214  */
13215 [
13216     hidden,
13217     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
13218 ]
13219 dispinterface DispHTMLDocument
13220 {
13221 properties:
13222 methods:
13223     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
13224     IDispatch *Script();
13225
13226     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
13227     IHTMLElementCollection *all();
13228
13229     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
13230     IHTMLElement *body();
13231
13232     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
13233     IHTMLElement *activeElement();
13234
13235     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
13236     IHTMLElementCollection *images();
13237
13238     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
13239     IHTMLElementCollection *applets();
13240
13241     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
13242     IHTMLElementCollection *links();
13243
13244     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
13245     IHTMLElementCollection *forms();
13246
13247     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
13248     IHTMLElementCollection *anchors();
13249
13250     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13251     void title(BSTR v);
13252
13253     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13254     BSTR title();
13255
13256     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
13257     IHTMLElementCollection *scripts();
13258
13259     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
13260     void designMode(BSTR v);
13261
13262     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
13263     BSTR designMode();
13264
13265     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
13266     IHTMLSelectionObject *selection();
13267
13268     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
13269     BSTR readyState();
13270
13271     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
13272     IHTMLFramesCollection2 *frames();
13273
13274     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
13275     IHTMLElementCollection *embeds();
13276
13277     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
13278     IHTMLElementCollection *plugins();
13279
13280     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13281     void alinkColor(VARIANT v);
13282
13283     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13284     VARIANT alinkColor();
13285
13286     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13287     void bgColor(VARIANT v);
13288
13289     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13290     VARIANT bgColor();
13291
13292     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13293     void fgColor(VARIANT v);
13294
13295     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13296     VARIANT fgColor();
13297
13298     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13299     void linkColor(VARIANT v);
13300
13301     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13302     VARIANT linkColor();
13303
13304     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13305     void vlinkColor(VARIANT v);
13306
13307     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13308     VARIANT vlinkColor();
13309
13310     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
13311     BSTR referrer();
13312
13313     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
13314     IHTMLLocation *location();
13315
13316     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
13317     BSTR lastModified();
13318
13319     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
13320     void URL(BSTR v);
13321
13322     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
13323     BSTR URL();
13324
13325     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13326     void domain(BSTR v);
13327
13328     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13329     BSTR domain();
13330
13331     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13332     void cookie(BSTR v);
13333
13334     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13335     BSTR cookie();
13336
13337     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
13338     void expando(VARIANT_BOOL v);
13339
13340     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
13341     VARIANT_BOOL expando();
13342
13343     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
13344     void charset(BSTR v);
13345
13346     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
13347     BSTR charset();
13348
13349     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13350     void defaultCharset(BSTR v);
13351
13352     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13353     BSTR defaultCharset();
13354
13355     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
13356     BSTR mimeType();
13357
13358     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
13359     BSTR fileSize();
13360
13361     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
13362     BSTR fileCreatedDate();
13363
13364     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
13365     BSTR fileModifiedDate();
13366
13367     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
13368     BSTR fileUpdatedDate();
13369
13370     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
13371     BSTR security();
13372
13373     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
13374     BSTR protocol();
13375
13376     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
13377     BSTR nameProp();
13378
13379     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
13380     void write([in] SAFEARRAY(VARIANT) psarray);
13381
13382     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
13383     void writeln([in] SAFEARRAY(VARIANT) psarray);
13384
13385     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
13386     IDispatch *open(
13387         [defaultvalue("text/html"), in] BSTR url,
13388         [optional, in] VARIANT name,
13389         [optional, in] VARIANT features,
13390         [optional, in] VARIANT replace);
13391
13392     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
13393     void close();
13394
13395     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
13396     void clear();
13397
13398     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
13399     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
13400
13401     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
13402     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
13403
13404     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
13405     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
13406
13407     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
13408     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
13409
13410     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
13411     BSTR queryCommandText([in] BSTR cmdID);
13412
13413     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
13414     VARIANT queryCommandValue([in] BSTR cmdID);
13415
13416     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
13417     VARIANT_BOOL execCommand(
13418         [in] BSTR cmdID,
13419         [defaultvalue(0), in] VARIANT_BOOL showUI,
13420         [optional, in] VARIANT value);
13421
13422     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
13423     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
13424
13425     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
13426     IHTMLElement *createElement([in] BSTR eTag);
13427
13428     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
13429     void onhelp(VARIANT v);
13430
13431     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
13432     VARIANT onhelp();
13433
13434     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
13435     void onclick(VARIANT v);
13436
13437     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
13438     VARIANT onclick();
13439
13440     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
13441     void ondblclick(VARIANT v);
13442
13443     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
13444     VARIANT ondblclick();
13445
13446     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
13447     void onkeyup(VARIANT v);
13448
13449     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
13450     VARIANT onkeyup();
13451
13452     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
13453     void onkeydown(VARIANT v);
13454
13455     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
13456     VARIANT onkeydown();
13457
13458     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
13459     void onkeypress(VARIANT v);
13460
13461     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
13462     VARIANT onkeypress();
13463
13464     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
13465     void onmouseup(VARIANT v);
13466
13467     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
13468     VARIANT onmouseup();
13469
13470     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
13471     void onmousedown(VARIANT v);
13472
13473     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
13474     VARIANT onmousedown();
13475
13476     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
13477     void onmousemove(VARIANT v);
13478
13479     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
13480     VARIANT onmousemove();
13481
13482     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
13483     void onmouseout(VARIANT v);
13484
13485     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
13486     VARIANT onmouseout();
13487
13488     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
13489     void onmouseover(VARIANT v);
13490
13491     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
13492     VARIANT onmouseover();
13493
13494     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13495     void onreadystatechange(VARIANT v);
13496
13497     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13498     VARIANT onreadystatechange();
13499
13500     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
13501     void onafterupdate(VARIANT v);
13502
13503     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
13504     VARIANT onafterupdate();
13505
13506     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
13507     void onrowexit(VARIANT v);
13508
13509     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
13510     VARIANT onrowexit();
13511
13512     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
13513     void onrowenter(VARIANT v);
13514
13515     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
13516     VARIANT onrowenter();
13517
13518     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
13519     void ondragstart(VARIANT v);
13520
13521     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
13522     VARIANT ondragstart();
13523
13524     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
13525     void onselectstart(VARIANT v);
13526
13527     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
13528     VARIANT onselectstart();
13529
13530     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
13531     IHTMLElement *elementFromPoint(
13532         [in] LONG x,
13533         [in] LONG y);
13534
13535     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
13536     IHTMLWindow2 *parentWindow();
13537
13538     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
13539     IHTMLStyleSheetsCollection *styleSheets();
13540
13541     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
13542     void onbeforeupdate(VARIANT v);
13543
13544     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
13545     VARIANT onbeforeupdate();
13546
13547     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
13548     void onerrorupdate(VARIANT v);
13549
13550     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
13551     VARIANT onerrorupdate();
13552
13553     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
13554     BSTR toString();
13555
13556     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
13557     IHTMLStyleSheet *createStyleSheet(
13558         [defaultvalue(""), in] BSTR bstrHref,
13559         [defaultvalue(-1), in] LONG lIndex);
13560
13561     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
13562     void releaseCapture();
13563
13564     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
13565     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
13566
13567     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
13568     IHTMLDOMNode *createTextNode([in] BSTR text);
13569
13570     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
13571     IHTMLElement *documentElement();
13572
13573     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
13574     BSTR uniqueID();
13575
13576     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
13577     VARIANT_BOOL attachEvent(
13578         [in] BSTR event,
13579         [in] IDispatch *pDisp);
13580
13581     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
13582     void detachEvent(
13583         [in] BSTR event,
13584         [in] IDispatch *pDisp);
13585
13586     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13587     void onrowsdelete(VARIANT v);
13588
13589     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13590     VARIANT onrowsdelete();
13591
13592     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13593     void onrowsinserted(VARIANT v);
13594
13595     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13596     VARIANT onrowsinserted();
13597
13598     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13599     void oncellchange(VARIANT v);
13600
13601     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13602     VARIANT oncellchange();
13603
13604     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13605     void ondatasetchanged(VARIANT v);
13606
13607     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13608     VARIANT ondatasetchanged();
13609
13610     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13611     void ondataavailable(VARIANT v);
13612
13613     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13614     VARIANT ondataavailable();
13615
13616     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13617     void ondatasetcomplete(VARIANT v);
13618
13619     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13620     VARIANT ondatasetcomplete();
13621
13622     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13623     void onpropertychange(VARIANT v);
13624
13625     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13626     VARIANT onpropertychange();
13627
13628     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
13629     void dir(BSTR v);
13630
13631     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
13632     BSTR dir();
13633
13634     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13635     void oncontextmenu(VARIANT v);
13636
13637     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13638     VARIANT oncontextmenu();
13639
13640     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13641     void onstop(VARIANT v);
13642
13643     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13644     VARIANT onstop();
13645
13646     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
13647     IHTMLDocument2 *createDocumentFragment();
13648
13649     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
13650     IHTMLDocument2 *parentDocument();
13651
13652     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13653     void enableDownload(VARIANT_BOOL v);
13654
13655     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13656     VARIANT_BOOL enableDownload();
13657
13658     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13659     void baseUrl(BSTR v);
13660
13661     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13662     BSTR baseUrl();
13663
13664     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13665     void inheritStyleSheets(VARIANT_BOOL v);
13666
13667     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13668     VARIANT_BOOL inheritStyleSheets();
13669
13670     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13671     void onbeforeeditfocus(VARIANT v);
13672
13673     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13674     VARIANT onbeforeeditfocus();
13675
13676     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
13677     IHTMLElementCollection *getElementsByName([in] BSTR v);
13678
13679     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
13680     IHTMLElement *getElementById([in] BSTR v);
13681
13682     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
13683     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
13684
13685     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
13686     void focus();
13687
13688     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
13689     VARIANT_BOOL hasFocus();
13690
13691     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13692     void onselectionchange(VARIANT v);
13693
13694     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13695     VARIANT onselectionchange();
13696
13697     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
13698     IDispatch *namespaces();
13699
13700     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
13701     IHTMLDocument2 *createDocumentFromUrl(
13702         [in] BSTR bstrUrl,
13703         [in] BSTR bstrOptions);
13704
13705     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13706     void media(BSTR v);
13707
13708     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13709     BSTR media();
13710
13711     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
13712     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
13713
13714     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
13715     VARIANT_BOOL fireEvent(
13716         [in] BSTR bstrEventName,
13717         [optional, in] VARIANT *pvarEventObject);
13718
13719     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
13720     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
13721
13722     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13723     void oncontrolselect(VARIANT v);
13724
13725     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13726     VARIANT oncontrolselect();
13727
13728     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
13729     BSTR URLUnencoded();
13730
13731     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13732     void onmousewheel(VARIANT v);
13733
13734     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13735     VARIANT onmousewheel();
13736
13737     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
13738     IHTMLDOMNode *doctype();
13739
13740     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13741     IHTMLDOMImplementation *implementation();
13742
13743     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13744     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
13745
13746     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13747     IHTMLDOMNode *createComment([in] BSTR bstrdata);
13748
13749     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13750     void onfocusin(VARIANT v);
13751
13752     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13753     VARIANT onfocusin();
13754
13755     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13756     void onfocusout(VARIANT v);
13757
13758     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13759     VARIANT onfocusout();
13760
13761     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13762     void onactivate(VARIANT v);
13763
13764     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13765     VARIANT onactivate();
13766
13767     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13768     void ondeactivate(VARIANT v);
13769
13770     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13771     VARIANT ondeactivate();
13772
13773     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13774     void onbeforeactivate(VARIANT v);
13775
13776     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13777     VARIANT onbeforeactivate();
13778
13779     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13780     void onbeforedeactivate(VARIANT v);
13781
13782     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13783     VARIANT onbeforedeactivate();
13784
13785     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
13786     BSTR compatMode();
13787
13788     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
13789     IHTMLDocumentCompatibleInfoCollection *compatible();
13790
13791     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
13792     VARIANT documentMode();
13793
13794     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13795     void onstorage(VARIANT v);
13796
13797     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13798     VARIANT onstorage();
13799
13800     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13801     void onstoragecommit(VARIANT v);
13802
13803     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13804     VARIANT onstoragecommit();
13805
13806     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
13807     IHTMLElement2 *ie8_getElementById([in] BSTR bstrId);
13808
13809     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
13810     void updateSettings();
13811
13812     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
13813 }
13814
13815 /*****************************************************************************
13816  *    HTMLDocument coclass
13817  */
13818 [
13819     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
13820 ]
13821 coclass HTMLDocument
13822 {
13823     [default]         dispinterface DispHTMLDocument;
13824     [source, default] dispinterface HTMLDocumentEvents;
13825     [source]          dispinterface HTMLDocumentEvents2;
13826                       interface IHTMLDocument2;
13827                       interface IHTMLDocument3;
13828                       interface IHTMLDocument4;
13829                       interface IHTMLDocument5;
13830                       interface IHTMLDocument6;
13831                       interface IHTMLDOMNode;
13832                       interface IHTMLDOMNode2;
13833 }
13834
13835 /*****************************************************************************
13836  *    DWebBridgeEvents dispinterface
13837  */
13838 [
13839     hidden,
13840     uuid(a6d897ff-0a95-11d1-b0ba-006008166e11)
13841 ]
13842 dispinterface DWebBridgeEvents
13843 {
13844 properties:
13845 methods:
13846     [id(DISPID_DWEBBRIDGEEVENTS_ONSCRIPTLETEVENT)]
13847     void onscriptletevent([in] BSTR name,[in] VARIANT eventData);
13848
13849     [id(DISPID_DWEBBRIDGEEVENTS_ONREADYSTATECHANGE)]
13850     void onreadystatechange();
13851
13852     [id(DISPID_DWEBBRIDGEEVENTS_ONCLICK)]
13853     VARIANT_BOOL onclick();
13854
13855     [id(DISPID_DWEBBRIDGEEVENTS_ONDBLCLICK)]
13856     VARIANT_BOOL ondblclick();
13857
13858     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYDOWN)]
13859     void onkeydown();
13860
13861     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYUP)]
13862     void onkeyup();
13863
13864     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYPRESS)]
13865     VARIANT_BOOL onkeypress();
13866
13867     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEDOWN)]
13868     void onmousedown();
13869
13870     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEMOVE)]
13871     void onmousemove();
13872
13873     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEUP)]
13874     void onmouseup();
13875 }
13876
13877 /*****************************************************************************
13878  *    IWebBridge interface
13879  */
13880 [
13881     odl,
13882     oleautomation,
13883     dual,
13884     uuid(ae24fdad-03c6-11d1-8b76-0080c744f389)
13885 ]
13886 interface IWebBridge : IDispatch
13887 {
13888     [propput, id(DISPID_IWEBBRIDGE_URL)]
13889     HRESULT URL([in] BSTR v);
13890
13891     [propget, id(DISPID_IWEBBRIDGE_URL)]
13892     HRESULT URL([retval, out] BSTR * p);
13893
13894     [propput, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
13895     HRESULT Scrollbar([in] VARIANT_BOOL v);
13896
13897     [propget, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
13898     HRESULT Scrollbar([retval, out] VARIANT_BOOL * p);
13899
13900     [propput, id(DISPID_IWEBBRIDGE_EMBED)]
13901     HRESULT embed([in] VARIANT_BOOL v);
13902
13903     [propget, id(DISPID_IWEBBRIDGE_EMBED)]
13904     HRESULT embed([retval, out] VARIANT_BOOL * p);
13905
13906     [propget, id(DISPID_IWEBBRIDGE_EVENT)]
13907     HRESULT event([retval, out] IDispatch* * p);
13908
13909     [propget, id(DISPID_IWEBBRIDGE_READYSTATE)]
13910     HRESULT readyState([retval, out] long * p);
13911
13912     [id(DISPID_IWEBBRIDGE_ABOUTBOX)]
13913     HRESULT AboutBox();
13914 }
13915
13916 /*****************************************************************************
13917  *    Scriptlet coclass
13918  */
13919 [
13920     control,
13921     helpstring("Microsoft Scriptlet Component"),
13922     progid("ScriptBridge.ScriptBridge.1"),
13923     vi_progid("ScriptBridge.ScriptBridge"),
13924     uuid(ae24fdae-03c6-11d1-8b76-0080c744f389)
13925 ]
13926 coclass Scriptlet
13927 {
13928     [default]           interface IWebBridge;
13929     [source, default]   dispinterface DWebBridgeEvents;
13930 }
13931
13932 /*****************************************************************************
13933  *    IHTMLEmbedElement interface
13934  */
13935 [
13936     odl,
13937     oleautomation,
13938     dual,
13939     uuid(3050f25f-98b5-11cf-bb82-00aa00bdce0b)
13940 ]
13941 interface IHTMLEmbedElement : IDispatch
13942 {
13943     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13944     HRESULT hidden([in] BSTR v);
13945
13946     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13947     HRESULT hidden([retval, out] BSTR *p);
13948
13949     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
13950     HRESULT palette([retval, out] BSTR *p);
13951
13952     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
13953     HRESULT pluginspage([retval, out] BSTR *p);
13954
13955     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13956     HRESULT src([in] BSTR v);
13957
13958     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13959     HRESULT src([retval, out] BSTR *p);
13960
13961     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13962     HRESULT units([in] BSTR v);
13963
13964     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13965     HRESULT units([retval, out] BSTR *p);
13966
13967     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13968     HRESULT name([in] BSTR v);
13969
13970     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13971     HRESULT name([retval, out] BSTR *p);
13972
13973     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13974     HRESULT width([in] VARIANT v);
13975
13976     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13977     HRESULT width([retval, out] VARIANT *p);
13978
13979     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13980     HRESULT height([in] VARIANT v);
13981
13982     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13983     HRESULT height([retval, out] VARIANT *p);
13984 }
13985
13986 /*****************************************************************************
13987  *    DispHTMLEmbedElement dispinterface
13988  */
13989 [
13990     hidden,
13991     uuid(3050f52e-98b5-11cf-bb82-00aa00bdce0b)
13992 ]
13993 dispinterface DispHTMLEmbed
13994 {
13995 properties:
13996 methods:
13997     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
13998
13999     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14000     void hidden(BSTR v);
14001
14002     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14003     BSTR hidden();
14004
14005     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
14006     BSTR palette();
14007
14008     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
14009     BSTR pluginspage();
14010
14011     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14012     void src(BSTR v);
14013
14014     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14015     BSTR src();
14016
14017     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14018     void units(BSTR v);
14019
14020     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14021     BSTR units();
14022
14023     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14024     void name(BSTR v);
14025
14026     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14027     BSTR name();
14028
14029     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14030     void width(VARIANT v);
14031
14032     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14033     VARIANT width();
14034
14035     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14036     void height(VARIANT v);
14037
14038     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14039     VARIANT height();
14040
14041     [propput, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
14042     void ie8_src(BSTR v);
14043
14044     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
14045     BSTR ie8_src();
14046
14047     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_PLUGINSPAGE)]
14048     BSTR ie8_pluginspage();
14049 }
14050
14051 /*****************************************************************************
14052  *    IHTMLCommentElement interface
14053  */
14054 [
14055     odl,
14056     oleautomation,
14057     dual,
14058     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
14059 ]
14060 interface IHTMLCommentElement : IDispatch
14061 {
14062     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14063     HRESULT text([in] BSTR v);
14064
14065     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14066     HRESULT text([out, retval] BSTR *p);
14067
14068     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14069     HRESULT atomic([in] LONG v);
14070
14071     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14072     HRESULT atomic([out, retval] LONG *p);
14073 }
14074
14075 /*****************************************************************************
14076  *    IHTMLCommentElement2 interface
14077  */
14078 [
14079     odl,
14080     oleautomation,
14081     dual,
14082     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
14083 ]
14084 interface IHTMLCommentElement2 : IDispatch
14085 {
14086     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14087     HRESULT data([in] BSTR v);
14088
14089     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14090     HRESULT data([out, retval] BSTR *p);
14091
14092     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14093     HRESULT length([out, retval] LONG *p);
14094
14095     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14096     HRESULT substringData(
14097             [in] LONG offset,
14098             [in] LONG Count,
14099             [out, retval] BSTR *pbstrsubString);
14100
14101     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14102     HRESULT appendData([in] BSTR bstrstring);
14103
14104     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14105     HRESULT insertData(
14106             [in] LONG offset,
14107             [in] BSTR bstrstring);
14108
14109     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
14110     HRESULT deleteData(
14111             [in] LONG offset,
14112             [in] LONG Count);
14113
14114     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
14115     HRESULT replaceData(
14116             [in] LONG offset,
14117             [in] LONG Count,
14118             [in] BSTR bstrstring);
14119 }
14120
14121 /*****************************************************************************
14122  *    DispHTMLCommentElement dispinterface
14123  */
14124 [
14125     hidden,
14126     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
14127 ]
14128 dispinterface DispHTMLCommentElement
14129 {
14130 properties:
14131 methods:
14132     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14133
14134     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14135     void text(BSTR v);
14136
14137     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14138     BSTR text();
14139
14140     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14141     void atomic(LONG v);
14142
14143     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14144     LONG atomic();
14145
14146     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14147     void data(BSTR v);
14148
14149     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14150     BSTR data();
14151
14152     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14153     LONG length();
14154
14155     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14156     BSTR substringData(
14157             [in] LONG offset,
14158             [in] LONG Count);
14159
14160     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14161     void appendData([in] BSTR bstrstring);
14162
14163     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14164      void insertData(
14165             [in] LONG offset,
14166             [in] BSTR bstrstring);
14167
14168     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
14169     void deleteData(
14170             [in] LONG offset,
14171             [in] LONG Count);
14172
14173     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
14174     void replaceData(
14175             [in] LONG offset,
14176             [in] LONG Count,
14177             [in] BSTR bstrstring);
14178 }
14179
14180 [
14181     hidden,
14182     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
14183 ]
14184 dispinterface HTMLElementEvents2
14185 {
14186 properties:
14187 methods:
14188     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14189     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14190
14191     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14192     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14193
14194     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14195     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14196
14197     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14198     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14199
14200     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14201     void onkeydown([in] IHTMLEventObj* pEvtObj);
14202
14203     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14204     void onkeyup([in] IHTMLEventObj* pEvtObj);
14205
14206     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14207     void onmouseout([in] IHTMLEventObj* pEvtObj);
14208
14209     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14210     void onmouseover([in] IHTMLEventObj* pEvtObj);
14211
14212     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14213     void onmousemove([in] IHTMLEventObj* pEvtObj);
14214
14215     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14216     void onmousedown([in] IHTMLEventObj* pEvtObj);
14217
14218     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14219     void onmouseup([in] IHTMLEventObj* pEvtObj);
14220
14221     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14222     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14223
14224     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14225     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14226
14227     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14228     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14229
14230     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14231     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14232
14233     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14234     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14235
14236     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14237     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14238
14239     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14240     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14241
14242     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14243     void onrowenter([in] IHTMLEventObj* pEvtObj);
14244
14245     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14246     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14247
14248     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14249     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14250
14251     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14252     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14253
14254     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14255     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14256
14257     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14258     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14259
14260     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14261     void onscroll([in] IHTMLEventObj* pEvtObj);
14262
14263     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14264     void onfocus([in] IHTMLEventObj* pEvtObj);
14265
14266     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14267     void onblur([in] IHTMLEventObj* pEvtObj);
14268
14269     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14270     void onresize([in] IHTMLEventObj* pEvtObj);
14271
14272     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14273     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14274
14275     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14276     void ondragend([in] IHTMLEventObj* pEvtObj);
14277
14278     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14279     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14280
14281     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14282     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14283
14284     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14285     void ondragleave([in] IHTMLEventObj* pEvtObj);
14286
14287     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14288     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14289
14290     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14291     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14292
14293     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14294     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14295
14296     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14297     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14298
14299     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14300     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14301
14302     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14303     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14304
14305     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14306     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14307
14308     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14309     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14310
14311     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14312     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14313
14314     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14315     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14316
14317     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14318     void oncellchange([in] IHTMLEventObj* pEvtObj);
14319
14320     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14321     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14322
14323     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14324     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14325
14326     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14327     void onpage([in] IHTMLEventObj* pEvtObj);
14328
14329     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14330     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14331
14332     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14333     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14334
14335     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14336     void onactivate([in] IHTMLEventObj* pEvtObj);
14337
14338     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14339     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14340
14341     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14342     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14343
14344     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14345     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14346
14347     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14348     void onfocusin([in] IHTMLEventObj* pEvtObj);
14349
14350     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14351     void onfocusout([in] IHTMLEventObj* pEvtObj);
14352
14353     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14354     void onmove([in] IHTMLEventObj* pEvtObj);
14355
14356     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14357     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14358
14359     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14360     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14361
14362     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14363     void onmoveend([in] IHTMLEventObj* pEvtObj);
14364
14365     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14366     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14367
14368     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14369     void onresizeend([in] IHTMLEventObj* pEvtObj);
14370
14371     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14372     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14373 }
14374
14375 [
14376     hidden,
14377     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
14378 ]
14379 dispinterface HTMLElementEvents
14380 {
14381 properties:
14382 methods:
14383     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14384     VARIANT_BOOL onhelp();
14385
14386     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14387     VARIANT_BOOL onclick();
14388
14389     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14390     VARIANT_BOOL ondblclick();
14391
14392     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14393     VARIANT_BOOL onkeypress();
14394
14395     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14396     void onkeydown();
14397
14398     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14399     void onkeyup();
14400
14401     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14402     void onmouseout();
14403
14404     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14405     void onmouseover();
14406
14407     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14408     void onmousemove();
14409
14410     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14411     void onmousedown();
14412
14413     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14414     void onmouseup();
14415
14416     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14417     VARIANT_BOOL onselectstart();
14418
14419     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14420     void onfilterchange();
14421
14422     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14423     VARIANT_BOOL ondragstart();
14424
14425     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14426     VARIANT_BOOL onbeforeupdate();
14427
14428     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14429     void onafterupdate();
14430
14431     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14432     VARIANT_BOOL onerrorupdate();
14433
14434     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14435     VARIANT_BOOL onrowexit();
14436
14437     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14438     void onrowenter();
14439
14440     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14441     void ondatasetchanged();
14442
14443     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14444     void ondataavailable();
14445
14446     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14447     void ondatasetcomplete();
14448
14449     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14450     void onlosecapture();
14451
14452     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14453     void onpropertychange();
14454
14455     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14456     void onscroll();
14457
14458     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14459     void onfocus();
14460
14461     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14462     void onblur();
14463
14464     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14465     void onresize();
14466
14467     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14468     VARIANT_BOOL ondrag();
14469
14470     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14471     void ondragend();
14472
14473     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14474     VARIANT_BOOL ondragenter();
14475
14476     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14477     VARIANT_BOOL ondragover();
14478
14479     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14480     void ondragleave();
14481
14482     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14483     VARIANT_BOOL ondrop();
14484
14485     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14486     VARIANT_BOOL onbeforecut();
14487
14488     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14489     VARIANT_BOOL oncut();
14490
14491     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14492     VARIANT_BOOL onbeforecopy();
14493
14494     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14495     VARIANT_BOOL oncopy();
14496
14497     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14498     VARIANT_BOOL onbeforepaste();
14499
14500     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14501     VARIANT_BOOL onpaste();
14502
14503     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14504     VARIANT_BOOL oncontextmenu();
14505
14506     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14507     void onrowsdelete();
14508
14509     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14510     void onrowsinserted();
14511
14512     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14513     void oncellchange();
14514
14515     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14516     void onreadystatechange();
14517
14518     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14519     void onbeforeeditfocus();
14520
14521     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14522     void onlayoutcomplete();
14523
14524     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14525     void onpage();
14526
14527     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14528     VARIANT_BOOL onbeforedeactivate();
14529
14530     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14531     VARIANT_BOOL onbeforeactivate();
14532
14533     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14534     void onmove();
14535
14536     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14537     VARIANT_BOOL oncontrolselect();
14538
14539     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14540     VARIANT_BOOL onmovestart();
14541
14542     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14543     void onmoveend();
14544
14545     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14546     VARIANT_BOOL onresizestart();
14547
14548     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14549     void onresizeend();
14550
14551     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14552     void onmouseenter();
14553
14554     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14555     void onmouseleave();
14556
14557     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14558     VARIANT_BOOL onmousewheel();
14559
14560     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14561     void onactivate();
14562
14563     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14564     void ondeactivate();
14565
14566     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14567     void onfocusin();
14568
14569     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14570     void onfocusout();
14571 }
14572
14573 [
14574     noncreatable,
14575     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
14576 ]
14577 coclass HTMLCommentElement
14578 {
14579     [default]           dispinterface DispHTMLCommentElement;
14580     [source, default]   dispinterface HTMLElementEvents;
14581     [source]            dispinterface HTMLElementEvents2;
14582                         interface IHTMLElement;
14583                         interface IHTMLElement2;
14584                         interface IHTMLElement3;
14585                         interface IHTMLElement4;
14586                         interface IHTMLUniqueName;
14587                         interface IHTMLDOMNode;
14588                         interface IHTMLDOMNode2;
14589                         interface IHTMLCommentElement;
14590                         interface IHTMLCommentElement2;
14591 }
14592
14593 /*****************************************************************************
14594  *    HTMLTableEvents dispinterface
14595  */
14596 [
14597     hidden,
14598     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
14599 ]
14600 dispinterface HTMLTableEvents
14601 {
14602 properties:
14603 methods:
14604     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14605     VARIANT_BOOL onhelp();
14606
14607     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14608     VARIANT_BOOL onclick();
14609
14610     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14611     VARIANT_BOOL ondblclick();
14612
14613     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14614     VARIANT_BOOL onkeypress();
14615
14616     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14617     void onkeydown();
14618
14619     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14620     void onkeyup();
14621
14622     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14623     void onmouseout();
14624
14625     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14626     void onmouseover();
14627
14628     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14629     void onmousemove();
14630
14631     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14632     void onmousedown();
14633
14634     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14635     void onmouseup();
14636
14637     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14638     VARIANT_BOOL onselectstart();
14639
14640     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14641     void onfilterchange();
14642
14643     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14644     VARIANT_BOOL ondragstart();
14645
14646     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14647     VARIANT_BOOL onbeforeupdate();
14648
14649     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14650     void onafterupdate();
14651
14652     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14653     VARIANT_BOOL onerrorupdate();
14654
14655     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14656     VARIANT_BOOL onrowexit();
14657
14658     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14659     void onrowenter();
14660
14661     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14662     void ondatasetchanged();
14663
14664     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14665     void ondataavailable();
14666
14667     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14668     void ondatasetcomplete();
14669
14670     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14671     void onlosecapture();
14672
14673     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14674     void onpropertychange();
14675
14676     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14677     void onscroll();
14678
14679     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14680     void onfocus();
14681
14682     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14683     void onblur();
14684
14685     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14686     void onresize();
14687
14688     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14689     VARIANT_BOOL ondrag();
14690
14691     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14692     void ondragend();
14693
14694     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14695     VARIANT_BOOL ondragenter();
14696
14697     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14698     VARIANT_BOOL ondragover();
14699
14700     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14701     void ondragleave();
14702
14703     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14704     VARIANT_BOOL ondrop();
14705
14706     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14707     VARIANT_BOOL onbeforecut();
14708
14709     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14710     VARIANT_BOOL oncut();
14711
14712     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14713     VARIANT_BOOL onbeforecopy();
14714
14715     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14716     VARIANT_BOOL oncopy();
14717
14718     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14719     VARIANT_BOOL onbeforepaste();
14720
14721     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14722     VARIANT_BOOL onpaste();
14723
14724     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14725     VARIANT_BOOL oncontextmenu();
14726
14727     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14728     void onrowsdelete();
14729
14730     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14731     void onrowsinserted();
14732
14733     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14734     void oncellchange();
14735
14736     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14737     void onreadystatechange();
14738
14739     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14740     void onbeforeeditfocus();
14741
14742     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14743     void onlayoutcomplete();
14744
14745     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14746     void onpage();
14747
14748     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14749     VARIANT_BOOL onbeforedeactivate();
14750
14751     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14752     VARIANT_BOOL onbeforeactivate();
14753
14754     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14755     void onmove();
14756
14757     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14758     VARIANT_BOOL oncontrolselect();
14759
14760     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14761     VARIANT_BOOL onmovestart();
14762
14763     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14764     void onmoveend();
14765
14766     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14767     VARIANT_BOOL onresizestart();
14768
14769     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14770     void onresizeend();
14771
14772     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14773     void onmouseenter();
14774
14775     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14776     void onmouseleave();
14777
14778     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14779     VARIANT_BOOL onmousewheel();
14780
14781     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14782     void onactivate();
14783
14784     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14785     void ondeactivate();
14786
14787     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14788     void onfocusin();
14789
14790     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14791     void onfocusout();
14792 }
14793
14794 [
14795     hidden,
14796     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
14797 ]
14798 dispinterface HTMLTableEvents2
14799 {
14800 properties:
14801 methods:
14802     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14803     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14804
14805     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14806     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14807
14808     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14809     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14810
14811     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14812     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14813
14814     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14815     void onkeydown([in] IHTMLEventObj* pEvtObj);
14816
14817     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14818     void onkeyup([in] IHTMLEventObj* pEvtObj);
14819
14820     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14821     void onmouseout([in] IHTMLEventObj* pEvtObj);
14822
14823     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14824     void onmouseover([in] IHTMLEventObj* pEvtObj);
14825
14826     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14827     void onmousemove([in] IHTMLEventObj* pEvtObj);
14828
14829     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14830     void onmousedown([in] IHTMLEventObj* pEvtObj);
14831
14832     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14833     void onmouseup([in] IHTMLEventObj* pEvtObj);
14834
14835     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14836     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14837
14838     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14839     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14840
14841     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14842     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14843
14844     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14845     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14846
14847     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14848     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14849
14850     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14851     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14852
14853     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14854     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14855
14856     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14857     void onrowenter([in] IHTMLEventObj* pEvtObj);
14858
14859     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14860     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14861
14862     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14863     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14864
14865     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14866     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14867
14868     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14869     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14870
14871     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14872     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14873
14874     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14875     void onscroll([in] IHTMLEventObj* pEvtObj);
14876
14877     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14878     void onfocus([in] IHTMLEventObj* pEvtObj);
14879
14880     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14881     void onblur([in] IHTMLEventObj* pEvtObj);
14882
14883     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14884     void onresize([in] IHTMLEventObj* pEvtObj);
14885
14886     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14887     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14888
14889     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14890     void ondragend([in] IHTMLEventObj* pEvtObj);
14891
14892     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14893     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14894
14895     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14896     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14897
14898     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14899     void ondragleave([in] IHTMLEventObj* pEvtObj);
14900
14901     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14902     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14903
14904     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14905     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14906
14907     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14908     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14909
14910     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14911     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14912
14913     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14914     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14915
14916     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14917     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14918
14919     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14920     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14921
14922     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14923     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14924
14925     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14926     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14927
14928     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14929     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14930
14931     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14932     void oncellchange([in] IHTMLEventObj* pEvtObj);
14933
14934     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14935     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14936
14937     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14938     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14939
14940     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14941     void onpage([in] IHTMLEventObj* pEvtObj);
14942
14943     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14944     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14945
14946     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14947     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14948
14949     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14950     void onactivate([in] IHTMLEventObj* pEvtObj);
14951
14952     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14953     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14954
14955     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14956     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14957
14958     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14959     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14960
14961     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14962     void onfocusin([in] IHTMLEventObj* pEvtObj);
14963
14964     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14965     void onfocusout([in] IHTMLEventObj* pEvtObj);
14966
14967     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14968     void onmove([in] IHTMLEventObj* pEvtObj);
14969
14970     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14971     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14972
14973     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14974     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14975
14976     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14977     void onmoveend([in] IHTMLEventObj* pEvtObj);
14978
14979     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14980     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14981
14982     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14983     void onresizeend([in] IHTMLEventObj* pEvtObj);
14984
14985     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14986     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14987 }
14988
14989 /*****************************************************************************
14990  *    IHTMLTableCaption interface
14991  */
14992 [
14993     odl,
14994     oleautomation,
14995     dual,
14996     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
14997 ]
14998 interface IHTMLTableCaption : IDispatch
14999 {
15000     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
15001     HRESULT align([in] BSTR v);
15002
15003     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
15004     HRESULT align([retval, out] BSTR *p);
15005
15006     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
15007     HRESULT vAlign([in] BSTR v);
15008
15009     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
15010     HRESULT vAlign([retval, out] BSTR *p);
15011 }
15012
15013 interface IHTMLTableSection;
15014
15015 /*****************************************************************************
15016  *    IHTMLTable interface
15017  */
15018 [
15019     odl,
15020     oleautomation,
15021     dual,
15022     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
15023 ]
15024 interface IHTMLTable : IDispatch
15025 {
15026     [propput, id(DISPID_IHTMLTABLE_COLS)]
15027     HRESULT cols([in] LONG v);
15028
15029     [propget, id(DISPID_IHTMLTABLE_COLS)]
15030     HRESULT cols([retval, out] LONG *p);
15031
15032     [propput, id(DISPID_IHTMLTABLE_BORDER)]
15033     HRESULT border([in] VARIANT v);
15034
15035     [propget, id(DISPID_IHTMLTABLE_BORDER)]
15036     HRESULT border([retval, out] VARIANT *p);
15037
15038     [propput, id(DISPID_IHTMLTABLE_FRAME)]
15039     HRESULT frame([in] BSTR v);
15040
15041     [propget, id(DISPID_IHTMLTABLE_FRAME)]
15042     HRESULT frame([retval, out] BSTR *p);
15043
15044     [propput, id(DISPID_IHTMLTABLE_RULES)]
15045     HRESULT rules([in] BSTR v);
15046
15047     [propget, id(DISPID_IHTMLTABLE_RULES)]
15048     HRESULT rules([retval, out] BSTR *p);
15049
15050     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
15051     HRESULT cellSpacing([in] VARIANT v);
15052
15053     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
15054     HRESULT cellSpacing([retval, out] VARIANT *p);
15055
15056     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
15057     HRESULT cellPadding([in] VARIANT v);
15058
15059     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
15060     HRESULT cellPadding([retval, out] VARIANT *p);
15061
15062     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
15063     HRESULT background([in] BSTR v);
15064
15065     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
15066     HRESULT background([retval, out] BSTR *p);
15067
15068     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
15069     HRESULT bgColor([in] VARIANT v);
15070
15071     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
15072     HRESULT bgColor([retval, out] VARIANT *p);
15073
15074     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15075     HRESULT borderColor([in] VARIANT v);
15076
15077     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15078     HRESULT borderColor([retval, out] VARIANT *p);
15079
15080     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15081     HRESULT borderColorLight([in] VARIANT v);
15082
15083     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15084     HRESULT borderColorLight([retval, out] VARIANT *p);
15085
15086     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15087     HRESULT borderColorDark([in] VARIANT v);
15088
15089     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15090     HRESULT borderColorDark([retval, out] VARIANT *p);
15091
15092     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
15093     HRESULT align([in] BSTR v);
15094
15095     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
15096     HRESULT align([retval, out] BSTR * p);
15097
15098     [id(DISPID_IHTMLTABLE_REFRESH)]
15099     HRESULT refresh();
15100
15101     [propget, id(DISPID_IHTMLTABLE_ROWS)]
15102     HRESULT rows([retval, out] IHTMLElementCollection **p);
15103
15104     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
15105     HRESULT width([in] VARIANT v);
15106
15107     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
15108     HRESULT width([retval, out] VARIANT *p);
15109
15110     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
15111     HRESULT height([in] VARIANT v);
15112
15113     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
15114     HRESULT height([retval, out] VARIANT *p);
15115
15116     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15117     HRESULT dataPageSize([in] LONG v);
15118
15119     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15120     HRESULT dataPageSize([retval, out] LONG *p);
15121
15122     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
15123     HRESULT nextPage();
15124
15125     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
15126     HRESULT previousPage();
15127
15128     [propget, id(DISPID_IHTMLTABLE_THEAD)]
15129     HRESULT tHead([retval, out] IHTMLTableSection **p);
15130
15131     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
15132     HRESULT tFoot([retval, out] IHTMLTableSection **p);
15133
15134     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
15135     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
15136
15137     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
15138     HRESULT caption([retval, out] IHTMLTableCaption **p);
15139
15140     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
15141     HRESULT createTHead([retval, out] IDispatch **head);
15142
15143     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
15144     HRESULT deleteTHead();
15145
15146     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
15147     HRESULT createTFoot([retval, out] IDispatch **foot);
15148
15149     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
15150     HRESULT deleteTFoot();
15151
15152     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
15153     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
15154
15155     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
15156     HRESULT deleteCaption();
15157
15158     [id(DISPID_IHTMLTABLE_INSERTROW)]
15159     HRESULT insertRow(
15160             [defaultvalue(-1), in] LONG index,
15161             [retval, out] IDispatch **row);
15162
15163     [id(DISPID_IHTMLTABLE_DELETEROW)]
15164     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
15165
15166     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
15167     HRESULT readyState([retval, out] BSTR *p);
15168
15169     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
15170     HRESULT onreadystatechange([in] VARIANT v);
15171
15172     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
15173     HRESULT onreadystatechange([retval, out] VARIANT *p);
15174 }
15175
15176 [
15177     odl,
15178     oleautomation,
15179     dual,
15180     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
15181 ]
15182 interface IHTMLTable2 : IDispatch
15183 {
15184     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
15185     HRESULT firstPage();
15186
15187     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
15188     HRESULT lastPage();
15189
15190     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
15191     HRESULT cells([retval, out] IHTMLElementCollection* * p);
15192
15193     [id(DISPID_IHTMLTABLE2_MOVEROW)]
15194     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
15195         [defaultvalue(-1), in] LONG indexTo,
15196         [retval, out] IDispatch** row);
15197 }
15198
15199 [
15200     odl,
15201     oleautomation,
15202     dual,
15203     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
15204 ]
15205 interface IHTMLTable3 : IDispatch
15206 {
15207     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15208     HRESULT summary([in] BSTR v);
15209
15210     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15211     HRESULT summary([retval, out] BSTR * p);
15212 }
15213
15214 [
15215     noncreatable,
15216     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
15217 ]
15218 coclass HTMLTable
15219 {
15220     [default]           dispinterface DispHTMLTable;
15221     [source, default]   dispinterface HTMLTableEvents;
15222     [source]            dispinterface HTMLTableEvents2;
15223                         interface IHTMLElement;
15224                         interface IHTMLElement2;
15225                         interface IHTMLElement3;
15226                         interface IHTMLElement4;
15227                         interface IHTMLUniqueName;
15228                         interface IHTMLDOMNode;
15229                         interface IHTMLDOMNode2;
15230                         interface IHTMLDatabinding;
15231                         interface IHTMLControlElement;
15232                         interface IHTMLTable;
15233                         interface IHTMLTable2;
15234                         interface IHTMLTable3;
15235 }
15236
15237 [
15238     odl,
15239     oleautomation,
15240     dual,
15241     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
15242 ]
15243 interface IHTMLTableSection : IDispatch
15244 {
15245     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
15246     HRESULT align([in] BSTR v);
15247
15248     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
15249     HRESULT align([retval, out] BSTR *p);
15250
15251     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
15252     HRESULT vAlign([in] BSTR v);
15253
15254     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
15255     HRESULT vAlign([retval, out] BSTR *p);
15256
15257     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
15258     HRESULT bgColor([in] VARIANT v);
15259
15260     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
15261     HRESULT bgColor([retval, out] VARIANT *p);
15262
15263     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
15264     HRESULT rows([retval, out] IHTMLElementCollection **p);
15265
15266     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
15267     HRESULT insertRow(
15268             [defaultvalue(-1), in] LONG index,
15269             [retval, out] IDispatch **row);
15270
15271     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
15272     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
15273 }
15274
15275 /*****************************************************************************
15276  *    IHTMLTableRow interface
15277  */
15278 [
15279     odl,
15280     oleautomation,
15281     dual,
15282     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
15283 ]
15284 interface IHTMLTableRow : IDispatch
15285 {
15286     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
15287     HRESULT align([in] BSTR v);
15288
15289     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
15290     HRESULT align([out, retval] BSTR *p);
15291
15292     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
15293     HRESULT vAlign([in] BSTR v);
15294
15295     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
15296     HRESULT vAlign([out, retval] BSTR *p);
15297
15298     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15299     HRESULT bgColor([in] VARIANT v);
15300
15301     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15302     HRESULT bgColor([out, retval] VARIANT *p);
15303
15304     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15305     HRESULT borderColor([in] VARIANT v);
15306
15307     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15308     HRESULT borderColor([out, retval] VARIANT *p);
15309
15310     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15311     HRESULT borderColorLight([in] VARIANT v);
15312
15313     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15314     HRESULT borderColorLight([out, retval] VARIANT *p);
15315
15316     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15317     HRESULT borderColorDark([in] VARIANT v);
15318
15319     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15320     HRESULT borderColorDark([out, retval] VARIANT *p);
15321
15322     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
15323     HRESULT rowIndex([out, retval] LONG *p);
15324
15325     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
15326     HRESULT sectionRowIndex([out, retval] LONG *p);
15327
15328     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
15329     HRESULT cells([out, retval] IHTMLElementCollection **p);
15330
15331     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
15332     HRESULT insertCell(
15333             [in, defaultvalue(-1)] LONG index,
15334             [out, retval] IDispatch **row);
15335
15336     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
15337     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
15338 }
15339
15340 /*****************************************************************************
15341  *    DispHTMLTable interface
15342  */
15343 [
15344     hidden,
15345     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
15346 ]
15347 dispinterface DispHTMLTable
15348 {
15349 properties:
15350 methods:
15351     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
15352
15353     [propput, id(DISPID_IHTMLTABLE_COLS)]
15354     void cols(LONG v);
15355
15356     [propget, id(DISPID_IHTMLTABLE_COLS)]
15357     LONG cols();
15358
15359     [propput, id(DISPID_IHTMLTABLE_BORDER)]
15360     void border(VARIANT v);
15361
15362     [propget, id(DISPID_IHTMLTABLE_BORDER)]
15363     VARIANT border();
15364
15365     [propput, id(DISPID_IHTMLTABLE_FRAME)]
15366     void frame(BSTR v);
15367
15368     [propget, id(DISPID_IHTMLTABLE_FRAME)]
15369     BSTR frame();
15370
15371     [propput, id(DISPID_IHTMLTABLE_RULES)]
15372     void rules(BSTR v);
15373
15374     [propget, id(DISPID_IHTMLTABLE_RULES)]
15375     BSTR rules();
15376
15377     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
15378     void cellSpacing(VARIANT v);
15379
15380     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
15381     VARIANT cellSpacing();
15382
15383     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
15384     void cellPadding(VARIANT v);
15385
15386     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
15387     VARIANT cellPadding();
15388
15389     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
15390     void background(BSTR v);
15391
15392     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
15393     BSTR background();
15394
15395     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
15396     void bgColor(VARIANT v);
15397
15398     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
15399     VARIANT bgColor();
15400
15401     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15402     void borderColor(VARIANT v);
15403
15404     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15405     VARIANT borderColor();
15406
15407     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15408     void borderColorLight(VARIANT v);
15409
15410     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15411     VARIANT borderColorLight();
15412
15413     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15414     void borderColorDark(VARIANT v);
15415
15416     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15417     VARIANT borderColorDark();
15418
15419     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
15420     void align(BSTR v);
15421
15422     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
15423     BSTR align();
15424
15425     [id(DISPID_IHTMLTABLE_REFRESH)]
15426     void refresh();
15427
15428     [propget, id(DISPID_IHTMLTABLE_ROWS)]
15429     IHTMLElementCollection *rows();
15430
15431     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
15432     void width(VARIANT v);
15433
15434     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
15435     VARIANT width();
15436
15437     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
15438     void height(VARIANT v);
15439
15440     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
15441     VARIANT height();
15442
15443     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15444     void dataPageSize(LONG v);
15445
15446     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15447     LONG dataPageSize();
15448
15449     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
15450     void nextPage();
15451
15452     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
15453     void previousPage();
15454
15455     [propget, id(DISPID_IHTMLTABLE_THEAD)]
15456     IHTMLTableSection *tHead();
15457
15458     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
15459     IHTMLTableSection *tFoot();
15460
15461     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
15462     IHTMLElementCollection *tBodies();
15463
15464     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
15465     IHTMLTableCaption *caption();
15466
15467     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
15468     IDispatch *createTHead();
15469
15470     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
15471     void deleteTHead();
15472
15473     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
15474     IDispatch *createTFoot();
15475
15476     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
15477     void deleteTFoot();
15478
15479     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
15480     IHTMLTableCaption *createCaption();
15481
15482     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
15483     void deleteCaption();
15484
15485     [id(DISPID_IHTMLTABLE_INSERTROW)]
15486     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
15487
15488     [id(DISPID_IHTMLTABLE_DELETEROW)]
15489     void deleteRow([in, defaultvalue(-1)] LONG index);
15490
15491     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
15492     void firstPage();
15493
15494     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
15495     void lastPage();
15496
15497     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
15498     IHTMLElementCollection *cells();
15499
15500     [id(DISPID_IHTMLTABLE2_MOVEROW)]
15501     IDispatch *moveRow(
15502             [in, defaultvalue(-1)] LONG indexFrom,
15503             [in, defaultvalue(-1)] LONG indexTo);
15504
15505     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15506     void summary(BSTR v);
15507
15508     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15509     BSTR summary();
15510 }
15511
15512 /*****************************************************************************
15513  *    DispHTMLTableRow dispinterface
15514  */
15515 [
15516     hidden,
15517     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
15518 ]
15519 dispinterface DispHTMLTableRow
15520 {
15521 properties:
15522 methods:
15523     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15524
15525     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
15526     void align(BSTR v);
15527
15528     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
15529     BSTR align();
15530
15531     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
15532     void vAlign(BSTR v);
15533
15534     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
15535     BSTR vAlign();
15536
15537     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15538     void bgColor(VARIANT v);
15539
15540     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15541     VARIANT bgColor();
15542
15543     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15544     void borderColor(VARIANT v);
15545
15546     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15547     VARIANT borderColor();
15548
15549     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15550     void borderColorLight(VARIANT v);
15551
15552     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15553     VARIANT borderColorLight();
15554
15555     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15556     void borderColorDark(VARIANT v);
15557
15558     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15559     VARIANT borderColorDark();
15560
15561     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
15562     LONG rowIndex();
15563
15564     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
15565     LONG sectionRowIndex();
15566
15567     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
15568     IHTMLElementCollection *cells();
15569
15570     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
15571     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
15572
15573     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
15574     void deleteCell([in, defaultvalue(-1)] LONG index);
15575
15576     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
15577     void height(VARIANT v);
15578
15579     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
15580     VARIANT height();
15581
15582     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
15583     void ch(BSTR v);
15584
15585     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
15586     BSTR ch();
15587
15588     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
15589     void chOff(BSTR v);
15590
15591     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
15592     BSTR chOff();
15593 }
15594
15595 /*****************************************************************************
15596  *    IHTMLScriptElement interface
15597  */
15598 [
15599     odl,
15600     oleautomation,
15601     dual,
15602     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
15603 ]
15604 interface IHTMLScriptElement : IDispatch
15605 {
15606     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15607     HRESULT src([in] BSTR v);
15608
15609     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15610     HRESULT src([retval, out] BSTR *p);
15611
15612     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15613     HRESULT htmlFor([in] BSTR v);
15614
15615     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15616     HRESULT htmlFor([retval, out] BSTR *p);
15617
15618     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15619     HRESULT event([in] BSTR v);
15620
15621     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15622     HRESULT event([retval, out] BSTR *p);
15623
15624     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15625     HRESULT text([in] BSTR v);
15626
15627     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15628     HRESULT text([retval, out] BSTR *p);
15629
15630     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15631     HRESULT defer([in] VARIANT_BOOL v);
15632
15633     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15634     HRESULT defer([retval, out] VARIANT_BOOL *p);
15635
15636     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
15637     HRESULT readyState([retval, out] BSTR *p);
15638
15639     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15640     HRESULT onerror([in] VARIANT v);
15641
15642     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15643     HRESULT onerror([retval, out] VARIANT *p);
15644
15645     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15646     HRESULT type([in] BSTR v);
15647
15648     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15649     HRESULT type([retval, out] BSTR *p);
15650 }
15651
15652 /*****************************************************************************
15653  *    IHTMLScriptElement2 interface
15654  */
15655 [
15656     odl,
15657     oleautomation,
15658     dual,
15659     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
15660 ]
15661 interface IHTMLScriptElement2 : IDispatch
15662 {
15663     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15664     HRESULT charset([in] BSTR v);
15665
15666     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15667     HRESULT charset([retval, out] BSTR *p);
15668 }
15669
15670 /*****************************************************************************
15671  *    DispHTMLScriptElement dispinterface
15672  */
15673 [
15674     hidden,
15675     uuid(3050f530-98b5-11cf-bb82-00aa00bdce0b)
15676 ]
15677 dispinterface DispHTMLScriptElement
15678 {
15679 properties:
15680 methods:
15681     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15682
15683     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15684     void src(BSTR v);
15685
15686     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15687     BSTR src();
15688
15689     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15690     void htmlFor(BSTR v);
15691
15692     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15693     BSTR htmlFor();
15694
15695     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15696     void event(BSTR v);
15697
15698     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15699     BSTR event();
15700
15701     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15702     void text(BSTR v);
15703
15704     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15705     BSTR text();
15706
15707     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15708     void defer(VARIANT_BOOL v);
15709
15710     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15711     VARIANT_BOOL defer();
15712
15713     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15714     void onerror(VARIANT v);
15715
15716     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15717     VARIANT onerror();
15718
15719     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15720     void type(BSTR v);
15721
15722     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15723     BSTR type();
15724
15725     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15726     void charset(BSTR v);
15727
15728     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15729     BSTR charset();
15730
15731     [propput, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
15732     void ie8_src(BSTR v);
15733
15734     [propget, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
15735     BSTR ie8_src();
15736 }
15737
15738 /*****************************************************************************
15739  *    IHTMLObjectElement interface
15740  */
15741 [
15742     odl,
15743     oleautomation,
15744     dual,
15745     uuid(3050f24f-98b5-11cf-bb82-00aa00bdce0b)
15746 ]
15747 interface IHTMLObjectElement : IDispatch
15748 {
15749     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
15750     HRESULT object([retval, out] IDispatch **p);
15751
15752     [propget, id(DISPID_IHTMLOBJECTELEMENT_CLASSID), hidden]
15753     HRESULT classid([retval, out] BSTR *p);
15754
15755     [propget, id(DISPID_IHTMLOBJECTELEMENT_DATA), hidden]
15756     HRESULT data([retval, out] BSTR *p);
15757
15758     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15759     HRESULT recordset([in] IDispatch *v);
15760
15761     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15762     HRESULT recordset([retval, out] IDispatch **p);
15763
15764     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15765     HRESULT align([in] BSTR v);
15766
15767     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15768     HRESULT align([retval, out] BSTR *p);
15769
15770     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15771     HRESULT name([in] BSTR v);
15772
15773     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15774     HRESULT name([retval, out] BSTR *p);
15775
15776     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15777     HRESULT codeBase([in] BSTR v);
15778
15779     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15780     HRESULT codeBase([retval, out] BSTR *p);
15781
15782     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15783     HRESULT codeType([in] BSTR v);
15784
15785     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15786     HRESULT codeType([retval, out] BSTR *p);
15787
15788     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15789     HRESULT code([in] BSTR v);
15790
15791     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15792     HRESULT code([retval, out] BSTR *p);
15793
15794     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
15795     HRESULT BaseHref([retval, out] BSTR *p);
15796
15797     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15798     HRESULT type([in] BSTR v);
15799
15800     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15801     HRESULT type([retval, out] BSTR *p);
15802
15803     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
15804     HRESULT form([retval, out] IHTMLFormElement **p);
15805
15806     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15807     HRESULT width([in] VARIANT v);
15808
15809     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15810     HRESULT width([retval, out] VARIANT *p);
15811
15812     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15813     HRESULT height([in] VARIANT v);
15814
15815     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15816     HRESULT height([retval, out] VARIANT *p);
15817
15818     [propget, id(DISPID_IHTMLOBJECTELEMENT_READYSTATE), hidden]
15819     HRESULT readyState([retval, out] long *p);
15820
15821     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
15822     HRESULT onreadystatechange([in] VARIANT v);
15823
15824     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
15825     HRESULT onreadystatechange([retval, out] VARIANT *p);
15826
15827     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15828     HRESULT onerror([in] VARIANT v);
15829
15830     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15831     HRESULT onerror([retval, out] VARIANT *p);
15832
15833     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15834     HRESULT altHtml([in] BSTR v);
15835
15836     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15837     HRESULT altHtml([retval, out] BSTR *p);
15838
15839     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15840     HRESULT vspace([in] long v);
15841
15842     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15843     HRESULT vspace([retval, out] long *p);
15844
15845     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15846     HRESULT hspace([in] long v);
15847
15848     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15849     HRESULT hspace([retval, out] long *p);
15850 }
15851
15852 /*****************************************************************************
15853  *    IHTMLParamElement interface
15854  */
15855 [
15856     odl,
15857     oleautomation,
15858     dual,
15859     uuid(3050f83d-98b5-11cf-bb82-00aa00bdce0b)
15860 ]
15861 interface IHTMLParamElement : IDispatch
15862 {
15863     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15864     HRESULT name([in] BSTR v);
15865
15866     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15867     HRESULT name([retval, out] BSTR *p);
15868
15869     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15870     HRESULT value([in] BSTR v);
15871
15872     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15873     HRESULT value([retval, out] BSTR *p);
15874
15875     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15876     HRESULT type([in] BSTR v);
15877
15878     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15879     HRESULT type([retval, out] BSTR *p);
15880
15881     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15882     HRESULT valueType([in] BSTR v);
15883
15884     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15885     HRESULT valueType([retval, out] BSTR *p);
15886 }
15887
15888 /*****************************************************************************
15889  *    IHTMLParamElement2 interface
15890  */
15891 [
15892     odl,
15893     oleautomation,
15894     dual,
15895     uuid(30510444-98b5-11cf-bb82-00aa00bdce0b)
15896 ]
15897 interface IHTMLParamElement2 : IDispatch
15898 {
15899     [propput, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
15900     HRESULT name([in] BSTR v);
15901
15902     [propget, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
15903     HRESULT name([retval, out] BSTR *p);
15904
15905     [propput, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
15906     HRESULT type([in] BSTR v);
15907
15908     [propget, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
15909     HRESULT type([retval, out] BSTR *p);
15910
15911     [propput, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
15912     HRESULT value([in] BSTR v);
15913
15914     [propget, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
15915     HRESULT value([retval, out] BSTR *p);
15916
15917     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15918     HRESULT valueType([in] BSTR v);
15919
15920     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15921     HRESULT valueType([retval, out] BSTR *p);
15922 }
15923
15924 /*****************************************************************************
15925  *    DispHTMLObjectElement dispinterface
15926  */
15927 [
15928     hidden,
15929     uuid(3050f529-98b5-11cf-bb82-00aa00bdce0b)
15930 ]
15931 dispinterface DispHTMLObjectElement
15932 {
15933 properties:
15934 methods:
15935     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15936
15937     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
15938     IDispatch *object();
15939
15940     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15941     void recordset(IDispatch *v);
15942
15943     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15944     IDispatch *recordset();
15945
15946     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15947     void align(BSTR v);
15948
15949     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15950     BSTR align();
15951
15952     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15953     void name(BSTR v);
15954
15955     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15956     BSTR name();
15957
15958     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15959     void codeBase(BSTR v);
15960
15961     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15962     BSTR codeBase();
15963
15964     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15965     void codeType(BSTR v);
15966
15967     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15968     BSTR codeType();
15969
15970     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15971     void code(BSTR v);
15972
15973     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15974     BSTR code();
15975
15976     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
15977     BSTR BaseHref();
15978
15979     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15980     void type(BSTR v);
15981
15982     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15983     BSTR type();
15984
15985     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
15986     IHTMLFormElement *form();
15987
15988     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15989     void width(VARIANT v);
15990
15991     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15992     VARIANT width();
15993
15994     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15995     void height(VARIANT v);
15996
15997     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15998     VARIANT height();
15999
16000     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16001     void onerror(VARIANT v);
16002
16003     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16004     VARIANT onerror();
16005
16006     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16007     void altHtml(BSTR v);
16008
16009     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16010     BSTR altHtml();
16011
16012     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16013     void vspace(long v);
16014
16015     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16016     long vspace();
16017
16018     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16019     void hspace(long v);
16020
16021     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16022     long hspace();
16023
16024     [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
16025     IDispatch *namedRecordset(
16026             [in] BSTR dataMember,
16027             [optional, in] VARIANT *hierarchy);
16028
16029     [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16030     void classid(BSTR v);
16031
16032     [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16033     BSTR classid();
16034
16035     [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16036     void data(BSTR v);
16037
16038     [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16039     BSTR data();
16040
16041     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
16042     void archive(BSTR v);
16043
16044     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
16045     BSTR archive();
16046
16047     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
16048     void alt(BSTR v);
16049
16050     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
16051     BSTR alt();
16052
16053     [propput, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
16054     void declare(VARIANT_BOOL v);
16055
16056     [propget, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
16057     VARIANT_BOOL declare();
16058
16059     [propput, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
16060     void standby(BSTR v);
16061
16062     [propget, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
16063     BSTR standby();
16064
16065     [propput, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
16066     void border(VARIANT v);
16067
16068     [propget, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
16069     VARIANT border();
16070
16071     [propput, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
16072     void useMap(BSTR v);
16073
16074     [propget, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
16075     BSTR useMap();
16076
16077     [propget, id(DISPID_IHTMLOBJECTELEMENT4_CONTENTDOCUMENT)]
16078     IDispatch *contentDocument();
16079
16080     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
16081     void ie8_codeBase(BSTR v);
16082
16083     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
16084     BSTR ie8_codeBase();
16085
16086     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
16087     void ie8_data(BSTR v);
16088
16089     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
16090     BSTR ie8_data();
16091 }
16092
16093 /*****************************************************************************
16094  *    DispHTMLParamElement dispinterface
16095  */
16096 [
16097     hidden,
16098     uuid(3050f590-98b5-11cf-bb82-00aa00bdce0b)
16099 ]
16100 dispinterface DispHTMLParamElement
16101 {
16102 properties:
16103 methods:
16104     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16105
16106     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16107     void name(BSTR v);
16108
16109     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16110     BSTR name();
16111
16112     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16113     void value(BSTR v);
16114
16115     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16116     BSTR value();
16117
16118     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16119     void type(BSTR v);
16120
16121     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16122     BSTR type();
16123
16124     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16125     void valueType(BSTR v);
16126
16127     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16128     BSTR valueType();
16129
16130     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16131     void ie8_valueType(BSTR v);
16132
16133     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16134     BSTR ie8_valueType();
16135 }
16136
16137 /*****************************************************************************
16138  *    IHTMLFrameBase interface
16139  */
16140 [
16141     odl,
16142     oleautomation,
16143     dual,
16144     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
16145 ]
16146 interface IHTMLFrameBase : IDispatch
16147 {
16148     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
16149     HRESULT src([in] BSTR v);
16150
16151     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
16152     HRESULT src([out, retval] BSTR *p);
16153
16154     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
16155     HRESULT name([in] BSTR v);
16156
16157     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
16158     HRESULT name([out, retval] BSTR *p);
16159
16160     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
16161     HRESULT border([in] VARIANT v);
16162
16163     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
16164     HRESULT border([out, retval] VARIANT *p);
16165
16166     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
16167     HRESULT frameBorder([in] BSTR v);
16168
16169     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
16170     HRESULT frameBorder([out, retval] BSTR *p);
16171
16172     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
16173     HRESULT frameSpacing([in] VARIANT v);
16174
16175     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
16176     HRESULT frameSpacing([out, retval] VARIANT *p);
16177
16178     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
16179     HRESULT marginWidth([in] VARIANT v);
16180
16181     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
16182     HRESULT marginWidth([out, retval] VARIANT *p);
16183
16184     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
16185     HRESULT marginHeight([in] VARIANT v);
16186
16187     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
16188     HRESULT marginHeight([out, retval] VARIANT *p);
16189
16190     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
16191     HRESULT noResize([in] VARIANT_BOOL v);
16192
16193     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
16194     HRESULT noResize([out, retval] VARIANT_BOOL *p);
16195
16196     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
16197     HRESULT scrolling([in] BSTR v);
16198
16199     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
16200     HRESULT scrolling([out, retval] BSTR *p);
16201 }
16202
16203 #define WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL          \
16204     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
16205     void src(BSTR v);                                   \
16206                                                         \
16207     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
16208     BSTR src();                                         \
16209                                                         \
16210     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
16211     void name(BSTR v);                                  \
16212                                                         \
16213     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
16214     BSTR name();                                        \
16215                                                         \
16216     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
16217     void border(VARIANT v);                             \
16218                                                         \
16219     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
16220     VARIANT border();                                   \
16221                                                         \
16222     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
16223     void frameBorder(BSTR v);                           \
16224                                                         \
16225     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
16226     BSTR frameBorder();                                 \
16227                                                         \
16228     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
16229     void frameSpacing(VARIANT v);                       \
16230                                                         \
16231     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
16232     VARIANT frameSpacing();                             \
16233                                                         \
16234     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
16235     void marginWidth(VARIANT v);                        \
16236                                                         \
16237     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
16238     VARIANT marginWidth();                              \
16239                                                         \
16240     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
16241     void marginHeight(VARIANT v);                       \
16242                                                         \
16243     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
16244     VARIANT marginHeight();                             \
16245                                                         \
16246     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
16247     void noResize(VARIANT_BOOL v);                      \
16248                                                         \
16249     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
16250     VARIANT_BOOL noResize();                            \
16251                                                         \
16252     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
16253     void scrolling(BSTR v);                             \
16254                                                         \
16255     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
16256     BSTR scrolling()
16257
16258 /*****************************************************************************
16259  *    IHTMLFrameBase2 interface
16260  */
16261 [
16262     odl,
16263     oleautomation,
16264     dual,
16265     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
16266 ]
16267 interface IHTMLFrameBase2 : IDispatch
16268 {
16269     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
16270     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
16271
16272     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
16273     HRESULT onload([in] VARIANT v);
16274
16275     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
16276     HRESULT onload([retval, out] VARIANT *p);
16277
16278     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
16279     HRESULT onreadystatechange([in] VARIANT v);
16280
16281     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
16282     HRESULT onreadystatechange([retval, out] VARIANT *p);
16283
16284     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
16285     HRESULT readyState([retval, out] BSTR *p);
16286
16287     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
16288     HRESULT allowTransparency([in] VARIANT_BOOL v);
16289
16290     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
16291     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
16292 }
16293
16294 #define WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL                         \
16295     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]                 \
16296     IHTMLWindow2 *contentWindow();                                      \
16297                                                                         \
16298     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
16299     void onload(VARIANT v);                                             \
16300                                                                         \
16301     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
16302     VARIANT onload();                                                   \
16303                                                                         \
16304     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
16305     void allowTransparency(VARIANT_BOOL v);                             \
16306                                                                         \
16307     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
16308     VARIANT_BOOL allowTransparency()
16309
16310 #define WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL                           \
16311     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
16312     void longDesc(BSTR v);                                                \
16313                                                                           \
16314     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
16315     BSTR longDesc()
16316
16317
16318 #define WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL \
16319     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;  \
16320     WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL;   \
16321     WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL;  \
16322     WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL
16323
16324 /*****************************************************************************
16325  *    IHTMLFrameElement3 interface
16326  */
16327 [
16328     odl,
16329     oleautomation,
16330     dual,
16331     uuid(3051042d-98b5-11cf-bb82-00aa00bdce0b)
16332 ]
16333 interface IHTMLFrameElement3 : IDispatch
16334 {
16335     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
16336     HRESULT contentDocument([out, retval] IDispatch **p);
16337
16338     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16339     HRESULT src([in] BSTR v);
16340
16341     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16342     HRESULT src([out, retval] BSTR *p);
16343
16344     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16345     HRESULT longDesc([in] BSTR v);
16346
16347     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16348     HRESULT longDesc([out, retval] BSTR *p);
16349
16350     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16351     HRESULT frameBorder([in] BSTR v);
16352
16353     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16354     HRESULT frameBorder([out, retval] BSTR * p);
16355 }
16356
16357 /*****************************************************************************
16358  *    DispHTMLFrameElement dispinterface
16359  */
16360 [
16361     hidden,
16362     uuid(3050f513-98b5-11cf-bb82-00aa00bdce0b)
16363 ]
16364 dispinterface DispHTMLFrameElement
16365 {
16366 properties:
16367 methods:
16368     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
16369
16370     [propput, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
16371     void borderColor(VARIANT v);
16372
16373     [propget, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
16374     VARIANT borderColor();
16375
16376     [propput, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
16377     void height(VARIANT v);
16378
16379     [propget, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
16380     VARIANT height();
16381
16382     [propput, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
16383     void width(VARIANT v);
16384
16385     [propget, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
16386     VARIANT width();
16387
16388     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
16389     IDispatch *contentDocument();
16390
16391     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16392     void ie8_src(BSTR v);
16393
16394     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16395     BSTR ie8_src();
16396
16397     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16398     void ie8_longDesc(BSTR v);
16399
16400     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16401     BSTR ie8_longDesc();
16402
16403     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16404     void ie8_frameBorder(BSTR v);
16405
16406     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16407     BSTR ie8_frameBorder();
16408 }
16409
16410 /*****************************************************************************
16411  *    IHTMLIFrameElement interface
16412  */
16413 [
16414     odl,
16415     oleautomation,
16416     dual,
16417     uuid(3050f315-98b5-11cf-bb82-00aa00bdce0b)
16418 ]
16419 interface IHTMLIFrameElement : IDispatch
16420 {
16421     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16422     HRESULT vspace([in] LONG v);
16423
16424     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16425     HRESULT vspace([retval, out] LONG *p);
16426
16427     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16428     HRESULT hspace([in] LONG v);
16429
16430     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16431     HRESULT hspace([retval, out] LONG *p);
16432
16433     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16434     HRESULT align([in] BSTR v);
16435
16436     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16437     HRESULT align([retval, out] BSTR *p);
16438 }
16439
16440 /*****************************************************************************
16441  *    DispHTMLIFrame dispinterface
16442  */
16443 [
16444     hidden,
16445     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
16446 ]
16447 dispinterface DispHTMLIFrame
16448 {
16449 properties:
16450 methods:
16451     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
16452
16453     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16454     void vspace(LONG v);
16455
16456     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16457     LONG vspace();
16458
16459     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16460     void hspace(LONG v);
16461
16462     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16463     LONG hspace();
16464
16465     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16466     void align(BSTR v);
16467
16468     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16469     BSTR align();
16470
16471     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
16472     void height(VARIANT v);
16473
16474     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
16475     VARIANT height();
16476
16477     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
16478     void width(VARIANT v);
16479
16480     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
16481     VARIANT width();
16482 }
16483
16484 /*****************************************************************************
16485  *    IHTMLStyleElement interface
16486  */
16487 [
16488     odl,
16489     oleautomation,
16490     dual,
16491     uuid(3050f375-98b5-11cf-bb82-00aa00bdce0b)
16492 ]
16493 interface IHTMLStyleElement : IDispatch
16494 {
16495     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16496     HRESULT type([in] BSTR v);
16497
16498     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16499     HRESULT type([retval, out] BSTR *p);
16500
16501     [propget, id(DISPID_IHTMLSTYLEELEMENT_READYSTATE)]
16502     HRESULT readyState([retval, out] BSTR *p);
16503
16504     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16505     HRESULT onreadystatechange([in] VARIANT v);
16506
16507     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16508     HRESULT onreadystatechange([retval, out] VARIANT *p);
16509
16510     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16511     HRESULT onload([in] VARIANT v);
16512
16513     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16514     HRESULT onload([retval, out] VARIANT *p);
16515
16516     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16517     HRESULT onerror([in] VARIANT v);
16518
16519     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16520     HRESULT onerror([retval, out] VARIANT *p);
16521
16522     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
16523     HRESULT styleSheet([retval, out] IHTMLStyleSheet **p);
16524
16525     [propput, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
16526     HRESULT disabled([in] VARIANT_BOOL v);
16527
16528     [propget, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
16529     HRESULT disabled([retval, out] VARIANT_BOOL *p);
16530
16531     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16532     HRESULT media([in] BSTR v);
16533
16534     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16535     HRESULT media([retval, out] BSTR *p);
16536 }
16537
16538 /*****************************************************************************
16539  *    DispHTMLStyleElement dispinterface
16540  */
16541 [
16542     hidden,
16543     uuid(3050f511-98b5-11cf-bb82-00aa00bdce0b)
16544 ]
16545 dispinterface DispHTMLStyleElement
16546 {
16547 properties:
16548 methods:
16549     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16550
16551     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16552     void type(BSTR v);
16553
16554     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16555     BSTR type();
16556
16557     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16558     void onload(VARIANT v);
16559
16560     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16561     VARIANT onload();
16562
16563     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16564     void onerror(VARIANT v);
16565
16566     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16567     VARIANT onerror();
16568
16569     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
16570     IHTMLStyleSheet *styleSheet();
16571
16572     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16573     void media(BSTR v);
16574
16575     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16576     BSTR media();
16577 }
16578
16579 /*****************************************************************************
16580  *    IHTMLStorage interface
16581  */
16582 [
16583     odl,
16584     oleautomation,
16585     dual,
16586     uuid(30510474-98b5-11cf-bb82-00aa00bdce0b)
16587 ]
16588 interface IHTMLStorage : IDispatch
16589 {
16590     [propget, id(DISPID_IHTMLSTORAGE_LENGTH), hidden]
16591     HRESULT length([out, retval] long *p);
16592
16593     [propget, id(DISPID_IHTMLSTORAGE_REMAININGSPACE), hidden]
16594     HRESULT remainingSpace([out, retval] long *p);
16595
16596     [id(DISPID_IHTMLSTORAGE_KEY)]
16597     HRESULT key(
16598             [in] long lIndex,
16599             [out, retval] BSTR *);
16600
16601     [id(DISPID_IHTMLSTORAGE_GETITEM)]
16602     HRESULT getItem(
16603             [in] BSTR bstrKey,
16604             [out, retval] VARIANT *);
16605
16606     [id(DISPID_IHTMLSTORAGE_SETITEM)]
16607     HRESULT setItem(
16608             [in] BSTR bstrKey,
16609             [in] BSTR bstrValue);
16610
16611     [id(DISPID_IHTMLSTORAGE_REMOVEITEM)]
16612     HRESULT removeItem([in] BSTR bstrKey);
16613
16614     [id(DISPID_IHTMLSTORAGE_CLEAR)]
16615     HRESULT clear();
16616 }
16617
16618 /*****************************************************************************
16619  *    IMarkupContainer interface
16620  */
16621 [
16622     object,
16623     pointer_default(unique),
16624     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
16625 ]
16626 interface IMarkupContainer : IUnknown
16627 {
16628     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
16629 }
16630
16631 /*****************************************************************************
16632  *    IMarkupPointer interface
16633  */
16634 [
16635     object,
16636     pointer_default(unique),
16637     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
16638 ]
16639 interface IMarkupPointer : IUnknown
16640 {
16641     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
16642
16643     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
16644
16645     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
16646
16647     HRESULT Cling([out] BOOL *pfCling);
16648
16649     HRESULT SetCling([in] BOOL fCLing);
16650
16651     HRESULT UnPosition();
16652
16653     HRESULT IsPositioned([out] BOOL *pfPositioned);
16654
16655     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
16656
16657     HRESULT MoveAdjacentToElement(
16658         [in] IHTMLElement *pElement,
16659         [in] ELEMENT_ADJACENCY eAdj);
16660
16661     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
16662
16663     HRESULT MoveToContainer(
16664         [in] IMarkupContainer *pContainer,
16665         [in] BOOL fAtStart);
16666
16667     HRESULT Left(
16668         [in] BOOL fMove,
16669         [out] MARKUP_CONTEXT_TYPE *pContext,
16670         [out] IHTMLElement **ppElement,
16671         [in, out] LONG *pcch,
16672         [out, size_is(*pcch)] OLECHAR *pchText);
16673
16674     HRESULT Right(
16675         [in] BOOL fMove,
16676         [out] MARKUP_CONTEXT_TYPE *pContext,
16677         [out] IHTMLElement **ppElement,
16678         [in, out] LONG *pcch,
16679         [out, size_is(*pcch)] OLECHAR *pchText);
16680
16681     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
16682
16683     HRESULT IsLeftOf(
16684         [in] IMarkupPointer *pPointerThat,
16685         [out] BOOL *pfResult);
16686
16687     HRESULT IsLeftOfOrEqualTo(
16688         [in] IMarkupPointer *pPointerThat,
16689         [out] BOOL *pfResult);
16690
16691     HRESULT IsRightOf(
16692         [in] IMarkupPointer *pPointerThat,
16693         [out] BOOL *pfResult);
16694
16695     HRESULT IsRightOfOrEqualTo(
16696         [in] IMarkupPointer *pPointerThat,
16697         [out] BOOL *pfResult);
16698
16699     HRESULT IsEqualTo(
16700         [in] IMarkupPointer *pPointerThat,
16701         [out] BOOL *pfAreEqual);
16702
16703     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
16704
16705     HRESULT FindText(
16706         [in] OLECHAR *pchFindText,
16707         [in] DWORD dwFlags,
16708         [in] IMarkupPointer *pIEndMatch,
16709         [in] IMarkupPointer *pIEndSearch);
16710 }
16711
16712 /*****************************************************************************
16713  *    ISegment interface
16714  */
16715 [
16716     object,
16717     pointer_default(unique),
16718     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
16719 ]
16720 interface ISegment : IUnknown
16721 {
16722     HRESULT GetPointers(
16723         [in] IMarkupPointer *pIStart,
16724         [in] IMarkupPointer *pIEnd);
16725 }
16726
16727 /*****************************************************************************
16728  *    IElementSegment interface
16729  */
16730 [
16731     object,
16732     pointer_default(unique),
16733     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
16734 ]
16735 interface IElementSegment : ISegment
16736 {
16737     HRESULT GetElement([out] IHTMLElement **ppIElement);
16738
16739     HRESULT SetPrimary([in] BOOL fPrimary);
16740
16741     HRESULT IsPrimary([out] BOOL *pfPrimary);
16742 }
16743
16744 /*****************************************************************************
16745  *    ISelectionServicesListener interface
16746  */
16747 [
16748     object,
16749     pointer_default(unique),
16750     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
16751 ]
16752 interface ISelectionServicesListener : IUnknown
16753 {
16754     HRESULT BeginSelectionUndo();
16755
16756     HRESULT EndSelectionUndo();
16757
16758     HRESULT OnSelectedElementExit(
16759         [in] IMarkupPointer *pIElementStart,
16760         [in] IMarkupPointer *pIElementEnd,
16761         [in] IMarkupPointer *pIElementContentStart,
16762         [in] IMarkupPointer *pIElementContentEnd);
16763
16764     HRESULT OnChangeType(
16765         [in] SELECTION_TYPE eType,
16766         [in] ISelectionServicesListener *pIListener);
16767
16768     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
16769 }
16770
16771 /*****************************************************************************
16772  *    ISelectionServices interface
16773  */
16774 [
16775     object,
16776     pointer_default(unique),
16777     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
16778 ]
16779 interface ISelectionServices : IUnknown
16780 {
16781     HRESULT SetSelectionType(
16782         [in] SELECTION_TYPE eType,
16783         [in] ISelectionServicesListener *pIListener);
16784
16785     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
16786
16787     HRESULT AddSegment(
16788         [in] IMarkupPointer *pIStart,
16789         [in] IMarkupPointer *pIEnd,
16790         [out] ISegment **ppISegmentAdded);
16791
16792     HRESULT AddElementSegment(
16793         [in] IHTMLElement *pIElement,
16794         [out] IElementSegment **ppISegmentAdded);
16795
16796     HRESULT RemoveSegment([in] ISegment *pISegment);
16797
16798     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
16799 }
16800
16801 /*****************************************************************************
16802  *    IHTMLEditDesigner interface
16803  */
16804 [
16805     object,
16806     pointer_default(unique),
16807     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
16808 ]
16809 interface IHTMLEditDesigner : IUnknown
16810 {
16811     HRESULT PreHandleEvent(
16812         [in] DISPID inEvtDispId,
16813         [in] IHTMLEventObj *pIEventObj);
16814
16815     HRESULT PostHandleEvent(
16816         [in] DISPID inEvtDispId,
16817         [in] IHTMLEventObj *pIEventObj);
16818
16819     HRESULT TranslateAccelerator(
16820         [in] DISPID inEvtDispId,
16821         [in] IHTMLEventObj *pIEventObj);
16822
16823     HRESULT PostEditorEventNotify(
16824         [in] DISPID inEvtDispId,
16825         [in] IHTMLEventObj *pIEventObj);
16826 }
16827
16828 /*****************************************************************************
16829  *    IHTMLEditServices interface
16830  */
16831 [
16832     object,
16833     pointer_default(unique),
16834     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
16835 ]
16836 interface IHTMLEditServices : IUnknown
16837 {
16838     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
16839
16840     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
16841
16842     HRESULT GetSelectionServices(
16843         [in] IMarkupContainer *pIContainer,
16844         [out] ISelectionServices **ppSelSvc);
16845
16846     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
16847
16848     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
16849
16850     HRESULT SelectRange(
16851         [in] IMarkupPointer* pStart,
16852         [in] IMarkupPointer* pEnd,
16853         [in] SELECTION_TYPE eType);
16854 }
16855
16856 /*****************************************************************************
16857  *    IElementBehaviorSite interface
16858  */
16859 [
16860     odl,
16861     uuid(3050F427-98B5-11CF-BB82-00AA00BDCE0B)
16862 ]
16863 interface IElementBehaviorSite : IUnknown {
16864     HRESULT GetElement([out, retval] IHTMLElement **ppElement);
16865     HRESULT RegisterNotification([in] long lEvent);
16866 }
16867
16868 /*****************************************************************************
16869  *    IElementBehavior interface
16870  */
16871 [
16872     odl,
16873     uuid(3050F425-98B5-11CF-BB82-00AA00BDCE0B)
16874 ]
16875 interface IElementBehavior : IUnknown {
16876     HRESULT Init([in] IElementBehaviorSite *pBehaviorSite);
16877     HRESULT Notify([in] long lEvent,  [in, out] VARIANT *pVar);
16878     HRESULT Detach();
16879 }
16880
16881 /*****************************************************************************
16882  *    IElementBehaviorFactory interface
16883  */
16884 [
16885     odl,
16886     uuid(3050f429-98b5-11cf-bb82-00aa00bdce0b)
16887 ]
16888 interface IElementBehaviorFactory : IUnknown
16889 {
16890     HRESULT FindBehavior(
16891         [in] BSTR bstrBehavior,
16892         [in] BSTR bstrBehaviorUrl,
16893         [in] IElementBehaviorSite *pSite,
16894         [out] IElementBehavior **ppBehavior);
16895 }
16896
16897 } /* library MSHTML */
16898
16899 interface IOleCommandTarget;
16900
16901 /*****************************************************************************
16902  *    IHTMLPrivateWindow interface
16903  */
16904 [
16905     object,
16906     uuid(3050f6dc-98b5-11cf-bb82-00aa00bdce0b),
16907     local
16908 ]
16909 interface IHTMLPrivateWindow : IUnknown
16910 {
16911     HRESULT SuperNavigate(BSTR url, BSTR arg2, BSTR arg3, BSTR arg4, VARIANT *post_data, VARIANT *headers, ULONG flags);
16912     HRESULT GetPendingUrl(BSTR *url);
16913     HRESULT SetPICSTarget(IOleCommandTarget *cmdtrg);
16914     HRESULT PICSComplete(int arg);
16915     HRESULT FindWindowByName(LPCWSTR name, IHTMLWindow2 **ret);
16916     HRESULT GetAddressBarUrl(BSTR *url);
16917 }