mshtml.idl: Added IHTMLMetaElement* declarations.
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004-2010 Jacek Caban for CodeWeavers
3  * Copyright 2008      Konstantin Kondratyuk (Etersoft)
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18  */
19
20 #include <mshtmdid.h>
21 #include <mshtmcid.h>
22 #include <olectl.h>
23
24 import "ocidl.idl";
25 import "dimm.idl";
26 import "shtypes.idl";
27 import "dispex.idl";
28
29 cpp_quote("#include <olectl.h>")
30
31 cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
32 cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
33 cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
34 cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
35 cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
36
37 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
38 cpp_quote("#undef FindText")
39 cpp_quote("#endif")
40
41 typedef enum {
42     POINTER_GRAVITY_Left,
43     POINTER_GRAVITY_Right,
44     POINTER_GRAVITY_Max = 2147483647
45 } POINTER_GRAVITY;
46
47 typedef enum {
48     CONTEXT_TYPE_None,
49     CONTEXT_TYPE_Text,
50     CONTEXT_TYPE_EnterScope,
51     CONTEXT_TYPE_ExitScope,
52     CONTEXT_TYPE_NoScope,
53     MARKUP_CONTEXT_TYPE_Max = 2147483647
54 } MARKUP_CONTEXT_TYPE;
55
56 typedef enum {
57     ELEM_ADJ_BeforeBegin,
58     ELEM_ADJ_AfterBegin,
59     ELEM_ADJ_BeforeEnd,
60     ELEM_ADJ_AfterEnd,
61     ELEMENT_ADJACENCY_Max = 2147483647
62 } ELEMENT_ADJACENCY;
63
64 typedef enum {
65     MOVEUNIT_PREVCHAR,
66     MOVEUNIT_NEXTCHAR,
67     MOVEUNIT_PREVCLUSTERBEG,
68     MOVEUNIT_NEXTCLUSTERBEG,
69     MOVEUNIT_PREVCLUSTEREND,
70     MOVEUNIT_NEXTCLUSTEREND,
71     MOVEUNIT_PREVWORDBEG,
72     MOVEUNIT_NEXTWORDBEG,
73     MOVEUNIT_PREVWORDEND,
74     MOVEUNIT_NEXTWORDEND,
75     MOVEUNIT_PREVPROOFWORD,
76     MOVEUNIT_NEXTPROOFWORD,
77     MOVEUNIT_NEXTURLBEG,
78     MOVEUNIT_PREVURLBEG,
79     MOVEUNIT_NEXTURLEND,
80     MOVEUNIT_PREVURLEND,
81     MOVEUNIT_PREVSENTENCE,
82     MOVEUNIT_NEXTSENTENCE,
83     MOVEUNIT_PREVBLOCK,
84     MOVEUNIT_NEXTBLOCK,
85     MOVEUNIT_ACTION_Max = 2147483647
86 } MOVEUNIT_ACTION;
87
88 typedef enum _SELECTION_TYPE {
89     SELECTION_TYPE_None,
90     SELECTION_TYPE_Caret,
91     SELECTION_TYPE_Text,
92     SELECTION_TYPE_Control,
93     SELECTION_TYPE_Max = 2147483647
94 } SELECTION_TYPE;
95
96 [
97     version(4.0),
98     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
99 ]
100 library MSHTML
101 {
102
103 importlib("stdole2.tlb");
104
105 [
106     odl,
107     oleautomation,
108     dual,
109     uuid(3051049b-98b5-11cf-bb82-00aa00bdce0b)
110 ]
111 interface IHTMLDOMConstructor : IDispatch
112 {
113     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
114     HRESULT constructor([retval, out] IDispatch* * p);
115
116     HRESULT LookupGetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
117
118     HRESULT LookupSetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
119
120     HRESULT DefineGetter([in] BSTR propname, [in] VARIANT* pdispHandler);
121
122     HRESULT DefineSetter([in] BSTR propname, [in] VARIANT* pdispHandler);
123 }
124
125 #define WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL                     \
126     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]       \
127     IDispatch *constructor()
128
129 interface IHTMLDocument2;
130 interface IHTMLElement2;
131 interface IHTMLStyleSheetsCollection;
132 interface IHTMLFrameBase;
133 interface IHTMLStorage;
134
135 /*****************************************************************************
136  *    IHTMLFiltersCollection interface
137  */
138 [
139     odl,
140     oleautomation,
141     dual,
142     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
143 ]
144 interface IHTMLFiltersCollection : IDispatch
145 {
146     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
147     HRESULT length([retval, out] LONG *p);
148
149     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
150     HRESULT _newEnum([retval, out] IUnknown **p);
151
152     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
153     HRESULT item(
154         [in] VARIANT *pvarIndex,
155         [retval, out] VARIANT *pvarResult);
156 }
157
158 /*****************************************************************************
159  *    IHTMLStyle interface
160  */
161 [
162     odl,
163     oleautomation,
164     dual,
165     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
166 ]
167 interface IHTMLStyle : IDispatch
168 {
169     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
170     HRESULT fontFamily([in] BSTR v);
171
172     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
173     HRESULT fontFamily([retval, out] BSTR *p);
174
175     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
176     HRESULT fontStyle([in] BSTR v);
177
178     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
179     HRESULT fontStyle([retval, out] BSTR *p);
180
181     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
182     HRESULT fontVariant([in] BSTR v);
183
184     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
185     HRESULT fontVariant([retval, out] BSTR *p);
186
187     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
188     HRESULT fontWeight([in] BSTR v);
189
190     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
191     HRESULT fontWeight([retval, out] BSTR *p);
192
193     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
194     HRESULT fontSize([in] VARIANT v);
195
196     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
197     HRESULT fontSize([retval, out] VARIANT *p);
198
199     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
200     HRESULT font([in] BSTR v);
201
202     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
203     HRESULT font([retval, out] BSTR *p);
204
205     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
206     HRESULT color([in] VARIANT v);
207
208     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
209     HRESULT color([retval, out] VARIANT *p);
210
211     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
212     HRESULT background([in] BSTR v);
213
214     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
215     HRESULT background([retval, out] BSTR *p);
216
217     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
218     HRESULT backgroundColor([in] VARIANT v);
219
220     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
221     HRESULT backgroundColor([retval, out] VARIANT *p);
222
223     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
224     HRESULT backgroundImage([in] BSTR v);
225
226     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
227     HRESULT backgroundImage([retval, out] BSTR *p);
228
229     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
230     HRESULT backgroundRepeat([in] BSTR v);
231
232     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
233     HRESULT backgroundRepeat([retval, out] BSTR *p);
234
235     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
236     HRESULT backgroundAttachment([in] BSTR v);
237
238     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
239     HRESULT backgroundAttachment([retval, out] BSTR *p);
240
241     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
242     HRESULT backgroundPosition([in] BSTR v);
243
244     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
245     HRESULT backgroundPosition([retval, out] BSTR *p);
246
247     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
248     HRESULT backgroundPositionX([in] VARIANT v);
249
250     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
251     HRESULT backgroundPositionX([retval, out] VARIANT *p);
252
253     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
254     HRESULT backgroundPositionY([in] VARIANT v);
255
256     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
257     HRESULT backgroundPositionY([retval, out] VARIANT *p);
258
259     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
260     HRESULT wordSpacing([in] VARIANT v);
261
262     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
263     HRESULT wordSpacing([retval, out] VARIANT *p);
264
265     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
266     HRESULT letterSpacing([in] VARIANT v);
267
268     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
269     HRESULT letterSpacing([retval, out] VARIANT *p);
270
271     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
272     HRESULT textDecoration([in] BSTR v);
273
274     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
275     HRESULT textDecoration([retval, out] BSTR *p);
276
277     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
278     HRESULT textDecorationNone([in] VARIANT_BOOL v);
279
280     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
281     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
282
283     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
284     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
285
286     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
287     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
288
289     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
290     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
291
292     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
293     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
294
295     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
296     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
297
298     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
299     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
300
301     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
302     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
303
304     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
305     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
306
307     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
308     HRESULT verticalAlign([in] VARIANT v);
309
310     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
311     HRESULT verticalAlign([retval, out] VARIANT *p);
312
313     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
314     HRESULT textTransform([in] BSTR v);
315
316     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
317     HRESULT textTransform([retval, out] BSTR *p);
318
319     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
320     HRESULT textAlign([in] BSTR v);
321
322     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
323     HRESULT textAlign([retval, out] BSTR *p);
324
325     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
326     HRESULT textIndent([in] VARIANT v);
327
328     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
329     HRESULT textIndent([retval, out] VARIANT *p);
330
331     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
332     HRESULT lineHeight([in] VARIANT v);
333
334     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
335     HRESULT lineHeight([retval, out] VARIANT *p);
336
337     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
338     HRESULT marginTop([in] VARIANT v);
339
340     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
341     HRESULT marginTop([retval, out] VARIANT *p);
342
343     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
344     HRESULT marginRight([in] VARIANT v);
345
346     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
347     HRESULT marginRight([retval, out] VARIANT *p);
348
349     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
350     HRESULT marginBottom([in] VARIANT v);
351
352     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
353     HRESULT marginBottom([retval, out] VARIANT *p);
354
355     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
356     HRESULT marginLeft([in] VARIANT v);
357
358     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
359     HRESULT marginLeft([retval, out] VARIANT *p);
360
361     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
362     HRESULT margin([in] BSTR v);
363
364     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
365     HRESULT margin([retval, out] BSTR *p);
366
367     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
368     HRESULT paddingTop([in] VARIANT v);
369
370     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
371     HRESULT paddingTop([retval, out] VARIANT *p);
372
373     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
374     HRESULT paddingRight([in] VARIANT v);
375
376     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
377     HRESULT paddingRight([retval, out] VARIANT *p);
378
379     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
380     HRESULT paddingBottom([in] VARIANT v);
381
382     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
383     HRESULT paddingBottom([retval, out] VARIANT *p);
384
385     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
386     HRESULT paddingLeft([in] VARIANT v);
387
388     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
389     HRESULT paddingLeft([retval, out] VARIANT *p);
390
391     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
392     HRESULT padding([in] BSTR v);
393
394     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
395     HRESULT padding([retval, out] BSTR *p);
396
397     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
398     HRESULT border([in] BSTR v);
399
400     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
401     HRESULT border([retval, out] BSTR *p);
402
403     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
404     HRESULT borderTop([in] BSTR v);
405
406     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
407     HRESULT borderTop([retval, out] BSTR *p);
408
409     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
410     HRESULT borderRight([in] BSTR v);
411
412     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
413     HRESULT borderRight([retval, out] BSTR *p);
414
415     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
416     HRESULT borderBottom([in] BSTR v);
417
418     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
419     HRESULT borderBottom([retval, out] BSTR *p);
420
421     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
422     HRESULT borderLeft([in] BSTR v);
423
424     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
425     HRESULT borderLeft([retval, out] BSTR *p);
426
427     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
428     HRESULT borderColor([in] BSTR v);
429
430     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
431     HRESULT borderColor([retval, out] BSTR *p);
432
433     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
434     HRESULT borderTopColor([in] VARIANT v);
435
436     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
437     HRESULT borderTopColor([retval, out] VARIANT *p);
438
439     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
440     HRESULT borderRightColor([in] VARIANT v);
441
442     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
443     HRESULT borderRightColor([retval, out] VARIANT *p);
444
445     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
446     HRESULT borderBottomColor([in] VARIANT v);
447
448     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
449     HRESULT borderBottomColor([retval, out] VARIANT *p);
450
451     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
452     HRESULT borderLeftColor([in] VARIANT v);
453
454     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
455     HRESULT borderLeftColor([retval, out] VARIANT *p);
456
457     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
458     HRESULT borderWidth([in] BSTR v);
459
460     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
461     HRESULT borderWidth([retval, out] BSTR *p);
462
463     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
464     HRESULT borderTopWidth([in] VARIANT v);
465
466     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
467     HRESULT borderTopWidth([retval, out] VARIANT *p);
468
469     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
470     HRESULT borderRightWidth([in] VARIANT v);
471
472     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
473     HRESULT borderRightWidth([retval, out] VARIANT *p);
474
475     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
476     HRESULT borderBottomWidth([in] VARIANT v);
477
478     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
479     HRESULT borderBottomWidth([retval, out] VARIANT *p);
480
481     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
482     HRESULT borderLeftWidth([in] VARIANT v);
483
484     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
485     HRESULT borderLeftWidth([retval, out] VARIANT *p);
486
487     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
488     HRESULT borderStyle([in] BSTR v);
489
490     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
491     HRESULT borderStyle([retval, out] BSTR *p);
492
493     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
494     HRESULT borderTopStyle([in] BSTR v);
495
496     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
497     HRESULT borderTopStyle([retval, out] BSTR *p);
498
499     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
500     HRESULT borderRightStyle([in] BSTR v);
501
502     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
503     HRESULT borderRightStyle([retval, out] BSTR *p);
504
505     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
506     HRESULT borderBottomStyle([in] BSTR v);
507
508     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
509     HRESULT borderBottomStyle([retval, out] BSTR *p);
510
511     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
512     HRESULT borderLeftStyle([in] BSTR v);
513
514     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
515     HRESULT borderLeftStyle([retval, out] BSTR *p);
516
517     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
518     HRESULT width([in] VARIANT v);
519
520     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
521     HRESULT width([retval, out] VARIANT *p);
522
523     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
524     HRESULT height([in] VARIANT v);
525
526     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
527     HRESULT height([retval, out] VARIANT *p);
528
529     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
530     HRESULT styleFloat([in] BSTR v);
531
532     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
533     HRESULT styleFloat([retval, out] BSTR *p);
534
535     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
536     HRESULT clear([in] BSTR v);
537
538     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
539     HRESULT clear([retval, out] BSTR *p);
540
541     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
542     HRESULT display([in] BSTR v);
543
544     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
545     HRESULT display([retval, out] BSTR *p);
546
547     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
548     HRESULT visibility([in] BSTR v);
549
550     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
551     HRESULT visibility([retval, out] BSTR *p);
552
553     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
554     HRESULT listStyleType([in] BSTR v);
555
556     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
557     HRESULT listStyleType([retval, out] BSTR *p);
558
559     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
560     HRESULT listStylePosition([in] BSTR v);
561
562     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
563     HRESULT listStylePosition([retval, out] BSTR *p);
564
565     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
566     HRESULT listStyleImage([in] BSTR v);
567
568     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
569     HRESULT listStyleImage([retval, out] BSTR *p);
570
571     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
572     HRESULT listStyle([in] BSTR v);
573
574     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
575     HRESULT listStyle([retval, out] BSTR *p);
576
577     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
578     HRESULT whiteSpace([in] BSTR v);
579
580     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
581     HRESULT whiteSpace([retval, out] BSTR *p);
582
583     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
584     HRESULT top([in] VARIANT v);
585
586     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
587     HRESULT top([retval, out] VARIANT *p);
588
589     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
590     HRESULT left([in] VARIANT v);
591
592     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
593     HRESULT left([retval, out] VARIANT *p);
594
595     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
596     HRESULT position([retval, out] BSTR *p);
597
598     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
599     HRESULT zIndex([in] VARIANT v);
600
601     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
602     HRESULT zIndex([retval, out] VARIANT *p);
603
604     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
605     HRESULT overflow([in] BSTR v);
606
607     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
608     HRESULT overflow([retval, out] BSTR *p);
609
610     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
611     HRESULT pageBreakBefore([in] BSTR v);
612
613     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
614     HRESULT pageBreakBefore([retval, out] BSTR *p);
615
616     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
617     HRESULT pageBreakAfter([in] BSTR v);
618
619     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
620     HRESULT pageBreakAfter([retval, out] BSTR *p);
621
622     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
623     HRESULT cssText([in] BSTR v);
624
625     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
626     HRESULT cssText([retval, out] BSTR *p);
627
628     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
629     HRESULT pixelTop([in] LONG v);
630
631     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
632     HRESULT pixelTop([retval, out] LONG *p);
633
634     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
635     HRESULT pixelLeft([in] LONG v);
636
637     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
638     HRESULT pixelLeft([retval, out] LONG *p);
639
640     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
641     HRESULT pixelWidth([in] LONG v);
642
643     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
644     HRESULT pixelWidth([retval, out] LONG *p);
645
646     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
647     HRESULT pixelHeight([in] LONG v);
648
649     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
650     HRESULT pixelHeight([retval, out] LONG *p);
651
652     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
653     HRESULT posTop([in] float v);
654
655     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
656     HRESULT posTop([retval, out] float *p);
657
658     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
659     HRESULT posLeft([in] float v);
660
661     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
662     HRESULT posLeft([retval, out] float *p);
663
664     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
665     HRESULT posWidth([in] float v);
666
667     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
668     HRESULT posWidth([retval, out] float *p);
669
670     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
671     HRESULT posHeight([in] float v);
672
673     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
674     HRESULT posHeight([retval, out] float *p);
675
676     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
677     HRESULT cursor([in] BSTR v);
678
679     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
680     HRESULT cursor([retval, out] BSTR *p);
681
682     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
683     HRESULT clip([in] BSTR v);
684
685     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
686     HRESULT clip([retval, out] BSTR *p);
687
688     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
689     HRESULT filter([in] BSTR v);
690
691     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
692     HRESULT filter([retval, out] BSTR *p);
693
694     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
695     HRESULT setAttribute(
696         [in] BSTR strAttributeName,
697         [in] VARIANT AttributeValue,
698         [defaultvalue(1), in] LONG lFlags);
699
700     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
701     HRESULT getAttribute(
702         [in] BSTR strAttributeName,
703         [defaultvalue(0), in] LONG lFlags,
704         [retval, out] VARIANT *AttributeValue);
705
706     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
707     HRESULT removeAttribute(
708         [in] BSTR strAttributeName,
709         [defaultvalue(1), in]
710         LONG lFlags,
711         [retval, out] VARIANT_BOOL *pfSuccess);
712
713     [id(DISPID_IHTMLSTYLE_TOSTRING)]
714     HRESULT toString([retval, out] BSTR *String);
715 }
716
717 /*****************************************************************************
718  *    IHTMLStyle2 interface
719  */
720 [
721     odl,
722     oleautomation,
723     dual,
724     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
725 ]
726 interface IHTMLStyle2 : IDispatch
727 {
728     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
729     HRESULT tableLayout([in] BSTR v);
730
731     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
732     HRESULT tableLayout([out, retval] BSTR *p);
733
734     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
735     HRESULT borderCollapse([in] BSTR v);
736
737     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
738     HRESULT borderCollapse([out, retval] BSTR *p);
739
740     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
741     HRESULT direction([in] BSTR v);
742
743     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
744     HRESULT direction([out, retval] BSTR *p);
745
746     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
747     HRESULT behavior([in] BSTR v);
748
749     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
750     HRESULT behavior([out, retval] BSTR *p);
751
752     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
753     HRESULT setExpression(
754             [in] BSTR propname,
755             [in] BSTR expression,
756             [in, defaultvalue("")] BSTR language);
757
758     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
759     HRESULT getExpression(
760             [in] BSTR propname,
761             [out, retval] VARIANT *expression);
762
763     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
764     HRESULT removeExpression(
765             [in] BSTR propname,
766             [out, retval] VARIANT_BOOL *pfSuccess);
767
768     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
769     HRESULT position([in] BSTR v);
770
771     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
772     HRESULT position([out, retval] BSTR *p);
773
774     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
775     HRESULT unicodeBidi([in] BSTR v);
776
777     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
778     HRESULT unicodeBidi([out, retval] BSTR *p);
779
780     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
781     HRESULT bottom([in] VARIANT v);
782
783     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
784     HRESULT bottom([out, retval] VARIANT *p);
785
786     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
787     HRESULT right([in] VARIANT v);
788
789     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
790     HRESULT right([out, retval] VARIANT *p);
791
792     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
793     HRESULT pixelBottom([in] LONG v);
794
795     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
796     HRESULT pixelBottom([out, retval] LONG *p);
797
798     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
799     HRESULT pixelRight([in] LONG v);
800
801     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
802     HRESULT pixelRight([out, retval] LONG *p);
803
804     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
805     HRESULT posBottom([in] float v);
806
807     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
808     HRESULT posBottom([out, retval] float *p);
809
810     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
811     HRESULT posRight([in] float v);
812
813     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
814     HRESULT posRight([out, retval] float *p);
815
816     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
817     HRESULT imeMode([in] BSTR v);
818
819     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
820     HRESULT imeMode([out, retval] BSTR *p);
821
822     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
823     HRESULT rubyAlign([in] BSTR v);
824
825     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
826     HRESULT rubyAlign([out, retval] BSTR *p);
827
828     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
829     HRESULT rubyPosition([in] BSTR v);
830
831     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
832     HRESULT rubyPosition([out, retval] BSTR *p);
833
834     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
835     HRESULT rubyOverhang([in] BSTR v);
836
837     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
838     HRESULT rubyOverhang([out, retval] BSTR *p);
839
840     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
841     HRESULT layoutGridChar([in] VARIANT v);
842
843     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
844     HRESULT layoutGridChar([out, retval] VARIANT *p);
845
846     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
847     HRESULT layoutGridLine([in] VARIANT v);
848
849     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
850     HRESULT layoutGridLine([out, retval] VARIANT *p);
851
852     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
853     HRESULT layoutGridMode([in] BSTR v);
854
855     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
856     HRESULT layoutGridMode([out, retval] BSTR *p);
857
858     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
859     HRESULT layoutGridType([in] BSTR v);
860
861     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
862     HRESULT layoutGridType([out, retval] BSTR *p);
863
864     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
865     HRESULT layoutGrid([in] BSTR v);
866
867     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
868     HRESULT layoutGrid([out, retval] BSTR *p);
869
870     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
871     HRESULT wordBreak([in] BSTR v);
872
873     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
874     HRESULT wordBreak([out, retval] BSTR *p);
875
876     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
877     HRESULT lineBreak([in] BSTR v);
878
879     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
880     HRESULT lineBreak([out, retval] BSTR *p);
881
882     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
883     HRESULT textJustify([in] BSTR v);
884
885     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
886     HRESULT textJustify([out, retval] BSTR *p);
887
888     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
889     HRESULT textJustifyTrim([in] BSTR v);
890
891     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
892     HRESULT textJustifyTrim([out, retval] BSTR *p);
893
894     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
895     HRESULT textKashida([in] VARIANT v);
896
897     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
898     HRESULT textKashida([out, retval] VARIANT *p);
899
900     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
901     HRESULT textAutospace([in] BSTR v);
902
903     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
904     HRESULT textAutospace([out, retval] BSTR *p);
905
906     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
907     HRESULT overflowX([in] BSTR v);
908
909     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
910     HRESULT overflowX([out, retval] BSTR *p);
911
912     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
913     HRESULT overflowY([in] BSTR v);
914
915     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
916     HRESULT overflowY([out, retval] BSTR *p);
917
918     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
919     HRESULT accelerator([in] BSTR v);
920
921     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
922     HRESULT accelerator([out, retval] BSTR *p);
923 }
924
925 /*****************************************************************************
926  *    IHTMLRuleStyle interface
927  */
928 [
929     odl,
930     oleautomation,
931     dual,
932     uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
933 ]
934 interface IHTMLRuleStyle : IDispatch
935 {
936     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
937     HRESULT fontFamily([in] BSTR v);
938
939     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
940     HRESULT fontFamily([retval, out] BSTR *p);
941
942     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
943     HRESULT fontStyle([in] BSTR v);
944
945     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
946     HRESULT fontStyle([retval, out] BSTR *p);
947
948     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
949     HRESULT fontVariant([in] BSTR v);
950
951     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
952     HRESULT fontVariant([retval, out] BSTR *p);
953
954     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
955     HRESULT fontWeight([in] BSTR v);
956
957     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
958     HRESULT fontWeight([retval, out] BSTR *p);
959
960     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
961     HRESULT fontSize([in] VARIANT v);
962
963     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
964     HRESULT fontSize([retval, out] VARIANT *p);
965
966     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
967     HRESULT font([in] BSTR v);
968
969     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
970     HRESULT font([retval, out] BSTR *p);
971
972     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
973     HRESULT color([in] VARIANT v);
974
975     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
976     HRESULT color([retval, out] VARIANT *p);
977
978     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
979     HRESULT background([in] BSTR v);
980
981     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
982     HRESULT background([retval, out] BSTR *p);
983
984     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
985     HRESULT backgroundColor([in] VARIANT v);
986
987     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
988     HRESULT backgroundColor([retval, out] VARIANT *p);
989
990     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
991     HRESULT backgroundImage([in] BSTR v);
992
993     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
994     HRESULT backgroundImage([retval, out] BSTR *p);
995
996     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
997     HRESULT backgroundRepeat([in] BSTR v);
998
999     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
1000     HRESULT backgroundRepeat([retval, out] BSTR *p);
1001
1002     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1003     HRESULT backgroundAttachment([in] BSTR v);
1004
1005     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1006     HRESULT backgroundAttachment([retval, out] BSTR *p);
1007
1008     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1009     HRESULT backgroundPosition([in] BSTR v);
1010
1011     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1012     HRESULT backgroundPosition([retval, out] BSTR *p);
1013
1014     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1015     HRESULT backgroundPositionX([in] VARIANT v);
1016
1017     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1018     HRESULT backgroundPositionX([retval, out] VARIANT *p);
1019
1020     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1021     HRESULT backgroundPositionY([in] VARIANT v);
1022
1023     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1024     HRESULT backgroundPositionY([retval, out] VARIANT *p);
1025
1026     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1027     HRESULT wordSpacing([in] VARIANT v);
1028
1029     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1030     HRESULT wordSpacing([retval, out] VARIANT *p);
1031
1032     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1033     HRESULT letterSpacing([in] VARIANT v);
1034
1035     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1036     HRESULT letterSpacing([retval, out] VARIANT *p);
1037
1038     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1039     HRESULT textDecoration([in] BSTR v);
1040
1041     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1042     HRESULT textDecoration([retval, out] BSTR *p);
1043
1044     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1045     HRESULT textDecorationNone([in] VARIANT_BOOL v);
1046
1047     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1048     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1049
1050     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1051     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1052
1053     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1054     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1055
1056     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1057     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1058
1059     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1060     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1061
1062     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1063     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1064
1065     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1066     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1067
1068     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1069     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1070
1071     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1072     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1073
1074     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1075     HRESULT verticalAlign([in] VARIANT v);
1076
1077     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1078     HRESULT verticalAlign([retval, out] VARIANT *p);
1079
1080     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1081     HRESULT textTransform([in] BSTR v);
1082
1083     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1084     HRESULT textTransform([retval, out] BSTR *p);
1085
1086     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1087     HRESULT textAlign([in] BSTR v);
1088
1089     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1090     HRESULT textAlign([retval, out] BSTR *p);
1091
1092     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1093     HRESULT textIndent([in] VARIANT v);
1094
1095     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1096     HRESULT textIndent([retval, out] VARIANT *p);
1097
1098     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1099     HRESULT lineHeight([in] VARIANT v);
1100
1101     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1102     HRESULT lineHeight([retval, out] VARIANT *p);
1103
1104     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1105     HRESULT marginTop([in] VARIANT v);
1106
1107     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1108     HRESULT marginTop([retval, out] VARIANT *p);
1109
1110     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1111     HRESULT marginRight([in] VARIANT v);
1112
1113     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1114     HRESULT marginRight([retval, out] VARIANT *p);
1115
1116     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1117     HRESULT marginBottom([in] VARIANT v);
1118
1119     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1120     HRESULT marginBottom([retval, out] VARIANT *p);
1121
1122     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1123     HRESULT marginLeft([in] VARIANT v);
1124
1125     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1126     HRESULT marginLeft([retval, out] VARIANT *p);
1127
1128     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1129     HRESULT margin([in] BSTR v);
1130
1131     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1132     HRESULT margin([retval, out] BSTR *p);
1133
1134     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1135     HRESULT paddingTop([in] VARIANT v);
1136
1137     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1138     HRESULT paddingTop([retval, out] VARIANT *p);
1139
1140     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1141     HRESULT paddingRight([in] VARIANT v);
1142
1143     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1144     HRESULT paddingRight([retval, out] VARIANT *p);
1145
1146     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1147     HRESULT paddingBottom([in] VARIANT v);
1148
1149     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1150     HRESULT paddingBottom([retval, out] VARIANT *p);
1151
1152     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1153     HRESULT paddingLeft([in] VARIANT v);
1154
1155     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1156     HRESULT paddingLeft([retval, out] VARIANT *p);
1157
1158     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1159     HRESULT padding([in] BSTR v);
1160
1161     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1162     HRESULT padding([retval, out] BSTR *p);
1163
1164     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1165     HRESULT border([in] BSTR v);
1166
1167     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1168     HRESULT border([retval, out] BSTR *p);
1169
1170     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1171     HRESULT borderTop([in] BSTR v);
1172
1173     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1174     HRESULT borderTop([retval, out] BSTR *p);
1175
1176     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1177     HRESULT borderRight([in] BSTR v);
1178
1179     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1180     HRESULT borderRight([retval, out] BSTR *p);
1181
1182     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1183     HRESULT borderBottom([in] BSTR v);
1184
1185     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1186     HRESULT borderBottom([retval, out] BSTR *p);
1187
1188     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1189     HRESULT borderLeft([in] BSTR v);
1190
1191     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1192     HRESULT borderLeft([retval, out] BSTR *p);
1193
1194     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1195     HRESULT borderColor([in] BSTR v);
1196
1197     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1198     HRESULT borderColor([retval, out] BSTR *p);
1199
1200     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1201     HRESULT borderTopColor([in] VARIANT v);
1202
1203     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1204     HRESULT borderTopColor([retval, out] VARIANT *p);
1205
1206     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1207     HRESULT borderRightColor([in] VARIANT v);
1208
1209     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1210     HRESULT borderRightColor([retval, out] VARIANT *p);
1211
1212     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1213     HRESULT borderBottomColor([in] VARIANT v);
1214
1215     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1216     HRESULT borderBottomColor([retval, out] VARIANT *p);
1217
1218     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1219     HRESULT borderLeftColor([in] VARIANT v);
1220
1221     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1222     HRESULT borderLeftColor([retval, out] VARIANT *p);
1223
1224     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1225     HRESULT borderWidth([in] BSTR v);
1226
1227     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1228     HRESULT borderWidth([retval, out] BSTR *p);
1229
1230     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1231     HRESULT borderTopWidth([in] VARIANT v);
1232
1233     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1234     HRESULT borderTopWidth([retval, out] VARIANT *p);
1235
1236     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1237     HRESULT borderRightWidth([in] VARIANT v);
1238
1239     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1240     HRESULT borderRightWidth([retval, out] VARIANT *p);
1241
1242     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1243     HRESULT borderBottomWidth([in] VARIANT v);
1244
1245     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1246     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1247
1248     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1249     HRESULT borderLeftWidth([in] VARIANT v);
1250
1251     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1252     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1253
1254     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1255     HRESULT borderStyle([in] BSTR v);
1256
1257     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1258     HRESULT borderStyle([retval, out] BSTR *p);
1259
1260     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1261     HRESULT borderTopStyle([in] BSTR v);
1262
1263     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1264     HRESULT borderTopStyle([retval, out] BSTR *p);
1265
1266     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1267     HRESULT borderRightStyle([in] BSTR v);
1268
1269     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1270     HRESULT borderRightStyle([retval, out] BSTR *p);
1271
1272     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1273     HRESULT borderBottomStyle([in] BSTR v);
1274
1275     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1276     HRESULT borderBottomStyle([retval, out] BSTR *p);
1277
1278     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1279     HRESULT borderLeftStyle([in] BSTR v);
1280
1281     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1282     HRESULT borderLeftStyle([retval, out] BSTR *p);
1283
1284     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1285     HRESULT width([in] VARIANT v);
1286
1287     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1288     HRESULT width([retval, out] VARIANT *p);
1289
1290     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1291     HRESULT height([in] VARIANT v);
1292
1293     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1294     HRESULT height([retval, out] VARIANT *p);
1295
1296     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1297     HRESULT styleFloat([in] BSTR v);
1298
1299     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1300     HRESULT styleFloat([retval, out] BSTR *p);
1301
1302     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1303     HRESULT clear([in] BSTR v);
1304
1305     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1306     HRESULT clear([retval, out] BSTR *p);
1307
1308     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1309     HRESULT display([in] BSTR v);
1310
1311     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1312     HRESULT display([retval, out] BSTR *p);
1313
1314     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1315     HRESULT visibility([in] BSTR v);
1316
1317     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1318     HRESULT visibility([retval, out] BSTR *p);
1319
1320     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1321     HRESULT listStyleType([in] BSTR v);
1322
1323     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1324     HRESULT listStyleType([retval, out] BSTR *p);
1325
1326     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1327     HRESULT listStylePosition([in] BSTR v);
1328
1329     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1330     HRESULT listStylePosition([retval, out] BSTR *p);
1331
1332     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1333     HRESULT listStyleImage([in] BSTR v);
1334
1335     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1336     HRESULT listStyleImage([retval, out] BSTR *p);
1337
1338     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1339     HRESULT listStyle([in] BSTR v);
1340
1341     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1342     HRESULT listStyle([retval, out] BSTR *p);
1343
1344     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1345     HRESULT whiteSpace([in] BSTR v);
1346
1347     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1348     HRESULT whiteSpace([retval, out] BSTR *p);
1349
1350     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1351     HRESULT top([in] VARIANT v);
1352
1353     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1354     HRESULT top([retval, out] VARIANT *p);
1355
1356     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1357     HRESULT left([in] VARIANT v);
1358
1359     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1360     HRESULT left([retval, out] VARIANT *p);
1361
1362     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1363     HRESULT position([retval, out] BSTR *p);
1364
1365     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1366     HRESULT zIndex([in] VARIANT v);
1367
1368     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1369     HRESULT zIndex([retval, out] VARIANT *p);
1370
1371     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1372     HRESULT overflow([in] BSTR v);
1373
1374     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1375     HRESULT overflow([retval, out] BSTR *p);
1376
1377     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1378     HRESULT pageBreakBefore([in] BSTR v);
1379
1380     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1381     HRESULT pageBreakBefore([retval, out] BSTR *p);
1382
1383     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1384     HRESULT pageBreakAfter([in] BSTR v);
1385
1386     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1387     HRESULT pageBreakAfter([retval, out] BSTR *p);
1388
1389     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1390     HRESULT cssText([in] BSTR v);
1391
1392     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1393     HRESULT cssText([retval, out] BSTR *p);
1394
1395     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1396     HRESULT cursor([in] BSTR v);
1397
1398     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1399     HRESULT cursor([retval, out] BSTR *p);
1400
1401     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1402     HRESULT clip([in] BSTR v);
1403
1404     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1405     HRESULT clip([retval, out] BSTR *p);
1406
1407     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1408     HRESULT filter([in] BSTR v);
1409
1410     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1411     HRESULT filter([retval, out] BSTR *p);
1412
1413     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1414     HRESULT setAttribute(
1415         [in] BSTR strAttributeName,
1416         [in] VARIANT AttributeValue,
1417         [defaultvalue(1), in] LONG lFlags);
1418
1419     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1420     HRESULT getAttribute(
1421         [in] BSTR strAttributeName,
1422         [defaultvalue(0), in] LONG lFlags,
1423         [retval, out] VARIANT *AttributeValue);
1424
1425     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1426     HRESULT removeAttribute(
1427         [in] BSTR strAttributeName,
1428         [defaultvalue(1), in] LONG lFlags,
1429         [retval, out] VARIANT_BOOL *pfSuccess);
1430 }
1431
1432 /*****************************************************************************
1433  *    DispHTMLStyle dispinterface
1434  */
1435 [
1436     hidden,
1437     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1438 ]
1439 dispinterface DispHTMLStyle
1440 {
1441 properties:
1442 methods:
1443     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1444     void fontFamily(BSTR v);
1445
1446     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1447     BSTR fontFamily();
1448
1449     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1450     void fontStyle(BSTR v);
1451
1452     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1453     BSTR fontStyle();
1454
1455     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1456     void fontVariant(BSTR v);
1457
1458     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1459     BSTR fontVariant();
1460
1461     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1462     void fontWeight(BSTR v);
1463
1464     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1465     BSTR fontWeight();
1466
1467     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1468     void fontSize(VARIANT v);
1469
1470     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1471     VARIANT fontSize();
1472
1473     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1474     void font(BSTR v);
1475
1476     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1477     BSTR font();
1478
1479     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1480     void color(VARIANT v);
1481
1482     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1483     VARIANT color();
1484
1485     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1486     void background(BSTR v);
1487
1488     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1489     BSTR background();
1490
1491     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1492     void backgroundColor(VARIANT v);
1493
1494     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1495     VARIANT backgroundColor();
1496
1497     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1498     void backgroundImage(BSTR v);
1499
1500     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1501     BSTR backgroundImage();
1502
1503     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1504     void backgroundRepeat(BSTR v);
1505
1506     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1507     BSTR backgroundRepeat();
1508
1509     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1510     void backgroundAttachment(BSTR v);
1511
1512     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1513     BSTR backgroundAttachment();
1514
1515     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1516     void backgroundPosition(BSTR v);
1517
1518     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1519     BSTR backgroundPosition();
1520
1521     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1522     void backgroundPositionX(VARIANT v);
1523
1524     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1525     VARIANT backgroundPositionX();
1526
1527     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1528     void backgroundPositionY(VARIANT v);
1529
1530     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1531     VARIANT backgroundPositionY();
1532
1533     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1534     void wordSpacing(VARIANT v);
1535
1536     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1537     VARIANT wordSpacing();
1538
1539     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1540     void letterSpacing(VARIANT v);
1541
1542     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1543     VARIANT letterSpacing();
1544
1545     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1546     void textDecoration(BSTR v);
1547
1548     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1549     BSTR textDecoration();
1550
1551     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1552     void textDecorationNone(VARIANT_BOOL v);
1553
1554     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1555     VARIANT_BOOL textDecorationNone();
1556
1557     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1558     void textDecorationUnderline(VARIANT_BOOL v);
1559
1560     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1561     VARIANT_BOOL textDecorationUnderline();
1562
1563     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1564     void textDecorationOverline(VARIANT_BOOL v);
1565
1566     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1567     VARIANT_BOOL textDecorationOverline();
1568
1569     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1570     void textDecorationLineThrough(VARIANT_BOOL v);
1571
1572     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1573     VARIANT_BOOL textDecorationLineThrough();
1574
1575     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1576     void textDecorationBlink(VARIANT_BOOL v);
1577
1578     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1579     VARIANT_BOOL textDecorationBlink();
1580
1581     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1582     void verticalAlign(VARIANT v);
1583
1584     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1585     VARIANT verticalAlign();
1586
1587     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1588     void textTransform(BSTR v);
1589
1590     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1591     BSTR textTransform();
1592
1593     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1594     void textAlign(BSTR v);
1595
1596     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1597     BSTR textAlign();
1598
1599     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1600     void textIndent(VARIANT v);
1601
1602     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1603     VARIANT textIndent();
1604
1605     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1606     void lineHeight(VARIANT v);
1607
1608     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1609     VARIANT lineHeight();
1610
1611     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1612     void marginTop(VARIANT v);
1613
1614     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1615     VARIANT marginTop();
1616
1617     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1618     void marginRight(VARIANT v);
1619
1620     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1621     VARIANT marginRight();
1622
1623     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1624     void marginBottom(VARIANT v);
1625
1626     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1627     VARIANT marginBottom();
1628
1629     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1630     void marginLeft(VARIANT v);
1631
1632     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1633     VARIANT marginLeft();
1634
1635     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1636     void margin(BSTR v);
1637
1638     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1639     BSTR margin();
1640
1641     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1642     void paddingTop(VARIANT v);
1643
1644     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1645     VARIANT paddingTop();
1646
1647     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1648     void paddingRight(VARIANT v);
1649
1650     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1651     VARIANT paddingRight();
1652
1653     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1654     void paddingBottom(VARIANT v);
1655
1656     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1657     VARIANT paddingBottom();
1658
1659     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1660     void paddingLeft(VARIANT v);
1661
1662     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1663     VARIANT paddingLeft();
1664
1665     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1666     void padding(BSTR v);
1667
1668     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1669     BSTR padding();
1670
1671     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1672     void border(BSTR v);
1673
1674     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1675     BSTR border();
1676
1677     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1678     void borderTop(BSTR v);
1679
1680     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1681     BSTR borderTop();
1682
1683     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1684     void borderRight(BSTR v);
1685
1686     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1687     BSTR borderRight();
1688
1689     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1690     void borderBottom(BSTR v);
1691
1692     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1693     BSTR borderBottom();
1694
1695     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1696     void borderLeft(BSTR v);
1697
1698     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1699     BSTR borderLeft();
1700
1701     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1702     void borderColor(BSTR v);
1703
1704     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1705     BSTR borderColor();
1706
1707     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1708     void borderTopColor(VARIANT v);
1709
1710     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1711     VARIANT borderTopColor();
1712
1713     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1714     void borderRightColor(VARIANT v);
1715
1716     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1717     VARIANT borderRightColor();
1718
1719     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1720     void borderBottomColor(VARIANT v);
1721
1722     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1723     VARIANT borderBottomColor();
1724
1725     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1726     void borderLeftColor(VARIANT v);
1727
1728     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1729     VARIANT borderLeftColor();
1730
1731     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1732     void borderWidth(BSTR v);
1733
1734     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1735     BSTR borderWidth();
1736
1737     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1738     void borderTopWidth(VARIANT v);
1739
1740     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1741     VARIANT borderTopWidth();
1742
1743     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1744     void borderRightWidth(VARIANT v);
1745
1746     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1747     VARIANT borderRightWidth();
1748
1749     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1750     void borderBottomWidth(VARIANT v);
1751
1752     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1753     VARIANT borderBottomWidth();
1754
1755     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1756     void borderLeftWidth(VARIANT v);
1757
1758     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1759     VARIANT borderLeftWidth();
1760
1761     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1762     void borderStyle(BSTR v);
1763
1764     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1765     BSTR borderStyle();
1766
1767     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1768     void borderTopStyle(BSTR v);
1769
1770     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1771     BSTR borderTopStyle();
1772
1773     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1774     void borderRightStyle(BSTR v);
1775
1776     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1777     BSTR borderRightStyle();
1778
1779     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1780     void borderBottomStyle(BSTR v);
1781
1782     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1783     BSTR borderBottomStyle();
1784
1785     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1786     void borderLeftStyle(BSTR v);
1787
1788     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1789     BSTR borderLeftStyle();
1790
1791     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1792     void width(VARIANT v);
1793
1794     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1795     VARIANT width();
1796
1797     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1798     void height(VARIANT v);
1799
1800     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1801     VARIANT height();
1802
1803     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1804     void styleFloat(BSTR v);
1805
1806     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1807     BSTR styleFloat();
1808
1809     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1810     void clear(BSTR v);
1811
1812     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1813     BSTR clear();
1814
1815     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1816     void display(BSTR v);
1817
1818     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1819     BSTR display();
1820
1821     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1822     void visibility(BSTR v);
1823
1824     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1825     BSTR visibility();
1826
1827     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1828     void listStyleType(BSTR v);
1829
1830     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1831     BSTR listStyleType();
1832
1833     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1834     void listStylePosition(BSTR v);
1835
1836     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1837     BSTR listStylePosition();
1838
1839     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1840     void listStyleImage(BSTR v);
1841
1842     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1843     BSTR listStyleImage();
1844
1845     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1846     void listStyle(BSTR v);
1847
1848     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1849     BSTR listStyle();
1850
1851     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1852     void whiteSpace(BSTR v);
1853
1854     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1855     BSTR whiteSpace();
1856
1857     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1858     void top(VARIANT v);
1859
1860     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1861     VARIANT top();
1862
1863     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1864     void left(VARIANT v);
1865
1866     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1867     VARIANT left();
1868
1869     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1870     void zIndex(VARIANT v);
1871
1872     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1873     VARIANT zIndex();
1874
1875     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1876     void overflow(BSTR v);
1877
1878     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1879     BSTR overflow();
1880
1881     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1882     void pageBreakBefore(BSTR v);
1883
1884     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1885     BSTR pageBreakBefore();
1886
1887     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1888     void pageBreakAfter(BSTR v);
1889
1890     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1891     BSTR pageBreakAfter();
1892
1893     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1894     void cssText(BSTR v);
1895
1896     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1897     BSTR cssText();
1898
1899     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1900     void pixelTop(LONG v);
1901
1902     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1903     LONG pixelTop();
1904
1905     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1906     void pixelLeft(LONG v);
1907
1908     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1909     LONG pixelLeft();
1910
1911     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1912     void pixelWidth(LONG v);
1913
1914     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1915     LONG pixelWidth();
1916
1917     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1918     void pixelHeight(LONG v);
1919
1920     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1921     LONG pixelHeight();
1922
1923     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1924     void posTop(float v);
1925
1926     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1927     float posTop();
1928
1929     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1930     void posLeft(float v);
1931
1932     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1933     float posLeft();
1934
1935     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1936     void posWidth(float v);
1937
1938     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1939     float posWidth();
1940
1941     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1942     void posHeight(float v);
1943
1944     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1945     float posHeight();
1946
1947     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1948     void cursor(BSTR v);
1949
1950     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1951     BSTR cursor();
1952
1953     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1954     void clip(BSTR v);
1955
1956     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1957     BSTR clip();
1958
1959     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1960     void filter(BSTR v);
1961
1962     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1963     BSTR filter();
1964
1965     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1966     void setAttribute(
1967             [in] BSTR strAttributeName,
1968             [in] VARIANT AttributeValue,
1969             [in, defaultvalue(1)] LONG lFlags);
1970
1971     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1972     VARIANT getAttribute(
1973             [in] BSTR strAttributeName,
1974             [in, defaultvalue(0)] LONG lFlags);
1975
1976     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1977     VARIANT_BOOL removeAttribute(
1978             [in] BSTR strAttributeName,
1979             [in, defaultvalue(1)] LONG lFlags);
1980
1981     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1982     BSTR toString();
1983
1984     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1985     void tableLayout(BSTR v);
1986
1987     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1988     BSTR tableLayout();
1989
1990     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1991     void borderCollapse(BSTR v);
1992
1993     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1994     BSTR borderCollapse();
1995
1996     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1997     void direction(BSTR v);
1998
1999     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
2000     BSTR direction();
2001
2002     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2003     void behavior(BSTR v);
2004
2005     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2006     BSTR behavior();
2007
2008     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
2009     void setExpression(
2010             [in] BSTR propname,
2011             [in] BSTR expression,
2012             [in, defaultvalue("")] BSTR language);
2013
2014     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
2015     VARIANT getExpression([in] BSTR propname);
2016
2017     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
2018     VARIANT_BOOL removeExpression([in] BSTR propname);
2019
2020     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2021     void position(BSTR v);
2022
2023     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2024     BSTR position();
2025
2026     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2027     void unicodeBidi(BSTR v);
2028
2029     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2030     BSTR unicodeBidi();
2031
2032     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2033     void bottom(VARIANT v);
2034
2035     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2036     VARIANT bottom();
2037
2038     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2039     void right(VARIANT v);
2040
2041     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2042     VARIANT right();
2043
2044     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2045     void pixelBottom(LONG v);
2046
2047     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2048     LONG pixelBottom();
2049
2050     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2051     void pixelRight(LONG v);
2052
2053     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2054     LONG pixelRight();
2055
2056     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2057     void posBottom(float v);
2058
2059     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2060     float posBottom();
2061
2062     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2063     void posRight(float v);
2064
2065     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2066     float posRight();
2067
2068     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2069     void imeMode(BSTR v);
2070
2071     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2072     BSTR imeMode();
2073
2074     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2075     void rubyAlign(BSTR v);
2076
2077     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2078     BSTR rubyAlign();
2079
2080     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2081     void rubyPosition(BSTR v);
2082
2083     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2084     BSTR rubyPosition();
2085
2086     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2087     void rubyOverhang(BSTR v);
2088
2089     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2090     BSTR rubyOverhang();
2091
2092     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2093     void layoutGridChar(VARIANT v);
2094
2095     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2096     VARIANT layoutGridChar();
2097
2098     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2099     void layoutGridLine(VARIANT v);
2100
2101     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2102     VARIANT layoutGridLine();
2103
2104     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2105     void layoutGridMode(BSTR v);
2106
2107     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2108     BSTR layoutGridMode();
2109
2110     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2111     void layoutGridType(BSTR v);
2112
2113     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2114     BSTR layoutGridType();
2115
2116     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2117     void layoutGrid(BSTR v);
2118
2119     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2120     BSTR layoutGrid();
2121
2122     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2123     void wordBreak(BSTR v);
2124
2125     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2126     BSTR wordBreak();
2127
2128     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2129     void lineBreak(BSTR v);
2130
2131     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2132     BSTR lineBreak();
2133
2134     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2135     void textJustify(BSTR v);
2136
2137     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2138     BSTR textJustify();
2139
2140     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2141     void textJustifyTrim(BSTR v);
2142
2143     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2144     BSTR textJustifyTrim();
2145
2146     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2147     void textKashida(VARIANT v);
2148
2149     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2150     VARIANT textKashida();
2151
2152     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2153     void textAutospace(BSTR v);
2154
2155     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2156     BSTR textAutospace();
2157
2158     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2159     void overflowX(BSTR v);
2160
2161     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2162     BSTR overflowX();
2163
2164     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2165     void overflowY(BSTR v);
2166
2167     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2168     BSTR overflowY();
2169
2170     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2171     void accelerator(BSTR v);
2172
2173     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2174     BSTR accelerator();
2175
2176     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2177     void layoutFlow(BSTR v);
2178
2179     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2180     BSTR layoutFlow();
2181
2182     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2183     void zoom(VARIANT v);
2184
2185     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2186     VARIANT zoom();
2187
2188     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2189     void wordWrap(BSTR v);
2190
2191     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2192     BSTR wordWrap();
2193
2194     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2195     void textUnderlinePosition(BSTR v);
2196
2197     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2198     BSTR textUnderlinePosition();
2199
2200     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2201     void scrollbarBaseColor(VARIANT v);
2202
2203     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2204     VARIANT scrollbarBaseColor();
2205
2206     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2207     void scrollbarFaceColor(VARIANT v);
2208
2209     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2210     VARIANT scrollbarFaceColor();
2211
2212     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2213     void scrollbar3dLightColor(VARIANT v);
2214
2215     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2216     VARIANT scrollbar3dLightColor();
2217
2218     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2219     void scrollbarShadowColor(VARIANT v);
2220
2221     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2222     VARIANT scrollbarShadowColor();
2223
2224     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2225     void scrollbarHighlightColor(VARIANT v);
2226
2227     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2228     VARIANT scrollbarHighlightColor();
2229
2230     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2231     void scrollbarDarkShadowColor(VARIANT v);
2232
2233     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2234     VARIANT scrollbarDarkShadowColor();
2235
2236     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2237     void scrollbarArrowColor(VARIANT v);
2238
2239     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2240     VARIANT scrollbarArrowColor();
2241
2242     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2243     void scrollbarTrackColor(VARIANT v);
2244
2245     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2246     VARIANT scrollbarTrackColor();
2247
2248     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2249     void writingMode(BSTR v);
2250
2251     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2252     BSTR writingMode();
2253
2254     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2255     void textAlignLast(BSTR v);
2256
2257     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2258     BSTR textAlignLast();
2259
2260     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2261     void textKashidaSpace(VARIANT v);
2262
2263     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2264     VARIANT textKashidaSpace();
2265
2266     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2267     void textOverflow(BSTR v);
2268
2269     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2270     BSTR textOverflow();
2271
2272     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2273     void minHeight(VARIANT v);
2274
2275     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2276     VARIANT minHeight();
2277
2278     [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2279     void msInterpolationMode(BSTR v);
2280
2281     [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2282     BSTR msInterpolationMode();
2283
2284     [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2285     void maxHeight(VARIANT v);
2286
2287     [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2288     VARIANT maxHeight();
2289
2290     [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2291     void minWidth(VARIANT v);
2292
2293     [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2294     VARIANT minWidth();
2295
2296     [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2297     void maxWidth(VARIANT v);
2298
2299     [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2300     VARIANT maxWidth();
2301
2302     [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2303     void content(BSTR v);
2304
2305     [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2306     BSTR content();
2307
2308     [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2309     void captionSide(BSTR v);
2310
2311     [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2312     BSTR captionSide();
2313
2314     [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2315     void counterIncrement(BSTR v);
2316
2317     [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2318     BSTR counterIncrement();
2319
2320     [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2321     void counterReset(BSTR v);
2322
2323     [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2324     BSTR counterReset();
2325
2326     [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2327     void outline(BSTR v);
2328
2329     [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2330     BSTR outline();
2331
2332     [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2333     void outlineWidth(VARIANT v);
2334
2335     [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2336     VARIANT outlineWidth();
2337
2338     [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2339     void outlineStyle(BSTR v);
2340
2341     [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2342     BSTR outlineStyle();
2343
2344     [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2345     void outlineColor(VARIANT v);
2346
2347     [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2348     VARIANT outlineColor();
2349
2350     [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2351     void boxSizing(BSTR v);
2352
2353     [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2354     BSTR boxSizing();
2355
2356     [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2357     void borderSpacing(BSTR v);
2358
2359     [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2360     BSTR borderSpacing();
2361
2362     [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2363     void orphans(VARIANT v);
2364
2365     [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2366     VARIANT orphans();
2367
2368     [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2369     void widows(VARIANT v);
2370
2371     [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2372     VARIANT widows();
2373
2374     [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2375     void pageBreakInside(BSTR v);
2376
2377     [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2378     BSTR pageBreakInside();
2379
2380     [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2381     void emptyCells(BSTR v);
2382
2383     [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2384     BSTR emptyCells();
2385
2386     [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2387     void msBlockProgression(BSTR v);
2388
2389     [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2390     BSTR msBlockProgression();
2391
2392     [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2393     void quotes(BSTR v);
2394
2395     [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2396     BSTR quotes();
2397
2398     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
2399     IDispatch *constructor();
2400 }
2401
2402 [
2403     odl,
2404     oleautomation,
2405     dual,
2406     uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2407 ]
2408 interface IHTMLStyle3 : IDispatch
2409 {
2410     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2411     HRESULT layoutFlow([in] BSTR v);
2412
2413     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2414     HRESULT layoutFlow([retval, out] BSTR * p);
2415
2416     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2417     HRESULT zoom([in] VARIANT v);
2418
2419     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2420     HRESULT zoom([retval, out] VARIANT * p);
2421
2422     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2423     HRESULT wordWrap([in] BSTR v);
2424
2425     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2426     HRESULT wordWrap([retval, out] BSTR * p);
2427
2428     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2429     HRESULT textUnderlinePosition([in] BSTR v);
2430
2431     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2432     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2433
2434     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2435     HRESULT scrollbarBaseColor([in] VARIANT v);
2436
2437     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2438     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2439
2440     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2441     HRESULT scrollbarFaceColor([in] VARIANT v);
2442
2443     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2444     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2445
2446     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2447     HRESULT scrollbar3dLightColor([in] VARIANT v);
2448
2449     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2450     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2451
2452     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2453     HRESULT scrollbarShadowColor([in] VARIANT v);
2454
2455     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2456     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2457
2458     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2459     HRESULT scrollbarHighlightColor([in] VARIANT v);
2460
2461     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2462     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2463
2464     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2465     HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2466
2467     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2468     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2469
2470     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2471     HRESULT scrollbarArrowColor([in] VARIANT v);
2472
2473     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2474     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2475
2476     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2477     HRESULT scrollbarTrackColor([in] VARIANT v);
2478
2479     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2480     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2481
2482     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2483     HRESULT writingMode([in] BSTR v);
2484
2485     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2486     HRESULT writingMode([retval, out] BSTR * p);
2487
2488     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2489     HRESULT textAlignLast([in] BSTR v);
2490
2491     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2492     HRESULT textAlignLast([retval, out] BSTR * p);
2493
2494     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2495     HRESULT textKashidaSpace([in] VARIANT v);
2496
2497     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2498     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2499 }
2500
2501 /*****************************************************************************
2502  *    IHTMLSytyle4 interface
2503  */
2504 [
2505     odl,
2506     oleautomation,
2507     dual,
2508     uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2509 ]
2510 interface IHTMLStyle4 : IDispatch
2511 {
2512     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2513     HRESULT textOverflow([in] BSTR v);
2514
2515     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2516     HRESULT textOverflow([retval, out] BSTR * p);
2517
2518     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2519     HRESULT minHeight([in] VARIANT v);
2520
2521     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2522     HRESULT minHeight([retval, out] VARIANT * p);
2523 }
2524
2525 /*****************************************************************************
2526  *    IHTMLSytyle5 interface
2527  */
2528 [
2529     odl,
2530     oleautomation,
2531     dual,
2532     uuid(3050f33a-98b5-11cf-bb82-00aa00bdce0b)
2533 ]
2534 interface IHTMLStyle5 : IDispatch
2535 {
2536     [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2537     HRESULT msInterpolationMode([in] BSTR v);
2538
2539     [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2540     HRESULT msInterpolationMode([out, retval] BSTR *p);
2541
2542     [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2543     HRESULT maxHeight([in] VARIANT v);
2544
2545     [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2546     HRESULT maxHeight([out, retval] VARIANT *p);
2547
2548     [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2549     HRESULT minWidth([in] VARIANT v);
2550
2551     [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2552     HRESULT minWidth([out, retval] VARIANT *p);
2553
2554     [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2555     HRESULT maxWidth([in] VARIANT v);
2556
2557     [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2558     HRESULT maxWidth([out, retval] VARIANT *p);
2559 }
2560
2561 /*****************************************************************************
2562  *    IHTMLSytyle6 interface
2563  */
2564 [
2565     odl,
2566     oleautomation,
2567     dual,
2568     uuid(30510480-98b5-11cf-bb82-00aa00bdce0b)
2569 ]
2570 interface IHTMLStyle6 : IDispatch
2571 {
2572     [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2573     HRESULT content([in] BSTR v);
2574
2575     [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2576     HRESULT content([out, retval] BSTR *p);
2577
2578     [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2579     HRESULT captionSide([in] BSTR v);
2580
2581     [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2582     HRESULT captionSide([retval, out] BSTR *p);
2583
2584     [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2585     HRESULT counterIncrement([in] BSTR v);
2586
2587     [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2588     HRESULT counterIncrement([out, retval] BSTR *p);
2589
2590     [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2591     HRESULT counterReset([in] BSTR v);
2592
2593     [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2594     HRESULT counterReset([out, retval] BSTR *p);
2595
2596     [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2597     HRESULT outline([in] BSTR v);
2598
2599     [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2600     HRESULT outline([out, retval] BSTR *p);
2601
2602     [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2603     HRESULT outlineWidth([in] VARIANT v);
2604
2605     [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2606     HRESULT outlineWidth([out, retval] VARIANT *p);
2607
2608     [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2609     HRESULT outlineStyle([in] BSTR v);
2610
2611     [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2612     HRESULT outlineStyle([out, retval] BSTR *p);
2613
2614     [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2615     HRESULT outlineColor([in] VARIANT v);
2616
2617     [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2618     HRESULT outlineColor([out, retval] VARIANT *p);
2619
2620     [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2621     HRESULT boxSizing([in] BSTR v);
2622
2623     [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2624     HRESULT boxSizing([out, retval] BSTR *p);
2625
2626     [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2627     HRESULT borderSpacing([in] BSTR v);
2628
2629     [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2630     HRESULT borderSpacing([out, retval] BSTR *p);
2631
2632     [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2633     HRESULT orphans([in] VARIANT v);
2634
2635     [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2636     HRESULT orphans([out, retval] VARIANT *p);
2637
2638     [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2639     HRESULT widows([in] VARIANT v);
2640
2641     [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2642     HRESULT widows([out, retval] VARIANT *p);
2643
2644     [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2645     HRESULT pageBreakInside([in] BSTR v);
2646
2647     [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2648     HRESULT pageBreakInside([out, retval] BSTR *p);
2649
2650     [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2651     HRESULT emptyCells([in] BSTR v);
2652
2653     [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2654     HRESULT emptyCells([out, retval] BSTR *p);
2655
2656     [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2657     HRESULT msBlockProgression([in] BSTR v);
2658
2659     [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2660     HRESULT msBlockProgression([out, retval] BSTR *p);
2661
2662     [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2663     HRESULT quotes([in] BSTR v);
2664
2665     [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2666     HRESULT quotes([out, retval] BSTR *p);
2667 }
2668
2669 [
2670     noncreatable,
2671     uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2672 ]
2673 coclass HTMLStyle
2674 {
2675     [default] dispinterface DispHTMLStyle;
2676     interface IHTMLStyle;
2677     interface IHTMLStyle2;
2678     interface IHTMLStyle3;
2679     interface IHTMLStyle4;
2680     interface IHTMLStyle5;
2681     interface IHTMLStyle6;
2682 }
2683
2684 /*****************************************************************************
2685  *    IHTMLRenderStyle interface
2686  */
2687 [
2688     odl,
2689     oleautomation,
2690     dual,
2691     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2692 ]
2693 interface IHTMLRenderStyle : IDispatch
2694 {
2695     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2696     HRESULT textLineThroughStyle([in] BSTR v);
2697
2698     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2699     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2700
2701     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2702     HRESULT textUnderlineStyle([in] BSTR v);
2703
2704     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2705     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2706
2707     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2708     HRESULT textEffect([in] BSTR v);
2709
2710     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2711     HRESULT textEffect([retval, out] BSTR *p);
2712
2713     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2714     HRESULT textColor([in] VARIANT v);
2715
2716     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2717     HRESULT textColor([retval, out] VARIANT *p);
2718
2719     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2720     HRESULT textBackgroundColor([in] VARIANT v);
2721
2722     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2723     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2724
2725     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2726     HRESULT textDecorationColor([in] VARIANT v);
2727
2728     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2729     HRESULT textDecorationColor([retval, out] VARIANT *p);
2730
2731     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2732     HRESULT renderingPriority([in] LONG v);
2733
2734     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2735     HRESULT renderingPriority([retval, out] LONG *p);
2736
2737     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2738     HRESULT defaultTextSelection([in] BSTR v);
2739
2740     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2741     HRESULT defaultTextSelection([retval, out] BSTR *p);
2742
2743     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2744     HRESULT textDecoration([in] BSTR v);
2745
2746     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2747     HRESULT textDecoration([retval, out] BSTR *p);
2748 }
2749
2750 /*****************************************************************************
2751  *    IHTMLCurrentStyle interface
2752  */
2753 [
2754     odl,
2755     oleautomation,
2756     dual,
2757     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2758 ]
2759 interface IHTMLCurrentStyle : IDispatch
2760 {
2761     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2762     HRESULT position([retval, out] BSTR *p);
2763
2764     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2765     HRESULT styleFloat([retval, out] BSTR *p);
2766
2767     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2768     HRESULT color([retval, out] VARIANT *p);
2769
2770     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2771     HRESULT backgroundColor([retval, out] VARIANT *p);
2772
2773     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2774     HRESULT fontFamily([retval, out] BSTR *p);
2775
2776     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2777     HRESULT fontStyle([retval, out] BSTR *p);
2778
2779     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2780     HRESULT fontVariant([retval, out] BSTR *p);
2781
2782     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2783     HRESULT fontWeight([retval, out] VARIANT *p);
2784
2785     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2786     HRESULT fontSize([retval, out] VARIANT *p);
2787
2788     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2789     HRESULT backgroundImage([retval, out] BSTR *p);
2790
2791     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2792     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2793
2794     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2795     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2796
2797     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2798     HRESULT backgroundRepeat([retval, out] BSTR *p);
2799
2800     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2801     HRESULT borderLeftColor([retval, out] VARIANT *p);
2802
2803     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2804     HRESULT borderTopColor([retval, out] VARIANT *p);
2805
2806     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2807     HRESULT borderRightColor([retval, out] VARIANT *p);
2808
2809     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2810     HRESULT borderBottomColor([retval, out] VARIANT *p);
2811
2812     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2813     HRESULT borderTopStyle([retval, out] BSTR *p);
2814
2815     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2816     HRESULT borderRightStyle([retval, out] BSTR *p);
2817
2818     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2819     HRESULT borderBottomStyle([retval, out] BSTR *p);
2820
2821     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2822     HRESULT borderLeftStyle([retval, out] BSTR *p);
2823
2824     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2825     HRESULT borderTopWidth([retval, out] VARIANT *p);
2826
2827     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2828     HRESULT borderRightWidth([retval, out] VARIANT *p);
2829
2830     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2831     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2832
2833     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2834     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2835
2836     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2837     HRESULT left([retval, out] VARIANT *p);
2838
2839     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2840     HRESULT top([retval, out] VARIANT *p);
2841
2842     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2843     HRESULT width([retval, out] VARIANT *p);
2844
2845     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2846     HRESULT height([retval, out] VARIANT *p);
2847
2848     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2849     HRESULT paddingLeft([retval, out] VARIANT *p);
2850
2851     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2852     HRESULT paddingTop([retval, out] VARIANT *p);
2853
2854     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2855     HRESULT paddingRight([retval, out] VARIANT *p);
2856
2857     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2858     HRESULT paddingBottom([retval, out] VARIANT *p);
2859
2860     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2861     HRESULT textAlign([retval, out] BSTR *p);
2862
2863     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2864     HRESULT textDecoration([retval, out] BSTR *p);
2865
2866     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2867     HRESULT display([retval, out] BSTR *p);
2868
2869     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2870     HRESULT visibility([retval, out] BSTR *p);
2871
2872     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2873     HRESULT zIndex([retval, out] VARIANT *p);
2874
2875     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2876     HRESULT letterSpacing([retval, out] VARIANT *p);
2877
2878     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2879     HRESULT lineHeight([retval, out] VARIANT *p);
2880
2881     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2882     HRESULT textIndent([retval, out] VARIANT *p);
2883
2884     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2885     HRESULT verticalAlign([retval, out] VARIANT *p);
2886
2887     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2888     HRESULT backgroundAttachment([retval, out] BSTR *p);
2889
2890     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2891     HRESULT marginTop([retval, out] VARIANT *p);
2892
2893     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2894     HRESULT marginRight([retval, out] VARIANT *p);
2895
2896     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2897     HRESULT marginBottom([retval, out] VARIANT *p);
2898
2899     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2900     HRESULT marginLeft([retval, out] VARIANT *p);
2901
2902     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2903     HRESULT clear([retval, out] BSTR *p);
2904
2905     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2906     HRESULT listStyleType([retval, out] BSTR *p);
2907
2908     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2909     HRESULT listStylePosition([retval, out] BSTR *p);
2910
2911     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2912     HRESULT listStyleImage([retval, out] BSTR *p);
2913
2914     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2915     HRESULT clipTop([retval, out] VARIANT *p);
2916
2917     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2918     HRESULT clipRight([retval, out] VARIANT *p);
2919
2920     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2921     HRESULT clipBottom([retval, out] VARIANT *p);
2922
2923     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2924     HRESULT clipLeft([retval, out] VARIANT *p);
2925
2926     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2927     HRESULT overflow([retval, out] BSTR *p);
2928
2929     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2930     HRESULT pageBreakBefore([retval, out] BSTR *p);
2931
2932     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2933     HRESULT pageBreakAfter([retval, out] BSTR *p);
2934
2935     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2936     HRESULT cursor([retval, out] BSTR *p);
2937
2938     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2939     HRESULT tableLayout([retval, out] BSTR *p);
2940
2941     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2942     HRESULT borderCollapse([retval, out] BSTR *p);
2943
2944     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2945     HRESULT direction([retval, out] BSTR *p);
2946
2947     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2948     HRESULT behavior([retval, out] BSTR *p);
2949
2950     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2951     HRESULT getAttribute(
2952         [in] BSTR strAttributeName,
2953         [defaultvalue(0), in] LONG lFlags,
2954         [retval, out] VARIANT *AttributeValue);
2955
2956     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2957     HRESULT unicodeBidi([retval, out] BSTR *p);
2958
2959     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2960     HRESULT right([retval, out] VARIANT *p);
2961
2962     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2963     HRESULT bottom([retval, out] VARIANT *p);
2964
2965     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2966     HRESULT imeMode([retval, out] BSTR *p);
2967
2968     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2969     HRESULT rubyAlign([retval, out] BSTR *p);
2970
2971     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2972     HRESULT rubyPosition([retval, out] BSTR *p);
2973
2974     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2975     HRESULT rubyOverhang([retval, out] BSTR *p);
2976
2977     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2978     HRESULT textAutospace([retval, out] BSTR *p);
2979
2980     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2981     HRESULT lineBreak([retval, out] BSTR *p);
2982
2983     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2984     HRESULT wordBreak([retval, out] BSTR *p);
2985
2986     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2987     HRESULT textJustify([retval, out] BSTR *p);
2988
2989     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2990     HRESULT textJustifyTrim([retval, out] BSTR *p);
2991
2992     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2993     HRESULT textKashida([retval, out] VARIANT *p);
2994
2995     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2996     HRESULT blockDirection([retval, out] BSTR *p);
2997
2998     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2999     HRESULT layoutGridChar([retval, out] VARIANT *p);
3000
3001     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3002     HRESULT layoutGridLine([retval, out] VARIANT *p);
3003
3004     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3005     HRESULT layoutGridMode([retval, out] BSTR *p);
3006
3007     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3008     HRESULT layoutGridType([retval, out] BSTR *p);
3009
3010     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3011     HRESULT borderStyle([retval, out] BSTR *p);
3012
3013     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3014     HRESULT borderColor([retval, out] BSTR *p);
3015
3016     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3017     HRESULT borderWidth([retval, out] BSTR *p);
3018
3019     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3020     HRESULT padding([retval, out] BSTR *p);
3021
3022     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3023     HRESULT margin([retval, out] BSTR *p);
3024
3025     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3026     HRESULT accelerator([retval, out] BSTR *p);
3027
3028     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3029     HRESULT overflowX([retval, out] BSTR *p);
3030
3031     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3032     HRESULT overflowY([retval, out] BSTR *p);
3033
3034     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3035     HRESULT textTransform([retval, out] BSTR *p);
3036 }
3037
3038 /*****************************************************************************
3039  *    IHTMLCurrentStyle2 interface
3040  */
3041 [
3042     odl,
3043     oleautomation,
3044     dual,
3045     uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
3046 ]
3047 interface IHTMLCurrentStyle2 : IDispatch
3048 {
3049     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3050     HRESULT layoutFlow([retval, out] BSTR * p);
3051
3052     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3053     HRESULT wordWrap([retval, out] BSTR * p);
3054
3055     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3056     HRESULT textUnderlinePosition([retval, out] BSTR * p);
3057
3058     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3059     HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
3060
3061     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3062     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
3063
3064     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3065     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
3066
3067     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3068     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
3069
3070     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3071     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
3072
3073     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3074     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
3075
3076     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3077     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
3078
3079     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3080     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
3081
3082     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3083     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
3084
3085     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3086     HRESULT writingMode([retval, out] BSTR * p);
3087
3088     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3089     HRESULT zoom([retval, out] VARIANT * p);
3090
3091     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3092     HRESULT filter([retval, out] BSTR * p);
3093
3094     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3095     HRESULT textAlignLast([retval, out] BSTR * p);
3096
3097     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3098     HRESULT textKashidaSpace([retval, out] VARIANT * p);
3099
3100     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3101     HRESULT isBlock([retval, out] VARIANT_BOOL * p);
3102 }
3103
3104 /*****************************************************************************
3105  *    IHTMLCurrentStyle3 interface
3106  */
3107 [
3108     odl,
3109     oleautomation,
3110     dual,
3111     uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
3112 ]
3113 interface IHTMLCurrentStyle3 : IDispatch
3114 {
3115     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3116     HRESULT textOverflow([retval, out] BSTR * p);
3117
3118     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3119     HRESULT minHeight([retval, out] VARIANT * p);
3120
3121     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3122     HRESULT wordSpacing([retval, out] VARIANT * p);
3123
3124     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3125     HRESULT whiteSpace([retval, out] BSTR * p);
3126 }
3127
3128 /*****************************************************************************
3129  *    IHTMLCurrentStyle4 interface
3130  */
3131 [
3132     odl,
3133     oleautomation,
3134     dual,
3135     uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
3136 ]
3137 interface IHTMLCurrentStyle4 : IDispatch
3138 {
3139     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3140     HRESULT msInterpolationMode([retval, out] BSTR * p);
3141
3142     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3143     HRESULT maxHeight([retval, out] VARIANT * p);
3144
3145     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3146     HRESULT minWidth([retval, out] VARIANT * p);
3147
3148     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3149     HRESULT maxWidth([retval, out] VARIANT * p);
3150 }
3151
3152 /*****************************************************************************
3153  *    DispHTMLCurrentStyle dispinterface
3154  */
3155 [
3156     hidden,
3157     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
3158 ]
3159 dispinterface DispHTMLCurrentStyle
3160 {
3161 properties:
3162 methods:
3163     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
3164     BSTR position();
3165
3166     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
3167     BSTR styleFloat();
3168
3169     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
3170     VARIANT color();
3171
3172     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
3173     VARIANT backgroundColor();
3174
3175     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
3176     BSTR fontFamily();
3177
3178     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
3179     BSTR fontStyle();
3180
3181     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
3182     BSTR fontVariant();
3183
3184     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
3185     VARIANT fontWeight();
3186
3187     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
3188     VARIANT fontSize();
3189
3190     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
3191     BSTR backgroundImage();
3192
3193     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
3194     VARIANT backgroundPositionX();
3195
3196     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
3197     VARIANT backgroundPositionY();
3198
3199     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
3200     BSTR backgroundRepeat();
3201
3202     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
3203     VARIANT borderLeftColor();
3204
3205     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
3206     VARIANT borderTopColor();
3207
3208     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
3209     VARIANT borderRightColor();
3210
3211     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
3212     VARIANT borderBottomColor();
3213
3214     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
3215     BSTR borderTopStyle();
3216
3217     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
3218     BSTR borderRightStyle();
3219
3220     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
3221     BSTR borderBottomStyle();
3222
3223     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
3224     BSTR borderLeftStyle();
3225
3226     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
3227     VARIANT borderTopWidth();
3228
3229     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
3230     VARIANT borderRightWidth();
3231
3232     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
3233     VARIANT borderBottomWidth();
3234
3235     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
3236     VARIANT borderLeftWidth();
3237
3238     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
3239     VARIANT left();
3240
3241     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
3242     VARIANT top();
3243
3244     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
3245     VARIANT width();
3246
3247     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
3248     VARIANT height();
3249
3250     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
3251     VARIANT paddingLeft();
3252
3253     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
3254     VARIANT paddingTop();
3255
3256     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
3257     VARIANT paddingRight();
3258
3259     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
3260     VARIANT paddingBottom();
3261
3262     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
3263     BSTR textAlign();
3264
3265     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
3266     BSTR textDecoration();
3267
3268     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
3269     BSTR display();
3270
3271     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
3272     BSTR visibility();
3273
3274     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
3275     VARIANT zIndex();
3276
3277     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
3278     VARIANT letterSpacing();
3279
3280     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
3281     VARIANT lineHeight();
3282
3283     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
3284     VARIANT textIndent();
3285
3286     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
3287     VARIANT verticalAlign();
3288
3289     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
3290     BSTR backgroundAttachment();
3291
3292     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
3293     VARIANT marginTop();
3294
3295     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3296     VARIANT marginRight();
3297
3298     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3299     VARIANT marginBottom();
3300
3301     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3302     VARIANT marginLeft();
3303
3304     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3305     BSTR clear();
3306
3307     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3308     BSTR listStyleType();
3309
3310     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3311     BSTR listStylePosition();
3312
3313     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3314     BSTR listStyleImage();
3315
3316     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3317     VARIANT clipTop();
3318
3319     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3320     VARIANT clipRight();
3321
3322     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3323     VARIANT clipBottom();
3324
3325     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3326     VARIANT clipLeft();
3327
3328     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3329     BSTR overflow();
3330
3331     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3332     BSTR pageBreakBefore();
3333
3334     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3335     BSTR pageBreakAfter();
3336
3337     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3338     BSTR cursor();
3339
3340     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3341     BSTR tableLayout();
3342
3343     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3344     BSTR borderCollapse();
3345
3346     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3347     BSTR direction();
3348
3349     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3350     BSTR behavior();
3351
3352     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3353     VARIANT getAttribute(
3354             [in] BSTR strAttributeName,
3355             [in, defaultvalue(0)] LONG lFlags);
3356
3357     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3358     BSTR unicodeBidi();
3359
3360     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3361     VARIANT right();
3362
3363     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3364     VARIANT bottom();
3365
3366     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3367     BSTR imeMode();
3368
3369     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3370     BSTR rubyAlign();
3371
3372     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3373     BSTR rubyPosition();
3374
3375     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3376     BSTR rubyOverhang();
3377
3378     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3379     BSTR textAutospace();
3380
3381     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3382     BSTR lineBreak();
3383
3384     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3385     BSTR wordBreak();
3386
3387     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3388     BSTR textJustify();
3389
3390     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3391     BSTR textJustifyTrim();
3392
3393     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3394     VARIANT textKashida();
3395
3396     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3397     BSTR blockDirection();
3398
3399     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3400     VARIANT layoutGridChar();
3401
3402     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3403     VARIANT layoutGridLine();
3404
3405     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3406     BSTR layoutGridMode();
3407
3408     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3409     BSTR layoutGridType();
3410
3411     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3412     BSTR borderStyle();
3413
3414     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3415     BSTR borderColor();
3416
3417     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3418     BSTR borderWidth();
3419
3420     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3421     BSTR padding();
3422
3423     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3424     BSTR margin();
3425
3426     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3427     BSTR accelerator();
3428
3429     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3430     BSTR overflowX();
3431
3432     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3433     BSTR overflowY();
3434
3435     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3436     BSTR textTransform();
3437
3438     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3439     BSTR layoutFlow();
3440
3441     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3442     BSTR wordWrap();
3443
3444     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3445     BSTR textUnderlinePosition();
3446
3447     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3448     VARIANT_BOOL hasLayout();
3449
3450     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3451     VARIANT scrollbarBaseColor();
3452
3453     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3454     VARIANT scrollbarFaceColor();
3455
3456     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3457     VARIANT scrollbar3dLightColor();
3458
3459     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3460     VARIANT scrollbarShadowColor();
3461
3462     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3463     VARIANT scrollbarHighlightColor();
3464
3465     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3466     VARIANT scrollbarDarkShadowColor();
3467
3468     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3469     VARIANT scrollbarArrowColor();
3470
3471     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3472     VARIANT scrollbarTrackColor();
3473
3474     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3475     BSTR writingMode();
3476
3477     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3478     VARIANT zoom();
3479
3480     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3481     BSTR filter();
3482
3483     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3484     BSTR textAlignLast();
3485
3486     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3487     VARIANT textKashidaSpace();
3488
3489     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3490     VARIANT_BOOL isBlock();
3491
3492     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3493     BSTR textOverflow();
3494
3495     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3496     VARIANT minHeight();
3497
3498     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3499     VARIANT wordSpacing();
3500
3501     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3502     BSTR whiteSpace();
3503
3504     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3505     BSTR msInterpolationMode();
3506
3507     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3508     VARIANT maxHeight();
3509
3510     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3511     VARIANT minWidth();
3512
3513     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3514     VARIANT maxWidth();
3515 }
3516
3517 [
3518     noncreatable,
3519     uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3520 ]
3521 coclass HTMLCurrentStyle
3522 {
3523     [default] dispinterface DispHTMLCurrentStyle;
3524     interface IHTMLCurrentStyle;
3525     interface IHTMLCurrentStyle2;
3526     interface IHTMLCurrentStyle3;
3527     interface IHTMLCurrentStyle4;
3528 }
3529
3530 /*****************************************************************************
3531  *    IHTMLRect interface
3532  */
3533 [
3534     odl,
3535     oleautomation,
3536     dual,
3537     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3538 ]
3539 interface IHTMLRect : IDispatch
3540 {
3541     [propput, id(DISPID_IHTMLRECT_LEFT)]
3542     HRESULT left([in] LONG v);
3543
3544     [propget, id(DISPID_IHTMLRECT_LEFT)]
3545     HRESULT left([retval, out] LONG *p);
3546
3547     [propput, id(DISPID_IHTMLRECT_TOP)]
3548     HRESULT top([in] LONG v);
3549
3550     [propget, id(DISPID_IHTMLRECT_TOP)]
3551     HRESULT top([retval, out] LONG *p);
3552
3553     [propput, id(DISPID_IHTMLRECT_RIGHT)]
3554     HRESULT right([in] LONG v);
3555
3556     [propget, id(DISPID_IHTMLRECT_RIGHT)]
3557     HRESULT right([retval, out] LONG *p);
3558
3559     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3560     HRESULT bottom([in] LONG v);
3561
3562     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3563     HRESULT bottom([retval, out] LONG *p);
3564 }
3565
3566 /*****************************************************************************
3567  *    IHTMLRectCollection interface
3568  */
3569 [
3570     odl,
3571     oleautomation,
3572     dual,
3573     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3574 ]
3575 interface IHTMLRectCollection : IDispatch
3576 {
3577     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3578     HRESULT length([retval, out] LONG *p);
3579
3580     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3581     HRESULT _newEnum([retval, out] IUnknown **p);
3582
3583     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3584     HRESULT item(
3585         [in] VARIANT *pvarIndex,
3586         [retval, out] VARIANT *pvarResult);
3587 }
3588
3589 /*****************************************************************************
3590  *    IHTMLDOMNode interface
3591  */
3592 [
3593     odl,
3594     oleautomation,
3595     dual,
3596     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3597 ]
3598 interface IHTMLDOMNode : IDispatch
3599 {
3600     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3601     HRESULT nodeType([retval, out] LONG *p);
3602
3603     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3604     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3605
3606     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3607     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3608
3609     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3610     HRESULT childNodes([retval, out] IDispatch **p);
3611
3612     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3613     HRESULT attributes([retval, out] IDispatch **p);
3614
3615     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3616     HRESULT insertBefore(
3617         [in] IHTMLDOMNode *newChild,
3618         [optional, in] VARIANT refChild,
3619         [retval, out] IHTMLDOMNode **node);
3620
3621     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3622     HRESULT removeChild(
3623         [in] IHTMLDOMNode *oldChild,
3624         [retval, out] IHTMLDOMNode **node);
3625
3626     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3627     HRESULT replaceChild(
3628         [in] IHTMLDOMNode *newChild,
3629         [in] IHTMLDOMNode *oldChild,
3630         [retval, out] IHTMLDOMNode **node);
3631
3632     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3633     HRESULT cloneNode(
3634         [in] VARIANT_BOOL fDeep,
3635         [retval, out] IHTMLDOMNode **clonedNode);
3636
3637     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3638     HRESULT removeNode(
3639         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3640         [retval, out] IHTMLDOMNode **removed);
3641
3642     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3643     HRESULT swapNode(
3644         [in] IHTMLDOMNode *otherNode,
3645         [retval, out] IHTMLDOMNode **swappedNode);
3646
3647     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3648     HRESULT replaceNode(
3649         [in] IHTMLDOMNode *replacement,
3650         [retval, out] IHTMLDOMNode **replaced);
3651
3652     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3653     HRESULT appendChild(
3654         [in] IHTMLDOMNode *newChild,
3655         [retval, out] IHTMLDOMNode **node);
3656
3657     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3658     HRESULT nodeName([retval, out] BSTR *p);
3659
3660     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3661     HRESULT nodeValue([in] VARIANT v);
3662
3663     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3664     HRESULT nodeValue([retval, out] VARIANT *p);
3665
3666     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3667     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3668
3669     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3670     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3671
3672     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3673     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3674
3675     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3676     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3677 }
3678
3679 #define WINE_IHTMLDOMNODE_DISPINTERFACE_DECL                            \
3680     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]                         \
3681     LONG nodeType();                                                    \
3682                                                                         \
3683     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]                       \
3684     IHTMLDOMNode* parentNode();                                         \
3685                                                                         \
3686     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]                             \
3687     VARIANT_BOOL hasChildNodes();                                       \
3688                                                                         \
3689     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]                       \
3690     IDispatch* childNodes();                                            \
3691                                                                         \
3692     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]                       \
3693     IDispatch* attributes();                                            \
3694                                                                         \
3695     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]                              \
3696     IHTMLDOMNode* insertBefore(                                         \
3697             [in] IHTMLDOMNode* newChild,                                \
3698             [optional, in] VARIANT refChild);                           \
3699                                                                         \
3700     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]                               \
3701     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);             \
3702                                                                         \
3703     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]                              \
3704     IHTMLDOMNode* replaceChild(                                         \
3705         [in] IHTMLDOMNode* newChild,                                    \
3706         [in] IHTMLDOMNode* oldChild);                                   \
3707                                                                         \
3708     [id(DISPID_IHTMLDOMNODE_CLONENODE)]                                 \
3709     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);                   \
3710                                                                         \
3711     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]                                \
3712     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep); \
3713                                                                         \
3714     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]                                  \
3715     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);               \
3716                                                                         \
3717     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]                               \
3718     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);          \
3719                                                                         \
3720     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]                               \
3721     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);             \
3722                                                                         \
3723     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]                         \
3724     BSTR nodeName();                                                    \
3725                                                                         \
3726     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3727     void nodeValue(VARIANT v);                                          \
3728                                                                         \
3729     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3730     VARIANT nodeValue();                                                \
3731                                                                         \
3732     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]                       \
3733     IHTMLDOMNode* firstChild();                                         \
3734                                                                         \
3735     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]                        \
3736     IHTMLDOMNode* lastChild();                                          \
3737                                                                         \
3738     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]                  \
3739     IHTMLDOMNode* previousSibling();                                    \
3740                                                                         \
3741     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]                      \
3742     IHTMLDOMNode* nextSibling()
3743
3744 /*****************************************************************************
3745  *    IHTMLDOMNode2 interface
3746  */
3747 [
3748     odl,
3749     oleautomation,
3750     dual,
3751     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3752 ]
3753 interface IHTMLDOMNode2 : IDispatch
3754 {
3755     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3756     HRESULT ownerDocument([retval, out] IDispatch **p);
3757 }
3758
3759 #define WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL           \
3760     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]   \
3761     IDispatch *ownerDocument()
3762
3763 #define WINE_HTMLDOMNODE_DISPINTERFACE_DECL     \
3764     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;       \
3765     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL
3766
3767 /*****************************************************************************
3768  *    IHTMLDOMAttribute interface
3769  */
3770 [
3771     odl,
3772     oleautomation,
3773     dual,
3774     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3775 ]
3776 interface IHTMLDOMAttribute : IDispatch
3777 {
3778     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3779     HRESULT nodeName([retval, out] BSTR *p);
3780
3781     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3782     HRESULT nodeValue([in] VARIANT v);
3783
3784     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3785     HRESULT nodeValue([retval, out] VARIANT *p);
3786
3787     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3788     HRESULT specified([retval, out] VARIANT_BOOL *p);
3789 }
3790
3791 /*****************************************************************************
3792  *    IHTMLDOMAttribute2 interface
3793  */
3794 [
3795     odl,
3796     oleautomation,
3797     dual,
3798     uuid(3050f810-98b5-11cf-bb82-00aa00bdce0b)
3799 ]
3800 interface IHTMLDOMAttribute2 : IDispatch
3801 {
3802     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3803     HRESULT name([retval, out] BSTR *p);
3804
3805     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3806     HRESULT value([in] BSTR v);
3807
3808     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3809     HRESULT value([retval, out] BSTR *p);
3810
3811     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3812     HRESULT expando([retval, out] VARIANT_BOOL *p);
3813
3814     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3815     HRESULT nodeType([retval, out] long *p);
3816
3817     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3818     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3819
3820     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
3821     HRESULT childNodes([retval, out] IDispatch **p);
3822
3823     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
3824     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3825
3826     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
3827     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3828
3829     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
3830     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3831
3832     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
3833     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3834
3835     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
3836     HRESULT attributes([retval, out] IDispatch **p);
3837
3838     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
3839     HRESULT ownerDocument([retval, out] IDispatch **p);
3840
3841     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
3842     HRESULT insertBefore(
3843             [in] IHTMLDOMNode *newChild,
3844             [optional, in] VARIANT refChild,
3845             [retval, out] IHTMLDOMNode **node);
3846
3847     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
3848     HRESULT replaceChild(
3849             [in] IHTMLDOMNode *newChild,
3850             [in] IHTMLDOMNode *oldChild,
3851             [retval, out] IHTMLDOMNode **node);
3852
3853     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
3854     HRESULT removeChild(
3855             [in] IHTMLDOMNode *oldChild,
3856             [retval, out] IHTMLDOMNode **node);
3857
3858     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
3859     HRESULT appendChild(
3860             [in] IHTMLDOMNode *newChild,
3861             [retval, out] IHTMLDOMNode **node);
3862
3863     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
3864     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3865
3866     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
3867     HRESULT cloneNode(
3868             [in] VARIANT_BOOL fDeep,
3869             [retval, out] IHTMLDOMAttribute **clonedNode);
3870 }
3871
3872 /*****************************************************************************
3873  *    IHTMLDOMTextNode interface
3874  */
3875 [
3876     odl,
3877     oleautomation,
3878     dual,
3879     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3880 ]
3881 interface IHTMLDOMTextNode : IDispatch
3882 {
3883     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3884     HRESULT data([in] BSTR v);
3885
3886     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3887     HRESULT data([out, retval] BSTR *p);
3888
3889     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3890     HRESULT toString([out, retval] BSTR *String);
3891
3892     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3893     HRESULT length([out, retval] LONG *p);
3894
3895     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3896     HRESULT splitText(
3897             [in] LONG offset,
3898             [out, retval] IHTMLDOMNode **pRetNode);
3899 }
3900
3901 /*****************************************************************************
3902  *    IHTMLDOMTextNode2 interface
3903  */
3904 [
3905     odl,
3906     oleautomation,
3907     dual,
3908     uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
3909 ]
3910 interface IHTMLDOMTextNode2 : IDispatch
3911 {
3912     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3913     HRESULT substringData([in] LONG offset,[in] LONG Count,[retval, out] BSTR* pbstrsubString);
3914
3915     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3916     HRESULT appendData([in] BSTR bstrstring);
3917
3918     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3919     HRESULT insertData([in] LONG offset,[in] BSTR bstrstring);
3920
3921     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3922     HRESULT deleteData([in] LONG offset,[in] LONG Count);
3923
3924     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3925     HRESULT replaceData([in] LONG offset,[in] LONG Count,[in] BSTR bstrstring);
3926 }
3927
3928 [
3929     noncreatable,
3930     uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
3931 ]
3932 coclass HTMLDOMTextNode
3933 {
3934     [default]           dispinterface DispHTMLDOMTextNode;
3935                         interface IHTMLDOMTextNode;
3936                         interface IHTMLDOMTextNode2;
3937                         interface IHTMLDOMNode;
3938                         interface IHTMLDOMNode2;
3939 }
3940
3941 /*****************************************************************************
3942  *    IHTMLDOMImplementation interface
3943  */
3944 [
3945     odl,
3946     oleautomation,
3947     dual,
3948     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3949 ]
3950 interface IHTMLDOMImplementation : IDispatch
3951 {
3952     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3953     HRESULT hasFeature(
3954         [in] BSTR bstrfeature,
3955         [optional, in] VARIANT version,
3956         [retval, out] VARIANT_BOOL *pfHasFeature);
3957 }
3958
3959 /*****************************************************************************
3960  *    DispHTMLDOMAttribute dispinterface
3961  */
3962 [
3963     hidden,
3964     uuid(3050f564-98b5-11cf-bb82-00aa00bdce0b)
3965 ]
3966 dispinterface DispHTMLDOMAttribute
3967 {
3968  properties:
3969     methods:
3970     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3971     BSTR nodeName();
3972
3973     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3974     void nodeValue(VARIANT v);
3975
3976     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3977     VARIANT nodeValue();
3978
3979     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3980     VARIANT_BOOL specified();
3981
3982     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3983     BSTR name();
3984
3985     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3986     void value(BSTR v);
3987
3988     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3989     BSTR value();
3990
3991     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3992     VARIANT_BOOL expando();
3993
3994     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3995     long nodeType();
3996
3997     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3998     IHTMLDOMNode *parentNode();
3999
4000     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
4001     IDispatch *childNodes();
4002
4003     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
4004     IHTMLDOMNode *firstChild();
4005
4006     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
4007     IHTMLDOMNode *lastChild();
4008
4009     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
4010     IHTMLDOMNode *previousSibling();
4011
4012     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
4013     IHTMLDOMNode *nextSibling();
4014
4015     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
4016     IDispatch *attributes();
4017
4018     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
4019     IDispatch *ownerDocument();
4020
4021     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
4022     IHTMLDOMNode *insertBefore(
4023             [in] IHTMLDOMNode *newChild,
4024             [optional, in] VARIANT refChild);
4025
4026     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
4027     IHTMLDOMNode *replaceChild(
4028             [in] IHTMLDOMNode *newChild,
4029             [in] IHTMLDOMNode *oldChild);
4030
4031     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
4032     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
4033
4034     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
4035     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
4036
4037     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
4038     VARIANT_BOOL hasChildNodes();
4039
4040     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
4041     IHTMLDOMAttribute *cloneNode([in] VARIANT_BOOL fDeep);
4042
4043     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
4044     void ie8_nodeValue(VARIANT v);
4045
4046     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
4047     VARIANT ie8_nodeValue();
4048
4049     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
4050     void ie8_value(BSTR v);
4051
4052     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
4053     BSTR ie8_value();
4054
4055     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_SPECIFIED)]
4056     VARIANT_BOOL ie8_specified();
4057
4058     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_OWNERELEMENT)]
4059     IHTMLElement2 *ownerElement();
4060
4061     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
4062 }
4063
4064 /*****************************************************************************
4065  *    IHTMLDocumentCompatibleInfo interface
4066  */
4067 [
4068     odl,
4069     oleautomation,
4070     dual,
4071     uuid(3051041a-98b5-11cf-bb82-00aa00bdce0b)
4072 ]
4073 interface IHTMLDocumentCompatibleInfo : IDispatch
4074 {
4075     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_USERAGENT)]
4076     HRESULT userAgent([retval, out] BSTR *p);
4077
4078     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_VERSION)]
4079     HRESULT version([retval, out] BSTR *p);
4080 }
4081
4082 /*****************************************************************************
4083  *    IHTMLDocumentCompatibleInfoCollection interface
4084  */
4085 [
4086     odl,
4087     oleautomation,
4088     dual,
4089     uuid(30510418-98b5-11cf-bb82-00aa00bdce0b)
4090 ]
4091 interface IHTMLDocumentCompatibleInfoCollection : IDispatch
4092 {
4093     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_LENGTH)]
4094     HRESULT length([retval, out] long *p);
4095
4096     [id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_ITEM)]
4097     HRESULT item([in] long i, [retval, out]IHTMLDocumentCompatibleInfo **p);
4098 }
4099
4100 /*****************************************************************************
4101  *    DispHTMLDOMTextNode dispinterface
4102  */
4103 [
4104     hidden,
4105     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
4106 ]
4107 dispinterface DispHTMLDOMTextNode
4108 {
4109 properties:
4110 methods:
4111     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4112     void data(BSTR v);
4113
4114     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4115     BSTR data();
4116
4117     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
4118     BSTR toString();
4119
4120     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
4121     LONG length();
4122
4123     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
4124     IHTMLDOMNode *splitText([in] LONG offset);
4125
4126     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
4127     BSTR substringData(
4128             [in] LONG offset,
4129             [in] LONG Count);
4130
4131     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
4132     void appendData([in] BSTR bstrstring);
4133
4134     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
4135     void insertData(
4136             [in] LONG offset,
4137             [in] BSTR bstrstring);
4138
4139     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
4140     void deleteData(
4141             [in] LONG offset,
4142             [in] LONG Count);
4143
4144     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
4145     void replaceData(
4146             [in] LONG offset,
4147             [in] LONG Count,
4148             [in] BSTR bstrstring);
4149
4150     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
4151 }
4152
4153 /*****************************************************************************
4154  *    IHTMLAttributeCollection interface
4155  */
4156 [
4157     odl,
4158     oleautomation,
4159     dual,
4160     uuid(3050f4c3-98b5-11cf-bb82-00aa00bdce0b)
4161 ]
4162 interface IHTMLAttributeCollection : IDispatch
4163 {
4164     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION_LENGTH)]
4165     HRESULT length(
4166             [retval, out] long *p);
4167
4168     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION__NEWENUM), hidden, restricted]
4169     HRESULT _newEnum(
4170             [retval, out] IUnknown **p);
4171
4172     [id(DISPID_IHTMLATTRIBUTECOLLECTION_ITEM)]
4173     HRESULT item(
4174             [optional, in] VARIANT *name,
4175             [retval, out] IDispatch **pdisp);
4176 }
4177
4178 /*****************************************************************************
4179  *    IHTMLAttributeCollection2 interface
4180  */
4181 [
4182     odl,
4183     oleautomation,
4184     dual,
4185     uuid(3050f80a-98b5-11cf-bb82-00aa00bdce0b)
4186     ]
4187 interface IHTMLAttributeCollection2 : IDispatch
4188 {
4189     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_GETNAMEDITEM)]
4190     HRESULT getNamedItem(
4191             [in] BSTR bstrName,
4192             [retval, out] IHTMLDOMAttribute **newretNode);
4193
4194     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_SETNAMEDITEM)]
4195     HRESULT setNamedItem(
4196             [in] IHTMLDOMAttribute *ppNode,
4197             [retval, out] IHTMLDOMAttribute **newretNode);
4198
4199     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_REMOVENAMEDITEM)]
4200     HRESULT removeNamedItem(
4201             [in] BSTR bstrName,
4202             [retval, out] IHTMLDOMAttribute **newretNode);
4203 }
4204
4205 /*****************************************************************************
4206  *    IHTMLAttributeCollection3 interface
4207  */
4208 [
4209     odl,
4210     oleautomation,
4211     dual,
4212     uuid(30510469-98b5-11cf-bb82-00aa00bdce0b)
4213 ]
4214 interface IHTMLAttributeCollection3 : IDispatch
4215 {
4216     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
4217     HRESULT getNamedItem(
4218             [in] BSTR bstrName,
4219             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4220
4221     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
4222     HRESULT setNamedItem(
4223             [in] IHTMLDOMAttribute *pNodeIn,
4224             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4225
4226     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
4227     HRESULT removeNamedItem(
4228             [in] BSTR bstrName,
4229             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4230
4231     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
4232     HRESULT item(
4233             [in] long index,
4234             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4235
4236     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
4237     HRESULT length([retval, out] long *p);
4238 }
4239
4240 /*****************************************************************************
4241  *    DispHTMLAttributeCollection dispinterface
4242  */
4243 [
4244     hidden,
4245     uuid(3050f56c-98b5-11cf-bb82-00aa00bdce0b)
4246 ]
4247 dispinterface DispHTMLAttributeCollection
4248 {
4249 properties:
4250 methods:
4251     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION_LENGTH)]
4252     long length();
4253
4254     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION__NEWENUM), hidden, restricted]
4255     IUnknown *_newEnum();
4256
4257     [id(DISPID_IHTMLATTRIBUTECOLLECTION_ITEM)]
4258     IDispatch *item([optional, in] VARIANT *name);
4259
4260     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_GETNAMEDITEM)]
4261     IHTMLDOMAttribute *getNamedItem([in] BSTR bstrName);
4262
4263     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_SETNAMEDITEM)]
4264     IHTMLDOMAttribute *setNamedItem([in] IHTMLDOMAttribute *ppNode);
4265
4266     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_REMOVENAMEDITEM)]
4267     IHTMLDOMAttribute *removeNamedItem([in] BSTR bstrName);
4268
4269     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
4270     IHTMLDOMAttribute *ie8_getNamedItem([in] BSTR bstrName);
4271
4272     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
4273     IHTMLDOMAttribute *ie8_setNamedItem([in] IHTMLDOMAttribute *pNodeIn);
4274
4275     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
4276     IHTMLDOMAttribute *ie8_removeNamedItem([in] BSTR bstrName);
4277
4278     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
4279     IHTMLDOMAttribute *ie8_item([in] long index);
4280
4281     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
4282     long ie8_length();
4283
4284     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
4285     IDispatch *constructor();
4286 }
4287
4288 /*****************************************************************************
4289  *    IHTMLDOMChildrenCollection interface
4290  */
4291 [
4292     odl,
4293     oleautomation,
4294     dual,
4295     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
4296 ]
4297 interface IHTMLDOMChildrenCollection : IDispatch
4298 {
4299     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
4300     HRESULT length([out, retval] LONG *p);
4301
4302     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
4303     HRESULT _newEnum([out, retval] IUnknown **p);
4304
4305     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
4306     HRESULT item(
4307             [in] LONG index,
4308             [out, retval] IDispatch **ppItem);
4309 }
4310
4311 /*****************************************************************************
4312  *    DispDOMChildrenCollection dispinterface
4313  */
4314 [
4315     hidden,
4316     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
4317 ]
4318 dispinterface DispDOMChildrenCollection
4319 {
4320 properties:
4321 methods:
4322     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
4323     LONG length();
4324
4325     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
4326     IUnknown *_newEnum();
4327
4328     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
4329     IDispatch *item([in] LONG index);
4330 }
4331
4332 interface IHTMLElementCollection;
4333
4334 /*****************************************************************************
4335  *    IHTMLElement interface
4336  */
4337 [
4338     odl,
4339     dual,
4340     oleautomation,
4341     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
4342 ]
4343 interface IHTMLElement : IDispatch
4344 {
4345     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
4346     HRESULT setAttribute(
4347         [in] BSTR strAttributeName,
4348         [in] VARIANT AttributeValue,
4349         [defaultvalue(1), in] LONG lFlags);
4350
4351     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
4352     HRESULT getAttribute(
4353         [in] BSTR strAttributeName,
4354         [defaultvalue(0), in] LONG lFlags,
4355         [retval, out] VARIANT *AttributeValue);
4356
4357     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
4358     HRESULT removeAttribute(
4359         [in] BSTR strAttributeName,
4360         [defaultvalue(1), in] LONG lFlags,
4361         [retval, out] VARIANT_BOOL *pfSuccess);
4362
4363     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
4364     HRESULT className([in] BSTR v);
4365
4366     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
4367     HRESULT className([retval, out] BSTR *p);
4368
4369     [propput, id(DISPID_IHTMLELEMENT_ID)]
4370     HRESULT id([in] BSTR v);
4371
4372     [propget, id(DISPID_IHTMLELEMENT_ID)]
4373     HRESULT id([retval, out] BSTR *p);
4374
4375     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4376     HRESULT tagName([retval, out] BSTR *p);
4377
4378     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4379     HRESULT parentElement([retval, out] IHTMLElement **p);
4380
4381     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
4382     HRESULT style([retval, out] IHTMLStyle **p);
4383
4384     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
4385     HRESULT onhelp([in] VARIANT v);
4386
4387     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
4388     HRESULT onhelp([retval, out] VARIANT *p);
4389
4390     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
4391     HRESULT onclick([in] VARIANT v);
4392
4393     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
4394     HRESULT onclick([retval, out] VARIANT *p);
4395
4396     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4397     HRESULT ondblclick([in] VARIANT v);
4398
4399     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4400     HRESULT ondblclick([retval, out] VARIANT *p);
4401
4402     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4403     HRESULT onkeydown([in] VARIANT v);
4404
4405     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4406     HRESULT onkeydown([retval, out] VARIANT *p);
4407
4408     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4409     HRESULT onkeyup([in] VARIANT v);
4410
4411     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4412     HRESULT onkeyup([retval, out] VARIANT *p);
4413
4414     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4415     HRESULT onkeypress([in] VARIANT v);
4416
4417     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4418     HRESULT onkeypress([retval, out] VARIANT *p);
4419
4420     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4421     HRESULT onmouseout([in] VARIANT v);
4422
4423     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4424     HRESULT onmouseout([retval, out] VARIANT *p);
4425
4426     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4427     HRESULT onmouseover([in] VARIANT v);
4428
4429     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4430     HRESULT onmouseover([retval, out] VARIANT *p);
4431
4432     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4433     HRESULT onmousemove([in] VARIANT v);
4434
4435     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4436     HRESULT onmousemove([retval, out] VARIANT *p);
4437
4438     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4439     HRESULT onmousedown([in] VARIANT v);
4440
4441     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4442     HRESULT onmousedown([retval, out] VARIANT *p);
4443
4444     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4445     HRESULT onmouseup([in] VARIANT v);
4446
4447     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4448     HRESULT onmouseup([retval, out] VARIANT *p);
4449
4450     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4451     HRESULT document([retval, out] IDispatch **p);
4452
4453     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
4454     HRESULT title([in] BSTR v);
4455
4456     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
4457     HRESULT title([retval, out] BSTR *p);
4458
4459     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4460     HRESULT language([in] BSTR v);
4461
4462     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4463     HRESULT language([retval, out] BSTR *p);
4464
4465     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4466     HRESULT onselectstart([in] VARIANT v);
4467
4468     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4469     HRESULT onselectstart([retval, out] VARIANT *p);
4470
4471     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4472     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
4473
4474     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4475     HRESULT contains(
4476         [in] IHTMLElement *pChild,
4477         [retval, out] VARIANT_BOOL *pfResult);
4478
4479     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
4480     HRESULT sourceIndex([retval, out] LONG *p);
4481
4482     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4483     HRESULT recordNumber([retval, out] VARIANT *p);
4484
4485     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4486     HRESULT lang([in] BSTR v);
4487
4488     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4489     HRESULT lang([retval, out] BSTR *p);
4490
4491     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4492     HRESULT offsetLeft([retval, out] LONG *p);
4493
4494     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4495     HRESULT offsetTop([retval, out] LONG *p);
4496
4497     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4498     HRESULT offsetWidth([retval, out] LONG *p);
4499
4500     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4501     HRESULT offsetHeight([retval, out] LONG *p);
4502
4503     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4504     HRESULT offsetParent([retval, out] IHTMLElement **p);
4505
4506     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4507     HRESULT innerHTML([in] BSTR v);
4508
4509     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4510     HRESULT innerHTML([retval, out] BSTR *p);
4511
4512     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4513     HRESULT innerText([in] BSTR v);
4514
4515     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4516     HRESULT innerText([retval, out] BSTR *p);
4517
4518     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4519     HRESULT outerHTML([in] BSTR v);
4520
4521     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4522     HRESULT outerHTML([retval, out] BSTR *p);
4523
4524     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4525     HRESULT outerText([in] BSTR v);
4526
4527     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4528     HRESULT outerText([retval, out] BSTR *p);
4529
4530     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4531     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
4532
4533     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4534     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
4535
4536     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4537     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
4538
4539     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4540     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
4541
4542     [id(DISPID_IHTMLELEMENT_CLICK)]
4543     HRESULT click();
4544
4545     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4546     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
4547
4548     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4549     HRESULT ondragstart([in] VARIANT v);
4550
4551     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4552     HRESULT ondragstart([retval, out] VARIANT *p);
4553
4554     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4555     HRESULT toString([retval, out] BSTR *String);
4556
4557     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4558     HRESULT onbeforeupdate([in] VARIANT v);
4559
4560     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4561     HRESULT onbeforeupdate([retval, out] VARIANT *p);
4562
4563     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4564     HRESULT onafterupdate([in] VARIANT v);
4565
4566     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4567     HRESULT onafterupdate([retval, out] VARIANT *p);
4568
4569     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4570     HRESULT onerrorupdate([in] VARIANT v);
4571
4572     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4573     HRESULT onerrorupdate([retval, out] VARIANT *p);
4574
4575     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4576     HRESULT onrowexit([in] VARIANT v);
4577
4578     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4579     HRESULT onrowexit([retval, out] VARIANT *p);
4580
4581     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4582     HRESULT onrowenter([in] VARIANT v);
4583
4584     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4585     HRESULT onrowenter([retval, out] VARIANT *p);
4586
4587     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4588     HRESULT ondatasetchanged([in] VARIANT v);
4589
4590     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4591     HRESULT ondatasetchanged([retval, out] VARIANT *p);
4592
4593     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4594     HRESULT ondataavailable([in] VARIANT v);
4595
4596     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4597     HRESULT ondataavailable([retval, out] VARIANT *p);
4598
4599     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4600     HRESULT ondatasetcomplete([in] VARIANT v);
4601
4602     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4603     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
4604
4605     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4606     HRESULT onfilterchange([in] VARIANT v);
4607
4608     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4609     HRESULT onfilterchange([retval, out] VARIANT *p);
4610
4611     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4612     HRESULT children([retval, out] IDispatch **p);
4613
4614     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4615     HRESULT all([retval, out] IDispatch **p);
4616 }
4617
4618 #define WINE_IHTMLELEMENT_DISPINTERFACE_DECL                            \
4619     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]                              \
4620     void setAttribute(                                                  \
4621         [in] BSTR strAttributeName,                                     \
4622         [in] VARIANT AttValue,                                          \
4623         [defaultvalue(1), in] LONG lFlags);                             \
4624                                                                         \
4625     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]                              \
4626     VARIANT getAttribute(                                               \
4627         [in] BSTR strAttributeName,                                     \
4628         [defaultvalue(0), in] LONG lFlags);                             \
4629                                                                         \
4630     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]                           \
4631     VARIANT_BOOL removeAttribute(                                       \
4632         [in] BSTR strAttributeName,                                     \
4633         [defaultvalue(1), in] LONG lFlags);                             \
4634                                                                         \
4635     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4636     void className(BSTR v);                                             \
4637                                                                         \
4638     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4639     BSTR className();                                                   \
4640                                                                         \
4641     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4642     void id(BSTR v);                                                    \
4643                                                                         \
4644     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4645     BSTR id();                                                          \
4646                                                                         \
4647     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]                          \
4648     BSTR tagName();                                                     \
4649                                                                         \
4650     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]                    \
4651     IHTMLElement *parentElement();                                      \
4652                                                                         \
4653     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]              \
4654     IHTMLStyle *style();                                                \
4655                                                                         \
4656     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4657     void onhelp(VARIANT v);                                             \
4658                                                                         \
4659     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4660     VARIANT onhelp();                                                   \
4661                                                                         \
4662     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4663     void onclick(VARIANT v);                                            \
4664                                                                         \
4665     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4666     VARIANT onclick();                                                  \
4667                                                                         \
4668     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4669     void ondblclick(VARIANT v);                                         \
4670                                                                         \
4671     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4672     VARIANT ondblclick();                                               \
4673                                                                         \
4674     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4675     void onkeydown(VARIANT v);                                          \
4676                                                                         \
4677     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4678     VARIANT onkeydown();                                                \
4679                                                                         \
4680     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4681     void onkeyup(VARIANT v);                                            \
4682                                                                         \
4683     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4684     VARIANT onkeyup();                                                  \
4685                                                                         \
4686     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4687     void onkeypress(VARIANT v);                                         \
4688                                                                         \
4689     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4690     VARIANT onkeypress();                                               \
4691                                                                         \
4692     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4693     void onmouseout(VARIANT v);                                         \
4694                                                                         \
4695     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4696     VARIANT onmouseout();                                               \
4697                                                                         \
4698     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4699     void onmouseover(VARIANT v);                                        \
4700                                                                         \
4701     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4702     VARIANT onmouseover();                                              \
4703                                                                         \
4704     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4705     void onmousemove(VARIANT v);                                        \
4706                                                                         \
4707     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4708     VARIANT onmousemove();                                              \
4709                                                                         \
4710     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4711     void onmousedown(VARIANT v);                                        \
4712                                                                         \
4713     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4714     VARIANT onmousedown();                                              \
4715                                                                         \
4716     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4717     void onmouseup(VARIANT v);                                          \
4718                                                                         \
4719     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4720     VARIANT onmouseup();                                                \
4721                                                                         \
4722     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();  \
4723                                                                         \
4724     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4725     void title(BSTR v);                                                 \
4726                                                                         \
4727     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4728     BSTR title();                                                       \
4729                                                                         \
4730     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4731     void language(BSTR v);                                              \
4732                                                                         \
4733     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4734     BSTR language();                                                    \
4735                                                                         \
4736     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4737     void onselectstart(VARIANT v);                                      \
4738                                                                         \
4739     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4740     VARIANT onselectstart();                                            \
4741                                                                         \
4742     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]                            \
4743     void scrollIntoView([optional, in] VARIANT varargStart);            \
4744                                                                         \
4745     [id(DISPID_IHTMLELEMENT_CONTAINS)]                                  \
4746     VARIANT_BOOL contains([in] IHTMLElement* pChild);                   \
4747                                                                         \
4748     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]            \
4749     LONG sourceIndex();                                                 \
4750                                                                         \
4751     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]                     \
4752     VARIANT recordNumber();                                             \
4753                                                                         \
4754     [propput, id(DISPID_IHTMLELEMENT_LANG)]                             \
4755     void lang(BSTR v);                                                  \
4756                                                                         \
4757     [propget, id(DISPID_IHTMLELEMENT_LANG)]                             \
4758     BSTR lang();                                                        \
4759                                                                         \
4760     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]                       \
4761     LONG offsetLeft();                                                  \
4762                                                                         \
4763     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]                        \
4764     LONG offsetTop();                                                   \
4765                                                                         \
4766     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]                      \
4767     LONG offsetWidth();                                                 \
4768                                                                         \
4769     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]                     \
4770     LONG offsetHeight();                                                \
4771                                                                         \
4772     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]                     \
4773     IHTMLElement* offsetParent();                                       \
4774                                                                         \
4775     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4776     void innerHTML(BSTR v);                                             \
4777                                                                         \
4778     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4779     BSTR innerHTML();                                                   \
4780                                                                         \
4781     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4782     void innerText(BSTR v);                                             \
4783                                                                         \
4784     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4785     BSTR innerText();                                                   \
4786                                                                         \
4787     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4788     void outerHTML(BSTR v);                                             \
4789                                                                         \
4790     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4791     BSTR outerHTML();                                                   \
4792                                                                         \
4793     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4794     void outerText(BSTR v);                                             \
4795                                                                         \
4796     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4797     BSTR outerText();                                                   \
4798                                                                         \
4799     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]                        \
4800     void insertAdjacentHTML(                                            \
4801         [in] BSTR where,                                                \
4802         [in] BSTR html);                                                \
4803                                                                         \
4804     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]                        \
4805     void insertAdjacentText(                                            \
4806         [in] BSTR where,                                                \
4807         [in] BSTR text);                                                \
4808                                                                         \
4809     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]                   \
4810     IHTMLElement* parentTextEdit();                                     \
4811                                                                         \
4812     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]                       \
4813     VARIANT_BOOL isTextEdit();                                          \
4814                                                                         \
4815     [id(DISPID_IHTMLELEMENT_CLICK)]                                     \
4816     void click();                                                       \
4817                                                                         \
4818     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]                          \
4819     IHTMLFiltersCollection* filters();                                  \
4820                                                                         \
4821     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4822     void ondragstart(VARIANT v);                                        \
4823                                                                         \
4824     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4825     VARIANT ondragstart();                                              \
4826                                                                         \
4827     [id(DISPID_IHTMLELEMENT_TOSTRING)]                                  \
4828     BSTR toString();                                                    \
4829                                                                         \
4830     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4831     void onbeforeupdate(VARIANT v);                                     \
4832                                                                         \
4833     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4834     VARIANT onbeforeupdate();                                           \
4835                                                                         \
4836     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4837     void onafterupdate(VARIANT v);                                      \
4838                                                                         \
4839     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4840     VARIANT onafterupdate();                                            \
4841                                                                         \
4842     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4843     void onerrorupdate(VARIANT v);                                      \
4844                                                                         \
4845     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4846     VARIANT onerrorupdate();                                            \
4847                                                                         \
4848     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4849     void onrowexit(VARIANT v);                                          \
4850                                                                         \
4851     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4852     VARIANT onrowexit();                                                \
4853                                                                         \
4854     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4855     void onrowenter(VARIANT v);                                         \
4856                                                                         \
4857     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4858     VARIANT onrowenter();                                               \
4859                                                                         \
4860     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4861     void ondatasetchanged(VARIANT v);                                   \
4862                                                                         \
4863     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4864     VARIANT ondatasetchanged();                                         \
4865                                                                         \
4866     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4867     void ondataavailable(VARIANT v);                                    \
4868                                                                         \
4869     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4870     VARIANT ondataavailable();                                          \
4871                                                                         \
4872     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4873     void ondatasetcomplete(VARIANT v);                                  \
4874                                                                         \
4875     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4876     VARIANT ondatasetcomplete();                                        \
4877                                                                         \
4878     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4879     void onfilterchange(VARIANT v);                                     \
4880                                                                         \
4881     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4882     VARIANT onfilterchange();                                           \
4883                                                                         \
4884     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]                         \
4885     IDispatch* children();                                              \
4886                                                                         \
4887     [propget, id(DISPID_IHTMLELEMENT_ALL)]                              \
4888     IDispatch* all()
4889
4890 /*****************************************************************************
4891  *    IHTMLElement2 interface
4892  */
4893 [
4894     odl,
4895     oleautomation,
4896     dual,
4897     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
4898 ]
4899 interface IHTMLElement2 : IDispatch
4900 {
4901     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4902     HRESULT scopeName([retval, out] BSTR *p);
4903
4904     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4905     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
4906
4907     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4908     HRESULT releaseCapture();
4909
4910     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4911     HRESULT onlosecapture([in] VARIANT v);
4912
4913     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4914     HRESULT onlosecapture([retval, out] VARIANT *p);
4915
4916     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4917     HRESULT componentFromPoint(
4918         [in] LONG x,
4919         [in] LONG y,
4920         [retval, out] BSTR *component);
4921
4922     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4923     HRESULT doScroll([optional, in] VARIANT component);
4924
4925     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4926     HRESULT onscroll([in] VARIANT v);
4927
4928     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4929     HRESULT onscroll([retval, out] VARIANT *p);
4930
4931     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4932     HRESULT ondrag([in] VARIANT v);
4933
4934     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4935     HRESULT ondrag([retval, out] VARIANT *p);
4936
4937     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4938     HRESULT ondragend([in] VARIANT v);
4939
4940     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4941     HRESULT ondragend([retval, out] VARIANT *p);
4942
4943     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4944     HRESULT ondragenter([in] VARIANT v);
4945
4946     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4947     HRESULT ondragenter([retval, out] VARIANT *p);
4948
4949     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4950     HRESULT ondragover([in] VARIANT v);
4951
4952     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4953     HRESULT ondragover([retval, out] VARIANT *p);
4954
4955     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4956     HRESULT ondragleave([in] VARIANT v);
4957
4958     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4959     HRESULT ondragleave([retval, out] VARIANT *p);
4960
4961     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4962     HRESULT ondrop([in] VARIANT v);
4963
4964     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4965     HRESULT ondrop([retval, out] VARIANT *p);
4966
4967     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4968     HRESULT onbeforecut([in] VARIANT v);
4969
4970     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4971     HRESULT onbeforecut([retval, out] VARIANT *p);
4972
4973     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4974     HRESULT oncut([in] VARIANT v);
4975
4976     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4977     HRESULT oncut([retval, out] VARIANT *p);
4978
4979     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4980     HRESULT onbeforecopy([in] VARIANT v);
4981
4982     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4983     HRESULT onbeforecopy([retval, out] VARIANT *p);
4984
4985     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4986     HRESULT oncopy([in] VARIANT v);
4987
4988     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4989     HRESULT oncopy([retval, out] VARIANT *p);
4990
4991     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4992     HRESULT onbeforepaste([in] VARIANT v);
4993
4994     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4995     HRESULT onbeforepaste([retval, out] VARIANT *p);
4996
4997     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4998     HRESULT onpaste([in] VARIANT v);
4999
5000     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5001     HRESULT onpaste([retval, out] VARIANT *p);
5002
5003     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
5004     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
5005
5006     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5007     HRESULT onpropertychange([in] VARIANT v);
5008
5009     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5010     HRESULT onpropertychange([retval, out] VARIANT *p);
5011
5012     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
5013     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
5014
5015     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
5016     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
5017
5018     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
5019     HRESULT setExpression(
5020         [in] BSTR propname,
5021         [in] BSTR expression,
5022         [defaultvalue(""), in] BSTR language);
5023
5024     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
5025     HRESULT getExpression(
5026         [in] BSTR propname,
5027         [retval, out] VARIANT *expression);
5028
5029     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
5030     HRESULT removeExpression(
5031         [in] BSTR propname,
5032         [retval, out] VARIANT_BOOL *pfSuccess);
5033
5034     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5035     HRESULT tabIndex([in] short v);
5036
5037     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5038     HRESULT tabIndex([retval, out] short *p);
5039
5040     [id(DISPID_IHTMLELEMENT2_FOCUS)]
5041     HRESULT focus();
5042
5043     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5044     HRESULT accessKey([in] BSTR v);
5045
5046     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5047     HRESULT accessKey([retval, out] BSTR *p);
5048
5049     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5050     HRESULT onblur([in] VARIANT v);
5051
5052     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5053     HRESULT onblur([retval, out] VARIANT *p);
5054
5055     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5056     HRESULT onfocus([in] VARIANT v);
5057
5058     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5059     HRESULT onfocus([retval, out] VARIANT *p);
5060
5061     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5062     HRESULT onresize([in] VARIANT v);
5063
5064     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5065     HRESULT onresize([retval, out] VARIANT *p);
5066
5067     [id(DISPID_IHTMLELEMENT2_BLUR)]
5068     HRESULT blur();
5069
5070     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
5071     HRESULT addFilter([in] IUnknown *pUnk);
5072
5073     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
5074     HRESULT removeFilter([in] IUnknown *pUnk);
5075
5076     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
5077     HRESULT clientHeight([retval, out] LONG *p);
5078
5079     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
5080     HRESULT clientWidth([retval, out] LONG *p);
5081
5082     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
5083     HRESULT clientTop([retval, out] LONG *p);
5084
5085     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
5086     HRESULT clientLeft([retval, out] LONG *p);
5087
5088     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
5089     HRESULT attachEvent(
5090         [in] BSTR event,
5091         [in] IDispatch *pDisp,
5092         [retval, out] VARIANT_BOOL *pfResult);
5093
5094     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
5095     HRESULT detachEvent(
5096         [in] BSTR event,
5097         [in] IDispatch *pDisp);
5098
5099     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
5100     HRESULT readyState([retval, out] VARIANT *p);
5101
5102     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5103     HRESULT onreadystatechange([in] VARIANT v);
5104
5105     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5106     HRESULT onreadystatechange([retval, out] VARIANT *p);
5107
5108     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5109     HRESULT onrowsdelete([in] VARIANT v);
5110
5111     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5112     HRESULT onrowsdelete([retval, out] VARIANT *p);
5113
5114     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5115     HRESULT onrowsinserted([in] VARIANT v);
5116
5117     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5118     HRESULT onrowsinserted([retval, out] VARIANT *p);
5119
5120     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5121     HRESULT oncellchange([in] VARIANT v);
5122
5123     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5124     HRESULT oncellchange([retval, out] VARIANT *p);
5125
5126     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5127     HRESULT dir([in] BSTR v);
5128
5129     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5130     HRESULT dir([retval, out] BSTR *p);
5131
5132     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5133     HRESULT createControlRange([retval, out] IDispatch **range);
5134
5135     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5136     HRESULT scrollHeight([retval, out] LONG *p);
5137
5138     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5139     HRESULT scrollWidth([retval, out] LONG *p);
5140
5141     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5142     HRESULT scrollTop([in] LONG v);
5143
5144     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5145     HRESULT scrollTop([retval, out] LONG *p);
5146
5147     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5148     HRESULT scrollLeft([in] LONG v);
5149
5150     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5151     HRESULT scrollLeft([retval, out] LONG *p);
5152
5153     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5154     HRESULT clearAttributes();
5155
5156     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
5157     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
5158
5159     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5160     HRESULT oncontextmenu([in] VARIANT v);
5161
5162     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5163     HRESULT oncontextmenu([retval, out] VARIANT *p);
5164
5165     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5166     HRESULT insertAdjacentElement(
5167         [in] BSTR where,
5168         [in] IHTMLElement *insertedElement,
5169         [retval, out] IHTMLElement **inserted);
5170
5171     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5172     HRESULT applyElement(
5173         [in] IHTMLElement *apply,
5174         [in] BSTR where,
5175         [retval, out] IHTMLElement **applied);
5176
5177     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5178     HRESULT getAdjacentText(
5179         [in] BSTR where,
5180         [retval, out] BSTR *text);
5181
5182     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5183     HRESULT replaceAdjacentText(
5184         [in] BSTR where,
5185         [in] BSTR newText,
5186         [retval, out] BSTR *oldText);
5187
5188     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5189     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
5190
5191     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5192     HRESULT addBehavior(
5193         [in] BSTR bstrUrl,
5194         [optional, in] VARIANT *pvarFactory,
5195         [retval, out] LONG *pCookie);
5196
5197     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5198     HRESULT removeBehavior(
5199         [in] LONG cookie,
5200         [retval, out] VARIANT_BOOL *pfResult);
5201
5202     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5203     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
5204
5205     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5206     HRESULT behaviorUrns([retval, out] IDispatch **p);
5207
5208     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5209     HRESULT tagUrn([in] BSTR v);
5210
5211     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5212     HRESULT tagUrn([retval, out] BSTR *p);
5213
5214     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5215     HRESULT onbeforeeditfocus([in] VARIANT v);
5216
5217     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5218     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
5219
5220     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5221     HRESULT readyStateValue([retval, out] LONG *p);
5222
5223     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5224     HRESULT getElementsByTagName(
5225         [in] BSTR v,
5226         [retval, out] IHTMLElementCollection **pelColl);
5227 }
5228
5229 #define WINE_IHTMLELEMENT2_DISPINTERFACE_DECL                           \
5230     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]                       \
5231     BSTR scopeName();                                                   \
5232                                                                         \
5233     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]                               \
5234     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture); \
5235                                                                         \
5236     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]                           \
5237     void releaseCapture();                                              \
5238                                                                         \
5239     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
5240     void onlosecapture(VARIANT v);                                      \
5241                                                                         \
5242     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
5243     VARIANT onlosecapture();                                            \
5244                                                                         \
5245     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]                       \
5246     BSTR componentFromPoint([in] LONG x,[in] LONG y);                   \
5247                                                                         \
5248     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]                                 \
5249     void doScroll([optional, in] VARIANT component);                    \
5250                                                                         \
5251     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
5252     void onscroll(VARIANT v);                                           \
5253                                                                         \
5254     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
5255     VARIANT onscroll();                                                 \
5256                                                                         \
5257     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
5258     void ondrag(VARIANT v);                                             \
5259                                                                         \
5260     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
5261     VARIANT ondrag();                                                   \
5262                                                                         \
5263     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
5264     void ondragend(VARIANT v);                                          \
5265                                                                         \
5266     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
5267     VARIANT ondragend();                                                \
5268                                                                         \
5269     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
5270     void ondragenter(VARIANT v);                                        \
5271                                                                         \
5272     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
5273     VARIANT ondragenter();                                              \
5274                                                                         \
5275     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
5276     void ondragover(VARIANT v);                                         \
5277                                                                         \
5278     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
5279     VARIANT ondragover();                                               \
5280                                                                         \
5281     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
5282     void ondragleave(VARIANT v);                                        \
5283                                                                         \
5284     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
5285     VARIANT ondragleave();                                              \
5286                                                                         \
5287     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
5288     void ondrop(VARIANT v);                                             \
5289                                                                         \
5290     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
5291     VARIANT ondrop();                                                   \
5292                                                                         \
5293     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
5294     void onbeforecut(VARIANT v);                                        \
5295                                                                         \
5296     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
5297     VARIANT onbeforecut();                                              \
5298                                                                         \
5299     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
5300     void oncut(VARIANT v);                                              \
5301                                                                         \
5302     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
5303     VARIANT oncut();                                                    \
5304                                                                         \
5305     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
5306     void onbeforecopy(VARIANT v);                                       \
5307                                                                         \
5308     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
5309     VARIANT onbeforecopy();                                             \
5310                                                                         \
5311     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
5312     void oncopy(VARIANT v);                                             \
5313                                                                         \
5314     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
5315     VARIANT oncopy();                                                   \
5316                                                                         \
5317     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
5318     void onbeforepaste(VARIANT v);                                      \
5319                                                                         \
5320     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
5321     VARIANT onbeforepaste();                                            \
5322                                                                         \
5323     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
5324     void onpaste(VARIANT v);                                            \
5325                                                                         \
5326     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
5327     VARIANT onpaste();                                                  \
5328                                                                         \
5329     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]      \
5330     IHTMLCurrentStyle* currentStyle();                                  \
5331                                                                         \
5332     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
5333     void onpropertychange(VARIANT v);                                   \
5334                                                                         \
5335     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
5336     VARIANT onpropertychange();                                         \
5337                                                                         \
5338     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]                           \
5339     IHTMLRectCollection* getClientRects();                              \
5340                                                                         \
5341     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]                    \
5342     IHTMLRect* getBoundingClientRect();                                 \
5343                                                                         \
5344     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]                            \
5345     void setExpression(                                                 \
5346         [in] BSTR propname,                                             \
5347         [in] BSTR expr,                                                 \
5348         [defaultvalue(""), in] BSTR lang);                              \
5349                                                                         \
5350     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]                            \
5351     VARIANT getExpression([in] BSTR propname);                          \
5352                                                                         \
5353     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]                         \
5354     VARIANT_BOOL removeExpression([in] BSTR propname);                  \
5355                                                                         \
5356     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
5357     void tabIndex(short v);                                             \
5358                                                                         \
5359     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
5360     short tabIndex();                                                   \
5361                                                                         \
5362     [id(DISPID_IHTMLELEMENT2_FOCUS)]                                    \
5363     void focus();                                                       \
5364                                                                         \
5365     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
5366     void accessKey(BSTR v);                                             \
5367                                                                         \
5368     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
5369     BSTR accessKey();                                                   \
5370                                                                         \
5371     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5372     void onblur(VARIANT v);                                             \
5373                                                                         \
5374     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5375     VARIANT onblur();                                                   \
5376                                                                         \
5377     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5378     void onfocus(VARIANT v);                                            \
5379                                                                         \
5380     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5381     VARIANT onfocus();                                                  \
5382                                                                         \
5383     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5384     void onresize(VARIANT v);                                           \
5385                                                                         \
5386     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5387     VARIANT onresize();                                                 \
5388                                                                         \
5389     [id(DISPID_IHTMLELEMENT2_BLUR)]                                     \
5390     void blur();                                                        \
5391                                                                         \
5392     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]                                \
5393     void addFilter([in] IUnknown* pUnk);                                \
5394                                                                         \
5395     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]                             \
5396     void removeFilter([in] IUnknown* pUnk);                             \
5397                                                                         \
5398     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] \
5399     LONG clientHeight();                                                \
5400                                                                         \
5401     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] \
5402     LONG clientWidth();                                                 \
5403                                                                         \
5404     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] \
5405     LONG clientTop();                                                   \
5406                                                                         \
5407     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] \
5408     LONG clientLeft();                                                  \
5409                                                                         \
5410     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]                              \
5411     VARIANT_BOOL attachEvent(                                           \
5412             [in] BSTR event,                                            \
5413             [in] IDispatch* pDisp);                                     \
5414                                                                         \
5415     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]                              \
5416     void detachEvent(                                                   \
5417             [in] BSTR event,                                            \
5418             [in] IDispatch* pDisp);                                     \
5419                                                                         \
5420     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState(); \
5421                                                                         \
5422     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5423     void onreadystatechange(VARIANT v);                                 \
5424                                                                         \
5425     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5426     VARIANT onreadystatechange();                                       \
5427                                                                         \
5428     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5429     void onrowsdelete(VARIANT v);                                       \
5430                                                                         \
5431     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5432     VARIANT onrowsdelete();                                             \
5433                                                                         \
5434     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5435     void onrowsinserted(VARIANT v);                                     \
5436                                                                         \
5437     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5438     VARIANT onrowsinserted();                                           \
5439                                                                         \
5440     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5441     void oncellchange(VARIANT v);                                       \
5442                                                                         \
5443     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5444     VARIANT oncellchange();                                             \
5445                                                                         \
5446     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5447     void dir(BSTR v);                                                   \
5448                                                                         \
5449     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5450     BSTR dir();                                                         \
5451                                                                         \
5452     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]                       \
5453     IDispatch* createControlRange();                                    \
5454                                                                         \
5455     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] \
5456     LONG scrollHeight();                                                \
5457                                                                         \
5458     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] \
5459     LONG scrollWidth();                                                 \
5460                                                                         \
5461     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5462     void scrollTop(LONG v);                                             \
5463                                                                         \
5464     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5465     LONG scrollTop();                                                   \
5466                                                                         \
5467     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5468     void scrollLeft(LONG v);                                            \
5469                                                                         \
5470     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5471     LONG scrollLeft();                                                  \
5472                                                                         \
5473     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]                          \
5474     void clearAttributes();                                             \
5475                                                                         \
5476     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5477     void oncontextmenu(VARIANT v);                                      \
5478                                                                         \
5479     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5480     VARIANT oncontextmenu();                                            \
5481                                                                         \
5482     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]                    \
5483     IHTMLElement* insertAdjacentElement(                                \
5484         [in] BSTR where,                                                \
5485         [in] IHTMLElement* insertedElement);                            \
5486                                                                         \
5487     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]                             \
5488     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where); \
5489                                                                         \
5490     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]                          \
5491     BSTR getAdjacentText([in] BSTR where);                              \
5492                                                                         \
5493     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]                      \
5494     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);        \
5495                                                                         \
5496     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]                 \
5497     VARIANT_BOOL canHaveChildren();                                     \
5498                                                                         \
5499     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]                              \
5500     LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory); \
5501                                                                         \
5502     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]                           \
5503     VARIANT_BOOL removeBehavior([in] LONG cookie);                      \
5504                                                                         \
5505     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]      \
5506     IHTMLStyle* runtimeStyle();                                         \
5507                                                                         \
5508     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]                    \
5509     IDispatch* behaviorUrns();                                          \
5510                                                                         \
5511     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5512     void tagUrn(BSTR v);                                                \
5513                                                                         \
5514     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5515     BSTR tagUrn();                                                      \
5516                                                                         \
5517     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5518     void onbeforeeditfocus(VARIANT v);                                  \
5519                                                                         \
5520     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5521     VARIANT onbeforeeditfocus();                                        \
5522                                                                         \
5523     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] \
5524     LONG readyStateValue();                                             \
5525                                                                         \
5526     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]                     \
5527     IHTMLElementCollection* getElementsByTagName([in] BSTR v)
5528
5529 /*****************************************************************************
5530  *    IHTMLElement3 interface
5531  */
5532 [
5533     odl,
5534     oleautomation,
5535     dual,
5536     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
5537 ]
5538 interface IHTMLElement3 : IDispatch
5539 {
5540     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
5541     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
5542
5543     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5544     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
5545
5546     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5547     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
5548
5549     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5550     HRESULT onlayoutcomplete([in] VARIANT v);
5551
5552     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5553     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
5554
5555     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5556     HRESULT onpage([in] VARIANT v);
5557
5558     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5559     HRESULT onpage([retval, out] VARIANT * p);
5560
5561     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5562     HRESULT inflateBlock([in] VARIANT_BOOL v);
5563
5564     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5565     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
5566
5567     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5568     HRESULT onbeforedeactivate([in] VARIANT v);
5569
5570     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5571     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
5572
5573     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
5574
5575     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5576     HRESULT contentEditable([in] BSTR v);
5577
5578     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5579     HRESULT contentEditable([retval, out] BSTR * p);
5580
5581     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5582     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
5583
5584     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5585     HRESULT hideFocus([in] VARIANT_BOOL v);
5586
5587     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5588     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
5589
5590     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5591     HRESULT disabled([in] VARIANT_BOOL v);
5592
5593     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5594     HRESULT disabled([retval, out] VARIANT_BOOL * p);
5595
5596     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5597     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
5598
5599     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5600     HRESULT onmove([in] VARIANT v);
5601
5602     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5603     HRESULT onmove([retval, out] VARIANT * p);
5604
5605     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5606     HRESULT oncontrolselect([in] VARIANT v);
5607
5608     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5609     HRESULT oncontrolselect([retval, out] VARIANT * p);
5610
5611     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5612     HRESULT fireEvent(
5613         [in] BSTR bstrEventName,
5614         [optional, in] VARIANT* pvarEventObject,
5615         [retval, out] VARIANT_BOOL* pfCancelled);
5616
5617     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5618     HRESULT onresizestart([in] VARIANT v);
5619
5620     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5621     HRESULT onresizestart([retval, out] VARIANT * p);
5622
5623     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5624     HRESULT onresizeend([in] VARIANT v);
5625
5626     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5627     HRESULT onresizeend([retval, out] VARIANT * p);
5628
5629     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5630     HRESULT onmovestart([in] VARIANT v);
5631
5632     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5633     HRESULT onmovestart([retval, out] VARIANT * p);
5634
5635     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5636     HRESULT onmoveend([in] VARIANT v);
5637
5638     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5639     HRESULT onmoveend([retval, out] VARIANT * p);
5640
5641     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5642     HRESULT onmouseenter([in] VARIANT v);
5643
5644     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5645     HRESULT onmouseenter([retval, out] VARIANT * p);
5646
5647     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5648     HRESULT onmouseleave([in] VARIANT v);
5649
5650     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5651     HRESULT onmouseleave([retval, out] VARIANT * p);
5652
5653     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5654     HRESULT onactivate([in] VARIANT v);
5655
5656     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5657     HRESULT onactivate([retval, out] VARIANT * p);
5658
5659     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5660     HRESULT ondeactivate([in] VARIANT v);
5661
5662     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5663     HRESULT ondeactivate([retval, out] VARIANT * p);
5664
5665     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
5666     VARIANT_BOOL* pfRet);
5667
5668     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5669     HRESULT glyphMode([retval, out] LONG * p);
5670 }
5671
5672 #define WINE_IHTMLELEMENT3_DISPINTERFACE_DECL                           \
5673                                                                         \
5674     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]                          \
5675     void mergeAttributes(                                               \
5676             [in] IHTMLElement* mergeThis,                               \
5677             [optional, in] VARIANT* pvarFlags);                         \
5678                                                                         \
5679     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]                     \
5680     VARIANT_BOOL isMultiLine();                                         \
5681                                                                         \
5682     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]                     \
5683     VARIANT_BOOL canHaveHTML();                                         \
5684                                                                         \
5685     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5686     void onlayoutcomplete(VARIANT v);                                   \
5687                                                                         \
5688     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5689     VARIANT onlayoutcomplete();                                         \
5690                                                                         \
5691     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5692     void onpage(VARIANT v);                                             \
5693                                                                         \
5694     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5695     VARIANT onpage();                                                   \
5696                                                                         \
5697     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5698     void inflateBlock(VARIANT_BOOL v);                                  \
5699                                                                         \
5700     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5701     VARIANT_BOOL inflateBlock();                                        \
5702                                                                         \
5703     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5704     void onbeforedeactivate(VARIANT v);                                 \
5705                                                                         \
5706     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5707     VARIANT onbeforedeactivate();                                       \
5708                                                                         \
5709     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]                                \
5710     void setActive();                                                   \
5711                                                                         \
5712     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5713     void contentEditable(BSTR v);                                       \
5714                                                                         \
5715     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5716     BSTR contentEditable();                                             \
5717                                                                         \
5718     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]               \
5719     VARIANT_BOOL isContentEditable();                                   \
5720                                                                         \
5721     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5722     void hideFocus(VARIANT_BOOL v);                                     \
5723                                                                         \
5724     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5725     VARIANT_BOOL hideFocus();                                           \
5726                                                                         \
5727     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5728     void disabled(VARIANT_BOOL v);                                      \
5729                                                                         \
5730     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5731     VARIANT_BOOL disabled();                                            \
5732                                                                         \
5733     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]                      \
5734     VARIANT_BOOL isDisabled();                                          \
5735                                                                         \
5736     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5737     void onmove(VARIANT v);                                             \
5738                                                                         \
5739     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5740     VARIANT onmove();                                                   \
5741                                                                         \
5742     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5743     void oncontrolselect(VARIANT v);                                    \
5744                                                                         \
5745     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5746     VARIANT oncontrolselect();                                          \
5747                                                                         \
5748     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]                                \
5749     VARIANT_BOOL fireEvent(                                             \
5750         [in] BSTR bstrEventName,                                        \
5751         [optional, in] VARIANT* pvarEventObject);                       \
5752                                                                         \
5753     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5754     void onresizestart(VARIANT v);                                      \
5755                                                                         \
5756     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5757     VARIANT onresizestart();                                            \
5758                                                                         \
5759     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5760     void onresizeend(VARIANT v);                                        \
5761                                                                         \
5762     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5763     VARIANT onresizeend();                                              \
5764                                                                         \
5765     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5766     void onmovestart(VARIANT v);                                        \
5767                                                                         \
5768     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5769     VARIANT onmovestart();                                              \
5770                                                                         \
5771     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5772     void onmoveend(VARIANT v);                                          \
5773                                                                         \
5774     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5775     VARIANT onmoveend();                                                \
5776                                                                         \
5777     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5778     void onmouseenter(VARIANT v);                                       \
5779                                                                         \
5780     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5781     VARIANT onmouseenter();                                             \
5782                                                                         \
5783     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5784     void onmouseleave(VARIANT v);                                       \
5785                                                                         \
5786     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5787     VARIANT onmouseleave();                                             \
5788                                                                         \
5789     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5790     void onactivate(VARIANT v);                                         \
5791                                                                         \
5792     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5793     VARIANT onactivate();                                               \
5794                                                                         \
5795     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5796     void ondeactivate(VARIANT v);                                       \
5797                                                                         \
5798     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5799     VARIANT ondeactivate();                                             \
5800                                                                         \
5801     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]                                 \
5802     VARIANT_BOOL dragDrop();                                            \
5803                                                                         \
5804     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] \
5805     LONG glyphMode()
5806
5807 /*****************************************************************************
5808  *    IHTMLElement4 interface
5809  */
5810 [
5811     odl,
5812     oleautomation,
5813     dual,
5814     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
5815 ]
5816 interface IHTMLElement4 : IDispatch
5817 {
5818     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5819     HRESULT onmousewheel([in] VARIANT v);
5820
5821     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5822     HRESULT onmousewheel([retval, out] VARIANT * p);
5823
5824     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5825     HRESULT normalize();
5826
5827     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5828     HRESULT getAttributeNode([in] BSTR bstrname,
5829         [retval, out] IHTMLDOMAttribute** ppAttribute);
5830
5831     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5832     HRESULT setAttributeNode(
5833         [in] IHTMLDOMAttribute* pattr,
5834         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5835
5836     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5837     HRESULT removeAttributeNode(
5838         [in] IHTMLDOMAttribute* pattr,
5839         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5840
5841     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5842     HRESULT onbeforeactivate([in] VARIANT v);
5843
5844     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5845     HRESULT onbeforeactivate([retval, out] VARIANT * p);
5846
5847     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5848     HRESULT onfocusin([in] VARIANT v);
5849
5850     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5851     HRESULT onfocusin([retval, out] VARIANT * p);
5852
5853     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5854     HRESULT onfocusout([in] VARIANT v);
5855
5856     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5857     HRESULT onfocusout([retval, out] VARIANT * p);
5858 }
5859
5860 #define WINE_IHTMLELEMENT4_DISPINTERFACE_DECL                           \
5861     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5862     void onmousewheel(VARIANT v);                                       \
5863                                                                         \
5864     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5865     VARIANT onmousewheel();                                             \
5866                                                                         \
5867     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]                                \
5868     void normalize();                                                   \
5869                                                                         \
5870     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]                         \
5871     IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);            \
5872                                                                         \
5873     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]                         \
5874     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr); \
5875                                                                         \
5876     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]                      \
5877     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr); \
5878                                                                         \
5879     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5880     void onbeforeactivate(VARIANT v);                                   \
5881                                                                         \
5882     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5883     VARIANT onbeforeactivate();                                         \
5884                                                                         \
5885     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5886     void onfocusin(VARIANT v);                                          \
5887                                                                         \
5888     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5889     VARIANT onfocusin();                                                \
5890                                                                         \
5891     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5892     void onfocusout(VARIANT v);                                         \
5893                                                                         \
5894     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5895     VARIANT onfocusout()
5896
5897 #define WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL                \
5898     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)]                 \
5899     IHTMLElement *querySelector([in] BSTR v);                   \
5900                                                                 \
5901     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)]              \
5902     IHTMLDOMChildrenCollection *querySelectorAll([in] BSTR v)
5903
5904 /*****************************************************************************
5905  *    IHTMLUniqueName interface
5906  */
5907 [
5908     odl,
5909     oleautomation,
5910     dual,
5911     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
5912 ]
5913 interface IHTMLUniqueName : IDispatch
5914 {
5915     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5916     HRESULT uniqueNumber([retval, out] LONG * p);
5917
5918     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5919     HRESULT uniqueID([retval, out] BSTR * p);
5920 }
5921
5922 #define WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL                 \
5923     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]  \
5924     LONG uniqueNumber();                                        \
5925                                                                 \
5926     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]      \
5927     BSTR uniqueID()
5928
5929 #define WINE_IHTMLELEMENT5_DISPINTERFACE_DECL                           \
5930     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)]                     \
5931     IHTMLDOMAttribute2 *ie8_getAttributeNode([in] BSTR bstrname);       \
5932                                                                         \
5933     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)]                     \
5934     IHTMLDOMAttribute2 *ie8_setAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5935                                                                         \
5936     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)]                  \
5937     IHTMLDOMAttribute2 *ie8_removeAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5938                                                                         \
5939     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)]                             \
5940     VARIANT_BOOL hasAttribute([in] BSTR name);                          \
5941                                                                         \
5942     [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5943     void role(BSTR v);                                                  \
5944                                                                         \
5945     [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5946     BSTR role();                                                        \
5947                                                                         \
5948     [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5949     void ariaBusy(BSTR v);                                              \
5950                                                                         \
5951     [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5952     BSTR ariaBusy();                                                    \
5953                                                                         \
5954     [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5955     void ariaChecked(BSTR v);                                           \
5956                                                                         \
5957     [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5958     BSTR ariaChecked();                                                 \
5959                                                                         \
5960     [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5961     void ariaDisabled(BSTR v);                                          \
5962                                                                         \
5963     [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5964     BSTR ariaDisabled();                                                \
5965                                                                         \
5966     [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5967     void ariaExpanded(BSTR v);                                          \
5968                                                                         \
5969     [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5970     BSTR ariaExpanded();                                                \
5971                                                                         \
5972     [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable]\
5973     void ariaHaspopup(BSTR v);                                          \
5974                                                                         \
5975     [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] \
5976     BSTR ariaHaspopup();                                                \
5977                                                                         \
5978     [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5979     void ariaHidden(BSTR v);                                            \
5980                                                                         \
5981     [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5982     BSTR ariaHidden();                                                  \
5983                                                                         \
5984     [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5985     void ariaInvalid(BSTR v);                                           \
5986                                                                         \
5987     [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5988     BSTR ariaInvalid();                                                 \
5989                                                                         \
5990     [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5991     void ariaMultiselectable(BSTR v);                                   \
5992                                                                         \
5993     [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5994     BSTR ariaMultiselectable();                                         \
5995                                                                         \
5996     [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5997     void ariaPressed(BSTR v);                                           \
5998                                                                         \
5999     [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
6000     BSTR ariaPressed();                                                 \
6001                                                                         \
6002     [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
6003     void ariaReadonly(BSTR v);                                          \
6004                                                                         \
6005     [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
6006     BSTR ariaReadonly();                                                \
6007                                                                         \
6008     [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
6009     void ariaRequired(BSTR v);                                          \
6010                                                                         \
6011     [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
6012     BSTR ariaRequired();                                                \
6013                                                                         \
6014     [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
6015     void ariaSecret(BSTR v);                                            \
6016                                                                         \
6017     [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
6018     BSTR ariaSecret();                                                  \
6019                                                                         \
6020     [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
6021     void ariaSelected(BSTR v);                                          \
6022                                                                         \
6023     [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
6024     BSTR ariaSelected();                                                \
6025                                                                         \
6026     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)]                         \
6027     VARIANT ie8_getAttribute([in] BSTR strAttributeName);               \
6028                                                                         \
6029     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)]                         \
6030     void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue); \
6031                                                                         \
6032     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)]                      \
6033     VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);       \
6034                                                                         \
6035     [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)]                  \
6036     IHTMLAttributeCollection3 *ie8_attributes();                        \
6037                                                                         \
6038     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
6039     void ariaValuenow(BSTR v);                                          \
6040                                                                         \
6041     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
6042     BSTR ariaValuenow();                                                \
6043                                                                         \
6044     [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
6045     void ariaPosinset(short v);                                         \
6046                                                                         \
6047     [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
6048     short ariaPosinset();                                               \
6049                                                                         \
6050     [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
6051     void ariaSetsize(short v);                                          \
6052                                                                         \
6053     [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
6054     short ariaSetsize();                                                \
6055                                                                         \
6056     [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
6057     void ariaLevel(short v);                                            \
6058                                                                         \
6059     [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
6060     short ariaLevel();                                                  \
6061                                                                         \
6062     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
6063     void ariaValuemin(BSTR v);                                          \
6064                                                                         \
6065     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
6066     BSTR ariaValuemin();                                                \
6067                                                                         \
6068     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
6069     void ariaValuemax(BSTR v);                                          \
6070                                                                         \
6071     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
6072     BSTR ariaValuemax();                                                \
6073                                                                         \
6074     [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
6075     void ariaControls(BSTR v);                                          \
6076                                                                         \
6077     [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
6078     BSTR ariaControls();                                                \
6079                                                                         \
6080     [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
6081     void ariaDescribedby(BSTR v);                                       \
6082                                                                         \
6083     [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
6084     BSTR ariaDescribedby();                                             \
6085                                                                         \
6086     [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
6087     void ariaFlowto(BSTR v);                                            \
6088                                                                         \
6089     [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
6090     BSTR ariaFlowto();                                                  \
6091                                                                         \
6092     [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
6093     void ariaLabelledby(BSTR v);                                        \
6094                                                                         \
6095     [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
6096     BSTR ariaLabelledby();                                              \
6097                                                                         \
6098     [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
6099     void ariaActivedescendant(BSTR v);                                  \
6100                                                                         \
6101     [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
6102     BSTR ariaActivedescendant();                                        \
6103                                                                         \
6104     [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
6105     void ariaOwns(BSTR v);                                              \
6106                                                                         \
6107     [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
6108     BSTR ariaOwns();                                                    \
6109                                                                         \
6110     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)]                            \
6111     VARIANT_BOOL hasAttributes();                                       \
6112                                                                         \
6113     [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
6114     void ariaLive(BSTR v);                                              \
6115                                                                         \
6116     [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
6117     BSTR ariaLive();                                                    \
6118                                                                         \
6119     [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
6120     void ariaRelevant(BSTR v);                                          \
6121                                                                         \
6122     [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
6123     BSTR ariaRelevant()
6124
6125 [
6126     odl,
6127     oleautomation,
6128     dual,
6129     uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
6130 ]
6131 interface IHTMLDatabinding : IDispatch
6132 {
6133     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6134     HRESULT dataFld([in] BSTR v);
6135
6136     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6137     HRESULT dataFld([retval, out] BSTR * p);
6138
6139     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6140     HRESULT dataSrc([in] BSTR v);
6141
6142     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6143     HRESULT dataSrc([retval, out] BSTR * p);
6144
6145     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6146     HRESULT dataFormatAs([in] BSTR v);
6147
6148     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6149     HRESULT dataFormatAs([retval, out] BSTR * p);
6150 }
6151
6152 #define WINE_IHTMLDATABINDING_DISPINTERFACE_DECL        \
6153     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
6154     void dataFld(BSTR v);                               \
6155                                                         \
6156     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
6157     BSTR dataFld();                                     \
6158                                                         \
6159     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
6160     void dataSrc(BSTR v);                               \
6161                                                         \
6162     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
6163     BSTR dataSrc();                                     \
6164                                                         \
6165     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
6166     void dataFormatAs(BSTR v);                          \
6167                                                         \
6168     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
6169     BSTR dataFormatAs()
6170
6171 #define WINE_HTMLELEMENT_DISPINTERFACE_DECL     \
6172     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
6173     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
6174     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
6175     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
6176     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
6177     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
6178     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
6179     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
6180
6181 #define WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL \
6182     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
6183     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
6184     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
6185     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
6186     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
6187     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
6188     WINE_IHTMLDATABINDING_DISPINTERFACE_DECL;   \
6189     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
6190     WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL;   \
6191     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
6192
6193 /*****************************************************************************
6194  *    IHTMLGenericElement interface
6195  */
6196 [
6197     odl,
6198     oleautomation,
6199     dual,
6200     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
6201 ]
6202 interface IHTMLGenericElement : IDispatch
6203 {
6204     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
6205     HRESULT recordset([out, retval] IDispatch **p);
6206
6207     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
6208     HRESULT namedRecordset(
6209             [in] BSTR dataMember,
6210             [in, optional] VARIANT *hierarchy,
6211             [out, retval] IDispatch **ppRecordset);
6212 }
6213
6214 /*****************************************************************************
6215  *    DispHTMLGenericElement dispinterface
6216  */
6217 [
6218     hidden,
6219     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
6220 ]
6221 dispinterface DispHTMLGenericElement
6222 {
6223 properties:
6224 methods:
6225     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6226
6227     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
6228     IDispatch *recordset();
6229
6230     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
6231     IDispatch *namedRecordset(
6232             [in] BSTR dataMember,
6233             [in, optional] VARIANT *hierarchy);
6234 }
6235
6236 /*****************************************************************************
6237  *    IHTMLStyleSheetRule interface
6238  */
6239 [
6240     odl,
6241     oleautomation,
6242     dual,
6243     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
6244 ]
6245 interface IHTMLStyleSheetRule : IDispatch
6246 {
6247     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6248     HRESULT selectorText([in] BSTR v);
6249
6250     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6251     HRESULT selectorText([retval, out] BSTR *p);
6252
6253     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
6254     HRESULT style([retval, out] IHTMLRuleStyle **p);
6255
6256     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
6257     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6258 }
6259
6260 [
6261     hidden,
6262     uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b)
6263 ]
6264 dispinterface DispHTMLStyleSheetRule
6265 {
6266 properties:
6267 methods:
6268     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6269     void selectorText(BSTR v);
6270
6271     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6272     BSTR selectorText();
6273
6274     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable]
6275     IHTMLRuleStyle* style();
6276
6277     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
6278     VARIANT_BOOL readOnly();
6279
6280     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6281 }
6282
6283 [
6284     noncreatable,
6285     uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b)
6286 ]
6287 coclass HTMLStyleSheetRule
6288 {
6289     [default]           dispinterface DispHTMLStyleSheetRule;
6290                         interface IHTMLStyleSheetRule;
6291                         interface IHTMLDOMConstructor;
6292 }
6293
6294 /*****************************************************************************
6295  *    IHTMLStyleSheetRulesCollection interface
6296  */
6297 [
6298     odl,
6299     oleautomation,
6300     dual,
6301     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
6302 ]
6303 interface IHTMLStyleSheetRulesCollection : IDispatch
6304 {
6305     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
6306     HRESULT length([retval, out] LONG *p);
6307
6308     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
6309     HRESULT item(
6310         [in] LONG index,
6311         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
6312 }
6313
6314 [
6315     hidden,
6316     uuid(3050f52f-98b5-11cf-bb82-00aa00bdce0b)
6317 ]
6318 dispinterface DispHTMLStyleSheetRulesCollection
6319 {
6320 properties:
6321 methods:
6322     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
6323     long length();
6324
6325     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
6326     IHTMLStyleSheetRule* item([in] long index);
6327
6328     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6329 }
6330
6331 [
6332     noncreatable,
6333     uuid(3050f3cd-98b5-11cf-bb82-00aa00bdce0b)
6334 ]
6335 coclass HTMLStyleSheetRulesCollection
6336 {
6337     [default]           dispinterface DispHTMLStyleSheetRulesCollection;
6338                         interface IHTMLStyleSheetRulesCollection;
6339                         interface IHTMLDOMConstructor;
6340 }
6341
6342 [
6343     odl,
6344     oleautomation,
6345     dual,
6346     uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
6347 ]
6348 interface IHTMLStyleSheetPage : IDispatch
6349 {
6350     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
6351     HRESULT selector([retval, out] BSTR *p);
6352
6353     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
6354     HRESULT pseudoClass([retval, out] BSTR *p);
6355 }
6356
6357 [
6358     hidden,
6359     uuid(3050f540-98b5-11cf-bb82-00aa00bdce0b)
6360 ]
6361 dispinterface DispHTMLStyleSheetPage
6362 {
6363 properties:
6364 methods:
6365     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
6366     BSTR selector();
6367
6368     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
6369     BSTR pseudoClass();
6370
6371     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6372 }
6373 [
6374     noncreatable,
6375     uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b)
6376 ]
6377 coclass HTMLStyleSheetPage
6378 {
6379     [default]           dispinterface DispHTMLStyleSheetPage;
6380                         interface IHTMLStyleSheetPage;
6381                         interface IHTMLDOMConstructor;
6382 }
6383
6384 [
6385     odl,
6386     oleautomation,
6387     dual,
6388     uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
6389 ]
6390 interface IHTMLStyleSheetPagesCollection : IDispatch
6391 {
6392     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6393     HRESULT length([retval, out] LONG *p);
6394
6395     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6396     HRESULT item(
6397         [in] LONG index,
6398         [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
6399 }
6400
6401 [
6402     hidden,
6403     uuid(3050f543-98b5-11cf-bb82-00aa00bdce0b)
6404 ]
6405 dispinterface DispHTMLStyleSheetPagesCollection
6406 {
6407 properties:
6408 methods:
6409     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6410     long length();
6411
6412     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6413     IHTMLStyleSheetPage* item([in] long index);
6414
6415     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6416 }
6417
6418 [
6419     noncreatable,
6420     uuid(3050f7f1-98b5-11cf-bb82-00aa00bdce0b)
6421 ]
6422 coclass HTMLStyleSheetPagesCollection
6423 {
6424     [default]           dispinterface DispHTMLStyleSheetPagesCollection;
6425                         interface IHTMLStyleSheetPagesCollection;
6426                         interface IHTMLDOMConstructor;
6427 }
6428
6429 /*****************************************************************************
6430  *    IHTMLStyleSheet interface
6431  */
6432 [
6433     odl,
6434     oleautomation,
6435     dual,
6436     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
6437 ]
6438 interface IHTMLStyleSheet : IDispatch
6439 {
6440     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6441     HRESULT title([in] BSTR v);
6442
6443     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6444     HRESULT title([retval, out] BSTR *p);
6445
6446     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6447     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
6448
6449     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6450     HRESULT owningElement([retval, out] IHTMLElement **p);
6451
6452     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6453     HRESULT disabled([in] VARIANT_BOOL v);
6454
6455     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6456     HRESULT disabled([retval, out] VARIANT_BOOL *p);
6457
6458     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6459     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6460
6461     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6462     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
6463
6464     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6465     HRESULT href([in] BSTR v);
6466
6467     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6468     HRESULT href([retval, out] BSTR *p);
6469
6470     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6471     HRESULT type([retval, out] BSTR *p);
6472
6473     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6474     HRESULT id([retval, out] BSTR *p);
6475
6476     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6477     HRESULT addImport(
6478         [in] BSTR bstrURL,
6479         [defaultvalue(-1), in] LONG lIndex,
6480         [retval, out] LONG *plIndex);
6481
6482     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6483     HRESULT addRule(
6484         [in] BSTR bstrSelector,
6485         [in] BSTR bstrStyle,
6486         [defaultvalue(-1), in] LONG lIndex,
6487         [retval, out] LONG *plNewIndex);
6488
6489     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6490     HRESULT removeImport([in] LONG lIndex);
6491
6492     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6493     HRESULT removeRule([in] LONG lIndex);
6494
6495     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6496     HRESULT media([in] BSTR v);
6497
6498     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6499     HRESULT media([retval, out] BSTR *p);
6500
6501     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6502     HRESULT cssText([in] BSTR v);
6503
6504     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6505     HRESULT cssText([retval, out] BSTR *p);
6506
6507     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6508     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
6509 }
6510
6511 /*****************************************************************************
6512  *    IHTMLStyleSheet2 interface
6513  */
6514 [
6515     odl,
6516     oleautomation,
6517     dual,
6518     uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
6519 ]
6520 interface IHTMLStyleSheet2 : IDispatch
6521 {
6522     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6523     HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
6524
6525     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6526     HRESULT addPageRule(
6527         [in] BSTR bstrSelector,
6528         [in] BSTR bstrStyle,
6529         [defaultvalue(-1), in] LONG lIndex,
6530         [retval, out] LONG *plNewIndex);
6531 }
6532
6533 [
6534     hidden,
6535     uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
6536 ]
6537 dispinterface DispHTMLStyleSheet
6538 {
6539 properties:
6540 methods:
6541     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6542     void title(BSTR v);
6543
6544     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6545     BSTR title();
6546
6547     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6548     IHTMLStyleSheet* parentStyleSheet();
6549
6550     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6551     IHTMLElement* owningElement();
6552
6553     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6554     void disabled(VARIANT_BOOL v);
6555
6556     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6557     VARIANT_BOOL disabled();
6558
6559     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6560     VARIANT_BOOL readOnly();
6561
6562     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6563     IHTMLStyleSheetsCollection* imports();
6564
6565     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6566     void href(BSTR v);
6567
6568     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6569     BSTR href();
6570
6571     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6572     BSTR type();
6573
6574     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6575     BSTR id();
6576
6577     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6578     LONG addImport(
6579         [in] BSTR bstrURL,
6580         [defaultvalue(-1), in] LONG lIndex);
6581
6582     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6583     LONG addRule(
6584         [in] BSTR bstrSelector,
6585         [in] BSTR bstrStyle,
6586         [defaultvalue(-1), in] LONG lIndex);
6587
6588     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6589     void removeImport([in] LONG lIndex);
6590
6591     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6592     void removeRule([in] LONG lIndex);
6593
6594     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6595     void media(BSTR v);
6596
6597     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6598     BSTR media();
6599
6600     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6601     void cssText(BSTR v);
6602
6603     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6604     BSTR cssText();
6605
6606     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6607     IHTMLStyleSheetRulesCollection* rules();
6608
6609     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6610     IHTMLStyleSheetPagesCollection* pages();
6611
6612     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6613     LONG addPageRule(
6614         [in] BSTR bstrSelector,
6615         [in] BSTR bstrStyle,
6616         [defaultvalue(-1), in] LONG lIndex);
6617 }
6618
6619 [
6620     noncreatable,
6621     uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
6622 ]
6623 coclass HTMLStyleSheet
6624 {
6625     [default]           dispinterface DispHTMLStyleSheet;
6626                         interface IHTMLStyleSheet;
6627                         interface IHTMLStyleSheet2;
6628 }
6629
6630 /*****************************************************************************
6631  *    IHTMLStyleSheetsCollection interface
6632  */
6633 [
6634     odl,
6635     oleautomation,
6636     dual,
6637     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
6638 ]
6639 interface IHTMLStyleSheetsCollection : IDispatch
6640 {
6641     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6642     HRESULT length([retval, out] LONG *p);
6643
6644     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
6645     HRESULT _newEnum([retval, out] IUnknown **p);
6646
6647     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6648     HRESULT item(
6649         [in] VARIANT *pvarIndex,
6650         [retval, out] VARIANT *pvarResult);
6651 }
6652
6653 /*****************************************************************************
6654  *    DispHTMLStyleSheetsCollection dispinterface
6655  */
6656 [
6657     hidden,
6658     uuid(3050f547-98b5-11cf-bb82-00aa00bdce0b)
6659 ]
6660 dispinterface DispHTMLStyleSheetsCollection
6661 {
6662 properties:
6663 methods:
6664     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6665     long length();
6666
6667     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM), hidden, restricted]
6668     IUnknown *_newEnum();
6669
6670     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6671     VARIANT item([in] VARIANT *pvarIndex);
6672
6673     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
6674     IDispatch *constructor();
6675 }
6676
6677 /*****************************************************************************
6678  *    IHTMLTxtRange interface
6679  */
6680 [
6681     odl,
6682     oleautomation,
6683     dual,
6684     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
6685 ]
6686 interface IHTMLTxtRange : IDispatch
6687 {
6688     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
6689     HRESULT htmlText([retval, out] BSTR *p);
6690
6691     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
6692     HRESULT text([in] BSTR v);
6693
6694     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
6695     HRESULT text([retval, out] BSTR *p);
6696
6697     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
6698     HRESULT parentElement([retval, out] IHTMLElement **parent);
6699
6700     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
6701     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
6702
6703     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
6704     HRESULT inRange(
6705         [in] IHTMLTxtRange *Range,
6706         [retval, out] VARIANT_BOOL *InRange);
6707
6708     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
6709     HRESULT isEqual(
6710         [in] IHTMLTxtRange *Range,
6711         [retval, out] VARIANT_BOOL *IsEqual);
6712
6713     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
6714     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
6715
6716     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
6717     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
6718
6719     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
6720     HRESULT expand(
6721         [in] BSTR Unit,
6722         [retval, out] VARIANT_BOOL *Success);
6723
6724     [id(DISPID_IHTMLTXTRANGE_MOVE)]
6725     HRESULT move(
6726         [in] BSTR Unit,
6727         [defaultvalue(1), in] LONG Count,
6728         [retval, out] LONG *ActualCount);
6729
6730     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
6731     HRESULT moveStart(
6732         [in] BSTR Unit,
6733         [defaultvalue(1), in] LONG Count,
6734         [retval, out] LONG *ActualCount);
6735
6736     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
6737     HRESULT moveEnd(
6738         [in] BSTR Unit,
6739         [defaultvalue(1), in] LONG Count,
6740         [retval, out] LONG *ActualCount);
6741
6742     [id(DISPID_IHTMLTXTRANGE_SELECT)]
6743     HRESULT select();
6744
6745     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
6746     HRESULT pasteHTML([in] BSTR html);
6747
6748     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
6749     HRESULT moveToElementText([in] IHTMLElement *element);
6750
6751     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
6752     HRESULT setEndPoint(
6753         [in] BSTR how,
6754         [in] IHTMLTxtRange *SourceRange);
6755
6756     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
6757     HRESULT compareEndPoints(
6758         [in] BSTR how,
6759         [in] IHTMLTxtRange *SourceRange,
6760         [retval, out] LONG *ret);
6761
6762     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
6763     HRESULT findText(
6764         [in] BSTR String,
6765         [defaultvalue(1073741823), in] LONG count,
6766         [defaultvalue(0), in] LONG Flags,
6767         [retval, out] VARIANT_BOOL *Success);
6768
6769     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
6770     HRESULT moveToPoint(
6771         [in] LONG x,
6772         [in] LONG y);
6773
6774     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
6775     HRESULT getBookmark([retval, out] BSTR *Boolmark);
6776
6777     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
6778     HRESULT moveToBookmark(
6779         [in] BSTR Bookmark,
6780         [retval, out] VARIANT_BOOL *Success);
6781
6782     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
6783     HRESULT queryCommandSupported(
6784         [in] BSTR cmdID,
6785         [retval, out] VARIANT_BOOL *pfRet);
6786
6787     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
6788     HRESULT queryCommandEnabled(
6789         [in] BSTR cmdID,
6790         [retval, out] VARIANT_BOOL *pfRet);
6791
6792     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
6793     HRESULT queryCommandState(
6794         [in] BSTR cmdID,
6795         [retval, out] VARIANT_BOOL *pfRet);
6796
6797     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
6798     HRESULT queryCommandIndeterm(
6799         [in] BSTR cmdID,
6800         [retval, out] VARIANT_BOOL *pfRet);
6801
6802     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
6803     HRESULT queryCommandText(
6804         [in] BSTR cmdID,
6805         [retval, out] BSTR *pcmdText);
6806
6807     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
6808     HRESULT queryCommandValue(
6809         [in] BSTR cmdID,
6810         [retval, out] VARIANT *pcmdValue);
6811
6812     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
6813     HRESULT execCommand(
6814         [in] BSTR cmdID,
6815         [defaultvalue(0), in] VARIANT_BOOL showUI,
6816         [optional, in] VARIANT value,
6817         [retval, out] VARIANT_BOOL *pfRet);
6818
6819     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
6820     HRESULT execCommandShowHelp(
6821         [in] BSTR cmdID,
6822         [retval, out] VARIANT_BOOL *pfRet);
6823 }
6824
6825 [
6826     noncreatable,
6827     uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
6828 ]
6829 coclass HTMLStyleSheetsCollection
6830 {
6831     [default]           interface IHTMLStyleSheetsCollection;
6832 }
6833
6834 /*****************************************************************************
6835  *    IHTMLFormElement interface
6836  */
6837 [
6838     odl,
6839     oleautomation,
6840     dual,
6841     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
6842 ]
6843 interface IHTMLFormElement : IDispatch
6844 {
6845     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6846     HRESULT action([in] BSTR v);
6847
6848     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6849     HRESULT action([retval, out] BSTR *p);
6850
6851     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
6852     HRESULT dir([in] BSTR v);
6853
6854     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
6855     HRESULT dir([retval, out] BSTR *p);
6856
6857     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6858     HRESULT encoding([in] BSTR v);
6859
6860     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6861     HRESULT encoding([retval, out] BSTR *p);
6862
6863     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6864     HRESULT method([in] BSTR v);
6865
6866     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6867     HRESULT method([retval, out] BSTR *p);
6868
6869     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6870     HRESULT elements([retval, out] IDispatch **p);
6871
6872     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6873     HRESULT target([in] BSTR v);
6874
6875     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6876     HRESULT target([retval, out] BSTR *p);
6877
6878     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6879     HRESULT name([in] BSTR v);
6880
6881     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6882     HRESULT name([retval, out] BSTR *p);
6883
6884     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6885     HRESULT onsubmit([in] VARIANT v);
6886
6887     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6888     HRESULT onsubmit([retval, out] VARIANT *p);
6889
6890     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6891     HRESULT onreset([in] VARIANT v);
6892
6893     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6894     HRESULT onreset([retval, out] VARIANT *p);
6895
6896     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6897     HRESULT submit();
6898
6899     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6900     HRESULT reset();
6901
6902     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6903     HRESULT length([in] LONG v);
6904
6905     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6906     HRESULT length([retval, out] LONG *p);
6907
6908     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
6909     HRESULT _newEnum([retval, out] IUnknown **p);
6910
6911     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6912     HRESULT item(
6913         [optional, in] VARIANT name,
6914         [optional, in] VARIANT index,
6915         [retval, out] IDispatch **pdisp);
6916
6917     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6918     HRESULT tags(
6919         [in] VARIANT tagName,
6920         [retval, out] IDispatch **pdisp);
6921 }
6922
6923 /*****************************************************************************
6924  *    DispHTMLFormElement dispinterface
6925  */
6926 [
6927     hidden,
6928     uuid(3050F510-98B5-11CF-BB82-00AA00BDCE0B)
6929 ]
6930 dispinterface DispHTMLFormElement
6931 {
6932 properties:
6933 methods:
6934     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6935
6936     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6937     void action(BSTR v);
6938
6939     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6940     BSTR action();
6941
6942     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6943     void encoding(BSTR v);
6944
6945     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6946     BSTR encoding();
6947
6948     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6949     void method(BSTR v);
6950
6951     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6952     BSTR method();
6953
6954     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6955     IDispatch *elements();
6956
6957     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6958     void target(BSTR v);
6959
6960     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6961     BSTR target();
6962
6963     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6964     void name(BSTR v);
6965
6966     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6967     BSTR name();
6968
6969     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6970     void onsubmit(VARIANT v);
6971
6972     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6973     VARIANT onsubmit();
6974
6975     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6976     void onreset(VARIANT v);
6977
6978     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6979     VARIANT onreset();
6980
6981     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6982     void submit();
6983
6984     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6985     void reset();
6986
6987     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6988     void length(long v);
6989
6990     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6991     long length();
6992
6993     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM), hidden, restricted]
6994     IUnknown *_newEnum();
6995
6996     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6997     IDispatch *item(VARIANT name, VARIANT index);
6998
6999     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
7000     IDispatch *tags(VARIANT tagName);
7001 }
7002
7003 [
7004     hidden,
7005     uuid(3050F364-98B5-11CF-BB82-00AA00BDCE0B)
7006 ]
7007 dispinterface HTMLFormElementEvents
7008 {
7009 properties:
7010 methods:
7011     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
7012     VARIANT_BOOL onhelp();
7013
7014     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
7015     VARIANT_BOOL onclick();
7016
7017     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
7018     VARIANT_BOOL ondblclick();
7019
7020     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
7021     VARIANT_BOOL onkeypress();
7022
7023     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
7024     void onkeydown();
7025
7026     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
7027     void onkeyup();
7028
7029     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
7030     void onmouseout();
7031
7032     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
7033     void onmouseover();
7034
7035     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
7036     void onmousemove();
7037
7038     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
7039     void onmousedown();
7040
7041     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
7042     void onmouseup();
7043
7044     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
7045     VARIANT_BOOL onselectstart();
7046
7047     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
7048     void onfilterchange();
7049
7050     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
7051     VARIANT_BOOL ondragstart();
7052
7053     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
7054     VARIANT_BOOL onbeforeupdate();
7055
7056     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
7057     void onafterupdate();
7058
7059     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
7060     VARIANT_BOOL onerrorupdate();
7061
7062     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
7063     VARIANT_BOOL onrowexit();
7064
7065     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
7066     void onrowenter();
7067
7068     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
7069     void ondatasetchanged();
7070
7071     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
7072     void ondataavailable();
7073
7074     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
7075     void ondatasetcomplete();
7076
7077     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
7078     void onlosecapture();
7079
7080     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
7081     void onpropertychange();
7082
7083     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
7084     void onscroll();
7085
7086     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
7087     void onfocus();
7088
7089     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
7090     void onblur();
7091
7092     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
7093     void onresize();
7094
7095     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
7096     VARIANT_BOOL ondrag();
7097
7098     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
7099     void ondragend();
7100
7101     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
7102     VARIANT_BOOL ondragenter();
7103
7104     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
7105     VARIANT_BOOL ondragover();
7106
7107     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
7108     void ondragleave();
7109
7110     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
7111     VARIANT_BOOL ondrop();
7112
7113     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
7114     VARIANT_BOOL onbeforecut();
7115
7116     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
7117     VARIANT_BOOL oncut();
7118
7119     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
7120     VARIANT_BOOL onbeforecopy();
7121
7122     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
7123     VARIANT_BOOL oncopy();
7124
7125     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
7126     VARIANT_BOOL onbeforepaste();
7127
7128     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
7129     VARIANT_BOOL onpaste();
7130
7131     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
7132     VARIANT_BOOL oncontextmenu();
7133
7134     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
7135     void onrowsdelete();
7136
7137     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
7138     void onrowsinserted();
7139
7140     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
7141     void oncellchange();
7142
7143     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
7144     void onreadystatechange();
7145
7146     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
7147     void onbeforeeditfocus();
7148
7149     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
7150     void onlayoutcomplete();
7151
7152     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
7153     void onpage();
7154
7155     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
7156     VARIANT_BOOL onbeforedeactivate();
7157
7158     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
7159     VARIANT_BOOL onbeforeactivate();
7160
7161     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
7162     void onmove();
7163
7164     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
7165     VARIANT_BOOL oncontrolselect();
7166
7167     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
7168     VARIANT_BOOL onmovestart();
7169
7170     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
7171     void onmoveend();
7172
7173     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
7174     VARIANT_BOOL onresizestart();
7175
7176     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
7177     void onresizeend();
7178
7179     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
7180     void onmouseenter();
7181
7182     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
7183     void onmouseleave();
7184
7185     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
7186     VARIANT_BOOL onmousewheel();
7187
7188     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
7189     void onactivate();
7190
7191     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
7192     void ondeactivate();
7193
7194     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
7195     void onfocusin();
7196
7197     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
7198     void onfocusout();
7199
7200     [id(DISPID_HTMLFORMELEMENTEVENTS_ONSUBMIT)]
7201     VARIANT_BOOL onsubmit();
7202
7203     [id(DISPID_HTMLFORMELEMENTEVENTS_ONRESET)]
7204     VARIANT_BOOL onreset();
7205 }
7206
7207 interface IHTMLEventObj;
7208
7209 [
7210     hidden,
7211     uuid(3050F614-98B5-11CF-BB82-00AA00BDCE0B)
7212 ]
7213 dispinterface HTMLFormElementEvents2
7214 {
7215 properties:
7216 methods:
7217     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
7218     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
7219
7220     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
7221     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
7222
7223     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
7224     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
7225
7226     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
7227     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
7228
7229     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
7230     void onkeydown([in] IHTMLEventObj* pEvtObj);
7231
7232     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
7233     void onkeyup([in] IHTMLEventObj* pEvtObj);
7234
7235     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
7236     void onmouseout([in] IHTMLEventObj* pEvtObj);
7237
7238     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
7239     void onmouseover([in] IHTMLEventObj* pEvtObj);
7240
7241     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
7242     void onmousemove([in] IHTMLEventObj* pEvtObj);
7243
7244     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
7245     void onmousedown([in] IHTMLEventObj* pEvtObj);
7246
7247     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
7248     void onmouseup([in] IHTMLEventObj* pEvtObj);
7249
7250     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
7251     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
7252
7253     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
7254     void onfilterchange([in] IHTMLEventObj* pEvtObj);
7255
7256     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
7257     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
7258
7259     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
7260     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
7261
7262     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
7263     void onafterupdate([in] IHTMLEventObj* pEvtObj);
7264
7265     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
7266     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
7267
7268     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
7269     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
7270
7271     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
7272     void onrowenter([in] IHTMLEventObj* pEvtObj);
7273
7274     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
7275     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
7276
7277     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
7278     void ondataavailable([in] IHTMLEventObj* pEvtObj);
7279
7280     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
7281     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
7282
7283     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
7284     void onlosecapture([in] IHTMLEventObj* pEvtObj);
7285
7286     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
7287     void onpropertychange([in] IHTMLEventObj* pEvtObj);
7288
7289     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
7290     void onscroll([in] IHTMLEventObj* pEvtObj);
7291
7292     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
7293     void onfocus([in] IHTMLEventObj* pEvtObj);
7294
7295     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
7296     void onblur([in] IHTMLEventObj* pEvtObj);
7297
7298     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
7299     void onresize([in] IHTMLEventObj* pEvtObj);
7300
7301     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
7302     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
7303
7304     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
7305     void ondragend([in] IHTMLEventObj* pEvtObj);
7306
7307     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
7308     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
7309
7310     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
7311     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
7312
7313     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
7314     void ondragleave([in] IHTMLEventObj* pEvtObj);
7315
7316     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
7317     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
7318
7319     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
7320     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
7321
7322     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
7323     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
7324
7325     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
7326     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
7327
7328     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
7329     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
7330
7331     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
7332     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
7333
7334     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
7335     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
7336
7337     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
7338     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
7339
7340     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
7341     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
7342
7343     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
7344     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
7345
7346     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
7347     void oncellchange([in] IHTMLEventObj* pEvtObj);
7348
7349     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
7350     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
7351
7352     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
7353     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
7354
7355     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
7356     void onpage([in] IHTMLEventObj* pEvtObj);
7357
7358     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
7359     void onmouseenter([in] IHTMLEventObj* pEvtObj);
7360
7361     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
7362     void onmouseleave([in] IHTMLEventObj* pEvtObj);
7363
7364     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
7365     void onactivate([in] IHTMLEventObj* pEvtObj);
7366
7367     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
7368     void ondeactivate([in] IHTMLEventObj* pEvtObj);
7369
7370     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
7371     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
7372
7373     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
7374     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
7375
7376     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
7377     void onfocusin([in] IHTMLEventObj* pEvtObj);
7378
7379     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
7380     void onfocusout([in] IHTMLEventObj* pEvtObj);
7381
7382     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
7383     void onmove([in] IHTMLEventObj* pEvtObj);
7384
7385     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
7386     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
7387
7388     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
7389     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
7390
7391     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
7392     void onmoveend([in] IHTMLEventObj* pEvtObj);
7393
7394     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
7395     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
7396
7397     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
7398     void onresizeend([in] IHTMLEventObj* pEvtObj);
7399
7400     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
7401     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
7402
7403     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONSUBMIT)]
7404     VARIANT_BOOL onsubmit([in] IHTMLEventObj* pEvtObj);
7405
7406     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONRESET)]
7407     VARIANT_BOOL onreset([in] IHTMLEventObj* pEvtObj);
7408 }
7409
7410 [
7411     noncreatable,
7412     uuid(3050F24D-98B5-11CF-BB82-00AA00BDCE0B)
7413 ]
7414 coclass HTMLFormElement
7415 {
7416     [default]           dispinterface DispHTMLFormElement;
7417     [source, default]   dispinterface HTMLFormElementEvents;
7418     [source]            dispinterface HTMLFormElementEvents2;
7419                         interface IHTMLElement;
7420                         interface IHTMLElement2;
7421                         interface IHTMLElement3;
7422                         interface IHTMLElement4;
7423                         interface IHTMLUniqueName;
7424                         interface IHTMLDOMNode;
7425                         interface IHTMLDOMNode2;
7426                         interface IHTMLDOMConstructor;
7427                         interface IHTMLFormElement;
7428 }
7429
7430 /*****************************************************************************
7431  *    IHTMLTextContainer interface
7432  */
7433 [
7434     odl,
7435     oleautomation,
7436     dual,
7437     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
7438 ]
7439 interface IHTMLTextContainer : IDispatch
7440 {
7441     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
7442     HRESULT createControlRange([retval, out] IDispatch **range);
7443
7444     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
7445     HRESULT scrollHeight([retval, out] LONG *p);
7446
7447     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
7448     HRESULT scrollWidth([retval, out] LONG *p);
7449
7450     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7451     HRESULT scrollTop([in] LONG v);
7452
7453     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7454     HRESULT scrollTop([retval, out] LONG *p);
7455
7456     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7457     HRESULT scrollLeft([in] LONG v);
7458
7459     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7460     HRESULT scrollLeft([retval, out] LONG *p);
7461
7462     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7463     HRESULT onscroll([in] VARIANT v);
7464
7465     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7466     HRESULT onscroll([retval, out] VARIANT *p);
7467 }
7468
7469 /*****************************************************************************
7470  *    IHTMLImgElement interface
7471  */
7472 [
7473     odl,
7474     oleautomation,
7475     dual,
7476     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
7477 ]
7478 interface IHTMLImgElement : IDispatch
7479 {
7480     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7481     HRESULT isMap([in] VARIANT_BOOL v);
7482
7483     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7484     HRESULT isMap([retval, out] VARIANT_BOOL *p);
7485
7486     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7487     HRESULT useMap([in] BSTR v);
7488
7489     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7490     HRESULT useMap([retval, out] BSTR *p);
7491
7492     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7493     HRESULT mimeType([retval, out] BSTR *p);
7494
7495     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7496     HRESULT fileSize([retval, out] BSTR *p);
7497
7498     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7499     HRESULT fileCreatedDate([retval, out] BSTR *p);
7500
7501     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7502     HRESULT fileModifiedDate([retval, out] BSTR *p);
7503
7504     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7505     HRESULT fileUpdatedDate([retval, out] BSTR *p);
7506
7507     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7508     HRESULT protocol([retval, out] BSTR *p);
7509
7510     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7511     HRESULT href([retval, out] BSTR *p);
7512
7513     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7514     HRESULT nameProp([retval, out] BSTR *p);
7515
7516     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7517     HRESULT border([in] VARIANT v);
7518
7519     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7520     HRESULT border([retval, out] VARIANT *p);
7521
7522     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7523     HRESULT vspace([in] LONG v);
7524
7525     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7526     HRESULT vspace([retval, out] LONG *p);
7527
7528     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7529     HRESULT hspace([in] LONG v);
7530
7531     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7532     HRESULT hspace([retval, out] LONG *p);
7533
7534     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
7535     HRESULT alt([in] BSTR v);
7536
7537     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
7538     HRESULT alt([retval, out] BSTR *p);
7539
7540     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
7541     HRESULT src([in] BSTR v);
7542
7543     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
7544     HRESULT src([retval, out] BSTR *p);
7545
7546     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7547     HRESULT lowsrc([in] BSTR v);
7548
7549     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7550     HRESULT lowsrc([retval, out] BSTR *p);
7551
7552     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
7553     HRESULT vrml([in] BSTR v);
7554
7555     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
7556     HRESULT vrml([retval, out] BSTR *p);
7557
7558     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7559     HRESULT dynsrc([in] BSTR v);
7560
7561     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7562     HRESULT dynsrc([retval, out] BSTR *p);
7563
7564     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
7565     HRESULT readyState([retval, out] BSTR *p);
7566
7567     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7568     HRESULT complete([retval, out] VARIANT_BOOL *p);
7569
7570     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7571     HRESULT loop([in] VARIANT v);
7572
7573     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7574     HRESULT loop([retval, out] VARIANT *p);
7575
7576     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7577     HRESULT align([in] BSTR v);
7578
7579     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7580     HRESULT align([retval, out] BSTR *p);
7581
7582     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7583     HRESULT onload([in] VARIANT v);
7584
7585     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7586     HRESULT onload([retval, out] VARIANT *p);
7587
7588     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7589     HRESULT onerror([in] VARIANT v);
7590
7591     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7592     HRESULT onerror([retval, out] VARIANT *p);
7593
7594     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7595     HRESULT onabort([in] VARIANT v);
7596
7597     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7598     HRESULT onabort([retval, out] VARIANT *p);
7599
7600     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
7601     HRESULT name([in] BSTR v);
7602
7603     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
7604     HRESULT name([retval, out] BSTR *p);
7605
7606     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7607     HRESULT width([in] LONG v);
7608
7609     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7610     HRESULT width([retval, out] LONG *p);
7611
7612     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7613     HRESULT height([in] LONG v);
7614
7615     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7616     HRESULT height([retval, out] LONG *p);
7617
7618     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
7619     HRESULT start([in] BSTR v);
7620
7621     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
7622     HRESULT start([retval, out] BSTR *p);
7623 }
7624
7625 /*****************************************************************************
7626  *    IHTMLImageElementFactory interface
7627  */
7628 [
7629     odl,
7630     oleautomation,
7631     dual,
7632     uuid(3050F38E-98B5-11CF-BB82-00AA00BDCE0B)
7633 ]
7634 interface IHTMLImageElementFactory : IDispatch
7635 {
7636     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
7637     HRESULT create(
7638         [optional, in] VARIANT width,
7639         [optional, in] VARIANT height,
7640         [retval, out]  IHTMLImgElement **elem);
7641 }
7642
7643 /*****************************************************************************
7644  *    DispHTMLImg interface
7645  */
7646 [
7647     hidden,
7648     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
7649 ]
7650 dispinterface DispHTMLImg
7651 {
7652 properties:
7653 methods:
7654     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7655
7656     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7657     void isMap(VARIANT_BOOL v);
7658
7659     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7660     VARIANT_BOOL isMap();
7661
7662     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7663     void useMap(BSTR v);
7664
7665     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7666     BSTR useMap();
7667
7668     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7669     BSTR mimeType();
7670
7671     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7672     BSTR fileSize();
7673
7674     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7675     BSTR fileCreatedDate();
7676
7677     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7678     BSTR fileModifiedDate();
7679
7680     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7681     BSTR fileUpdatedDate();
7682
7683     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7684     BSTR protocol();
7685
7686     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7687     BSTR href();
7688
7689     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7690     BSTR nameProp();
7691
7692     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7693     void border(VARIANT v);
7694
7695     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7696     VARIANT border();
7697
7698     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7699     void vspace(LONG v);
7700
7701     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7702     LONG vspace();
7703
7704     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7705     void hspace(LONG v);
7706
7707     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7708     LONG hspace();
7709
7710     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7711     void alt(BSTR v);
7712
7713     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7714     BSTR alt();
7715
7716     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7717     void src(BSTR v);
7718
7719     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7720     BSTR src();
7721
7722     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7723     void lowsrc(BSTR v);
7724
7725     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7726     BSTR lowsrc();
7727
7728     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7729     void vrml(BSTR v);
7730
7731     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7732     BSTR vrml();
7733
7734     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7735     void dynsrc(BSTR v);
7736
7737     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7738     BSTR dynsrc();
7739
7740     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7741     VARIANT_BOOL complete();
7742
7743     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7744     void loop(VARIANT v);
7745
7746     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7747     VARIANT loop();
7748
7749     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7750     void align(BSTR v);
7751
7752     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7753     BSTR align();
7754
7755     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7756     void onload(VARIANT v);
7757
7758     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7759     VARIANT onload();
7760
7761     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7762     void onerror(VARIANT v);
7763
7764     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7765     VARIANT onerror();
7766
7767     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7768     void onabort(VARIANT v);
7769
7770     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7771     VARIANT onabort();
7772
7773     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7774     void name(BSTR v);
7775
7776     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7777     BSTR name();
7778
7779     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7780     void width(LONG v);
7781
7782     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7783     LONG width();
7784
7785     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7786     void height(LONG v);
7787
7788     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7789     LONG height();
7790
7791     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7792     void start(BSTR v);
7793
7794     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7795     BSTR start();
7796
7797     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7798     void longDesc(BSTR v);
7799
7800     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7801     BSTR longDesc();
7802 }
7803
7804 /*****************************************************************************
7805  *    IHTMLControlElement interface
7806  */
7807 [
7808     odl,
7809     oleautomation,
7810     dual,
7811     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
7812 ]
7813 interface IHTMLControlElement : IDispatch
7814 {
7815     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7816     HRESULT tabIndex([in] short v);
7817
7818     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7819     HRESULT tabIndex([retval, out] short * p);
7820
7821     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
7822     HRESULT focus();
7823
7824     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7825     HRESULT accessKey([in] BSTR v);
7826
7827     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7828     HRESULT accessKey([retval, out] BSTR * p);
7829
7830     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7831     HRESULT onblur([in] VARIANT v);
7832
7833     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7834     HRESULT onblur([retval, out] VARIANT * p);
7835
7836     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7837     HRESULT onfocus([in] VARIANT v);
7838
7839     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7840     HRESULT onfocus([retval, out] VARIANT * p);
7841
7842     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7843     HRESULT onresize([in] VARIANT v);
7844
7845     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7846     HRESULT onresize([retval, out] VARIANT * p);
7847
7848     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
7849     HRESULT blur();
7850
7851     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
7852     HRESULT addFilter([in] IUnknown* pUnk);
7853
7854     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
7855     HRESULT removeFilter([in] IUnknown* pUnk);
7856
7857     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
7858     HRESULT clientHeight([retval, out] LONG * p);
7859
7860     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
7861     HRESULT clientWidth([retval, out] LONG * p);
7862
7863     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
7864     HRESULT clientTop([retval, out] LONG * p);
7865
7866     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
7867     HRESULT clientLeft([retval, out] LONG * p);
7868 }
7869
7870 /*****************************************************************************
7871  *    IHTMLBodyElement interface
7872  */
7873 [
7874     odl,
7875     oleautomation,
7876     dual,
7877     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
7878 ]
7879 interface IHTMLBodyElement : IDispatch
7880 {
7881     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7882     HRESULT background([in] BSTR v);
7883
7884     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7885     HRESULT background([retval, out] BSTR *p);
7886
7887     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7888     HRESULT bgProperties([in] BSTR v);
7889
7890     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7891     HRESULT bgProperties([retval, out] BSTR *p);
7892
7893     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7894     HRESULT leftMargin([in] VARIANT v);
7895
7896     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7897     HRESULT leftMargin([retval, out] VARIANT *p);
7898
7899     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7900     HRESULT topMargin([in] VARIANT v);
7901
7902     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7903     HRESULT topMargin([retval, out] VARIANT *p);
7904
7905     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7906     HRESULT rightMargin([in] VARIANT v);
7907
7908     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7909     HRESULT rightMargin([retval, out] VARIANT *p);
7910
7911     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7912     HRESULT bottomMargin([in] VARIANT v);
7913
7914     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7915     HRESULT bottomMargin([retval, out] VARIANT *p);
7916
7917     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7918     HRESULT noWrap([in] VARIANT_BOOL v);
7919
7920     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7921     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
7922
7923     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7924     HRESULT bgColor([in] VARIANT v);
7925
7926     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7927     HRESULT bgColor([retval, out] VARIANT *p);
7928
7929     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7930     HRESULT text([in] VARIANT v);
7931
7932     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7933     HRESULT text([retval, out] VARIANT *p);
7934
7935     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7936     HRESULT link([in] VARIANT v);
7937
7938     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7939     HRESULT link([retval, out] VARIANT *p);
7940
7941     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7942     HRESULT vLink([in] VARIANT v);
7943
7944     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7945     HRESULT vLink([retval, out] VARIANT *p);
7946
7947     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7948     HRESULT aLink([in] VARIANT v);
7949
7950     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7951     HRESULT aLink([retval, out] VARIANT *p);
7952
7953     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7954     HRESULT onload([in] VARIANT v);
7955
7956     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7957     HRESULT onload([retval, out] VARIANT *p);
7958
7959     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7960     HRESULT onunload([in] VARIANT v);
7961
7962     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7963     HRESULT onunload([retval, out] VARIANT *p);
7964
7965     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7966     HRESULT scroll([in] BSTR v);
7967
7968     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7969     HRESULT scroll([retval, out] BSTR *p);
7970
7971     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7972     HRESULT onselect([in] VARIANT v);
7973
7974     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7975     HRESULT onselect([retval, out] VARIANT *p);
7976
7977     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7978     HRESULT onbeforeunload([in] VARIANT v);
7979
7980     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7981     HRESULT onbeforeunload([retval, out] VARIANT *p);
7982
7983     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7984     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7985 }
7986
7987 /*****************************************************************************
7988  *    IHTMLBodyElement2 interface
7989  */
7990 [
7991     odl,
7992     oleautomation,
7993     dual,
7994     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
7995 ]
7996 interface IHTMLBodyElement2 : IDispatch
7997 {
7998     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7999     HRESULT onbeforeprint([in] VARIANT v);
8000
8001     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8002     HRESULT onbeforeprint([retval, out] VARIANT *p);
8003
8004     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8005     HRESULT onafterprint([in] VARIANT v);
8006
8007     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8008     HRESULT onafterprint([retval, out] VARIANT *p);
8009 }
8010
8011 [
8012     hidden,
8013     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
8014 ]
8015 dispinterface DispHTMLBody
8016 {
8017 properties:
8018 methods:
8019     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8020
8021     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8022     void background(BSTR v);
8023
8024     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8025     BSTR background();
8026
8027     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8028     void bgProperties(BSTR v);
8029
8030     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8031     BSTR bgProperties();
8032
8033     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8034     void leftMargin(VARIANT v);
8035
8036     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8037     VARIANT leftMargin();
8038
8039     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8040     void topMargin(VARIANT v);
8041
8042     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8043     VARIANT topMargin();
8044
8045     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8046     void rightMargin(VARIANT v);
8047
8048     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8049     VARIANT rightMargin();
8050
8051     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8052     void bottomMargin(VARIANT v);
8053
8054     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8055     VARIANT bottomMargin();
8056
8057     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8058     void noWrap(VARIANT_BOOL v);
8059
8060     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8061     VARIANT_BOOL noWrap();
8062
8063     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8064     void bgColor(VARIANT v);
8065
8066     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8067     VARIANT bgColor();
8068
8069     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8070     void text(VARIANT v);
8071
8072     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8073     VARIANT text();
8074
8075     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8076     void link(VARIANT v);
8077
8078     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8079     VARIANT link();
8080
8081     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8082     void vLink(VARIANT v);
8083
8084     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8085     VARIANT vLink();
8086
8087     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8088     void aLink(VARIANT v);
8089
8090     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8091     VARIANT aLink();
8092
8093     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8094     void onload(VARIANT v);
8095
8096     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8097     VARIANT onload();
8098
8099     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8100     void onunload(VARIANT v);
8101
8102     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8103     VARIANT onunload();
8104
8105     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8106     void scroll(BSTR v);
8107
8108     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8109     BSTR scroll();
8110
8111     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8112     void onselect(VARIANT v);
8113
8114     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8115     VARIANT onselect();
8116
8117     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8118     void onbeforeunload(VARIANT v);
8119
8120     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8121     VARIANT onbeforeunload();
8122
8123     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8124     IHTMLTxtRange* createTextRange();
8125
8126     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8127     void onbeforeprint(VARIANT v);
8128
8129     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8130     VARIANT onbeforeprint();
8131
8132     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8133     void onafterprint(VARIANT v);
8134
8135     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8136     VARIANT onafterprint();
8137 }
8138
8139 [
8140     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
8141 ]
8142 coclass HTMLBody
8143 {
8144     [default]           dispinterface DispHTMLBody;
8145     [source, default]   dispinterface HTMLTextContainerEvents;
8146     [source]            dispinterface HTMLTextContainerEvents2;
8147                         interface IHTMLElement;
8148                         interface IHTMLElement2;
8149                         interface IHTMLElement3;
8150                         interface IHTMLElement4;
8151                         interface IHTMLUniqueName;
8152                         interface IHTMLDOMNode;
8153                         interface IHTMLDOMNode2;
8154                         interface IHTMLControlElement;
8155                         interface IHTMLTextContainer;
8156                         interface IHTMLBodyElement;
8157                         interface IHTMLBodyElement2;
8158 }
8159
8160 /*****************************************************************************
8161  *    IHTMLAnchorElement interface
8162  */
8163 [
8164     odl,
8165     oleautomation,
8166     dual,
8167     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
8168 ]
8169 interface IHTMLAnchorElement : IDispatch
8170 {
8171     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8172     HRESULT href([in] BSTR v);
8173
8174     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8175     HRESULT href([retval, out] BSTR *p);
8176
8177     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8178     HRESULT target([in] BSTR v);
8179
8180     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8181     HRESULT target([retval, out] BSTR *p);
8182
8183     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8184     HRESULT rel([in] BSTR v);
8185
8186     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8187     HRESULT rel([retval, out] BSTR *p);
8188
8189     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8190     HRESULT rev([in] BSTR v);
8191
8192     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8193     HRESULT rev([retval, out] BSTR *p);
8194
8195     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8196     HRESULT urn([in] BSTR v);
8197
8198     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8199     HRESULT urn([retval, out] BSTR *p);
8200
8201     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8202     HRESULT Methods([in] BSTR v);
8203
8204     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8205     HRESULT Methods([retval, out] BSTR *p);
8206
8207     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8208     HRESULT name([in] BSTR v);
8209
8210     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8211     HRESULT name([retval, out] BSTR *p);
8212
8213     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8214     HRESULT host([in] BSTR v);
8215
8216     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8217     HRESULT host([retval, out] BSTR *p);
8218
8219     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8220     HRESULT hostname([in] BSTR v);
8221
8222     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8223     HRESULT hostname([retval, out] BSTR *p);
8224
8225     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8226     HRESULT pathname([in] BSTR v);
8227
8228     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8229     HRESULT pathname([retval, out] BSTR *p);
8230
8231     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8232     HRESULT port([in] BSTR v);
8233
8234     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8235     HRESULT port([retval, out] BSTR *p);
8236
8237     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8238     HRESULT protocol([in] BSTR v);
8239
8240     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8241     HRESULT protocol([retval, out] BSTR *p);
8242
8243     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8244     HRESULT search([in] BSTR v);
8245
8246     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8247     HRESULT search([retval, out] BSTR *p);
8248
8249     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8250     HRESULT hash([in] BSTR v);
8251
8252     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8253     HRESULT hash([retval, out] BSTR *p);
8254
8255     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8256     HRESULT onblur([in] VARIANT v);
8257
8258     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8259     HRESULT onblur([retval, out] VARIANT *p);
8260
8261     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8262     HRESULT onfocus([in] VARIANT v);
8263
8264     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8265     HRESULT onfocus([retval, out] VARIANT *p);
8266
8267     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8268     HRESULT accessKey([in] BSTR v);
8269
8270     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8271     HRESULT accessKey([retval, out] BSTR *p);
8272
8273     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8274     HRESULT protocolLong([retval, out] BSTR *p);
8275
8276     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8277     HRESULT mimeType([retval, out] BSTR *p);
8278
8279     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8280     HRESULT nameProp([retval, out] BSTR *p);
8281
8282     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8283     HRESULT tabIndex([in] short v);
8284
8285     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8286     HRESULT tabIndex([retval, out] short *p);
8287
8288     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
8289     HRESULT focus();
8290
8291     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
8292     HRESULT blur();
8293 }
8294
8295 /*****************************************************************************
8296  *    DispHTMLAnchorElement dispinterface
8297  */
8298 [
8299     hidden,
8300     uuid(3050f502-98b5-11cf-bb82-00aa00bdce0b)
8301 ]
8302 dispinterface DispHTMLAnchorElement
8303 {
8304 properties:
8305 methods:
8306     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8307
8308     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8309     void href(BSTR v);
8310
8311     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8312     BSTR href();
8313
8314     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8315     void target(BSTR v);
8316
8317     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8318     BSTR target();
8319
8320     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8321     void rel(BSTR v);
8322
8323     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8324     BSTR rel();
8325
8326     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8327     void rev(BSTR v);
8328
8329     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8330     BSTR rev();
8331
8332     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8333     void urn(BSTR v);
8334
8335     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8336     BSTR urn();
8337
8338     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8339     void Methods(BSTR v);
8340
8341     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8342     BSTR Methods();
8343
8344     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8345     void name(BSTR v);
8346
8347     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8348     BSTR name();
8349
8350     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8351     void host(BSTR v);
8352
8353     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8354     BSTR host();
8355
8356     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8357     void hostname(BSTR v);
8358
8359     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8360     BSTR hostname();
8361
8362     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8363     void pathname(BSTR v);
8364
8365     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8366     BSTR pathname();
8367
8368     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8369     void port(BSTR v);
8370
8371     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8372     BSTR port();
8373
8374     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8375     void protocol(BSTR v);
8376
8377     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8378     BSTR protocol();
8379
8380     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8381     void search(BSTR v);
8382
8383     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8384     BSTR search();
8385
8386     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8387     void hash(BSTR v);
8388
8389     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8390     BSTR hash();
8391
8392     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8393     BSTR protocolLong();
8394
8395     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8396     BSTR mimeType();
8397
8398     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8399     BSTR nameProp();
8400
8401     [propput, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8402     void charset(BSTR v);
8403
8404     [propget, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8405     BSTR charset();
8406
8407     [propput, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8408     void coords(BSTR v);
8409
8410     [propget, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8411     BSTR coords();
8412
8413     [propput, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8414     void hreflang(BSTR v);
8415
8416     [propget, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8417     BSTR hreflang();
8418
8419     [propput, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8420     void shape(BSTR v);
8421
8422     [propget, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8423     BSTR shape();
8424
8425     [propput, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8426     void type(BSTR v);
8427
8428     [propget, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8429     BSTR type();
8430
8431     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8432     void ie8_shape(BSTR v);
8433
8434     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8435     BSTR ie8_shape();
8436
8437     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8438     void ie8_coords(BSTR v);
8439
8440     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8441     BSTR ie8_coords();
8442
8443     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8444     void ie8_href(BSTR v);
8445
8446     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8447     BSTR ie8_href();
8448 }
8449
8450 /*****************************************************************************
8451  *    IHTMLElementCollection interface
8452  */
8453 [
8454     odl,
8455     oleautomation,
8456     dual,
8457     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
8458 ]
8459 interface IHTMLElementCollection : IDispatch
8460 {
8461     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8462     HRESULT toString([retval, out] BSTR *String);
8463
8464     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8465     HRESULT length([in] LONG v);
8466
8467     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8468     HRESULT length([retval, out] LONG *p);
8469
8470     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
8471     HRESULT _newEnum([retval, out] IUnknown **p);
8472
8473     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8474     HRESULT item(
8475         [optional, in] VARIANT name,
8476         [optional, in] VARIANT index,
8477         [retval,  out] IDispatch **pdisp);
8478
8479     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8480     HRESULT tags(
8481         [in] VARIANT tagName,
8482         [retval, out] IDispatch **pdisp);
8483 }
8484
8485 /*****************************************************************************
8486  *    DispHTMLElementCollection dispinterface
8487  */
8488 [
8489     hidden,
8490     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
8491 ]
8492 dispinterface DispHTMLElementCollection
8493 {
8494 properties:
8495 methods:
8496     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8497     BSTR toString();
8498
8499     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8500     void length(LONG v);
8501
8502     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8503     LONG length();
8504
8505     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
8506     IUnknown *_newEnum();
8507
8508     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8509     IDispatch *item(
8510             [in, optional] VARIANT name,
8511             [in, optional] VARIANT index);
8512
8513     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8514     IDispatch *tags(
8515             [in] VARIANT tagName);
8516
8517     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
8518     IDispatch *urns([in] VARIANT urn);
8519
8520     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
8521     IDispatch *namedItem([in] BSTR name);
8522 }
8523
8524 /*****************************************************************************
8525  *    IHTMLSelectElement interface
8526  */
8527 [
8528     odl,
8529     oleautomation,
8530     dual,
8531     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
8532 ]
8533 interface IHTMLSelectElement : IDispatch
8534 {
8535     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8536     HRESULT size([in] LONG v);
8537
8538     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8539     HRESULT size([retval, out] LONG *p);
8540
8541     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8542     HRESULT multiple([in] VARIANT_BOOL v);
8543
8544     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8545     HRESULT multiple([retval, out] VARIANT_BOOL *p);
8546
8547     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8548     HRESULT name([in] BSTR v);
8549
8550     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8551     HRESULT name([retval, out] BSTR *p);
8552
8553     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8554     HRESULT options([retval, out] IDispatch **p);
8555
8556     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8557     HRESULT onchange([in] VARIANT v);
8558
8559     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8560     HRESULT onchange([retval, out] VARIANT *p);
8561
8562     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8563     HRESULT selectedIndex([in] LONG v);
8564
8565     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8566     HRESULT selectedIndex([retval, out] LONG *p);
8567
8568     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8569     HRESULT type([retval, out] BSTR *p);
8570
8571     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8572     HRESULT value([in] BSTR v);
8573
8574     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8575     HRESULT value([retval, out] BSTR *p);
8576
8577     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8578     HRESULT disabled([in] VARIANT_BOOL v);
8579
8580     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8581     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8582
8583     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8584     HRESULT form([retval, out] IHTMLFormElement **p);
8585
8586     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8587     HRESULT add(
8588         [in] IHTMLElement *element,
8589         [optional, in] VARIANT before);
8590
8591     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8592     HRESULT remove([defaultvalue(-1), in] LONG index);
8593
8594     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8595     HRESULT length([in] LONG v);
8596
8597     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8598     HRESULT length([retval, out] LONG *p);
8599
8600     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8601     HRESULT _newEnum([retval, out] IUnknown **p);
8602
8603     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8604     HRESULT item(
8605         [optional, in] VARIANT name,
8606         [optional, in] VARIANT index,
8607         [retval, out] IDispatch **pdisp);
8608
8609     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8610     HRESULT tags(
8611         [in] VARIANT tagName,
8612         [retval, out] IDispatch **pdisp);
8613 }
8614
8615 /*****************************************************************************
8616  *    DispHTMLSelectElement dispinterface
8617  */
8618 [
8619     hidden,
8620     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8621 ]
8622 dispinterface DispHTMLSelectElement
8623 {
8624 properties:
8625 methods:
8626     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8627
8628     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8629     void size(LONG v);
8630
8631     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8632     LONG size();
8633
8634     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8635     void multiple(VARIANT_BOOL v);
8636
8637     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8638     VARIANT_BOOL multiple();
8639
8640     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8641     void name(BSTR v);
8642
8643     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8644     BSTR name();
8645
8646     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8647     IDispatch *options();
8648
8649     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8650     void onchange(VARIANT v);
8651
8652     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8653     VARIANT onchange();
8654
8655     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8656     void selectedIndex(LONG v);
8657
8658     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8659     LONG selectedIndex();
8660
8661     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8662     BSTR type();
8663
8664     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8665     void value(BSTR v);
8666
8667     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8668     BSTR value();
8669
8670     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8671     IHTMLFormElement *form();
8672
8673     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8674     void add(
8675             [in] IHTMLElement *element,
8676             [in, optional] VARIANT before);
8677
8678     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8679     void remove([in, defaultvalue(-1)] LONG index);
8680
8681     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8682     void length(LONG v);
8683
8684     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8685     LONG length();
8686
8687     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8688     IUnknown *_newEnum();
8689
8690     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8691     IDispatch *item(
8692             [in, optional] VARIANT name,
8693             [in, optional] VARIANT index);
8694
8695     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8696     IDispatch *tags([in] VARIANT tagName);
8697
8698     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
8699     IDispatch *urns([in] VARIANT urn);
8700
8701     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
8702     IDispatch *namedItem([in] BSTR name);
8703 }
8704
8705 /*****************************************************************************
8706  *    IHTMLSelectionObject interface
8707  */
8708 [
8709     odl,
8710     oleautomation,
8711     dual,
8712     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
8713 ]
8714 interface IHTMLSelectionObject : IDispatch
8715 {
8716     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
8717     HRESULT createRange([retval, out] IDispatch **range);
8718
8719     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
8720     HRESULT empty();
8721
8722     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
8723     HRESULT clear();
8724
8725     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
8726     HRESULT type([retval, out] BSTR *p);
8727 }
8728
8729 /*****************************************************************************
8730  *    IHTMLOptionElement interface
8731  */
8732 [
8733     odl,
8734     oleautomation,
8735     dual,
8736     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
8737 ]
8738 interface IHTMLOptionElement : IDispatch
8739 {
8740     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8741     HRESULT selected([in] VARIANT_BOOL v);
8742
8743     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8744     HRESULT selected([retval, out] VARIANT_BOOL *p);
8745
8746     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8747     HRESULT value([in] BSTR v);
8748
8749     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8750     HRESULT value([retval, out] BSTR *p);
8751
8752     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8753     HRESULT defaultSelected([in] VARIANT_BOOL v);
8754
8755     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8756     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
8757
8758     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8759     HRESULT index([in] LONG v);
8760
8761     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8762     HRESULT index([retval, out] LONG *p);
8763
8764     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8765     HRESULT text([in] BSTR v);
8766
8767     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8768     HRESULT text([retval, out] BSTR *p);
8769
8770     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8771     HRESULT form([retval, out] IHTMLFormElement **p);
8772 }
8773
8774 [
8775     odl,
8776     oleautomation,
8777     dual,
8778     uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
8779 ]
8780 interface IHTMLOptionElement3 : IDispatch
8781 {
8782     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8783     HRESULT label([in] BSTR v);
8784
8785     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8786     HRESULT label([retval, out] BSTR * p);
8787 }
8788
8789 /*****************************************************************************
8790  *    IHTMLOptionElementFactory interface
8791  */
8792 [
8793     odl,
8794     oleautomation,
8795     dual,
8796     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
8797 ]
8798 interface IHTMLOptionElementFactory : IDispatch
8799 {
8800     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
8801     HRESULT create(
8802         [optional, in] VARIANT text,
8803         [optional, in] VARIANT value,
8804         [optional, in] VARIANT defaultselected,
8805         [optional, in] VARIANT selected,
8806         [retval, out] IHTMLOptionElement **optelem);
8807 }
8808
8809 /*****************************************************************************
8810  *    DispHTMLOptionElement dispinterface
8811  */
8812 [
8813     hidden,
8814     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
8815 ]
8816 dispinterface DispHTMLOptionElement
8817 {
8818 properties:
8819 methods:
8820     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8821
8822     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8823     void selected(VARIANT_BOOL v);
8824
8825     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8826     VARIANT_BOOL selected();
8827
8828     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8829     void value(BSTR v);
8830
8831     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8832     BSTR value();
8833
8834     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8835     void defaultSelected(VARIANT_BOOL v);
8836
8837     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8838     VARIANT_BOOL defaultSelected();
8839
8840     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8841     void index(LONG v);
8842
8843     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8844     LONG index();
8845
8846     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8847     void text(BSTR v);
8848
8849     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8850     BSTR text();
8851
8852     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8853     IHTMLFormElement *form();
8854
8855     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8856     void label(BSTR v);
8857
8858     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8859     BSTR label();
8860 }
8861
8862 [
8863     noncreatable,
8864     uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
8865 ]
8866 coclass HTMLOptionElement
8867 {
8868     [default]           dispinterface DispHTMLOptionElement;
8869     [source, default]   dispinterface HTMLElementEvents;
8870     [source]            dispinterface HTMLElementEvents2;
8871                         interface IHTMLElement;
8872                         interface IHTMLElement2;
8873                         interface IHTMLElement3;
8874                         interface IHTMLElement4;
8875                         interface IHTMLUniqueName;
8876                         interface IHTMLDOMNode;
8877                         interface IHTMLDOMNode2;
8878                         interface IHTMLDatabinding;
8879                         interface IHTMLOptionElement;
8880                         interface IHTMLOptionElement3;
8881 }
8882
8883 /*****************************************************************************
8884  *    IHTMLInputElement interface
8885  */
8886 [
8887     odl,
8888     oleautomation,
8889     dual,
8890     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
8891 ]
8892 interface IHTMLInputElement : IDispatch
8893 {
8894     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8895     HRESULT type([in] BSTR v);
8896
8897     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8898     HRESULT type([retval, out] BSTR *p);
8899
8900     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8901     HRESULT value([in] BSTR v);
8902
8903     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8904     HRESULT value([retval, out] BSTR *p);
8905
8906     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8907     HRESULT name([in] BSTR v);
8908
8909     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8910     HRESULT name([retval, out] BSTR *p);
8911
8912     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8913     HRESULT status([in] VARIANT_BOOL v);
8914
8915     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8916     HRESULT status([retval, out] VARIANT_BOOL *p);
8917
8918     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8919     HRESULT disabled([in] VARIANT_BOOL v);
8920
8921     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8922     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8923
8924     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8925     HRESULT form([retval, out] IHTMLFormElement **p);
8926
8927     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8928     HRESULT size([in] LONG v);
8929
8930     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8931     HRESULT size([retval, out] LONG *p);
8932
8933     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8934     HRESULT maxLength([in] LONG v);
8935
8936     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8937     HRESULT maxLength([retval, out] LONG *p);
8938
8939     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8940     HRESULT select();
8941
8942     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8943     HRESULT onchange([in] VARIANT v);
8944
8945     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8946     HRESULT onchange([retval, out] VARIANT *p);
8947
8948     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8949     HRESULT onselect([in] VARIANT v);
8950
8951     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8952     HRESULT onselect([retval, out] VARIANT *p);
8953
8954     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8955     HRESULT defaultValue([in] BSTR v);
8956
8957     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8958     HRESULT defaultValue([retval, out] BSTR *p);
8959
8960     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8961     HRESULT readOnly([in] VARIANT_BOOL v);
8962
8963     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8964     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8965
8966     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8967     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8968
8969     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8970     HRESULT indeterminate([in] VARIANT_BOOL v);
8971
8972     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8973     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
8974
8975     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8976     HRESULT defaultChecked([in] VARIANT_BOOL v);
8977
8978     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8979     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
8980
8981     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8982     HRESULT checked([in] VARIANT_BOOL v);
8983
8984     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8985     HRESULT checked([retval, out] VARIANT_BOOL *p);
8986
8987     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8988     HRESULT border([in] VARIANT v);
8989
8990     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8991     HRESULT border([retval, out] VARIANT *p);
8992
8993     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8994     HRESULT vspace([in] LONG v);
8995
8996     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8997     HRESULT vspace([retval, out] LONG *p);
8998
8999     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9000     HRESULT hspace([in] LONG v);
9001
9002     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9003     HRESULT hspace([retval, out] LONG *p);
9004
9005     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9006     HRESULT alt([in] BSTR v);
9007
9008     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9009     HRESULT alt([retval, out] BSTR *p);
9010
9011     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9012     HRESULT src([in] BSTR v);
9013
9014     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9015     HRESULT src([retval, out] BSTR *p);
9016
9017     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9018     HRESULT lowsrc([in] BSTR v);
9019
9020     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9021     HRESULT lowsrc([retval, out] BSTR *p);
9022
9023     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9024     HRESULT vrml([in] BSTR v);
9025
9026     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9027     HRESULT vrml([retval, out] BSTR *p);
9028
9029     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9030     HRESULT dynsrc([in] BSTR v);
9031
9032     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9033     HRESULT dynsrc([retval, out] BSTR *p);
9034
9035     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
9036     HRESULT readyState([retval, out] BSTR *p);
9037
9038     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9039     HRESULT complete([retval, out] VARIANT_BOOL *p);
9040
9041     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9042     HRESULT loop([in] VARIANT v);
9043
9044     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9045     HRESULT loop([retval, out] VARIANT *p);
9046
9047     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9048     HRESULT align([in] BSTR v);
9049
9050     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9051     HRESULT align([retval, out] BSTR *p);
9052
9053     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9054     HRESULT onload([in] VARIANT v);
9055
9056     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9057     HRESULT onload([retval, out] VARIANT *p);
9058
9059     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9060     HRESULT onerror([in] VARIANT v);
9061
9062     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9063     HRESULT onerror([retval, out] VARIANT *p);
9064
9065     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9066     HRESULT onabort([in] VARIANT v);
9067
9068     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9069     HRESULT onabort([retval, out] VARIANT *p);
9070
9071     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9072     HRESULT width([in] LONG v);
9073
9074     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9075     HRESULT width([retval, out] LONG *p);
9076
9077     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9078     HRESULT height([in] LONG v);
9079
9080     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9081     HRESULT height([retval, out] LONG *p);
9082
9083     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9084     HRESULT start([in] BSTR v);
9085
9086     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9087     HRESULT start([retval, out] BSTR *p);
9088 }
9089
9090 /*****************************************************************************
9091  *    IHTMLInputTextElement interface
9092  */
9093 [
9094     odl,
9095     oleautomation,
9096     dual,
9097     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
9098 ]
9099 interface IHTMLInputTextElement : IDispatch
9100 {
9101     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
9102     HRESULT type([retval, out] BSTR *p);
9103
9104     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9105     HRESULT value([in] BSTR v);
9106
9107     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9108     HRESULT value([retval, out] BSTR *p);
9109
9110     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9111     HRESULT name([in] BSTR v);
9112
9113     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9114     HRESULT name([retval, out] BSTR *p);
9115
9116     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9117     HRESULT status([in] VARIANT v);
9118
9119     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9120     HRESULT status([retval, out] VARIANT *p);
9121
9122     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9123     HRESULT disabled([in] VARIANT_BOOL v);
9124
9125     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9126     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9127
9128     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
9129     HRESULT form([retval, out] IHTMLFormElement **p);
9130
9131     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9132     HRESULT defaultValue([in] BSTR v);
9133
9134     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9135     HRESULT defaultValue([retval, out] BSTR *p);
9136
9137     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9138     HRESULT size([in] LONG v);
9139
9140     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9141     HRESULT size([retval, out] LONG *p);
9142
9143     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9144     HRESULT maxLength([in] LONG v);
9145
9146     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9147     HRESULT maxLength([retval, out] LONG *p);
9148
9149     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
9150     HRESULT select();
9151
9152     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9153     HRESULT onchange([in] VARIANT v);
9154
9155     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9156     HRESULT onchange([retval, out] VARIANT *p);
9157
9158     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9159     HRESULT onselect([in] VARIANT v);
9160
9161     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9162     HRESULT onselect([retval, out] VARIANT *p);
9163
9164     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9165     HRESULT readOnly([in] VARIANT_BOOL v);
9166
9167     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9168     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9169
9170     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
9171     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9172 }
9173
9174 [
9175     hidden,
9176     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
9177 ]
9178 dispinterface DispHTMLInputElement
9179 {
9180 properties:
9181 methods:
9182     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9183
9184     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9185     void type(BSTR v);
9186
9187     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9188     BSTR type();
9189
9190     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9191     void value(BSTR v);
9192
9193     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9194     BSTR value();
9195
9196     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9197     void name(BSTR v);
9198
9199     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9200     BSTR name();
9201
9202     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9203     void status(VARIANT_BOOL v);
9204
9205     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9206     VARIANT_BOOL status();
9207
9208     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
9209     IHTMLFormElement *form();
9210
9211     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9212     void size(LONG v);
9213
9214     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9215     LONG size();
9216
9217     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9218     void maxLength(LONG v);
9219
9220     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9221     LONG maxLength();
9222
9223     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
9224     void select();
9225
9226     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9227     void onchange(VARIANT v);
9228
9229     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9230     VARIANT onchange();
9231
9232     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9233     void onselect(VARIANT v);
9234
9235     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9236     VARIANT onselect();
9237
9238     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9239     void defaultValue(BSTR v);
9240
9241     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9242     BSTR defaultValue();
9243
9244     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9245     void readOnly(VARIANT_BOOL v);
9246
9247     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9248     VARIANT_BOOL readOnly();
9249
9250     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
9251     IHTMLTxtRange *createTextRange();
9252
9253     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9254     void indeterminate(VARIANT_BOOL v);
9255
9256     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9257     VARIANT_BOOL indeterminate();
9258
9259     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9260     void defaultChecked(VARIANT_BOOL v);
9261
9262     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9263     VARIANT_BOOL defaultChecked();
9264
9265     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9266     void checked(VARIANT_BOOL v);
9267
9268     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9269     VARIANT_BOOL checked();
9270
9271     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9272     void border(VARIANT v);
9273
9274     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9275     VARIANT border();
9276
9277     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9278     void vspace(LONG v);
9279
9280     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9281     LONG vspace();
9282
9283     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9284     void hspace(LONG v);
9285
9286     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9287     LONG hspace();
9288
9289     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9290     void alt(BSTR v);
9291
9292     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9293     BSTR alt();
9294
9295     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9296     void src(BSTR v);
9297
9298     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9299     BSTR src();
9300
9301     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9302     void lowsrc(BSTR v);
9303
9304     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9305     BSTR lowsrc();
9306
9307     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9308     void vrml(BSTR v);
9309
9310     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9311     BSTR vrml();
9312
9313     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9314     void dynsrc(BSTR v);
9315
9316     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9317     BSTR dynsrc();
9318
9319     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9320     VARIANT_BOOL complete();
9321
9322     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9323     void loop(VARIANT v);
9324
9325     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9326     VARIANT loop();
9327
9328     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9329     void align(BSTR v);
9330
9331     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9332     BSTR align();
9333
9334     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9335     void onload(VARIANT v);
9336
9337     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9338     VARIANT onload();
9339
9340     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9341     void onerror(VARIANT v);
9342
9343     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9344     VARIANT onerror();
9345
9346     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9347     void onabort(VARIANT v);
9348
9349     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9350     VARIANT onabort();
9351
9352     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9353     void width(LONG v);
9354
9355     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9356     LONG width();
9357
9358     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9359     void height(LONG v);
9360
9361     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9362     LONG height();
9363
9364     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9365     void start(BSTR v);
9366
9367     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9368     BSTR start();
9369
9370     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9371     void accept(BSTR v);
9372
9373     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9374     BSTR accept();
9375
9376     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9377     void useMap(BSTR v);
9378
9379     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9380     BSTR useMap();
9381 }
9382
9383 /*****************************************************************************
9384  *    IHTMLTextAreaElement interface
9385  */
9386 [
9387     odl,
9388     oleautomation,
9389     dual,
9390     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
9391 ]
9392 interface IHTMLTextAreaElement : IDispatch
9393 {
9394     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9395     HRESULT type([retval, out] BSTR *p);
9396
9397     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9398     HRESULT value([in] BSTR v);
9399
9400     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9401     HRESULT value([retval, out] BSTR *p);
9402
9403     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9404     HRESULT name([in] BSTR v);
9405
9406     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9407     HRESULT name([retval, out] BSTR *p);
9408
9409     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9410     HRESULT status([in] VARIANT v);
9411
9412     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9413     HRESULT status([retval, out] VARIANT *p);
9414
9415     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9416     HRESULT disabled([in] VARIANT_BOOL v);
9417
9418     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9419     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9420
9421     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9422     HRESULT form([retval, out] IHTMLFormElement **p);
9423
9424     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9425     HRESULT defaultValue([in] BSTR v);
9426
9427     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9428     HRESULT defaultValue([retval, out] BSTR *p);
9429
9430     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9431     HRESULT select();
9432
9433     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9434     HRESULT onchange([in] VARIANT v);
9435
9436     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9437     HRESULT onchange([retval, out] VARIANT *p);
9438
9439     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9440     HRESULT onselect([in] VARIANT v);
9441
9442     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9443     HRESULT onselect([retval, out] VARIANT *p);
9444
9445     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9446     HRESULT readOnly([in] VARIANT_BOOL v);
9447
9448     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9449     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9450
9451     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9452     HRESULT rows([in] LONG v);
9453
9454     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9455     HRESULT rows([retval, out] LONG *p);
9456
9457     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9458     HRESULT cols([in] LONG v);
9459
9460     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9461     HRESULT cols([retval, out] LONG *p);
9462
9463     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9464     HRESULT wrap([in] BSTR v);
9465
9466     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9467     HRESULT wrap([retval, out] BSTR *p);
9468
9469     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9470     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9471 }
9472
9473 /*****************************************************************************
9474  *    DispHTMLTextAreaElement dispinterface
9475  */
9476 [
9477     hidden,
9478     uuid(3050f521-98b5-11cf-bb82-00aa00bdce0b)
9479 ]
9480 dispinterface DispHTMLTextAreaElement
9481 {
9482 properties:
9483 methods:
9484     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9485
9486     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9487     BSTR type();
9488
9489     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9490     void value(BSTR v);
9491
9492     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9493     BSTR value();
9494
9495     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9496     void name(BSTR v);
9497
9498     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9499     BSTR name();
9500
9501     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9502     void status(VARIANT v);
9503
9504     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9505     VARIANT status();
9506
9507     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9508     IHTMLFormElement *form();
9509
9510     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9511     void defaultValue(BSTR v);
9512
9513     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9514     BSTR defaultValue();
9515
9516     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9517     void select();
9518
9519     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9520     void onchange(VARIANT v);
9521
9522     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9523     VARIANT onchange();
9524
9525     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9526     void onselect(VARIANT v);
9527
9528     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9529     VARIANT onselect();
9530
9531     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9532     void readOnly(VARIANT_BOOL v);
9533
9534     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9535     VARIANT_BOOL readOnly();
9536
9537     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9538     void rows(LONG v);
9539
9540     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9541     LONG rows();
9542
9543     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9544     void cols(LONG v);
9545
9546     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9547     LONG cols();
9548
9549     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9550     void wrap(BSTR v);
9551
9552     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9553     BSTR wrap();
9554
9555     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9556     IHTMLTxtRange *createTextRange();
9557 }
9558
9559 /*****************************************************************************
9560  *    IHTMLHeadElement interface
9561  */
9562 [
9563     odl,
9564     oleautomation,
9565     dual,
9566     uuid(3050f81d-98b5-11cf-bb82-00aa00bdce0b)
9567 ]
9568 interface IHTMLHeadElement : IDispatch
9569 {
9570     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9571     HRESULT profile([in] BSTR v);
9572
9573     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9574     HRESULT profile([retval, out] BSTR *p);
9575 }
9576
9577 /*****************************************************************************
9578  *    IHTMLHeadElement2 interface
9579  */
9580 [
9581     odl,
9582     oleautomation,
9583     dual,
9584     uuid(3051042f-98b5-11cf-bb82-00aa00bdce0b)
9585 ]
9586 interface IHTMLHeadElement2 : IDispatch
9587 {
9588     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9589     HRESULT profile([in] BSTR v);
9590
9591     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9592     HRESULT profile([retval, out] BSTR *p);
9593 }
9594
9595 /*****************************************************************************
9596  *    IHTMLTitleElement interface
9597  */
9598 [
9599     odl,
9600     oleautomation,
9601     dual,
9602     uuid(3050f322-98b5-11cf-bb82-00aa00bdce0b)
9603 ]
9604 interface IHTMLTitleElement : IDispatch
9605 {
9606     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9607     HRESULT text([in] BSTR v);
9608
9609     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9610     HRESULT text([retval, out] BSTR *p);
9611 }
9612
9613 /*****************************************************************************
9614  *    IHTMLMetaElement interface
9615  */
9616 [
9617     odl,
9618     oleautomation,
9619     dual,
9620     uuid(3050f203-98b5-11cf-bb82-00aa00bdce0b)
9621 ]
9622 interface IHTMLMetaElement : IDispatch
9623 {
9624     [propput, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
9625     HRESULT httpEquiv([in] BSTR v);
9626
9627     [propget, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
9628     HRESULT httpEquiv([out, retval] BSTR *p);
9629
9630     [propput, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
9631     HRESULT content([in] BSTR v);
9632
9633     [propget, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
9634     HRESULT content([out, retval] BSTR *p);
9635
9636     [propput, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
9637     HRESULT name([in] BSTR v);
9638
9639     [propget, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
9640     HRESULT name([out, retval] BSTR *p);
9641
9642     [propput, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
9643     HRESULT url([in] BSTR v);
9644
9645     [propget, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
9646     HRESULT url([out, retval] BSTR *p);
9647
9648     [propput, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
9649     HRESULT charset([in] BSTR v);
9650
9651     [propget, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
9652     HRESULT charset([out, retval] BSTR *p);
9653 }
9654
9655 /*****************************************************************************
9656  *    IHTMLMetaElement2 interface
9657  */
9658 [
9659     odl,
9660     oleautomation,
9661     dual,
9662     uuid(3050f81f-98b5-11cf-bb82-00aa00bdce0b)
9663 ]
9664 interface IHTMLMetaElement2 : IDispatch
9665 {
9666     [propput, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
9667     HRESULT scheme([in] BSTR v);
9668
9669     [propget, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
9670     HRESULT scheme([out, retval] BSTR *p);
9671 }
9672
9673 /*****************************************************************************
9674  *    IHTMLMetaElement3 interface
9675  */
9676 [
9677     odl,
9678     oleautomation,
9679     dual,
9680     uuid(30510495-98b5-11cf-bb82-00aa00bdce0b)
9681 ]
9682 interface IHTMLMetaElement3 : IDispatch
9683 {
9684     [propput, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
9685     HRESULT url([in] BSTR v);
9686
9687     [propget, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
9688     HRESULT url([out, retval] BSTR *p);
9689 }
9690
9691 /*****************************************************************************
9692  *    DispHTMLHeadElement interface
9693  */
9694 [
9695     hidden,
9696     uuid(3050f561-98b5-11cf-bb82-00aa00bdce0b)
9697 ]
9698 dispinterface DispHTMLHeadElement
9699 {
9700 properties:
9701 methods:
9702     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9703
9704     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9705     void profile(BSTR v);
9706
9707     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9708     BSTR profile();
9709
9710     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9711     void ie8_profile(BSTR v);
9712
9713     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9714     BSTR ie8_profile();
9715 }
9716
9717 /*****************************************************************************
9718  *    DispHTMLTitleElement interface
9719  */
9720 [
9721     hidden,
9722     uuid(3050f516-98b5-11cf-bb82-00aa00bdce0b)
9723 ]
9724 dispinterface DispHTMLTitleElement
9725 {
9726 properties:
9727 methods:
9728     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9729
9730     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9731     void text(BSTR v);
9732
9733     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9734     BSTR text();
9735 }
9736
9737 /*****************************************************************************
9738  *    DispHTMLMetaElement dispinterface
9739  */
9740 [
9741     hidden,
9742     uuid(3050f517-98b5-11cf-bb82-00aa00bdce0b)
9743 ]
9744 dispinterface DispHTMLMetaElement
9745 {
9746 properties:
9747 methods:
9748     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9749
9750     [propput, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
9751     void httpEquiv(BSTR v);
9752
9753     [propget, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
9754     BSTR httpEquiv();
9755
9756     [propput, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
9757     void content(BSTR v);
9758
9759     [propget, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
9760     BSTR content();
9761
9762     [propput, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
9763     void name(BSTR v);
9764
9765     [propget, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
9766     BSTR name();
9767
9768     [propput, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
9769     void url(BSTR v);
9770
9771     [propget, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
9772     BSTR url();
9773
9774     [propput, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
9775     void charset(BSTR v);
9776
9777     [propget, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
9778     BSTR charset();
9779
9780     [propput, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
9781     void scheme(BSTR v);
9782
9783     [propget, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
9784     BSTR scheme();
9785
9786     [propput, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
9787     void ie8_url(BSTR v);
9788
9789     [propget, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
9790     BSTR ie8_url();
9791 }
9792
9793 /*****************************************************************************
9794  *    DispHTMLUnknownElement dispinterface
9795  */
9796 [
9797     hidden,
9798     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
9799 ]
9800 dispinterface DispHTMLUnknownElement
9801 {
9802 properties:
9803 methods:
9804     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9805 }
9806
9807 /*****************************************************************************
9808  *    IOmHistory interface
9809  */
9810 [
9811     odl,
9812     oleautomation,
9813     dual,
9814     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
9815 ]
9816 interface IOmHistory : IDispatch
9817 {
9818     [propget, id(DISPID_IOMHISTORY_LENGTH)]
9819     HRESULT length([retval, out] short *p);
9820
9821     [id(DISPID_IOMHISTORY_BACK)]
9822     HRESULT back([optional, in] VARIANT *pvargdistance);
9823
9824     [id(DISPID_IOMHISTORY_FORWARD)]
9825     HRESULT forward([optional, in] VARIANT *pvargdistance);
9826
9827     [id(DISPID_IOMHISTORY_GO)]
9828     HRESULT go([optional, in] VARIANT *pvargdistance);
9829 }
9830
9831 [
9832     noncreatable,
9833     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
9834 ]
9835 coclass HTMLHistory
9836 {
9837     [default]           interface IOmHistory;
9838 }
9839
9840 /*****************************************************************************
9841  *    IHTMLMimeTypesCollection interface
9842  */
9843 [
9844     odl,
9845     oleautomation,
9846     dual,
9847     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
9848 ]
9849 interface IHTMLMimeTypesCollection : IDispatch
9850 {
9851     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
9852     HRESULT length([retval, out] LONG *p);
9853 }
9854
9855 [
9856     noncreatable,
9857     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
9858 ]
9859 coclass CMimeTypes
9860 {
9861     [default]           interface IHTMLMimeTypesCollection;
9862 }
9863
9864 /*****************************************************************************
9865  *    IHTMLPluginsCollection interface
9866  */
9867 [
9868     odl,
9869     oleautomation,
9870     dual,
9871     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
9872 ]
9873 interface IHTMLPluginsCollection : IDispatch
9874 {
9875     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9876     HRESULT length([retval, out] LONG *p);
9877
9878     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9879     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9880 }
9881
9882 [
9883     hidden,
9884     uuid(3050f54a-98b5-11cf-bb82-00aa00bdce0b)
9885 ]
9886 dispinterface DispCPlugins
9887 {
9888  properties:
9889 methods:
9890     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9891     long length();
9892
9893     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9894     void refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9895
9896     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
9897     IDispatch *constructor();
9898 }
9899
9900 [
9901     noncreatable,
9902     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
9903 ]
9904 coclass CPlugins
9905 {
9906     [default]  dispinterface DispCPlugins;
9907                interface IHTMLPluginsCollection;
9908                interface IHTMLDOMConstructor;
9909 }
9910
9911 /*****************************************************************************
9912  *    IHTMLOpsProfile interface
9913  */
9914 [
9915     odl,
9916     oleautomation,
9917     dual,
9918     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
9919 ]
9920 interface IHTMLOpsProfile : IDispatch
9921 {
9922     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
9923     HRESULT addRequest(
9924         [in] BSTR name,
9925         [optional, in] VARIANT reserved,
9926         [retval, out] VARIANT_BOOL *success);
9927
9928     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
9929     HRESULT clearRequest();
9930
9931     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
9932     HRESULT doRequest(
9933         [in] VARIANT usage,
9934         [optional, in] VARIANT fname,
9935         [optional, in] VARIANT domain,
9936         [optional, in] VARIANT path,
9937         [optional, in] VARIANT expire,
9938         [optional, in] VARIANT reserved);
9939
9940     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
9941     HRESULT getAttribute(
9942         [in] BSTR name,
9943         [retval, out] BSTR *value);
9944
9945     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
9946     HRESULT setAttribute(
9947         [in] BSTR name,
9948         [in] BSTR value,
9949         [optional, in] VARIANT prefs,
9950         [retval, out] VARIANT_BOOL *success);
9951
9952     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
9953     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
9954
9955     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
9956     HRESULT addReadRequest(
9957         [in] BSTR name,
9958         [optional, in] VARIANT reserved,
9959         [retval, out] VARIANT_BOOL *success);
9960
9961     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
9962     HRESULT doReadRequest(
9963         [in] VARIANT usage,
9964         [optional, in] VARIANT fname,
9965         [optional, in] VARIANT domain,
9966         [optional, in] VARIANT path,
9967         [optional, in] VARIANT expire,
9968         [optional, in] VARIANT reserved);
9969
9970     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
9971     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
9972 }
9973
9974 [
9975     noncreatable,
9976     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
9977 ]
9978 coclass COpsProfile
9979 {
9980     [default]           interface IHTMLOpsProfile;
9981 }
9982
9983 /*****************************************************************************
9984  *    IOmNavigator interface
9985  */
9986 [
9987     odl,
9988     oleautomation,
9989     dual,
9990     uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
9991 ]
9992 interface IOmNavigator : IDispatch
9993 {
9994     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9995     HRESULT appCodeName([retval, out] BSTR *p);
9996
9997     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9998     HRESULT appName([retval, out] BSTR *p);
9999
10000     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
10001     HRESULT appVersion([retval, out] BSTR *p);
10002
10003     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
10004     HRESULT userAgent([retval, out] BSTR *p);
10005
10006     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
10007     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
10008
10009     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
10010     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
10011
10012     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
10013     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
10014
10015     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
10016     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
10017
10018     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
10019     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
10020
10021     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
10022     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
10023
10024     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
10025     HRESULT toString([retval, out] BSTR *String);
10026
10027     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
10028     HRESULT cpuClass([retval, out] BSTR *p);
10029
10030     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
10031     HRESULT systemLanguage([retval, out] BSTR *p);
10032
10033     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
10034     HRESULT browserLanguage([retval, out] BSTR *p);
10035
10036     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
10037     HRESULT userLanguage([retval, out] BSTR *p);
10038
10039     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
10040     HRESULT platform([retval, out] BSTR *p);
10041
10042     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
10043     HRESULT appMinorVersion([retval, out] BSTR *p);
10044
10045     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
10046     HRESULT connectionSpeed([retval, out] LONG *p);
10047
10048     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
10049     HRESULT onLine([retval, out] VARIANT_BOOL *p);
10050
10051     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
10052     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
10053 }
10054
10055 /*****************************************************************************
10056  *    DispHTMLNavigator dispinterface
10057  */
10058 [
10059     hidden,
10060     uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
10061 ]
10062 dispinterface DispHTMLNavigator
10063 {
10064 properties:
10065 methods:
10066     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
10067     BSTR appCodeName();
10068
10069     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
10070     BSTR appName();
10071
10072     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
10073     BSTR appVersion();
10074
10075     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
10076     BSTR userAgent();
10077
10078     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
10079     VARIANT_BOOL javaEnabled();
10080
10081     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
10082     VARIANT_BOOL taintEnabled();
10083
10084     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
10085     IHTMLMimeTypesCollection *mimeTypes();
10086
10087     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
10088     IHTMLPluginsCollection *plugins();
10089
10090     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
10091     VARIANT_BOOL cookieEnabled();
10092
10093     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
10094     IHTMLOpsProfile *opsProfile();
10095
10096     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
10097     BSTR toString();
10098
10099     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
10100     BSTR cpuClass();
10101
10102     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
10103     BSTR systemLanguage();
10104
10105     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
10106     BSTR browserLanguage();
10107
10108     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
10109     BSTR userLanguage();
10110
10111     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
10112     BSTR platform();
10113
10114     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
10115     BSTR appMinorVersion();
10116
10117     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
10118     LONG connectionSpeed();
10119
10120     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
10121     VARIANT_BOOL onLine();
10122
10123     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
10124     IHTMLOpsProfile *userProfile();
10125
10126     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
10127 }
10128
10129 [
10130     noncreatable,
10131     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
10132 ]
10133 coclass HTMLNavigator
10134 {
10135     [default]  dispinterface DispHTMLNavigator;
10136                interface IOmNavigator;
10137 }
10138
10139 /*****************************************************************************
10140  *    IHTMLLocation interface
10141  */
10142 [
10143     odl,
10144     oleautomation,
10145     dual,
10146     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
10147 ]
10148 interface IHTMLLocation : IDispatch
10149 {
10150     [propput, id(DISPID_IHTMLLOCATION_HREF)]
10151     HRESULT href([in] BSTR v);
10152
10153     [propget, id(DISPID_IHTMLLOCATION_HREF)]
10154     HRESULT href([retval, out] BSTR *p);
10155
10156     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10157     HRESULT protocol([in] BSTR v);
10158
10159     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10160     HRESULT protocol([retval, out] BSTR *p);
10161
10162     [propput, id(DISPID_IHTMLLOCATION_HOST)]
10163     HRESULT host([in] BSTR v);
10164
10165     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10166     HRESULT host([retval, out] BSTR *p);
10167
10168     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10169     HRESULT hostname([in] BSTR v);
10170
10171     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10172     HRESULT hostname([retval, out] BSTR *p);
10173
10174     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10175     HRESULT port([in] BSTR v);
10176
10177     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10178     HRESULT port([retval, out] BSTR *p);
10179
10180     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10181     HRESULT pathname([in] BSTR v);
10182
10183     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10184     HRESULT pathname([retval, out] BSTR *p);
10185
10186     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10187     HRESULT search([in] BSTR v);
10188
10189     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10190     HRESULT search([retval, out] BSTR *p);
10191
10192     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10193     HRESULT hash([in] BSTR v);
10194
10195     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10196     HRESULT hash([retval, out] BSTR *p);
10197
10198     [id(DISPID_IHTMLLOCATION_RELOAD)]
10199     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
10200
10201     [id(DISPID_IHTMLLOCATION_REPLACE)]
10202     HRESULT replace([in] BSTR bstr);
10203
10204     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10205     HRESULT assign([in] BSTR bstr);
10206
10207     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10208     HRESULT toString([retval, out] BSTR *String);
10209 }
10210
10211 /*****************************************************************************
10212  *    DispHTMLLocation dispinterface
10213  */
10214 [
10215     hidden,
10216     uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
10217 ]
10218 dispinterface DispHTMLLocation
10219 {
10220 properties:
10221 methods:
10222     [propput, id(DISPID_IHTMLLOCATION_HREF)]
10223     void href(BSTR v);
10224
10225     [propget, id(DISPID_IHTMLLOCATION_HREF)]
10226     BSTR href();
10227
10228     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10229     void protocol(BSTR v);
10230
10231     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10232     BSTR protocol();
10233
10234     [propput, id(DISPID_IHTMLLOCATION_HOST)]
10235     void host(BSTR v);
10236
10237     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10238     BSTR host();
10239
10240     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10241     void hostname(BSTR v);
10242
10243     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10244     BSTR hostname();
10245
10246     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10247     void port(BSTR v);
10248
10249     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10250     BSTR port();
10251
10252     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10253     void pathname(BSTR v);
10254
10255     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10256     BSTR pathname();
10257
10258     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10259     void search(BSTR v);
10260
10261     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10262     BSTR search();
10263
10264     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10265     void hash(BSTR v);
10266
10267     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10268     BSTR hash();
10269
10270     [id(DISPID_IHTMLLOCATION_RELOAD)]
10271     void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
10272
10273     [id(DISPID_IHTMLLOCATION_REPLACE)]
10274     void replace([in] BSTR bstr);
10275
10276     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10277     void assign([in] BSTR bstr);
10278
10279     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10280     BSTR toString();
10281
10282     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
10283 }
10284
10285 [
10286     noncreatable,
10287     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
10288 ]
10289 coclass HTMLLocation
10290 {
10291     [default]  dispinterface DispHTMLLocation;
10292                interface IHTMLLocation;
10293 }
10294
10295 [
10296     odl,
10297     oleautomation,
10298     dual,
10299     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
10300 ]
10301 interface IHTMLBookmarkCollection : IDispatch
10302 {
10303     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
10304     HRESULT length([out, retval] LONG *p);
10305
10306     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
10307     HRESULT _newEnum([out, retval] IUnknown **p);
10308
10309     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
10310     HRESULT item(
10311             [in] LONG index,
10312             [out, retval] VARIANT *pVarBookmark);
10313 }
10314
10315 /*****************************************************************************
10316  *    IHTMLDataTransfer interface
10317  */
10318 [
10319     odl,
10320     oleautomation,
10321     dual,
10322     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
10323 ]
10324 interface IHTMLDataTransfer : IDispatch
10325 {
10326     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
10327     HRESULT setData(
10328             [in] BSTR format,
10329             [in] VARIANT *data,
10330             [out, retval] VARIANT_BOOL *pret);
10331
10332     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
10333     HRESULT getData(
10334             [in] BSTR format,
10335             [out, retval] VARIANT *pvarRet);
10336
10337     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
10338     HRESULT clearData(
10339             [in] BSTR format,
10340             [out, retval] VARIANT_BOOL *pret);
10341
10342     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10343     HRESULT dropEffect([in] BSTR v);
10344
10345     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10346     HRESULT dropEffect([out, retval] BSTR *p);
10347
10348     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10349     HRESULT effectAllowed([in] BSTR v);
10350
10351     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10352     HRESULT effectAllowed([out, retval] BSTR *p);
10353 }
10354
10355 /*****************************************************************************
10356  *    IHTMLEventObj interface
10357  */
10358 [
10359     odl,
10360     oleautomation,
10361     dual,
10362     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
10363 ]
10364 interface IHTMLEventObj : IDispatch
10365 {
10366     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
10367     HRESULT srcElement([retval, out] IHTMLElement **p);
10368
10369     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
10370     HRESULT altKey([retval, out] VARIANT_BOOL *p);
10371
10372     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
10373     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
10374
10375     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
10376     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
10377
10378     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10379     HRESULT returnValue([in] VARIANT v);
10380
10381     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10382     HRESULT returnValue([retval, out] VARIANT *p);
10383
10384     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10385     HRESULT cancelBubble([in] VARIANT_BOOL v);
10386
10387     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10388     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
10389
10390     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
10391     HRESULT fromElement([retval, out] IHTMLElement **p);
10392
10393     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
10394     HRESULT toElement([retval, out] IHTMLElement **p);
10395
10396     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10397     HRESULT keyCode([in] LONG v);
10398
10399     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10400     HRESULT keyCode([retval, out] LONG *p);
10401
10402     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
10403     HRESULT button([retval, out] LONG *p);
10404
10405     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
10406     HRESULT type([retval, out] BSTR *p);
10407
10408     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
10409     HRESULT qualifier([retval, out] BSTR *p);
10410
10411     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
10412     HRESULT reason([retval, out] LONG *p);
10413
10414     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
10415     HRESULT x([retval, out] LONG *p);
10416
10417     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
10418     HRESULT y([retval, out] LONG *p);
10419
10420     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
10421     HRESULT clientX([retval, out] LONG *p);
10422
10423     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
10424     HRESULT clientY([retval, out] LONG *p);
10425
10426     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
10427     HRESULT offsetX([retval, out] LONG *p);
10428
10429     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
10430     HRESULT offsetY([retval, out] LONG *p);
10431
10432     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
10433     HRESULT screenX([retval, out] LONG *p);
10434
10435     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
10436     HRESULT screenY([retval, out] LONG *p);
10437
10438     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
10439     HRESULT srcFilter([retval, out] IDispatch **p);
10440 }
10441
10442 /*****************************************************************************
10443  *    DispCEventObj dispinterface
10444  */
10445 [
10446     hidden,
10447     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
10448 ]
10449 dispinterface DispCEventObj
10450 {
10451 properties:
10452 methods:
10453     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10454     void returnValue(VARIANT v);
10455
10456     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10457     VARIANT returnValue();
10458
10459     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10460     void cancelBubble(VARIANT_BOOL v);
10461
10462     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10463     VARIANT_BOOL cancelBubble();
10464
10465     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10466     void keyCode(LONG v);
10467
10468     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10469     LONG keyCode();
10470
10471     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
10472     void setAttribute(
10473             [in] BSTR strAttributeName,
10474             [in] VARIANT AttributeValue,
10475             [in, defaultvalue(1)] LONG lFlags);
10476
10477     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
10478     VARIANT getAttribute(
10479             [in] BSTR strAttributeName,
10480             [in, defaultvalue(0)] LONG lFlags);
10481
10482     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
10483     VARIANT_BOOL removeAttribute(
10484             [in] BSTR strAttributeName,
10485             [in, defaultvalue(1)] LONG lFlags);
10486
10487     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
10488     void propertyName(BSTR v);
10489
10490     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
10491     BSTR propertyName();
10492
10493     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
10494     void bookmarks(IHTMLBookmarkCollection *v);
10495
10496     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
10497     IHTMLBookmarkCollection *bookmarks();
10498
10499     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
10500     void recordset(IDispatch *v);
10501
10502     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
10503     IDispatch *recordset();
10504
10505     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
10506     void dataFld(BSTR v);
10507
10508     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
10509     BSTR dataFld();
10510
10511     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
10512     void boundElements(IHTMLElementCollection *v);
10513
10514     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
10515     IHTMLElementCollection *boundElements();
10516
10517     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
10518     void repeat(VARIANT_BOOL v);
10519
10520     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
10521     VARIANT_BOOL repeat();
10522
10523     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
10524     void srcUrn(BSTR v);
10525
10526     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
10527     BSTR srcUrn();
10528
10529     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
10530     void srcElement(IHTMLElement *v);
10531
10532     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
10533     IHTMLElement *srcElement();
10534
10535     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
10536     void altKey(VARIANT_BOOL v);
10537
10538     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
10539     VARIANT_BOOL altKey();
10540
10541     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
10542     void ctrlKey(VARIANT_BOOL v);
10543
10544     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
10545     VARIANT_BOOL ctrlKey();
10546
10547     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
10548     void shiftKey(VARIANT_BOOL v);
10549
10550     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
10551     VARIANT_BOOL shiftKey();
10552
10553     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
10554     void fromElement(IHTMLElement *v);
10555
10556     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
10557     IHTMLElement *fromElement();
10558
10559     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
10560     void toElement(IHTMLElement *v);
10561
10562     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
10563     IHTMLElement *toElement();
10564
10565     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
10566     void button(LONG v);
10567
10568     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
10569     LONG button();
10570
10571     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
10572     void type(BSTR v);
10573
10574     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
10575     BSTR type();
10576
10577     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
10578     void qualifier(BSTR v);
10579
10580     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
10581     BSTR qualifier();
10582
10583     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
10584     void reason(LONG v);
10585
10586     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
10587     LONG reason();
10588
10589     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
10590     void x(LONG v);
10591
10592     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
10593     LONG x();
10594
10595     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
10596     void y(LONG v);
10597
10598     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
10599     LONG y();
10600
10601     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
10602     void clientX(LONG v);
10603
10604     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
10605     LONG clientX();
10606
10607     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
10608     void clientY(LONG v);
10609
10610     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
10611     LONG clientY();
10612     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
10613     void offsetX(LONG v);
10614
10615     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
10616     LONG offsetX();
10617
10618     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
10619     void offsetY(LONG v);
10620
10621     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
10622     LONG offsetY();
10623
10624     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
10625     void screenX(LONG v);
10626
10627     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
10628     LONG screenX();
10629
10630     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
10631     void screenY(LONG v);
10632
10633     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
10634     LONG screenY();
10635
10636     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
10637     void srcFilter(IDispatch *v);
10638
10639     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
10640     IDispatch *srcFilter();
10641
10642     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
10643     IHTMLDataTransfer *dataTransfer();
10644
10645     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
10646     VARIANT_BOOL contentOverflow();
10647
10648     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
10649     void shiftLeft(VARIANT_BOOL v);
10650
10651     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
10652     VARIANT_BOOL shiftLeft();
10653
10654     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
10655     void altLeft(VARIANT_BOOL v);
10656
10657     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
10658     VARIANT_BOOL altLeft();
10659
10660     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
10661     void ctrlLeft(VARIANT_BOOL v);
10662
10663     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
10664     VARIANT_BOOL ctrlLeft();
10665
10666     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
10667     LONG_PTR imeCompositionChange();
10668
10669     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
10670     LONG_PTR imeNotifyCommand();
10671
10672     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
10673     LONG_PTR imeNotifyData();
10674
10675     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
10676     LONG_PTR imeRequest();
10677
10678     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
10679     LONG_PTR imeRequestData();
10680
10681     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
10682     LONG_PTR keyboardLayout();
10683
10684     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
10685     LONG behaviorCookie();
10686
10687     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
10688     LONG behaviorPart();
10689
10690     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
10691     BSTR nextPage();
10692
10693     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
10694     LONG wheelDelta();
10695 }
10696
10697 /*****************************************************************************
10698  *    IHTMLFramesCollection2 interface
10699  */
10700 [
10701     odl,
10702     oleautomation,
10703     dual,
10704     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
10705 ]
10706 interface IHTMLFramesCollection2 : IDispatch
10707 {
10708     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10709     HRESULT item(
10710         [in] VARIANT *pvarIndex,
10711         [retval, out] VARIANT *pvarResult);
10712
10713     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10714     HRESULT length([retval, out] LONG *p);
10715 }
10716
10717 /*****************************************************************************
10718  *    IHTMLScreen interface
10719  */
10720 [
10721     odl,
10722     oleautomation,
10723     dual,
10724     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
10725 ]
10726 interface IHTMLScreen : IDispatch
10727 {
10728     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
10729     HRESULT colorDepth([retval, out] LONG *p);
10730
10731     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10732     HRESULT bufferDepth([in] LONG v);
10733
10734     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10735     HRESULT bufferDepth([retval, out] LONG *p);
10736
10737     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10738     HRESULT width([retval, out] LONG *p);
10739
10740     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10741     HRESULT height([retval, out] LONG *p);
10742
10743     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10744     HRESULT updateInterval([in] LONG v);
10745
10746     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10747     HRESULT updateInterval([retval, out] LONG *p);
10748
10749     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
10750     HRESULT availHeight([retval, out] LONG *p);
10751
10752     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
10753     HRESULT availWidth([retval, out] LONG *p);
10754
10755     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10756     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
10757 }
10758
10759 /*****************************************************************************
10760  *    IHTMLWindow2 interface
10761  */
10762 [
10763     odl,
10764     oleautomation,
10765     dual,
10766     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
10767 ]
10768 interface IHTMLWindow2 : IHTMLFramesCollection2
10769 {
10770     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10771     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
10772
10773     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10774     HRESULT defaultStatus([in] BSTR v);
10775
10776     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10777     HRESULT defaultStatus([retval, out] BSTR *p);
10778
10779     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10780     HRESULT status([in] BSTR v);
10781
10782     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10783     HRESULT status([retval, out] BSTR *p);
10784
10785     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
10786     HRESULT setTimeout(
10787         [in] BSTR expression,
10788         [in] LONG msec,
10789         [optional, in] VARIANT *language,
10790         [retval, out] LONG *timerID);
10791
10792     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10793     HRESULT clearTimeout([in] LONG timerID);
10794
10795     [id(DISPID_IHTMLWINDOW2_ALERT)]
10796     HRESULT alert([defaultvalue(""), in] BSTR message);
10797
10798     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10799     HRESULT confirm(
10800         [defaultvalue(""), in] BSTR message,
10801         [retval, out] VARIANT_BOOL *confirmed);
10802
10803     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10804     HRESULT prompt(
10805         [defaultvalue(""), in] BSTR message,
10806         [defaultvalue("undefined"), in] BSTR defstr,
10807         [retval, out] VARIANT *textdata);
10808
10809     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10810     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
10811
10812     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10813     HRESULT location([retval, out] IHTMLLocation **p);
10814
10815     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10816     HRESULT history([retval, out] IOmHistory **p);
10817
10818     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10819     HRESULT close();
10820
10821     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10822     HRESULT opener([in] VARIANT v);
10823
10824     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10825     HRESULT opener([retval, out] VARIANT *p);
10826
10827     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10828     HRESULT navigator([retval, out] IOmNavigator **p);
10829
10830     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10831     HRESULT name([in] BSTR v);
10832
10833     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10834     HRESULT name([retval, out] BSTR *p);
10835
10836     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10837     HRESULT parent([retval, out] IHTMLWindow2 **p);
10838
10839     [id(DISPID_IHTMLWINDOW2_OPEN)]
10840     HRESULT open(
10841         [defaultvalue(""), in] BSTR url,
10842         [defaultvalue(""), in] BSTR name,
10843         [defaultvalue(""), in] BSTR features,
10844         [defaultvalue(0), in] VARIANT_BOOL replace,
10845         [retval, out] IHTMLWindow2 **pomWindowResult);
10846
10847     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10848     HRESULT self([retval, out] IHTMLWindow2 **p);
10849
10850     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10851     HRESULT top([retval, out] IHTMLWindow2 **p);
10852
10853     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10854     HRESULT window([retval, out] IHTMLWindow2 **p);
10855
10856     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10857     HRESULT navigate([in] BSTR url);
10858
10859     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10860     HRESULT onfocus([in] VARIANT v);
10861
10862     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10863     HRESULT onfocus([retval, out] VARIANT *p);
10864
10865     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10866     HRESULT onblur([in] VARIANT v);
10867
10868     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10869     HRESULT onblur([retval, out] VARIANT *p);
10870
10871     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10872     HRESULT onload([in] VARIANT v);
10873
10874     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10875     HRESULT onload([retval, out] VARIANT *p);
10876
10877     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10878     HRESULT onbeforeunload([in] VARIANT v);
10879
10880     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10881     HRESULT onbeforeunload([retval, out] VARIANT *p);
10882
10883     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10884     HRESULT onunload([in] VARIANT v);
10885
10886     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10887     HRESULT onunload([retval, out] VARIANT *p);
10888
10889     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
10890     HRESULT onhelp([in] VARIANT v);
10891
10892     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
10893     HRESULT onhelp([retval, out] VARIANT *p);
10894
10895     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
10896     HRESULT onerror([in] VARIANT v);
10897
10898     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
10899     HRESULT onerror([retval, out] VARIANT *p);
10900
10901     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10902     HRESULT onresize([in] VARIANT v);
10903
10904     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10905     HRESULT onresize([retval, out] VARIANT *p);
10906
10907     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10908     HRESULT onscroll([in] VARIANT v);
10909
10910     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10911     HRESULT onscroll([retval, out] VARIANT *p);
10912
10913     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
10914     HRESULT document([retval, out] IHTMLDocument2 **p);
10915
10916     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10917     HRESULT event([retval, out] IHTMLEventObj **p);
10918
10919     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
10920     HRESULT _newEnum([retval, out] IUnknown **p);
10921
10922     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10923     HRESULT showModalDialog(
10924         [in] BSTR dialog,
10925         [optional, in] VARIANT *varArgIn,
10926         [optional, in] VARIANT *varOptions,
10927         [retval, out] VARIANT *varArgOut);
10928
10929     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10930     HRESULT showHelp(
10931         [in] BSTR helpURL,
10932         [optional, in] VARIANT helpArg,
10933         [defaultvalue(""), in] BSTR features);
10934
10935     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10936     HRESULT screen([retval, out] IHTMLScreen **p);
10937
10938     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10939     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
10940
10941     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10942     HRESULT focus();
10943
10944     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10945     HRESULT closed([retval, out] VARIANT_BOOL *p);
10946
10947     [id(DISPID_IHTMLWINDOW2_BLUR)]
10948     HRESULT blur();
10949
10950     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10951     HRESULT scroll([in] LONG x, [in] LONG y);
10952
10953     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10954     HRESULT clientInformation([retval, out] IOmNavigator **p);
10955
10956     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
10957     HRESULT setInterval([
10958         in] BSTR expression,
10959         [in] LONG msec,
10960         [optional, in] VARIANT *language,
10961         [retval, out] LONG *timerID);
10962
10963     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10964     HRESULT clearInterval([in] LONG timerID);
10965
10966     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10967     HRESULT offscreenBuffering([in] VARIANT v);
10968
10969     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10970     HRESULT offscreenBuffering([retval, out] VARIANT *p);
10971
10972     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10973     HRESULT execScript(
10974         [in] BSTR scode,
10975         [defaultvalue("JScript"), in] BSTR language,
10976         [retval, out] VARIANT *pvarRet);
10977
10978     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10979     HRESULT toString([retval, out] BSTR *String);
10980
10981     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10982     HRESULT scrollBy([in] LONG x, [in] LONG y);
10983
10984     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10985     HRESULT scrollTo([in] LONG x, [in] LONG y);
10986
10987     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10988     HRESULT moveTo([in] LONG x, [in] LONG y);
10989
10990     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10991     HRESULT moveBy([in] LONG x, [in] LONG y);
10992
10993     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10994     HRESULT resizeTo([in] LONG x, [in] LONG y);
10995
10996     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10997     HRESULT resizeBy([in] LONG x, [in] LONG y);
10998
10999     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11000     HRESULT external([retval, out] IDispatch **p);
11001 }
11002
11003 /*****************************************************************************
11004  *    IHTMLWindow3 interface
11005  */
11006 [
11007     odl,
11008     oleautomation,
11009     dual,
11010     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
11011 ]
11012 interface IHTMLWindow3 : IDispatch
11013 {
11014     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11015     HRESULT screenLeft([out, retval] LONG *p);
11016
11017     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11018     HRESULT screenTop([out, retval] LONG *p);
11019
11020     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11021     HRESULT attachEvent(
11022             [in] BSTR event,
11023             [in] IDispatch *pDisp,
11024             [out, retval] VARIANT_BOOL *pfResult);
11025
11026     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11027     HRESULT detachEvent(
11028             [in] BSTR event,
11029             [in] IDispatch *pDisp);
11030
11031     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11032     HRESULT setTimeout(
11033             [in] VARIANT *expression,
11034             [in] LONG msec,
11035             [in, optional] VARIANT *language,
11036             [out, retval] LONG *timerID);
11037
11038     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11039     HRESULT setInterval(
11040             [in] VARIANT *expression,
11041             [in] LONG msec,
11042             [in, optional] VARIANT *language,
11043             [out, retval] LONG *timerID);
11044
11045     [id(DISPID_IHTMLWINDOW3_PRINT)]
11046     HRESULT print();
11047
11048     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11049     HRESULT onbeforeprint([in] VARIANT v);
11050
11051     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11052     HRESULT onbeforeprint([out, retval] VARIANT *p);
11053
11054     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11055     HRESULT onafterprint([in] VARIANT v);
11056
11057     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11058     HRESULT onafterprint([out, retval] VARIANT *p);
11059
11060     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11061     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
11062
11063     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11064     HRESULT showModelessDialog(
11065             [in, defaultvalue("")] BSTR url,
11066             [in, optional] VARIANT *varArgIn,
11067             [in, optional] VARIANT *options,
11068             [out, retval] IHTMLWindow2 **pDialog);
11069 }
11070
11071 /*****************************************************************************
11072  *    IHTMLWindow4 interface
11073  */
11074 [
11075     odl,
11076     oleautomation,
11077     dual,
11078     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
11079 ]
11080 interface IHTMLWindow4 : IDispatch
11081 {
11082     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11083     HRESULT createPopup([optional, in] VARIANT* varArgIn,
11084                         [retval, out] IDispatch** ppPopup);
11085
11086     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11087     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
11088 }
11089
11090 /*****************************************************************************
11091  *    IHTMLWindow5 interface
11092  */
11093 [
11094     odl,
11095     oleautomation,
11096     dual,
11097     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
11098 ]
11099 interface IHTMLWindow5 : IDispatch
11100 {
11101     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11102     HRESULT XMLHttpRequest([in] VARIANT v);
11103
11104     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11105     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
11106 }
11107
11108 /*****************************************************************************
11109  *    IHTMLWindow6 interface
11110  */
11111 [
11112     odl,
11113     oleautomation,
11114     dual,
11115     uuid(30510453-98b5-11cf-bb82-00aa00bdce0b)
11116 ]
11117 interface IHTMLWindow6 : IDispatch
11118 {
11119     [propput, id(DISPID_IHTMLWINDOW6_XDOMAINREQUEST)]
11120     HRESULT XDomainRequest([in] VARIANT v);
11121
11122     [propget, id(DISPID_IHTMLWINDOW6_XDOMAINREQUEST)]
11123     HRESULT XDomainRequest([out, retval] VARIANT *p);
11124
11125     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
11126     HRESULT sessionStorage([out, retval] IHTMLStorage **p);
11127
11128     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
11129     HRESULT localStorage([out, retval] IHTMLStorage **p);
11130
11131     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11132     HRESULT onhashchange([in] VARIANT v);
11133
11134     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11135     HRESULT onhashchange([out, retval] VARIANT *p);
11136
11137     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
11138     HRESULT maxConnectionsPerServer([out, retval] long *p);
11139
11140     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
11141     HRESULT postMessage(
11142             [in] BSTR msg,
11143             [in, optional] VARIANT targetOrigin);
11144
11145     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
11146     HRESULT toStaticHTML(
11147             [in] BSTR bstrHTML,
11148             [out, retval] BSTR *pbstrStaticHTML);
11149
11150     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11151     HRESULT onmessage([in] VARIANT v);
11152
11153     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11154     HRESULT onmessage([out, retval] VARIANT *p);
11155
11156     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
11157     HRESULT msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
11158 }
11159
11160 /*****************************************************************************
11161  *    DispHTMLScreen dispinterface
11162  */
11163 [
11164     hidden,
11165     uuid(3050f591-98b5-11cf-bb82-00aa00bdce0b)
11166 ]
11167 dispinterface DispHTMLScreen
11168 {
11169 properties:
11170 methods:
11171     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
11172     long colorDepth();
11173
11174     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11175     void bufferDepth(long v);
11176
11177     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11178     long bufferDepth();
11179
11180     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
11181     long width();
11182
11183     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
11184     long height();
11185
11186     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11187     void updateInterval(long v);
11188
11189     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11190     long updateInterval();
11191
11192     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
11193     long availHeight();
11194
11195     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
11196     long availWidth();
11197
11198     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
11199     VARIANT_BOOL fontSmoothingEnabled();
11200
11201     [propget, id(DISPID_IHTMLSCREEN2_LOGICALXDPI)]
11202     long logicalXDPI();
11203
11204     [propget, id(DISPID_IHTMLSCREEN2_LOGICALYDPI)]
11205     long logicalYDPI();
11206
11207     [propget, id(DISPID_IHTMLSCREEN2_DEVICEXDPI)]
11208     long deviceXDPI();
11209
11210     [propget, id(DISPID_IHTMLSCREEN2_DEVICEYDPI)]
11211     long deviceYDPI();
11212
11213     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMXDPI)]
11214     long systemXDPI();
11215
11216     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMYDPI)]
11217     long systemYDPI();
11218
11219     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
11220     IDispatch *constructor();
11221 }
11222
11223 /*****************************************************************************
11224  *    DispHTMLWindow2 dispinterface
11225  */
11226 [
11227     hidden,
11228     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
11229 ]
11230 dispinterface DispHTMLWindow2
11231 {
11232 properties:
11233 methods:
11234     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11235     VARIANT item([in] VARIANT *pvarIndex);
11236
11237     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11238     LONG length();
11239
11240     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11241     IHTMLFramesCollection2 *frames();
11242
11243     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11244     void defaultStatus(BSTR v);
11245
11246     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11247     BSTR defaultStatus();
11248
11249     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11250     void status(BSTR v);
11251
11252     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11253     BSTR status();
11254
11255     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11256     void clearTimeout([in] LONG timerID);
11257
11258     [id(DISPID_IHTMLWINDOW2_ALERT)]
11259     void alert([in, defaultvalue("")] BSTR message);
11260
11261     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11262     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
11263
11264     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11265     VARIANT prompt(
11266             [in, defaultvalue("")] BSTR message,
11267             [in, defaultvalue("undefined")] BSTR defstr);
11268
11269     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11270     IHTMLImageElementFactory *Image();
11271
11272     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11273     IHTMLLocation *location();
11274
11275     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11276     IOmHistory *history();
11277
11278     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11279     void close();
11280
11281     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11282     void opener(VARIANT v);
11283
11284     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11285     VARIANT opener();
11286
11287     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11288     IOmNavigator *navigator();
11289
11290     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11291     void name(BSTR v);
11292
11293     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11294     BSTR name();
11295
11296     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11297     IHTMLWindow2 *parent();
11298
11299     [id(DISPID_IHTMLWINDOW2_OPEN)]
11300     IHTMLWindow2 *open(
11301             [in, defaultvalue("")] BSTR url,
11302             [in, defaultvalue("")] BSTR name,
11303             [in, defaultvalue("")] BSTR features,
11304             [in, defaultvalue(0)]  VARIANT_BOOL replace);
11305
11306     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11307     IHTMLWindow2 *self();
11308
11309     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11310     IHTMLWindow2 *top();
11311
11312     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11313     IHTMLWindow2 *window();
11314
11315     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11316     void navigate([in] BSTR url);
11317
11318     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11319     void onfocus(VARIANT v);
11320
11321     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11322     VARIANT onfocus();
11323
11324     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11325     void onblur(VARIANT v);
11326
11327     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11328     VARIANT onblur();
11329
11330     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11331     VARIANT onload();
11332
11333     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11334     void onbeforeunload(VARIANT v);
11335
11336     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11337     VARIANT onbeforeunload();
11338
11339     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11340     void onunload(VARIANT v);
11341
11342     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11343     VARIANT onunload();
11344
11345     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11346     void onhelp(VARIANT v);
11347
11348     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11349     VARIANT onhelp();
11350
11351     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11352     void onerror(VARIANT v);
11353
11354     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11355     VARIANT onerror();
11356
11357     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11358     void onresize(VARIANT v);
11359
11360     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11361     VARIANT onresize();
11362
11363     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11364     void onscroll(VARIANT v);
11365
11366     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11367     VARIANT onscroll();
11368
11369     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11370     IHTMLDocument2 *document();
11371
11372     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11373     IHTMLEventObj *event();
11374
11375     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11376     IUnknown *_newEnum();
11377
11378     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11379     VARIANT showModalDialog(
11380             [in] BSTR dialog,
11381             [in, optional] VARIANT *varArgIn,
11382             [in, optional] VARIANT *varOptions);
11383
11384     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11385     void showHelp(
11386             [in] BSTR helpURL,
11387             [in, optional] VARIANT helpArg,
11388             [in, defaultvalue("")] BSTR features);
11389
11390     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11391     IHTMLScreen *screen();
11392
11393     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11394     IHTMLOptionElementFactory *Option();
11395
11396     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11397     void focus();
11398
11399     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11400     VARIANT_BOOL closed();
11401
11402     [id(DISPID_IHTMLWINDOW2_BLUR)]
11403     void blur();
11404
11405     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11406     void scroll([in] LONG x, [in] LONG y);
11407
11408     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11409     IOmNavigator *clientInformation();
11410
11411     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11412     void clearInterval([in] LONG timerID);
11413
11414     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11415     void offscreenBuffering(VARIANT v);
11416
11417     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11418     VARIANT offscreenBuffering();
11419
11420     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11421     VARIANT execScript(
11422             [in] BSTR _code,
11423             [in, defaultvalue("JScript")] BSTR language);
11424
11425     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11426     BSTR toString();
11427
11428     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11429     void scrollBy([in] LONG x, [in] LONG y);
11430
11431     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11432     void scrollTo([in] LONG x, [in] LONG y);
11433
11434     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11435     void moveTo([in] LONG x, [in] LONG y);
11436
11437     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11438     void moveBy([in] LONG x, [in] LONG y);
11439
11440     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11441     void resizeTo([in] LONG x, [in] LONG y);
11442
11443     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11444     void resizeBy([in] LONG x, [in] LONG y);
11445
11446     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11447     IDispatch *external();
11448
11449     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11450     LONG screenLeft();
11451
11452     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11453     LONG screenTop();
11454
11455     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11456     VARIANT_BOOL attachEvent(
11457              [in] BSTR event,
11458              [in] IDispatch *pDisp);
11459
11460     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11461     void detachEvent(
11462             [in] BSTR event,
11463             [in] IDispatch *pDisp);
11464
11465     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11466     LONG setTimeout(
11467             [in] VARIANT *expression,
11468             [in] LONG msec,
11469             [in, optional] VARIANT *language);
11470
11471     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11472     LONG setInterval(
11473             [in] VARIANT *expression,
11474             [in] LONG msec,
11475             [in, optional] VARIANT *language);
11476
11477     [id(DISPID_IHTMLWINDOW3_PRINT)]
11478     void print();
11479
11480     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11481     void onbeforeprint(VARIANT v);
11482
11483     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11484     VARIANT onbeforeprint();
11485
11486     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11487     void onafterprint(VARIANT v);
11488
11489     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11490     VARIANT onafterprint();
11491
11492     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11493     IHTMLDataTransfer *clipboardData();
11494
11495     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11496     IHTMLWindow2 *showModelessDialog(
11497             [in, defaultvalue("")] BSTR url,
11498             [in, optional] VARIANT *varArgIn,
11499             [in, optional] VARIANT *options);
11500
11501     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11502     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
11503
11504     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11505     IHTMLFrameBase *frameElement();
11506
11507     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
11508     IHTMLStorage *sessionStorage();
11509
11510     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
11511     IHTMLStorage *localStorage();
11512
11513     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11514     void onhashchange(VARIANT v);
11515
11516     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11517     VARIANT onhashchange();
11518
11519     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
11520     long maxConnectionsPerServer();
11521
11522     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
11523     void postMessage(
11524             [in] BSTR msg,
11525             [in, optional] VARIANT targetOrigin);
11526
11527     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
11528     BSTR toStaticHTML([in] BSTR bstrHTML);
11529
11530     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11531     void onmessage(VARIANT v);
11532
11533     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11534     VARIANT onmessage();
11535
11536     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
11537     void msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
11538
11539     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
11540 }
11541
11542 /*****************************************************************************
11543  *    DispHTMLWindowProxy dispinterface
11544  */
11545 [
11546     hidden,
11547     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
11548 ]
11549 dispinterface DispHTMLWindowProxy
11550 {
11551 properties:
11552 methods:
11553     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11554     VARIANT item([in] VARIANT* pvarIndex);
11555
11556     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11557     LONG length();
11558
11559     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11560     IHTMLFramesCollection2* frames();
11561
11562     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11563     void defaultStatus(BSTR v);
11564
11565     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11566     BSTR defaultStatus();
11567
11568     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11569     void status(BSTR v);
11570
11571     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11572     BSTR status();
11573
11574     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11575     void clearTimeout([in] LONG timerID);
11576
11577     [id(DISPID_IHTMLWINDOW2_ALERT)]
11578     void alert([defaultvalue(""), in] BSTR message);
11579
11580     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11581     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
11582
11583     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11584     VARIANT prompt([defaultvalue(""), in] BSTR message,
11585                    [defaultvalue("undefined"), in] BSTR defstr);
11586
11587     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11588     IHTMLImageElementFactory* Image();
11589
11590     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11591     IHTMLLocation* location();
11592
11593     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11594     IOmHistory* history();
11595
11596     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11597     void close();
11598
11599     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11600     void opener(VARIANT v);
11601
11602     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11603     VARIANT opener();
11604
11605     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11606     IOmNavigator* navigator();
11607
11608     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11609     void name(BSTR v);
11610
11611     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11612     BSTR name();
11613
11614     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11615     IHTMLWindow2* parent();
11616
11617     [id(DISPID_IHTMLWINDOW2_OPEN)]
11618     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
11619                        [defaultvalue(""), in] BSTR name,
11620                        [defaultvalue(""), in] BSTR features,
11621                        [defaultvalue(0), in] VARIANT_BOOL replace);
11622
11623     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11624     IHTMLWindow2* self();
11625
11626     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11627     IHTMLWindow2* top();
11628
11629     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11630     IHTMLWindow2* window();
11631
11632     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11633     void navigate([in] BSTR url);
11634
11635     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11636     void onfocus(VARIANT v);
11637
11638     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11639     VARIANT onfocus();
11640
11641     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11642     void onblur(VARIANT v);
11643
11644     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11645     VARIANT onblur();
11646
11647     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11648     void onload(VARIANT v);
11649
11650     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11651     VARIANT onload();
11652
11653     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11654     void onbeforeunload(VARIANT v);
11655
11656     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11657     VARIANT onbeforeunload();
11658
11659     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11660     void onunload(VARIANT v);
11661
11662     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11663     VARIANT onunload();
11664
11665     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11666     void onhelp(VARIANT v);
11667
11668     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11669     VARIANT onhelp();
11670
11671     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11672     void onerror(VARIANT v);
11673
11674     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11675     VARIANT onerror();
11676
11677     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11678     void onresize(VARIANT v);
11679
11680     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11681     VARIANT onresize();
11682
11683     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11684     void onscroll(VARIANT v);
11685
11686     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11687     VARIANT onscroll();
11688
11689     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11690     IHTMLDocument2* document();
11691
11692     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11693     IHTMLEventObj* event();
11694
11695     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11696     IUnknown* _newEnum();
11697
11698     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11699     VARIANT showModalDialog([in] BSTR dialog,
11700                             [optional, in] VARIANT* varArgIn,
11701                             [optional, in] VARIANT* varOptions);
11702
11703     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11704     void showHelp([in] BSTR helpURL,
11705                   [optional, in] VARIANT helpArg,
11706                   [defaultvalue(""), in] BSTR features);
11707
11708     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11709     IHTMLScreen* screen();
11710
11711     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11712     IHTMLOptionElementFactory* Option();
11713
11714     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11715     void focus();
11716
11717     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11718     VARIANT_BOOL closed();
11719
11720     [id(DISPID_IHTMLWINDOW2_BLUR)]
11721     void blur();
11722
11723     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11724     void scroll([in] LONG x,
11725                 [in] LONG y);
11726
11727     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11728     IOmNavigator* clientInformation();
11729
11730     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11731     void clearInterval([in] LONG timerID);
11732
11733     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11734     void offscreenBuffering(VARIANT v);
11735
11736     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11737     VARIANT offscreenBuffering();
11738
11739     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11740     VARIANT execScript([in] BSTR code,
11741                        [defaultvalue("JScript"), in] BSTR language);
11742
11743     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11744     BSTR toString();
11745
11746     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11747     void scrollBy([in] LONG x,
11748                   [in] LONG y);
11749
11750     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11751     void scrollTo([in] LONG x,
11752                   [in] LONG y);
11753
11754     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11755     void moveTo([in] LONG x,
11756                 [in] LONG y);
11757
11758     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11759     void moveBy([in] LONG x,
11760                 [in] LONG y);
11761
11762     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11763     void resizeTo([in] LONG x,
11764                   [in] LONG y);
11765
11766     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11767     void resizeBy([in] LONG x,
11768                   [in] LONG y);
11769
11770     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11771     IDispatch* external();
11772
11773     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11774     LONG screenLeft();
11775
11776     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11777     LONG screenTop();
11778
11779     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11780     VARIANT_BOOL attachEvent([in] BSTR event,
11781                              [in] IDispatch* pDisp);
11782
11783     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11784     void detachEvent([in] BSTR event,
11785                      [in] IDispatch* pDisp);
11786
11787     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11788     LONG setTimeout([in] VARIANT* expression,
11789                     [in] LONG msec,
11790                     [optional, in] VARIANT* language);
11791
11792     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11793     LONG setInterval([in] VARIANT* expression,
11794                      [in] LONG msec,
11795                      [optional, in] VARIANT* language);
11796
11797     [id(DISPID_IHTMLWINDOW3_PRINT)]
11798     void print();
11799
11800     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11801     void onbeforeprint(VARIANT v);
11802
11803     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11804     VARIANT onbeforeprint();
11805
11806     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11807     void onafterprint(VARIANT v);
11808
11809     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11810     VARIANT onafterprint();
11811
11812     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11813     IHTMLDataTransfer* clipboardData();
11814
11815     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11816     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
11817                                      [optional, in] VARIANT* varArgIn,
11818                                      [optional, in] VARIANT* options);
11819
11820     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11821     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
11822
11823     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11824     IHTMLFrameBase* frameElement();
11825
11826     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11827     void XMLHttpRequest(VARIANT v);
11828
11829     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11830     VARIANT XMLHttpRequest();
11831
11832     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
11833     IHTMLStorage *sessionStorage();
11834
11835     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
11836     IHTMLStorage *localStorage();
11837
11838     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11839     void onhashchange(VARIANT v);
11840
11841     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11842     VARIANT onhashchange();
11843
11844     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
11845     long maxConnectionsPerServer();
11846
11847     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
11848     void postMessage(
11849             [in] BSTR msg,
11850             [in, optional] VARIANT targetOrigin);
11851
11852     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
11853     BSTR toStaticHTML([in] BSTR bstrHTML);
11854
11855     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11856     void onmessage(VARIANT v);
11857
11858     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11859     VARIANT onmessage();
11860
11861     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
11862     void msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
11863
11864     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
11865 }
11866
11867 /*****************************************************************************
11868  *    HTMLWindowEvents interface
11869  */
11870 [
11871     hidden,
11872     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
11873 ]
11874 dispinterface HTMLWindowEvents
11875 {
11876 properties:
11877 methods:
11878     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
11879     void onload();
11880
11881     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
11882     void onunload();
11883
11884     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
11885     VARIANT_BOOL onhelp();
11886
11887     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
11888     void onfocus();
11889
11890     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
11891     void onblur();
11892
11893     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
11894     void onerror([in] BSTR description,
11895                  [in] BSTR url,
11896                  [in] LONG line);
11897
11898     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
11899     void onresize();
11900
11901     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
11902     void onscroll();
11903
11904     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
11905     void onbeforeunload();
11906
11907     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
11908     void onbeforeprint();
11909
11910     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
11911     void onafterprint();
11912 }
11913
11914 /*****************************************************************************
11915  *    HTMLWindowEvents2 interface
11916  */
11917 [
11918     hidden,
11919     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
11920 ]
11921 dispinterface HTMLWindowEvents2
11922 {
11923 properties:
11924 methods:
11925     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
11926     void onload([in] IHTMLEventObj* pEvtObj);
11927
11928     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
11929     void onunload([in] IHTMLEventObj* pEvtObj);
11930
11931     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
11932     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
11933
11934     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
11935     void onfocus([in] IHTMLEventObj* pEvtObj);
11936
11937     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
11938     void onblur([in] IHTMLEventObj* pEvtObj);
11939
11940     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
11941     void onerror([in] BSTR description,
11942                  [in] BSTR url,
11943                  [in] LONG line);
11944
11945     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
11946     void onresize([in] IHTMLEventObj* pEvtObj);
11947
11948     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
11949     void onscroll([in] IHTMLEventObj* pEvtObj);
11950
11951     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
11952     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
11953
11954     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
11955     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
11956
11957     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
11958     void onafterprint([in] IHTMLEventObj* pEvtObj);
11959 }
11960
11961 /*****************************************************************************
11962  *    HTMLWindowProxy class
11963  */
11964 [
11965     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
11966 ]
11967 coclass HTMLWindowProxy
11968 {
11969     [default]           dispinterface DispHTMLWindowProxy;
11970     [source, default]   dispinterface HTMLWindowEvents;
11971     [source]            dispinterface HTMLWindowEvents2;
11972                         interface IHTMLWindow2;
11973                         interface IHTMLWindow3;
11974                         interface IHTMLWindow4;
11975                         interface IHTMLWindow5;
11976 }
11977
11978 /*****************************************************************************
11979  *    HTMLDocumentEvents2 interface
11980  */
11981 [
11982     hidden,
11983     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
11984 ]
11985 dispinterface HTMLDocumentEvents2
11986 {
11987     properties:
11988     methods:
11989     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
11990     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
11991
11992     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
11993     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
11994
11995     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
11996     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
11997
11998     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
11999     void onkeydown([in] IHTMLEventObj *pEvtObj);
12000
12001     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
12002     void onkeyup([in] IHTMLEventObj *pEvtObj);
12003
12004     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
12005     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
12006
12007     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
12008     void onmousedown([in] IHTMLEventObj *pEvtObj);
12009
12010     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
12011     void onmousemove([in] IHTMLEventObj *pEvtObj);
12012
12013     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
12014     void onmouseup([in] IHTMLEventObj *pEvtObj);
12015
12016     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
12017     void onmouseout([in] IHTMLEventObj *pEvtObj);
12018
12019     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
12020     void onmouseover([in] IHTMLEventObj *pEvtObj);
12021
12022     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
12023     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
12024
12025     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
12026     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
12027
12028     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
12029     void onafterupdate([in] IHTMLEventObj *pEvtObj);
12030
12031     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
12032     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
12033
12034     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
12035     void onrowenter([in] IHTMLEventObj *pEvtObj);
12036
12037     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
12038     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
12039
12040     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
12041     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
12042
12043     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
12044     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
12045
12046     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
12047     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
12048
12049     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
12050     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
12051
12052     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
12053     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
12054
12055     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
12056     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
12057
12058     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
12059     void oncellchange([in] IHTMLEventObj *pEvtObj);
12060
12061     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
12062     void onpropertychange([in] IHTMLEventObj *pEvtObj);
12063
12064     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
12065     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
12066
12067     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
12068     void ondataavailable([in] IHTMLEventObj *pEvtObj);
12069
12070     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
12071     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
12072
12073     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
12074     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
12075
12076     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
12077     void onselectionchange([in] IHTMLEventObj *pEvtObj);
12078
12079     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
12080     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
12081
12082     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
12083     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
12084
12085     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
12086     void onfocusin([in] IHTMLEventObj *pEvtObj);
12087
12088     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
12089     void onfocusout([in] IHTMLEventObj *pEvtObj);
12090
12091     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
12092     void onactivate([in] IHTMLEventObj *pEvtObj);
12093
12094     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
12095     void ondeactivate([in] IHTMLEventObj *pEvtObj);
12096
12097     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
12098     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
12099
12100     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
12101     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
12102 }
12103
12104 /*****************************************************************************
12105  *    HTMLDocumentEvents interface
12106  */
12107 [
12108     hidden,
12109     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
12110 ]
12111 dispinterface HTMLDocumentEvents
12112 {
12113     properties:
12114     methods:
12115     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
12116     VARIANT_BOOL onhelp();
12117
12118     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
12119     VARIANT_BOOL onclick();
12120
12121     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
12122     VARIANT_BOOL ondblclick();
12123
12124     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
12125     void onkeydown();
12126
12127     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
12128     void onkeyup();
12129
12130     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
12131     VARIANT_BOOL onkeypress();
12132
12133     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
12134     void onmousedown();
12135
12136     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
12137     void onmousemove();
12138
12139     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
12140     void onmouseup();
12141
12142     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
12143     void onmouseout();
12144
12145     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
12146     void onmouseover();
12147
12148     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
12149     void onreadystatechange();
12150
12151     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
12152     VARIANT_BOOL onbeforeupdate();
12153
12154     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
12155     void onafterupdate();
12156
12157     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
12158     VARIANT_BOOL onrowexit();
12159
12160     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
12161     void onrowenter();
12162
12163     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
12164     VARIANT_BOOL ondragstart();
12165
12166     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
12167     VARIANT_BOOL onselectstart();
12168
12169     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
12170     VARIANT_BOOL onerrorupdate();
12171
12172     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
12173     VARIANT_BOOL oncontextmenu();
12174
12175     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
12176     VARIANT_BOOL onstop();
12177
12178     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
12179     void onrowsdelete();
12180
12181     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
12182     void onrowsinserted();
12183
12184     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
12185     void oncellchange();
12186
12187     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
12188     void onpropertychange();
12189
12190     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
12191     void ondatasetchanged();
12192
12193     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
12194     void ondataavailable();
12195
12196     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
12197     void ondatasetcomplete();
12198
12199     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
12200     void onbeforeeditfocus();
12201
12202     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
12203     void onselectionchange();
12204
12205     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
12206     VARIANT_BOOL oncontrolselect();
12207
12208     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
12209     VARIANT_BOOL onmousewheel();
12210
12211     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
12212     void onfocusin();
12213
12214     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
12215     void onfocusout();
12216
12217     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
12218     void onactivate();
12219
12220     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
12221     void ondeactivate();
12222
12223     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
12224     VARIANT_BOOL onbeforeactivate();
12225
12226     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
12227     VARIANT_BOOL onbeforedeactivate();
12228 }
12229
12230 /*****************************************************************************
12231  *    HTMLTextContainerEvents interface
12232  */
12233 [
12234     hidden,
12235     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
12236 ]
12237 dispinterface HTMLTextContainerEvents
12238 {
12239 properties:
12240
12241 methods:
12242     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
12243     VARIANT_BOOL onhelp();
12244
12245     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
12246     VARIANT_BOOL onclick();
12247
12248     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
12249     VARIANT_BOOL ondblclick();
12250
12251     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
12252     VARIANT_BOOL onkeypress();
12253
12254     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
12255     void onkeydown();
12256
12257     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
12258     void onkeyup();
12259
12260     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
12261     void onmouseout();
12262
12263     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
12264     void onmouseover();
12265
12266     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
12267     void onmousemove();
12268
12269     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
12270     void onmousedown();
12271
12272     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
12273     void onmouseup();
12274
12275     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
12276     VARIANT_BOOL onselectstart();
12277
12278     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
12279     void onfilterchange();
12280
12281     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
12282     VARIANT_BOOL ondragstart();
12283
12284     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
12285     VARIANT_BOOL onbeforeupdate();
12286
12287     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
12288     void onafterupdate();
12289
12290     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
12291     VARIANT_BOOL onerrorupdate();
12292
12293     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
12294     VARIANT_BOOL onrowexit();
12295
12296     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
12297     void onrowenter();
12298
12299     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
12300     void ondatasetchanged();
12301
12302     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
12303     void ondataavailable();
12304
12305     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
12306     void ondatasetcomplete();
12307
12308     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
12309     void onlosecapture();
12310
12311     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
12312     void onpropertychange();
12313
12314     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
12315     void onscroll();
12316
12317     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
12318     void onfocus();
12319
12320     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
12321     void onblur();
12322
12323     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
12324     void onresize();
12325
12326     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
12327     VARIANT_BOOL ondrag();
12328
12329     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
12330     void ondragend();
12331
12332     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
12333     VARIANT_BOOL ondragenter();
12334
12335     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
12336     VARIANT_BOOL ondragover();
12337
12338     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
12339     void ondragleave();
12340
12341     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
12342     VARIANT_BOOL ondrop();
12343
12344     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
12345     VARIANT_BOOL onbeforecut();
12346
12347     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
12348     VARIANT_BOOL oncut();
12349
12350     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
12351     VARIANT_BOOL onbeforecopy();
12352
12353     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
12354     VARIANT_BOOL oncopy();
12355
12356     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
12357     VARIANT_BOOL onbeforepaste();
12358
12359     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
12360     VARIANT_BOOL onpaste();
12361
12362     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
12363     VARIANT_BOOL oncontextmenu();
12364
12365     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
12366     void onrowsdelete();
12367
12368     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
12369     void onrowsinserted();
12370
12371     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
12372     void oncellchange();
12373
12374     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
12375     void onreadystatechange();
12376
12377     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
12378     void onbeforeeditfocus();
12379
12380     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
12381     void onlayoutcomplete();
12382
12383     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
12384     void onpage();
12385
12386     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
12387     VARIANT_BOOL onbeforedeactivate();
12388
12389     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
12390     VARIANT_BOOL onbeforeactivate();
12391
12392     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
12393     void onmove();
12394
12395     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
12396     VARIANT_BOOL oncontrolselect();
12397
12398     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
12399     VARIANT_BOOL onmovestart();
12400
12401     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
12402     void onmoveend();
12403
12404     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
12405     VARIANT_BOOL onresizestart();
12406
12407     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
12408     void onresizeend();
12409
12410     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
12411     void onmouseenter();
12412
12413     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
12414     void onmouseleave();
12415
12416     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
12417     VARIANT_BOOL onmousewheel();
12418
12419     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
12420     void onactivate();
12421
12422     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
12423     void ondeactivate();
12424
12425     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
12426     void onfocusin();
12427
12428     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
12429     void onfocusout();
12430
12431     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
12432     void onchange();
12433
12434     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
12435     void onselect();
12436 }
12437
12438 /*****************************************************************************
12439  *    HTMLTextContainerEvents2 interface
12440  */
12441 [
12442     hidden,
12443     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
12444 ]
12445 dispinterface HTMLTextContainerEvents2
12446 {
12447 properties:
12448 methods:
12449     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
12450     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
12451
12452     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
12453     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
12454
12455     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
12456     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
12457
12458     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
12459     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
12460
12461     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
12462     void onkeydown([in] IHTMLEventObj* pEvtObj);
12463
12464     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
12465     void onkeyup([in] IHTMLEventObj* pEvtObj);
12466
12467     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
12468     void onmouseout([in] IHTMLEventObj* pEvtObj);
12469
12470     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
12471     void onmouseover([in] IHTMLEventObj* pEvtObj);
12472
12473     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
12474     void onmousemove([in] IHTMLEventObj* pEvtObj);
12475
12476     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
12477     void onmousedown([in] IHTMLEventObj* pEvtObj);
12478
12479     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
12480     void onmouseup([in] IHTMLEventObj* pEvtObj);
12481
12482     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
12483     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
12484
12485     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
12486     void onfilterchange([in] IHTMLEventObj* pEvtObj);
12487
12488     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
12489     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
12490
12491     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
12492     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
12493
12494     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
12495     void onafterupdate([in] IHTMLEventObj* pEvtObj);
12496
12497     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
12498     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
12499
12500     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
12501     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
12502
12503     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
12504     void onrowenter([in] IHTMLEventObj* pEvtObj);
12505
12506     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
12507     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
12508
12509     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
12510     void ondataavailable([in] IHTMLEventObj* pEvtObj);
12511
12512     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
12513     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
12514
12515     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
12516     void onlosecapture([in] IHTMLEventObj* pEvtObj);
12517
12518     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
12519     void onpropertychange([in] IHTMLEventObj* pEvtObj);
12520
12521     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
12522     void onscroll([in] IHTMLEventObj* pEvtObj);
12523
12524     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
12525     void onfocus([in] IHTMLEventObj* pEvtObj);
12526
12527     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
12528     void onblur([in] IHTMLEventObj* pEvtObj);
12529
12530     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
12531     void onresize([in] IHTMLEventObj* pEvtObj);
12532
12533     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
12534     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
12535
12536     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
12537     void ondragend([in] IHTMLEventObj* pEvtObj);
12538
12539     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
12540     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
12541
12542     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
12543     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
12544
12545     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
12546     void ondragleave([in] IHTMLEventObj* pEvtObj);
12547
12548     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
12549     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
12550
12551     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
12552     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
12553
12554     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
12555     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
12556
12557     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
12558     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
12559
12560     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
12561     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
12562
12563     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
12564     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
12565
12566     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
12567     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
12568
12569     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
12570     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
12571
12572     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
12573     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
12574
12575     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
12576     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
12577
12578     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
12579     void oncellchange([in] IHTMLEventObj* pEvtObj);
12580
12581     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
12582     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
12583
12584     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
12585     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
12586
12587     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
12588     void onpage([in] IHTMLEventObj* pEvtObj);
12589
12590     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
12591     void onmouseenter([in] IHTMLEventObj* pEvtObj);
12592
12593     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
12594     void onmouseleave([in] IHTMLEventObj* pEvtObj);
12595
12596     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
12597     void onactivate([in] IHTMLEventObj* pEvtObj);
12598
12599     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
12600     void ondeactivate([in] IHTMLEventObj* pEvtObj);
12601
12602     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
12603     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
12604
12605     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
12606     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
12607
12608     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
12609     void onfocusin([in] IHTMLEventObj* pEvtObj);
12610
12611     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
12612     void onfocusout([in] IHTMLEventObj* pEvtObj);
12613
12614     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
12615     void onmove([in] IHTMLEventObj* pEvtObj);
12616
12617     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
12618     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
12619
12620     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
12621     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
12622
12623     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
12624     void onmoveend([in] IHTMLEventObj* pEvtObj);
12625
12626     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
12627     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
12628
12629     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
12630     void onresizeend([in] IHTMLEventObj* pEvtObj);
12631
12632     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
12633     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
12634
12635     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
12636     void onchange([in] IHTMLEventObj* pEvtObj);
12637
12638     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
12639     void onselect([in] IHTMLEventObj* pEvtObj);
12640 }
12641
12642 /*****************************************************************************
12643  *    IHTMLDocument interface
12644  */
12645 [
12646     odl,
12647     oleautomation,
12648     dual,
12649     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
12650 ]
12651 interface IHTMLDocument : IDispatch
12652 {
12653     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
12654     HRESULT Script([retval, out] IDispatch **p);
12655 }
12656
12657 /*****************************************************************************
12658  *    IHTMLDocument2 interface
12659  */
12660 [
12661     odl,
12662     oleautomation,
12663     dual,
12664     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
12665 ]
12666 interface IHTMLDocument2 : IHTMLDocument
12667 {
12668     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
12669     HRESULT all([retval, out] IHTMLElementCollection **p);
12670
12671     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
12672     HRESULT body([retval, out] IHTMLElement **p);
12673
12674     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
12675     HRESULT activeElement([retval, out] IHTMLElement **p);
12676
12677     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
12678     HRESULT images([retval, out] IHTMLElementCollection **p);
12679
12680     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
12681     HRESULT applets([retval, out] IHTMLElementCollection **p);
12682
12683     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
12684     HRESULT links([retval, out] IHTMLElementCollection **p);
12685
12686     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
12687     HRESULT forms([retval, out] IHTMLElementCollection **p);
12688
12689     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
12690     HRESULT anchors([retval, out] IHTMLElementCollection **p);
12691
12692     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12693     HRESULT title([in] BSTR v);
12694
12695     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12696     HRESULT title([retval, out] BSTR *p);
12697
12698     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
12699     HRESULT scripts([retval, out] IHTMLElementCollection **p);
12700
12701     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
12702     HRESULT designMode([in] BSTR v);
12703
12704     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
12705     HRESULT designMode([retval, out] BSTR *p);
12706
12707     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
12708     HRESULT selection([retval, out] IHTMLSelectionObject **p);
12709
12710     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
12711      HRESULT readyState([retval, out] BSTR *p);
12712
12713     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
12714     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
12715
12716     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
12717     HRESULT embeds([retval, out] IHTMLElementCollection **p);
12718
12719     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
12720     HRESULT plugins([retval, out] IHTMLElementCollection **p);
12721
12722     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12723     HRESULT alinkColor([in] VARIANT v);
12724
12725     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12726     HRESULT alinkColor([retval, out] VARIANT *p);
12727
12728     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12729     HRESULT bgColor([in] VARIANT v);
12730
12731     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12732     HRESULT bgColor([retval, out] VARIANT *p);
12733
12734     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12735     HRESULT fgColor([in] VARIANT v);
12736
12737     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12738     HRESULT fgColor([retval, out] VARIANT *p);
12739
12740     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12741     HRESULT linkColor([in] VARIANT v);
12742
12743     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12744     HRESULT linkColor([retval, out] VARIANT *p);
12745
12746     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12747     HRESULT vlinkColor([in] VARIANT v);
12748
12749     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12750     HRESULT vlinkColor([retval, out] VARIANT *p);
12751
12752     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
12753     HRESULT referrer([retval, out] BSTR *p);
12754
12755     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
12756     HRESULT location([retval, out] IHTMLLocation **p);
12757
12758     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
12759     HRESULT lastModified([retval, out] BSTR *p);
12760
12761     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
12762     HRESULT URL([in] BSTR v);
12763
12764     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
12765     HRESULT URL([retval, out] BSTR *p);
12766
12767     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12768     HRESULT domain([in] BSTR v);
12769
12770     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12771     HRESULT domain([retval, out] BSTR *p);
12772
12773     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12774     HRESULT cookie([in] BSTR v);
12775
12776     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12777     HRESULT cookie([retval, out] BSTR *p);
12778
12779     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12780     HRESULT expando([in] VARIANT_BOOL v);
12781
12782     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12783     HRESULT expando([retval, out] VARIANT_BOOL *p);
12784
12785     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12786      HRESULT charset([in] BSTR v);
12787
12788     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12789     HRESULT charset([retval, out] BSTR *p);
12790
12791     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12792     HRESULT defaultCharset([in] BSTR v);
12793
12794     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12795     HRESULT defaultCharset([retval, out] BSTR *p);
12796
12797     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
12798     HRESULT mimeType([retval, out] BSTR *p);
12799
12800     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
12801     HRESULT fileSize([retval, out] BSTR *p);
12802
12803     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
12804     HRESULT fileCreatedDate([retval, out] BSTR *p);
12805
12806     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
12807     HRESULT fileModifiedDate([retval, out] BSTR *p);
12808
12809     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
12810     HRESULT fileUpdatedDate([retval, out] BSTR *p);
12811
12812     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
12813     HRESULT security([retval, out] BSTR *p);
12814
12815     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
12816     HRESULT protocol([retval, out] BSTR *p);
12817
12818     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
12819      HRESULT nameProp([retval, out] BSTR *p);
12820
12821     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
12822     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
12823
12824     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
12825     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
12826
12827     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
12828     HRESULT open(
12829         [defaultvalue("text/html"), in] BSTR url,
12830         [optional, in] VARIANT name,
12831         [optional, in] VARIANT features,
12832         [optional, in] VARIANT replace,
12833         [retval, out]  IDispatch **pomWindowResult);
12834
12835     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
12836     HRESULT close();
12837
12838     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
12839     HRESULT clear();
12840
12841     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
12842     HRESULT queryCommandSupported(
12843         [in] BSTR cmdID,
12844         [retval, out] VARIANT_BOOL *pfRet);
12845
12846     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
12847     HRESULT queryCommandEnabled(
12848         [in] BSTR cmdID,
12849         [retval, out] VARIANT_BOOL *pfRet);
12850
12851     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
12852     HRESULT queryCommandState(
12853         [in] BSTR cmdID,
12854         [retval, out] VARIANT_BOOL *pfRet);
12855
12856     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
12857     HRESULT queryCommandIndeterm(
12858         [in] BSTR cmdID,
12859         [retval, out] VARIANT_BOOL *pfRet);
12860
12861     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
12862     HRESULT queryCommandText(
12863         [in] BSTR cmdID,
12864         [retval, out] BSTR *pcmdText);
12865
12866     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
12867     HRESULT queryCommandValue(
12868         [in] BSTR cmdID,
12869         [retval, out] VARIANT *pcmdValue);
12870
12871     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
12872     HRESULT execCommand(
12873         [in] BSTR cmdID,
12874         [defaultvalue(0), in] VARIANT_BOOL showUI,
12875         [optional, in] VARIANT value,
12876         [retval, out] VARIANT_BOOL *pfRet);
12877
12878     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12879     HRESULT execCommandShowHelp(
12880         [in] BSTR cmdID,
12881         [retval, out] VARIANT_BOOL *pfRet);
12882
12883     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12884      HRESULT createElement(
12885         [in] BSTR eTag,
12886         [retval, out] IHTMLElement **newElem);
12887
12888     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12889     HRESULT onhelp([in] VARIANT v);
12890
12891     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12892     HRESULT onhelp([retval, out] VARIANT *p);
12893
12894     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12895     HRESULT onclick([in] VARIANT v);
12896
12897     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12898     HRESULT onclick([retval, out] VARIANT *p);
12899
12900     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12901     HRESULT ondblclick([in] VARIANT v);
12902
12903     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12904     HRESULT ondblclick([retval, out] VARIANT *p);
12905
12906     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12907     HRESULT onkeyup([in] VARIANT v);
12908
12909     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12910     HRESULT onkeyup([retval, out] VARIANT *p);
12911
12912     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12913     HRESULT onkeydown([in] VARIANT v);
12914
12915     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12916     HRESULT onkeydown([retval, out] VARIANT *p);
12917
12918     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12919      HRESULT onkeypress([in] VARIANT v);
12920
12921     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12922     HRESULT onkeypress([retval, out] VARIANT *p);
12923
12924     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12925     HRESULT onmouseup([in] VARIANT v);
12926
12927     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12928     HRESULT onmouseup([retval, out] VARIANT *p);
12929
12930     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12931     HRESULT onmousedown([in] VARIANT v);
12932
12933     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12934     HRESULT onmousedown([retval, out] VARIANT *p);
12935
12936     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12937     HRESULT onmousemove([in] VARIANT v);
12938
12939     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12940     HRESULT onmousemove([retval, out] VARIANT *p);
12941
12942     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12943     HRESULT onmouseout([in] VARIANT v);
12944
12945     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12946     HRESULT onmouseout([retval, out] VARIANT *p);
12947
12948     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12949     HRESULT onmouseover([in] VARIANT v);
12950
12951     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12952     HRESULT onmouseover([retval, out] VARIANT *p);
12953
12954     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12955     HRESULT onreadystatechange([in] VARIANT v);
12956
12957     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12958     HRESULT onreadystatechange([retval, out] VARIANT *p);
12959
12960     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12961     HRESULT onafterupdate([in] VARIANT v);
12962
12963     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12964     HRESULT onafterupdate([retval, out] VARIANT *p);
12965
12966     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12967     HRESULT onrowexit([in] VARIANT v);
12968
12969     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12970     HRESULT onrowexit([retval, out] VARIANT *p);
12971
12972     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12973     HRESULT onrowenter([in] VARIANT v);
12974
12975     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12976     HRESULT onrowenter([retval, out] VARIANT *p);
12977
12978     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12979     HRESULT ondragstart([in] VARIANT v);
12980
12981     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12982     HRESULT ondragstart([retval, out] VARIANT *p);
12983
12984     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12985     HRESULT onselectstart([in] VARIANT v);
12986
12987     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12988     HRESULT onselectstart([retval, out] VARIANT *p);
12989
12990     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12991     HRESULT elementFromPoint(
12992         [in] LONG x,
12993         [in] LONG y,
12994         [retval, out] IHTMLElement **elementHit);
12995
12996     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12997     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
12998
12999     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
13000     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
13001
13002     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
13003     HRESULT onbeforeupdate([in] VARIANT v);
13004
13005     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
13006     HRESULT onbeforeupdate([retval, out] VARIANT *p);
13007
13008     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
13009     HRESULT onerrorupdate([in] VARIANT v);
13010
13011     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
13012     HRESULT onerrorupdate([retval, out] VARIANT *p);
13013
13014     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
13015     HRESULT toString([retval, out] BSTR *String);
13016
13017     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
13018     HRESULT createStyleSheet(
13019         [defaultvalue(""), in] BSTR bstrHref,
13020         [defaultvalue(-1), in] LONG lIndex,
13021         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
13022 }
13023
13024 /*****************************************************************************
13025  *    IHTMLDocument3 interface
13026  */
13027 [
13028     odl,
13029     oleautomation,
13030     dual,
13031     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
13032 ]
13033 interface IHTMLDocument3 : IDispatch
13034 {
13035     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
13036     HRESULT releaseCapture();
13037
13038     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
13039     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
13040
13041     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
13042     HRESULT createTextNode(
13043         [in] BSTR text,
13044         [retval, out] IHTMLDOMNode **newTextNode);
13045
13046     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
13047     HRESULT documentElement([retval, out] IHTMLElement **p);
13048
13049     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
13050     HRESULT uniqueID([retval, out] BSTR *p);
13051
13052     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
13053     HRESULT attachEvent(
13054         [in] BSTR event,
13055         [in] IDispatch* pDisp,
13056         [retval, out] VARIANT_BOOL *pfResult);
13057
13058     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
13059     HRESULT detachEvent(
13060         [in] BSTR event,
13061         [in] IDispatch *pDisp);
13062
13063     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13064     HRESULT onrowsdelete([in] VARIANT v);
13065
13066     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13067     HRESULT onrowsdelete([retval, out] VARIANT *p);
13068
13069     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13070     HRESULT onrowsinserted([in] VARIANT v);
13071
13072     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13073     HRESULT onrowsinserted([retval, out] VARIANT *p);
13074
13075     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13076     HRESULT oncellchange([in] VARIANT v);
13077
13078     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13079     HRESULT oncellchange([retval, out] VARIANT *p);
13080
13081     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13082     HRESULT ondatasetchanged([in] VARIANT v);
13083
13084     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13085     HRESULT ondatasetchanged([retval, out] VARIANT *p);
13086
13087     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13088     HRESULT ondataavailable([in] VARIANT v);
13089
13090     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13091     HRESULT ondataavailable([retval, out] VARIANT * p);
13092
13093     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13094     HRESULT ondatasetcomplete([in] VARIANT v);
13095
13096     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13097     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
13098
13099     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13100     HRESULT onpropertychange([in] VARIANT v);
13101
13102     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13103     HRESULT onpropertychange([retval, out] VARIANT *p);
13104
13105     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
13106     HRESULT dir([in] BSTR v);
13107
13108     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
13109     HRESULT dir([retval, out] BSTR *p);
13110
13111     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13112     HRESULT oncontextmenu([in] VARIANT v);
13113
13114     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13115     HRESULT oncontextmenu([retval, out] VARIANT *p);
13116
13117     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13118     HRESULT onstop([in] VARIANT v);
13119
13120     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13121     HRESULT onstop([retval, out] VARIANT *p);
13122
13123     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
13124     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
13125
13126     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
13127     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
13128
13129     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13130     HRESULT enableDownload([in] VARIANT_BOOL v);
13131
13132     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13133     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
13134
13135     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13136     HRESULT baseUrl([in] BSTR v);
13137
13138     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13139     HRESULT baseUrl([retval, out] BSTR *p);
13140
13141     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
13142     HRESULT childNodes([retval, out] IDispatch **p);
13143
13144     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13145     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
13146
13147     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13148     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
13149
13150     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13151     HRESULT onbeforeeditfocus([in] VARIANT v);
13152
13153     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13154     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
13155
13156     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
13157     HRESULT getElementsByName(
13158         [in] BSTR v,
13159         [retval, out] IHTMLElementCollection **pelColl);
13160
13161     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
13162     HRESULT getElementById(
13163         [in] BSTR v,
13164         [retval, out] IHTMLElement **pel);
13165
13166     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
13167     HRESULT getElementsByTagName(
13168         [in] BSTR v,
13169         [retval, out] IHTMLElementCollection **pelColl);
13170 }
13171
13172 /*****************************************************************************
13173  *    IHTMLDocument4 interface
13174  */
13175 [
13176     odl,
13177     oleautomation,
13178     dual,
13179     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
13180 ]
13181 interface IHTMLDocument4 : IDispatch
13182 {
13183     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
13184     HRESULT focus();
13185
13186     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
13187     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
13188
13189     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13190     HRESULT onselectionchange([in] VARIANT v);
13191
13192     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13193     HRESULT onselectionchange([retval, out] VARIANT *p);
13194
13195     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
13196     HRESULT namespaces([retval, out] IDispatch **p);
13197
13198     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
13199     HRESULT createDocumentFromUrl(
13200         [in] BSTR bstrUrl,
13201         [in] BSTR bstrOptions,
13202         [retval, out] IHTMLDocument2 **newDoc);
13203
13204     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13205     HRESULT media([in] BSTR v);
13206
13207     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13208     HRESULT media([retval, out] BSTR *p);
13209
13210     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
13211     HRESULT createEventObject(
13212         [optional, in] VARIANT *pvarEventObject,
13213         [retval, out] IHTMLEventObj **ppEventObj);
13214
13215     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
13216     HRESULT fireEvent(
13217         [in] BSTR bstrEventName,
13218         [optional, in] VARIANT *pvarEventObject,
13219         [retval, out] VARIANT_BOOL *pfCancelled);
13220
13221     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
13222     HRESULT createRenderStyle(
13223         [in] BSTR v,
13224         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
13225
13226     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13227     HRESULT oncontrolselect([in] VARIANT v);
13228
13229     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13230     HRESULT oncontrolselect([retval, out] VARIANT *p);
13231
13232     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
13233     HRESULT URLUnencoded([retval, out] BSTR *p);
13234 }
13235
13236 /*****************************************************************************
13237  *    IHTMLDocument5 interface
13238  */
13239 [
13240     odl,
13241     oleautomation,
13242     dual,
13243     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
13244 ]
13245 interface IHTMLDocument5 : IDispatch
13246 {
13247     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13248     HRESULT onmousewheel([in] VARIANT v);
13249
13250     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13251     HRESULT onmousewheel([retval, out] VARIANT *p);
13252
13253     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
13254     HRESULT doctype([retval, out] IHTMLDOMNode **p);
13255
13256     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13257     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
13258
13259     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13260     HRESULT createAttribute(
13261         [in] BSTR bstrattrName,
13262         [retval, out] IHTMLDOMAttribute **ppattribute);
13263
13264     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13265     HRESULT createComment(
13266         [in] BSTR bstrdata,
13267         [retval, out] IHTMLDOMNode **ppRetNode);
13268
13269     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13270     HRESULT onfocusin([in] VARIANT v);
13271
13272     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13273     HRESULT onfocusin([retval, out] VARIANT *p);
13274
13275     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13276     HRESULT onfocusout([in] VARIANT v);
13277
13278     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13279     HRESULT onfocusout([retval, out] VARIANT *p);
13280
13281     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13282     HRESULT onactivate([in] VARIANT v);
13283
13284     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13285     HRESULT onactivate([retval, out] VARIANT *p);
13286
13287     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13288     HRESULT ondeactivate([in] VARIANT v);
13289
13290     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13291     HRESULT ondeactivate([retval, out] VARIANT *p);
13292
13293     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13294     HRESULT onbeforeactivate([in] VARIANT v);
13295
13296     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13297     HRESULT onbeforeactivate([retval, out] VARIANT *p);
13298
13299     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13300     HRESULT onbeforedeactivate([in] VARIANT v);
13301
13302     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13303     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
13304
13305     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
13306     HRESULT compatMode([retval, out] BSTR *p);
13307 }
13308
13309 /*****************************************************************************
13310  *    IHTMLDocument6 interface
13311  */
13312 [
13313     odl,
13314     oleautomation,
13315     dual,
13316     uuid(30510417-98b5-11cf-bb82-00aa00bdce0b)
13317 ]
13318 interface IHTMLDocument6 : IDispatch
13319 {
13320     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
13321     HRESULT compatible([retval, out] IHTMLDocumentCompatibleInfoCollection **p);
13322
13323     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
13324     HRESULT documentMode([retval, out] VARIANT *p);
13325
13326     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13327     HRESULT onstorage([in] VARIANT v);
13328
13329     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13330     HRESULT onstorage([out] VARIANT *p);
13331
13332     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13333     HRESULT onstoragecommit([in] VARIANT v);
13334
13335     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13336     HRESULT onstoragecommit([out] VARIANT *p);
13337
13338     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
13339     HRESULT getElementById(
13340         [in] BSTR bstrId,
13341         [retval, out] IHTMLElement2 **p);
13342
13343     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
13344     HRESULT updateSettings();
13345 }
13346
13347 /*****************************************************************************
13348  *    DispHTMLDocument dispinterface
13349  */
13350 [
13351     hidden,
13352     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
13353 ]
13354 dispinterface DispHTMLDocument
13355 {
13356 properties:
13357 methods:
13358     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
13359     IDispatch *Script();
13360
13361     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
13362     IHTMLElementCollection *all();
13363
13364     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
13365     IHTMLElement *body();
13366
13367     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
13368     IHTMLElement *activeElement();
13369
13370     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
13371     IHTMLElementCollection *images();
13372
13373     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
13374     IHTMLElementCollection *applets();
13375
13376     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
13377     IHTMLElementCollection *links();
13378
13379     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
13380     IHTMLElementCollection *forms();
13381
13382     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
13383     IHTMLElementCollection *anchors();
13384
13385     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13386     void title(BSTR v);
13387
13388     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13389     BSTR title();
13390
13391     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
13392     IHTMLElementCollection *scripts();
13393
13394     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
13395     void designMode(BSTR v);
13396
13397     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
13398     BSTR designMode();
13399
13400     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
13401     IHTMLSelectionObject *selection();
13402
13403     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
13404     BSTR readyState();
13405
13406     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
13407     IHTMLFramesCollection2 *frames();
13408
13409     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
13410     IHTMLElementCollection *embeds();
13411
13412     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
13413     IHTMLElementCollection *plugins();
13414
13415     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13416     void alinkColor(VARIANT v);
13417
13418     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13419     VARIANT alinkColor();
13420
13421     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13422     void bgColor(VARIANT v);
13423
13424     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13425     VARIANT bgColor();
13426
13427     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13428     void fgColor(VARIANT v);
13429
13430     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13431     VARIANT fgColor();
13432
13433     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13434     void linkColor(VARIANT v);
13435
13436     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13437     VARIANT linkColor();
13438
13439     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13440     void vlinkColor(VARIANT v);
13441
13442     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13443     VARIANT vlinkColor();
13444
13445     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
13446     BSTR referrer();
13447
13448     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
13449     IHTMLLocation *location();
13450
13451     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
13452     BSTR lastModified();
13453
13454     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
13455     void URL(BSTR v);
13456
13457     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
13458     BSTR URL();
13459
13460     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13461     void domain(BSTR v);
13462
13463     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13464     BSTR domain();
13465
13466     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13467     void cookie(BSTR v);
13468
13469     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13470     BSTR cookie();
13471
13472     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
13473     void expando(VARIANT_BOOL v);
13474
13475     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
13476     VARIANT_BOOL expando();
13477
13478     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
13479     void charset(BSTR v);
13480
13481     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
13482     BSTR charset();
13483
13484     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13485     void defaultCharset(BSTR v);
13486
13487     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13488     BSTR defaultCharset();
13489
13490     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
13491     BSTR mimeType();
13492
13493     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
13494     BSTR fileSize();
13495
13496     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
13497     BSTR fileCreatedDate();
13498
13499     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
13500     BSTR fileModifiedDate();
13501
13502     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
13503     BSTR fileUpdatedDate();
13504
13505     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
13506     BSTR security();
13507
13508     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
13509     BSTR protocol();
13510
13511     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
13512     BSTR nameProp();
13513
13514     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
13515     void write([in] SAFEARRAY(VARIANT) psarray);
13516
13517     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
13518     void writeln([in] SAFEARRAY(VARIANT) psarray);
13519
13520     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
13521     IDispatch *open(
13522         [defaultvalue("text/html"), in] BSTR url,
13523         [optional, in] VARIANT name,
13524         [optional, in] VARIANT features,
13525         [optional, in] VARIANT replace);
13526
13527     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
13528     void close();
13529
13530     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
13531     void clear();
13532
13533     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
13534     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
13535
13536     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
13537     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
13538
13539     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
13540     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
13541
13542     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
13543     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
13544
13545     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
13546     BSTR queryCommandText([in] BSTR cmdID);
13547
13548     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
13549     VARIANT queryCommandValue([in] BSTR cmdID);
13550
13551     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
13552     VARIANT_BOOL execCommand(
13553         [in] BSTR cmdID,
13554         [defaultvalue(0), in] VARIANT_BOOL showUI,
13555         [optional, in] VARIANT value);
13556
13557     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
13558     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
13559
13560     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
13561     IHTMLElement *createElement([in] BSTR eTag);
13562
13563     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
13564     void onhelp(VARIANT v);
13565
13566     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
13567     VARIANT onhelp();
13568
13569     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
13570     void onclick(VARIANT v);
13571
13572     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
13573     VARIANT onclick();
13574
13575     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
13576     void ondblclick(VARIANT v);
13577
13578     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
13579     VARIANT ondblclick();
13580
13581     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
13582     void onkeyup(VARIANT v);
13583
13584     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
13585     VARIANT onkeyup();
13586
13587     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
13588     void onkeydown(VARIANT v);
13589
13590     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
13591     VARIANT onkeydown();
13592
13593     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
13594     void onkeypress(VARIANT v);
13595
13596     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
13597     VARIANT onkeypress();
13598
13599     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
13600     void onmouseup(VARIANT v);
13601
13602     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
13603     VARIANT onmouseup();
13604
13605     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
13606     void onmousedown(VARIANT v);
13607
13608     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
13609     VARIANT onmousedown();
13610
13611     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
13612     void onmousemove(VARIANT v);
13613
13614     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
13615     VARIANT onmousemove();
13616
13617     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
13618     void onmouseout(VARIANT v);
13619
13620     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
13621     VARIANT onmouseout();
13622
13623     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
13624     void onmouseover(VARIANT v);
13625
13626     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
13627     VARIANT onmouseover();
13628
13629     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13630     void onreadystatechange(VARIANT v);
13631
13632     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13633     VARIANT onreadystatechange();
13634
13635     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
13636     void onafterupdate(VARIANT v);
13637
13638     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
13639     VARIANT onafterupdate();
13640
13641     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
13642     void onrowexit(VARIANT v);
13643
13644     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
13645     VARIANT onrowexit();
13646
13647     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
13648     void onrowenter(VARIANT v);
13649
13650     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
13651     VARIANT onrowenter();
13652
13653     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
13654     void ondragstart(VARIANT v);
13655
13656     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
13657     VARIANT ondragstart();
13658
13659     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
13660     void onselectstart(VARIANT v);
13661
13662     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
13663     VARIANT onselectstart();
13664
13665     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
13666     IHTMLElement *elementFromPoint(
13667         [in] LONG x,
13668         [in] LONG y);
13669
13670     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
13671     IHTMLWindow2 *parentWindow();
13672
13673     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
13674     IHTMLStyleSheetsCollection *styleSheets();
13675
13676     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
13677     void onbeforeupdate(VARIANT v);
13678
13679     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
13680     VARIANT onbeforeupdate();
13681
13682     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
13683     void onerrorupdate(VARIANT v);
13684
13685     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
13686     VARIANT onerrorupdate();
13687
13688     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
13689     BSTR toString();
13690
13691     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
13692     IHTMLStyleSheet *createStyleSheet(
13693         [defaultvalue(""), in] BSTR bstrHref,
13694         [defaultvalue(-1), in] LONG lIndex);
13695
13696     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
13697     void releaseCapture();
13698
13699     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
13700     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
13701
13702     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
13703     IHTMLDOMNode *createTextNode([in] BSTR text);
13704
13705     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
13706     IHTMLElement *documentElement();
13707
13708     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
13709     BSTR uniqueID();
13710
13711     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
13712     VARIANT_BOOL attachEvent(
13713         [in] BSTR event,
13714         [in] IDispatch *pDisp);
13715
13716     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
13717     void detachEvent(
13718         [in] BSTR event,
13719         [in] IDispatch *pDisp);
13720
13721     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13722     void onrowsdelete(VARIANT v);
13723
13724     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13725     VARIANT onrowsdelete();
13726
13727     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13728     void onrowsinserted(VARIANT v);
13729
13730     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13731     VARIANT onrowsinserted();
13732
13733     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13734     void oncellchange(VARIANT v);
13735
13736     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13737     VARIANT oncellchange();
13738
13739     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13740     void ondatasetchanged(VARIANT v);
13741
13742     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13743     VARIANT ondatasetchanged();
13744
13745     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13746     void ondataavailable(VARIANT v);
13747
13748     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13749     VARIANT ondataavailable();
13750
13751     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13752     void ondatasetcomplete(VARIANT v);
13753
13754     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13755     VARIANT ondatasetcomplete();
13756
13757     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13758     void onpropertychange(VARIANT v);
13759
13760     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13761     VARIANT onpropertychange();
13762
13763     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
13764     void dir(BSTR v);
13765
13766     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
13767     BSTR dir();
13768
13769     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13770     void oncontextmenu(VARIANT v);
13771
13772     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13773     VARIANT oncontextmenu();
13774
13775     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13776     void onstop(VARIANT v);
13777
13778     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13779     VARIANT onstop();
13780
13781     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
13782     IHTMLDocument2 *createDocumentFragment();
13783
13784     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
13785     IHTMLDocument2 *parentDocument();
13786
13787     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13788     void enableDownload(VARIANT_BOOL v);
13789
13790     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13791     VARIANT_BOOL enableDownload();
13792
13793     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13794     void baseUrl(BSTR v);
13795
13796     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13797     BSTR baseUrl();
13798
13799     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13800     void inheritStyleSheets(VARIANT_BOOL v);
13801
13802     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13803     VARIANT_BOOL inheritStyleSheets();
13804
13805     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13806     void onbeforeeditfocus(VARIANT v);
13807
13808     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13809     VARIANT onbeforeeditfocus();
13810
13811     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
13812     IHTMLElementCollection *getElementsByName([in] BSTR v);
13813
13814     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
13815     IHTMLElement *getElementById([in] BSTR v);
13816
13817     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
13818     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
13819
13820     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
13821     void focus();
13822
13823     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
13824     VARIANT_BOOL hasFocus();
13825
13826     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13827     void onselectionchange(VARIANT v);
13828
13829     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13830     VARIANT onselectionchange();
13831
13832     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
13833     IDispatch *namespaces();
13834
13835     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
13836     IHTMLDocument2 *createDocumentFromUrl(
13837         [in] BSTR bstrUrl,
13838         [in] BSTR bstrOptions);
13839
13840     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13841     void media(BSTR v);
13842
13843     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13844     BSTR media();
13845
13846     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
13847     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
13848
13849     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
13850     VARIANT_BOOL fireEvent(
13851         [in] BSTR bstrEventName,
13852         [optional, in] VARIANT *pvarEventObject);
13853
13854     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
13855     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
13856
13857     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13858     void oncontrolselect(VARIANT v);
13859
13860     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13861     VARIANT oncontrolselect();
13862
13863     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
13864     BSTR URLUnencoded();
13865
13866     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13867     void onmousewheel(VARIANT v);
13868
13869     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13870     VARIANT onmousewheel();
13871
13872     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
13873     IHTMLDOMNode *doctype();
13874
13875     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13876     IHTMLDOMImplementation *implementation();
13877
13878     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13879     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
13880
13881     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13882     IHTMLDOMNode *createComment([in] BSTR bstrdata);
13883
13884     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13885     void onfocusin(VARIANT v);
13886
13887     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13888     VARIANT onfocusin();
13889
13890     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13891     void onfocusout(VARIANT v);
13892
13893     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13894     VARIANT onfocusout();
13895
13896     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13897     void onactivate(VARIANT v);
13898
13899     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13900     VARIANT onactivate();
13901
13902     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13903     void ondeactivate(VARIANT v);
13904
13905     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13906     VARIANT ondeactivate();
13907
13908     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13909     void onbeforeactivate(VARIANT v);
13910
13911     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13912     VARIANT onbeforeactivate();
13913
13914     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13915     void onbeforedeactivate(VARIANT v);
13916
13917     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13918     VARIANT onbeforedeactivate();
13919
13920     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
13921     BSTR compatMode();
13922
13923     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
13924     IHTMLDocumentCompatibleInfoCollection *compatible();
13925
13926     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
13927     VARIANT documentMode();
13928
13929     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13930     void onstorage(VARIANT v);
13931
13932     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13933     VARIANT onstorage();
13934
13935     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13936     void onstoragecommit(VARIANT v);
13937
13938     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13939     VARIANT onstoragecommit();
13940
13941     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
13942     IHTMLElement2 *ie8_getElementById([in] BSTR bstrId);
13943
13944     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
13945     void updateSettings();
13946
13947     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
13948 }
13949
13950 /*****************************************************************************
13951  *    HTMLDocument coclass
13952  */
13953 [
13954     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
13955 ]
13956 coclass HTMLDocument
13957 {
13958     [default]         dispinterface DispHTMLDocument;
13959     [source, default] dispinterface HTMLDocumentEvents;
13960     [source]          dispinterface HTMLDocumentEvents2;
13961                       interface IHTMLDocument2;
13962                       interface IHTMLDocument3;
13963                       interface IHTMLDocument4;
13964                       interface IHTMLDocument5;
13965                       interface IHTMLDocument6;
13966                       interface IHTMLDOMNode;
13967                       interface IHTMLDOMNode2;
13968 }
13969
13970 /*****************************************************************************
13971  *    DWebBridgeEvents dispinterface
13972  */
13973 [
13974     hidden,
13975     uuid(a6d897ff-0a95-11d1-b0ba-006008166e11)
13976 ]
13977 dispinterface DWebBridgeEvents
13978 {
13979 properties:
13980 methods:
13981     [id(DISPID_DWEBBRIDGEEVENTS_ONSCRIPTLETEVENT)]
13982     void onscriptletevent([in] BSTR name,[in] VARIANT eventData);
13983
13984     [id(DISPID_DWEBBRIDGEEVENTS_ONREADYSTATECHANGE)]
13985     void onreadystatechange();
13986
13987     [id(DISPID_DWEBBRIDGEEVENTS_ONCLICK)]
13988     VARIANT_BOOL onclick();
13989
13990     [id(DISPID_DWEBBRIDGEEVENTS_ONDBLCLICK)]
13991     VARIANT_BOOL ondblclick();
13992
13993     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYDOWN)]
13994     void onkeydown();
13995
13996     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYUP)]
13997     void onkeyup();
13998
13999     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYPRESS)]
14000     VARIANT_BOOL onkeypress();
14001
14002     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEDOWN)]
14003     void onmousedown();
14004
14005     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEMOVE)]
14006     void onmousemove();
14007
14008     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEUP)]
14009     void onmouseup();
14010 }
14011
14012 /*****************************************************************************
14013  *    IWebBridge interface
14014  */
14015 [
14016     odl,
14017     oleautomation,
14018     dual,
14019     uuid(ae24fdad-03c6-11d1-8b76-0080c744f389)
14020 ]
14021 interface IWebBridge : IDispatch
14022 {
14023     [propput, id(DISPID_IWEBBRIDGE_URL)]
14024     HRESULT URL([in] BSTR v);
14025
14026     [propget, id(DISPID_IWEBBRIDGE_URL)]
14027     HRESULT URL([retval, out] BSTR * p);
14028
14029     [propput, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
14030     HRESULT Scrollbar([in] VARIANT_BOOL v);
14031
14032     [propget, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
14033     HRESULT Scrollbar([retval, out] VARIANT_BOOL * p);
14034
14035     [propput, id(DISPID_IWEBBRIDGE_EMBED)]
14036     HRESULT embed([in] VARIANT_BOOL v);
14037
14038     [propget, id(DISPID_IWEBBRIDGE_EMBED)]
14039     HRESULT embed([retval, out] VARIANT_BOOL * p);
14040
14041     [propget, id(DISPID_IWEBBRIDGE_EVENT)]
14042     HRESULT event([retval, out] IDispatch* * p);
14043
14044     [propget, id(DISPID_IWEBBRIDGE_READYSTATE)]
14045     HRESULT readyState([retval, out] long * p);
14046
14047     [id(DISPID_IWEBBRIDGE_ABOUTBOX)]
14048     HRESULT AboutBox();
14049 }
14050
14051 /*****************************************************************************
14052  *    Scriptlet coclass
14053  */
14054 [
14055     control,
14056     helpstring("Microsoft Scriptlet Component"),
14057     progid("ScriptBridge.ScriptBridge.1"),
14058     vi_progid("ScriptBridge.ScriptBridge"),
14059     uuid(ae24fdae-03c6-11d1-8b76-0080c744f389)
14060 ]
14061 coclass Scriptlet
14062 {
14063     [default]           interface IWebBridge;
14064     [source, default]   dispinterface DWebBridgeEvents;
14065 }
14066
14067 /*****************************************************************************
14068  *    IHTMLEmbedElement interface
14069  */
14070 [
14071     odl,
14072     oleautomation,
14073     dual,
14074     uuid(3050f25f-98b5-11cf-bb82-00aa00bdce0b)
14075 ]
14076 interface IHTMLEmbedElement : IDispatch
14077 {
14078     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14079     HRESULT hidden([in] BSTR v);
14080
14081     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14082     HRESULT hidden([retval, out] BSTR *p);
14083
14084     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
14085     HRESULT palette([retval, out] BSTR *p);
14086
14087     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
14088     HRESULT pluginspage([retval, out] BSTR *p);
14089
14090     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14091     HRESULT src([in] BSTR v);
14092
14093     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14094     HRESULT src([retval, out] BSTR *p);
14095
14096     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14097     HRESULT units([in] BSTR v);
14098
14099     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14100     HRESULT units([retval, out] BSTR *p);
14101
14102     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14103     HRESULT name([in] BSTR v);
14104
14105     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14106     HRESULT name([retval, out] BSTR *p);
14107
14108     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14109     HRESULT width([in] VARIANT v);
14110
14111     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14112     HRESULT width([retval, out] VARIANT *p);
14113
14114     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14115     HRESULT height([in] VARIANT v);
14116
14117     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14118     HRESULT height([retval, out] VARIANT *p);
14119 }
14120
14121 /*****************************************************************************
14122  *    DispHTMLEmbedElement dispinterface
14123  */
14124 [
14125     hidden,
14126     uuid(3050f52e-98b5-11cf-bb82-00aa00bdce0b)
14127 ]
14128 dispinterface DispHTMLEmbed
14129 {
14130 properties:
14131 methods:
14132     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14133
14134     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14135     void hidden(BSTR v);
14136
14137     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14138     BSTR hidden();
14139
14140     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
14141     BSTR palette();
14142
14143     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
14144     BSTR pluginspage();
14145
14146     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14147     void src(BSTR v);
14148
14149     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14150     BSTR src();
14151
14152     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14153     void units(BSTR v);
14154
14155     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14156     BSTR units();
14157
14158     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14159     void name(BSTR v);
14160
14161     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14162     BSTR name();
14163
14164     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14165     void width(VARIANT v);
14166
14167     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14168     VARIANT width();
14169
14170     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14171     void height(VARIANT v);
14172
14173     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14174     VARIANT height();
14175
14176     [propput, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
14177     void ie8_src(BSTR v);
14178
14179     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
14180     BSTR ie8_src();
14181
14182     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_PLUGINSPAGE)]
14183     BSTR ie8_pluginspage();
14184 }
14185
14186 /*****************************************************************************
14187  *    IHTMLCommentElement interface
14188  */
14189 [
14190     odl,
14191     oleautomation,
14192     dual,
14193     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
14194 ]
14195 interface IHTMLCommentElement : IDispatch
14196 {
14197     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14198     HRESULT text([in] BSTR v);
14199
14200     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14201     HRESULT text([out, retval] BSTR *p);
14202
14203     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14204     HRESULT atomic([in] LONG v);
14205
14206     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14207     HRESULT atomic([out, retval] LONG *p);
14208 }
14209
14210 /*****************************************************************************
14211  *    IHTMLCommentElement2 interface
14212  */
14213 [
14214     odl,
14215     oleautomation,
14216     dual,
14217     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
14218 ]
14219 interface IHTMLCommentElement2 : IDispatch
14220 {
14221     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14222     HRESULT data([in] BSTR v);
14223
14224     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14225     HRESULT data([out, retval] BSTR *p);
14226
14227     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14228     HRESULT length([out, retval] LONG *p);
14229
14230     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14231     HRESULT substringData(
14232             [in] LONG offset,
14233             [in] LONG Count,
14234             [out, retval] BSTR *pbstrsubString);
14235
14236     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14237     HRESULT appendData([in] BSTR bstrstring);
14238
14239     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14240     HRESULT insertData(
14241             [in] LONG offset,
14242             [in] BSTR bstrstring);
14243
14244     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
14245     HRESULT deleteData(
14246             [in] LONG offset,
14247             [in] LONG Count);
14248
14249     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
14250     HRESULT replaceData(
14251             [in] LONG offset,
14252             [in] LONG Count,
14253             [in] BSTR bstrstring);
14254 }
14255
14256 /*****************************************************************************
14257  *    DispHTMLCommentElement dispinterface
14258  */
14259 [
14260     hidden,
14261     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
14262 ]
14263 dispinterface DispHTMLCommentElement
14264 {
14265 properties:
14266 methods:
14267     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14268
14269     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14270     void text(BSTR v);
14271
14272     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14273     BSTR text();
14274
14275     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14276     void atomic(LONG v);
14277
14278     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14279     LONG atomic();
14280
14281     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14282     void data(BSTR v);
14283
14284     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14285     BSTR data();
14286
14287     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14288     LONG length();
14289
14290     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14291     BSTR substringData(
14292             [in] LONG offset,
14293             [in] LONG Count);
14294
14295     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14296     void appendData([in] BSTR bstrstring);
14297
14298     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14299      void insertData(
14300             [in] LONG offset,
14301             [in] BSTR bstrstring);
14302
14303     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
14304     void deleteData(
14305             [in] LONG offset,
14306             [in] LONG Count);
14307
14308     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
14309     void replaceData(
14310             [in] LONG offset,
14311             [in] LONG Count,
14312             [in] BSTR bstrstring);
14313 }
14314
14315 [
14316     hidden,
14317     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
14318 ]
14319 dispinterface HTMLElementEvents2
14320 {
14321 properties:
14322 methods:
14323     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14324     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14325
14326     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14327     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14328
14329     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14330     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14331
14332     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14333     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14334
14335     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14336     void onkeydown([in] IHTMLEventObj* pEvtObj);
14337
14338     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14339     void onkeyup([in] IHTMLEventObj* pEvtObj);
14340
14341     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14342     void onmouseout([in] IHTMLEventObj* pEvtObj);
14343
14344     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14345     void onmouseover([in] IHTMLEventObj* pEvtObj);
14346
14347     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14348     void onmousemove([in] IHTMLEventObj* pEvtObj);
14349
14350     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14351     void onmousedown([in] IHTMLEventObj* pEvtObj);
14352
14353     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14354     void onmouseup([in] IHTMLEventObj* pEvtObj);
14355
14356     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14357     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14358
14359     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14360     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14361
14362     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14363     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14364
14365     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14366     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14367
14368     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14369     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14370
14371     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14372     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14373
14374     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14375     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14376
14377     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14378     void onrowenter([in] IHTMLEventObj* pEvtObj);
14379
14380     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14381     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14382
14383     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14384     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14385
14386     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14387     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14388
14389     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14390     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14391
14392     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14393     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14394
14395     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14396     void onscroll([in] IHTMLEventObj* pEvtObj);
14397
14398     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14399     void onfocus([in] IHTMLEventObj* pEvtObj);
14400
14401     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14402     void onblur([in] IHTMLEventObj* pEvtObj);
14403
14404     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14405     void onresize([in] IHTMLEventObj* pEvtObj);
14406
14407     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14408     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14409
14410     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14411     void ondragend([in] IHTMLEventObj* pEvtObj);
14412
14413     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14414     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14415
14416     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14417     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14418
14419     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14420     void ondragleave([in] IHTMLEventObj* pEvtObj);
14421
14422     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14423     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14424
14425     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14426     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14427
14428     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14429     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14430
14431     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14432     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14433
14434     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14435     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14436
14437     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14438     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14439
14440     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14441     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14442
14443     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14444     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14445
14446     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14447     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14448
14449     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14450     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14451
14452     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14453     void oncellchange([in] IHTMLEventObj* pEvtObj);
14454
14455     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14456     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14457
14458     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14459     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14460
14461     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14462     void onpage([in] IHTMLEventObj* pEvtObj);
14463
14464     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14465     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14466
14467     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14468     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14469
14470     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14471     void onactivate([in] IHTMLEventObj* pEvtObj);
14472
14473     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14474     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14475
14476     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14477     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14478
14479     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14480     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14481
14482     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14483     void onfocusin([in] IHTMLEventObj* pEvtObj);
14484
14485     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14486     void onfocusout([in] IHTMLEventObj* pEvtObj);
14487
14488     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14489     void onmove([in] IHTMLEventObj* pEvtObj);
14490
14491     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14492     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14493
14494     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14495     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14496
14497     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14498     void onmoveend([in] IHTMLEventObj* pEvtObj);
14499
14500     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14501     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14502
14503     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14504     void onresizeend([in] IHTMLEventObj* pEvtObj);
14505
14506     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14507     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14508 }
14509
14510 [
14511     hidden,
14512     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
14513 ]
14514 dispinterface HTMLElementEvents
14515 {
14516 properties:
14517 methods:
14518     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14519     VARIANT_BOOL onhelp();
14520
14521     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14522     VARIANT_BOOL onclick();
14523
14524     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14525     VARIANT_BOOL ondblclick();
14526
14527     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14528     VARIANT_BOOL onkeypress();
14529
14530     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14531     void onkeydown();
14532
14533     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14534     void onkeyup();
14535
14536     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14537     void onmouseout();
14538
14539     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14540     void onmouseover();
14541
14542     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14543     void onmousemove();
14544
14545     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14546     void onmousedown();
14547
14548     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14549     void onmouseup();
14550
14551     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14552     VARIANT_BOOL onselectstart();
14553
14554     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14555     void onfilterchange();
14556
14557     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14558     VARIANT_BOOL ondragstart();
14559
14560     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14561     VARIANT_BOOL onbeforeupdate();
14562
14563     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14564     void onafterupdate();
14565
14566     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14567     VARIANT_BOOL onerrorupdate();
14568
14569     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14570     VARIANT_BOOL onrowexit();
14571
14572     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14573     void onrowenter();
14574
14575     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14576     void ondatasetchanged();
14577
14578     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14579     void ondataavailable();
14580
14581     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14582     void ondatasetcomplete();
14583
14584     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14585     void onlosecapture();
14586
14587     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14588     void onpropertychange();
14589
14590     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14591     void onscroll();
14592
14593     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14594     void onfocus();
14595
14596     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14597     void onblur();
14598
14599     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14600     void onresize();
14601
14602     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14603     VARIANT_BOOL ondrag();
14604
14605     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14606     void ondragend();
14607
14608     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14609     VARIANT_BOOL ondragenter();
14610
14611     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14612     VARIANT_BOOL ondragover();
14613
14614     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14615     void ondragleave();
14616
14617     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14618     VARIANT_BOOL ondrop();
14619
14620     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14621     VARIANT_BOOL onbeforecut();
14622
14623     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14624     VARIANT_BOOL oncut();
14625
14626     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14627     VARIANT_BOOL onbeforecopy();
14628
14629     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14630     VARIANT_BOOL oncopy();
14631
14632     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14633     VARIANT_BOOL onbeforepaste();
14634
14635     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14636     VARIANT_BOOL onpaste();
14637
14638     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14639     VARIANT_BOOL oncontextmenu();
14640
14641     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14642     void onrowsdelete();
14643
14644     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14645     void onrowsinserted();
14646
14647     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14648     void oncellchange();
14649
14650     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14651     void onreadystatechange();
14652
14653     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14654     void onbeforeeditfocus();
14655
14656     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14657     void onlayoutcomplete();
14658
14659     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14660     void onpage();
14661
14662     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14663     VARIANT_BOOL onbeforedeactivate();
14664
14665     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14666     VARIANT_BOOL onbeforeactivate();
14667
14668     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14669     void onmove();
14670
14671     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14672     VARIANT_BOOL oncontrolselect();
14673
14674     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14675     VARIANT_BOOL onmovestart();
14676
14677     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14678     void onmoveend();
14679
14680     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14681     VARIANT_BOOL onresizestart();
14682
14683     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14684     void onresizeend();
14685
14686     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14687     void onmouseenter();
14688
14689     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14690     void onmouseleave();
14691
14692     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14693     VARIANT_BOOL onmousewheel();
14694
14695     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14696     void onactivate();
14697
14698     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14699     void ondeactivate();
14700
14701     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14702     void onfocusin();
14703
14704     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14705     void onfocusout();
14706 }
14707
14708 [
14709     noncreatable,
14710     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
14711 ]
14712 coclass HTMLCommentElement
14713 {
14714     [default]           dispinterface DispHTMLCommentElement;
14715     [source, default]   dispinterface HTMLElementEvents;
14716     [source]            dispinterface HTMLElementEvents2;
14717                         interface IHTMLElement;
14718                         interface IHTMLElement2;
14719                         interface IHTMLElement3;
14720                         interface IHTMLElement4;
14721                         interface IHTMLUniqueName;
14722                         interface IHTMLDOMNode;
14723                         interface IHTMLDOMNode2;
14724                         interface IHTMLCommentElement;
14725                         interface IHTMLCommentElement2;
14726 }
14727
14728 /*****************************************************************************
14729  *    HTMLTableEvents dispinterface
14730  */
14731 [
14732     hidden,
14733     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
14734 ]
14735 dispinterface HTMLTableEvents
14736 {
14737 properties:
14738 methods:
14739     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14740     VARIANT_BOOL onhelp();
14741
14742     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14743     VARIANT_BOOL onclick();
14744
14745     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14746     VARIANT_BOOL ondblclick();
14747
14748     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14749     VARIANT_BOOL onkeypress();
14750
14751     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14752     void onkeydown();
14753
14754     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14755     void onkeyup();
14756
14757     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14758     void onmouseout();
14759
14760     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14761     void onmouseover();
14762
14763     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14764     void onmousemove();
14765
14766     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14767     void onmousedown();
14768
14769     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14770     void onmouseup();
14771
14772     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14773     VARIANT_BOOL onselectstart();
14774
14775     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14776     void onfilterchange();
14777
14778     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14779     VARIANT_BOOL ondragstart();
14780
14781     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14782     VARIANT_BOOL onbeforeupdate();
14783
14784     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14785     void onafterupdate();
14786
14787     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14788     VARIANT_BOOL onerrorupdate();
14789
14790     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14791     VARIANT_BOOL onrowexit();
14792
14793     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14794     void onrowenter();
14795
14796     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14797     void ondatasetchanged();
14798
14799     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14800     void ondataavailable();
14801
14802     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14803     void ondatasetcomplete();
14804
14805     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14806     void onlosecapture();
14807
14808     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14809     void onpropertychange();
14810
14811     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14812     void onscroll();
14813
14814     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14815     void onfocus();
14816
14817     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14818     void onblur();
14819
14820     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14821     void onresize();
14822
14823     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14824     VARIANT_BOOL ondrag();
14825
14826     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14827     void ondragend();
14828
14829     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14830     VARIANT_BOOL ondragenter();
14831
14832     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14833     VARIANT_BOOL ondragover();
14834
14835     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14836     void ondragleave();
14837
14838     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14839     VARIANT_BOOL ondrop();
14840
14841     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14842     VARIANT_BOOL onbeforecut();
14843
14844     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14845     VARIANT_BOOL oncut();
14846
14847     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14848     VARIANT_BOOL onbeforecopy();
14849
14850     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14851     VARIANT_BOOL oncopy();
14852
14853     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14854     VARIANT_BOOL onbeforepaste();
14855
14856     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14857     VARIANT_BOOL onpaste();
14858
14859     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14860     VARIANT_BOOL oncontextmenu();
14861
14862     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14863     void onrowsdelete();
14864
14865     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14866     void onrowsinserted();
14867
14868     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14869     void oncellchange();
14870
14871     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14872     void onreadystatechange();
14873
14874     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14875     void onbeforeeditfocus();
14876
14877     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14878     void onlayoutcomplete();
14879
14880     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14881     void onpage();
14882
14883     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14884     VARIANT_BOOL onbeforedeactivate();
14885
14886     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14887     VARIANT_BOOL onbeforeactivate();
14888
14889     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14890     void onmove();
14891
14892     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14893     VARIANT_BOOL oncontrolselect();
14894
14895     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14896     VARIANT_BOOL onmovestart();
14897
14898     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14899     void onmoveend();
14900
14901     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14902     VARIANT_BOOL onresizestart();
14903
14904     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14905     void onresizeend();
14906
14907     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14908     void onmouseenter();
14909
14910     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14911     void onmouseleave();
14912
14913     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14914     VARIANT_BOOL onmousewheel();
14915
14916     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14917     void onactivate();
14918
14919     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14920     void ondeactivate();
14921
14922     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14923     void onfocusin();
14924
14925     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14926     void onfocusout();
14927 }
14928
14929 [
14930     hidden,
14931     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
14932 ]
14933 dispinterface HTMLTableEvents2
14934 {
14935 properties:
14936 methods:
14937     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14938     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14939
14940     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14941     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14942
14943     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14944     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14945
14946     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14947     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14948
14949     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14950     void onkeydown([in] IHTMLEventObj* pEvtObj);
14951
14952     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14953     void onkeyup([in] IHTMLEventObj* pEvtObj);
14954
14955     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14956     void onmouseout([in] IHTMLEventObj* pEvtObj);
14957
14958     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14959     void onmouseover([in] IHTMLEventObj* pEvtObj);
14960
14961     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14962     void onmousemove([in] IHTMLEventObj* pEvtObj);
14963
14964     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14965     void onmousedown([in] IHTMLEventObj* pEvtObj);
14966
14967     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14968     void onmouseup([in] IHTMLEventObj* pEvtObj);
14969
14970     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14971     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14972
14973     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14974     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14975
14976     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14977     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14978
14979     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14980     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14981
14982     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14983     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14984
14985     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14986     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14987
14988     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14989     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14990
14991     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14992     void onrowenter([in] IHTMLEventObj* pEvtObj);
14993
14994     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14995     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14996
14997     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14998     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14999
15000     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
15001     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
15002
15003     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
15004     void onlosecapture([in] IHTMLEventObj* pEvtObj);
15005
15006     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
15007     void onpropertychange([in] IHTMLEventObj* pEvtObj);
15008
15009     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
15010     void onscroll([in] IHTMLEventObj* pEvtObj);
15011
15012     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
15013     void onfocus([in] IHTMLEventObj* pEvtObj);
15014
15015     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
15016     void onblur([in] IHTMLEventObj* pEvtObj);
15017
15018     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
15019     void onresize([in] IHTMLEventObj* pEvtObj);
15020
15021     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
15022     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
15023
15024     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
15025     void ondragend([in] IHTMLEventObj* pEvtObj);
15026
15027     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
15028     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
15029
15030     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
15031     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
15032
15033     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
15034     void ondragleave([in] IHTMLEventObj* pEvtObj);
15035
15036     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
15037     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
15038
15039     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
15040     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
15041
15042     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
15043     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
15044
15045     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
15046     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
15047
15048     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
15049     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
15050
15051     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
15052     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
15053
15054     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
15055     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
15056
15057     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
15058     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
15059
15060     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
15061     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
15062
15063     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
15064     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
15065
15066     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
15067     void oncellchange([in] IHTMLEventObj* pEvtObj);
15068
15069     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
15070     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
15071
15072     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
15073     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
15074
15075     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
15076     void onpage([in] IHTMLEventObj* pEvtObj);
15077
15078     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
15079     void onmouseenter([in] IHTMLEventObj* pEvtObj);
15080
15081     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
15082     void onmouseleave([in] IHTMLEventObj* pEvtObj);
15083
15084     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
15085     void onactivate([in] IHTMLEventObj* pEvtObj);
15086
15087     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
15088     void ondeactivate([in] IHTMLEventObj* pEvtObj);
15089
15090     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
15091     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
15092
15093     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
15094     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
15095
15096     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
15097     void onfocusin([in] IHTMLEventObj* pEvtObj);
15098
15099     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
15100     void onfocusout([in] IHTMLEventObj* pEvtObj);
15101
15102     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
15103     void onmove([in] IHTMLEventObj* pEvtObj);
15104
15105     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
15106     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
15107
15108     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
15109     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
15110
15111     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
15112     void onmoveend([in] IHTMLEventObj* pEvtObj);
15113
15114     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
15115     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
15116
15117     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
15118     void onresizeend([in] IHTMLEventObj* pEvtObj);
15119
15120     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
15121     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
15122 }
15123
15124 /*****************************************************************************
15125  *    IHTMLTableCaption interface
15126  */
15127 [
15128     odl,
15129     oleautomation,
15130     dual,
15131     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
15132 ]
15133 interface IHTMLTableCaption : IDispatch
15134 {
15135     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
15136     HRESULT align([in] BSTR v);
15137
15138     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
15139     HRESULT align([retval, out] BSTR *p);
15140
15141     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
15142     HRESULT vAlign([in] BSTR v);
15143
15144     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
15145     HRESULT vAlign([retval, out] BSTR *p);
15146 }
15147
15148 interface IHTMLTableSection;
15149
15150 /*****************************************************************************
15151  *    IHTMLTable interface
15152  */
15153 [
15154     odl,
15155     oleautomation,
15156     dual,
15157     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
15158 ]
15159 interface IHTMLTable : IDispatch
15160 {
15161     [propput, id(DISPID_IHTMLTABLE_COLS)]
15162     HRESULT cols([in] LONG v);
15163
15164     [propget, id(DISPID_IHTMLTABLE_COLS)]
15165     HRESULT cols([retval, out] LONG *p);
15166
15167     [propput, id(DISPID_IHTMLTABLE_BORDER)]
15168     HRESULT border([in] VARIANT v);
15169
15170     [propget, id(DISPID_IHTMLTABLE_BORDER)]
15171     HRESULT border([retval, out] VARIANT *p);
15172
15173     [propput, id(DISPID_IHTMLTABLE_FRAME)]
15174     HRESULT frame([in] BSTR v);
15175
15176     [propget, id(DISPID_IHTMLTABLE_FRAME)]
15177     HRESULT frame([retval, out] BSTR *p);
15178
15179     [propput, id(DISPID_IHTMLTABLE_RULES)]
15180     HRESULT rules([in] BSTR v);
15181
15182     [propget, id(DISPID_IHTMLTABLE_RULES)]
15183     HRESULT rules([retval, out] BSTR *p);
15184
15185     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
15186     HRESULT cellSpacing([in] VARIANT v);
15187
15188     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
15189     HRESULT cellSpacing([retval, out] VARIANT *p);
15190
15191     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
15192     HRESULT cellPadding([in] VARIANT v);
15193
15194     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
15195     HRESULT cellPadding([retval, out] VARIANT *p);
15196
15197     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
15198     HRESULT background([in] BSTR v);
15199
15200     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
15201     HRESULT background([retval, out] BSTR *p);
15202
15203     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
15204     HRESULT bgColor([in] VARIANT v);
15205
15206     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
15207     HRESULT bgColor([retval, out] VARIANT *p);
15208
15209     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15210     HRESULT borderColor([in] VARIANT v);
15211
15212     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15213     HRESULT borderColor([retval, out] VARIANT *p);
15214
15215     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15216     HRESULT borderColorLight([in] VARIANT v);
15217
15218     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15219     HRESULT borderColorLight([retval, out] VARIANT *p);
15220
15221     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15222     HRESULT borderColorDark([in] VARIANT v);
15223
15224     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15225     HRESULT borderColorDark([retval, out] VARIANT *p);
15226
15227     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
15228     HRESULT align([in] BSTR v);
15229
15230     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
15231     HRESULT align([retval, out] BSTR * p);
15232
15233     [id(DISPID_IHTMLTABLE_REFRESH)]
15234     HRESULT refresh();
15235
15236     [propget, id(DISPID_IHTMLTABLE_ROWS)]
15237     HRESULT rows([retval, out] IHTMLElementCollection **p);
15238
15239     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
15240     HRESULT width([in] VARIANT v);
15241
15242     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
15243     HRESULT width([retval, out] VARIANT *p);
15244
15245     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
15246     HRESULT height([in] VARIANT v);
15247
15248     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
15249     HRESULT height([retval, out] VARIANT *p);
15250
15251     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15252     HRESULT dataPageSize([in] LONG v);
15253
15254     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15255     HRESULT dataPageSize([retval, out] LONG *p);
15256
15257     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
15258     HRESULT nextPage();
15259
15260     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
15261     HRESULT previousPage();
15262
15263     [propget, id(DISPID_IHTMLTABLE_THEAD)]
15264     HRESULT tHead([retval, out] IHTMLTableSection **p);
15265
15266     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
15267     HRESULT tFoot([retval, out] IHTMLTableSection **p);
15268
15269     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
15270     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
15271
15272     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
15273     HRESULT caption([retval, out] IHTMLTableCaption **p);
15274
15275     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
15276     HRESULT createTHead([retval, out] IDispatch **head);
15277
15278     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
15279     HRESULT deleteTHead();
15280
15281     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
15282     HRESULT createTFoot([retval, out] IDispatch **foot);
15283
15284     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
15285     HRESULT deleteTFoot();
15286
15287     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
15288     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
15289
15290     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
15291     HRESULT deleteCaption();
15292
15293     [id(DISPID_IHTMLTABLE_INSERTROW)]
15294     HRESULT insertRow(
15295             [defaultvalue(-1), in] LONG index,
15296             [retval, out] IDispatch **row);
15297
15298     [id(DISPID_IHTMLTABLE_DELETEROW)]
15299     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
15300
15301     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
15302     HRESULT readyState([retval, out] BSTR *p);
15303
15304     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
15305     HRESULT onreadystatechange([in] VARIANT v);
15306
15307     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
15308     HRESULT onreadystatechange([retval, out] VARIANT *p);
15309 }
15310
15311 [
15312     odl,
15313     oleautomation,
15314     dual,
15315     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
15316 ]
15317 interface IHTMLTable2 : IDispatch
15318 {
15319     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
15320     HRESULT firstPage();
15321
15322     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
15323     HRESULT lastPage();
15324
15325     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
15326     HRESULT cells([retval, out] IHTMLElementCollection* * p);
15327
15328     [id(DISPID_IHTMLTABLE2_MOVEROW)]
15329     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
15330         [defaultvalue(-1), in] LONG indexTo,
15331         [retval, out] IDispatch** row);
15332 }
15333
15334 [
15335     odl,
15336     oleautomation,
15337     dual,
15338     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
15339 ]
15340 interface IHTMLTable3 : IDispatch
15341 {
15342     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15343     HRESULT summary([in] BSTR v);
15344
15345     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15346     HRESULT summary([retval, out] BSTR * p);
15347 }
15348
15349 [
15350     noncreatable,
15351     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
15352 ]
15353 coclass HTMLTable
15354 {
15355     [default]           dispinterface DispHTMLTable;
15356     [source, default]   dispinterface HTMLTableEvents;
15357     [source]            dispinterface HTMLTableEvents2;
15358                         interface IHTMLElement;
15359                         interface IHTMLElement2;
15360                         interface IHTMLElement3;
15361                         interface IHTMLElement4;
15362                         interface IHTMLUniqueName;
15363                         interface IHTMLDOMNode;
15364                         interface IHTMLDOMNode2;
15365                         interface IHTMLDatabinding;
15366                         interface IHTMLControlElement;
15367                         interface IHTMLTable;
15368                         interface IHTMLTable2;
15369                         interface IHTMLTable3;
15370 }
15371
15372 [
15373     odl,
15374     oleautomation,
15375     dual,
15376     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
15377 ]
15378 interface IHTMLTableSection : IDispatch
15379 {
15380     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
15381     HRESULT align([in] BSTR v);
15382
15383     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
15384     HRESULT align([retval, out] BSTR *p);
15385
15386     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
15387     HRESULT vAlign([in] BSTR v);
15388
15389     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
15390     HRESULT vAlign([retval, out] BSTR *p);
15391
15392     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
15393     HRESULT bgColor([in] VARIANT v);
15394
15395     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
15396     HRESULT bgColor([retval, out] VARIANT *p);
15397
15398     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
15399     HRESULT rows([retval, out] IHTMLElementCollection **p);
15400
15401     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
15402     HRESULT insertRow(
15403             [defaultvalue(-1), in] LONG index,
15404             [retval, out] IDispatch **row);
15405
15406     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
15407     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
15408 }
15409
15410 /*****************************************************************************
15411  *    IHTMLTableRow interface
15412  */
15413 [
15414     odl,
15415     oleautomation,
15416     dual,
15417     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
15418 ]
15419 interface IHTMLTableRow : IDispatch
15420 {
15421     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
15422     HRESULT align([in] BSTR v);
15423
15424     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
15425     HRESULT align([out, retval] BSTR *p);
15426
15427     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
15428     HRESULT vAlign([in] BSTR v);
15429
15430     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
15431     HRESULT vAlign([out, retval] BSTR *p);
15432
15433     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15434     HRESULT bgColor([in] VARIANT v);
15435
15436     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15437     HRESULT bgColor([out, retval] VARIANT *p);
15438
15439     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15440     HRESULT borderColor([in] VARIANT v);
15441
15442     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15443     HRESULT borderColor([out, retval] VARIANT *p);
15444
15445     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15446     HRESULT borderColorLight([in] VARIANT v);
15447
15448     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15449     HRESULT borderColorLight([out, retval] VARIANT *p);
15450
15451     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15452     HRESULT borderColorDark([in] VARIANT v);
15453
15454     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15455     HRESULT borderColorDark([out, retval] VARIANT *p);
15456
15457     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
15458     HRESULT rowIndex([out, retval] LONG *p);
15459
15460     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
15461     HRESULT sectionRowIndex([out, retval] LONG *p);
15462
15463     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
15464     HRESULT cells([out, retval] IHTMLElementCollection **p);
15465
15466     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
15467     HRESULT insertCell(
15468             [in, defaultvalue(-1)] LONG index,
15469             [out, retval] IDispatch **row);
15470
15471     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
15472     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
15473 }
15474
15475 /*****************************************************************************
15476  *    IHTMLTableCell interface
15477  */
15478 [
15479     odl,
15480     oleautomation,
15481     dual,
15482     uuid(3050f23d-98b5-11cf-bb82-00aa00bdce0b)
15483 ]
15484 interface IHTMLTableCell : IDispatch
15485 {
15486     [propput, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
15487     HRESULT rowSpan([in] long v);
15488
15489     [propget, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
15490     HRESULT rowSpan([retval, out] long *p);
15491
15492     [propput, id(DISPID_IHTMLTABLECELL_COLSPAN)]
15493     HRESULT colSpan([in] long v);
15494
15495     [propget, id(DISPID_IHTMLTABLECELL_COLSPAN)]
15496     HRESULT colSpan([retval, out] long *p);
15497
15498     [propput, id(DISPID_IHTMLTABLECELL_ALIGN)]
15499     HRESULT align([in] BSTR v);
15500
15501     [propget, id(DISPID_IHTMLTABLECELL_ALIGN)]
15502     HRESULT align([retval, out] BSTR *p);
15503
15504     [propput, id(DISPID_IHTMLTABLECELL_VALIGN)]
15505     HRESULT vAlign([in] BSTR v);
15506
15507     [propget, id(DISPID_IHTMLTABLECELL_VALIGN)]
15508     HRESULT vAlign([retval, out] BSTR *p);
15509
15510     [propput, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
15511     HRESULT bgColor([in] VARIANT v);
15512
15513     [propget, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
15514     HRESULT bgColor([retval, out] VARIANT *p);
15515
15516     [propput, id(DISPID_IHTMLTABLECELL_NOWRAP)]
15517     HRESULT noWrap([in] VARIANT_BOOL v);
15518
15519     [propget, id(DISPID_IHTMLTABLECELL_NOWRAP)]
15520     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
15521
15522     [propput, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
15523     HRESULT background([in] BSTR v);
15524
15525     [propget, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
15526     HRESULT background([retval, out] BSTR *p);
15527
15528     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
15529     HRESULT borderColor([in] VARIANT v);
15530
15531     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
15532     HRESULT borderColor([retval, out] VARIANT *p);
15533
15534     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
15535     HRESULT borderColorLight([in] VARIANT v);
15536
15537     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
15538     HRESULT borderColorLight([retval, out] VARIANT *p);
15539
15540     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
15541     HRESULT borderColorDark([in] VARIANT v);
15542
15543     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
15544     HRESULT borderColorDark([retval, out] VARIANT *p);
15545
15546     [propput, id(DISPID_IHTMLTABLECELL_WIDTH)]
15547     HRESULT width([in] VARIANT v);
15548
15549     [propget, id(DISPID_IHTMLTABLECELL_WIDTH)]
15550     HRESULT width([retval, out] VARIANT *p);
15551
15552     [propput, id(DISPID_IHTMLTABLECELL_HEIGHT)]
15553     HRESULT height([in] VARIANT v);
15554
15555     [propget, id(DISPID_IHTMLTABLECELL_HEIGHT)]
15556     HRESULT height([retval, out] VARIANT *p);
15557
15558     [propget, id(DISPID_IHTMLTABLECELL_CELLINDEX)]
15559     HRESULT cellIndex([retval, out] long *p);
15560 }
15561
15562 /*****************************************************************************
15563  *    DispHTMLTable dispinterface
15564  */
15565 [
15566     hidden,
15567     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
15568 ]
15569 dispinterface DispHTMLTable
15570 {
15571 properties:
15572 methods:
15573     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
15574
15575     [propput, id(DISPID_IHTMLTABLE_COLS)]
15576     void cols(LONG v);
15577
15578     [propget, id(DISPID_IHTMLTABLE_COLS)]
15579     LONG cols();
15580
15581     [propput, id(DISPID_IHTMLTABLE_BORDER)]
15582     void border(VARIANT v);
15583
15584     [propget, id(DISPID_IHTMLTABLE_BORDER)]
15585     VARIANT border();
15586
15587     [propput, id(DISPID_IHTMLTABLE_FRAME)]
15588     void frame(BSTR v);
15589
15590     [propget, id(DISPID_IHTMLTABLE_FRAME)]
15591     BSTR frame();
15592
15593     [propput, id(DISPID_IHTMLTABLE_RULES)]
15594     void rules(BSTR v);
15595
15596     [propget, id(DISPID_IHTMLTABLE_RULES)]
15597     BSTR rules();
15598
15599     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
15600     void cellSpacing(VARIANT v);
15601
15602     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
15603     VARIANT cellSpacing();
15604
15605     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
15606     void cellPadding(VARIANT v);
15607
15608     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
15609     VARIANT cellPadding();
15610
15611     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
15612     void background(BSTR v);
15613
15614     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
15615     BSTR background();
15616
15617     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
15618     void bgColor(VARIANT v);
15619
15620     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
15621     VARIANT bgColor();
15622
15623     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15624     void borderColor(VARIANT v);
15625
15626     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15627     VARIANT borderColor();
15628
15629     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15630     void borderColorLight(VARIANT v);
15631
15632     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15633     VARIANT borderColorLight();
15634
15635     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15636     void borderColorDark(VARIANT v);
15637
15638     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15639     VARIANT borderColorDark();
15640
15641     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
15642     void align(BSTR v);
15643
15644     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
15645     BSTR align();
15646
15647     [id(DISPID_IHTMLTABLE_REFRESH)]
15648     void refresh();
15649
15650     [propget, id(DISPID_IHTMLTABLE_ROWS)]
15651     IHTMLElementCollection *rows();
15652
15653     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
15654     void width(VARIANT v);
15655
15656     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
15657     VARIANT width();
15658
15659     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
15660     void height(VARIANT v);
15661
15662     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
15663     VARIANT height();
15664
15665     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15666     void dataPageSize(LONG v);
15667
15668     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15669     LONG dataPageSize();
15670
15671     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
15672     void nextPage();
15673
15674     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
15675     void previousPage();
15676
15677     [propget, id(DISPID_IHTMLTABLE_THEAD)]
15678     IHTMLTableSection *tHead();
15679
15680     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
15681     IHTMLTableSection *tFoot();
15682
15683     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
15684     IHTMLElementCollection *tBodies();
15685
15686     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
15687     IHTMLTableCaption *caption();
15688
15689     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
15690     IDispatch *createTHead();
15691
15692     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
15693     void deleteTHead();
15694
15695     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
15696     IDispatch *createTFoot();
15697
15698     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
15699     void deleteTFoot();
15700
15701     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
15702     IHTMLTableCaption *createCaption();
15703
15704     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
15705     void deleteCaption();
15706
15707     [id(DISPID_IHTMLTABLE_INSERTROW)]
15708     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
15709
15710     [id(DISPID_IHTMLTABLE_DELETEROW)]
15711     void deleteRow([in, defaultvalue(-1)] LONG index);
15712
15713     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
15714     void firstPage();
15715
15716     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
15717     void lastPage();
15718
15719     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
15720     IHTMLElementCollection *cells();
15721
15722     [id(DISPID_IHTMLTABLE2_MOVEROW)]
15723     IDispatch *moveRow(
15724             [in, defaultvalue(-1)] LONG indexFrom,
15725             [in, defaultvalue(-1)] LONG indexTo);
15726
15727     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15728     void summary(BSTR v);
15729
15730     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15731     BSTR summary();
15732 }
15733
15734 /*****************************************************************************
15735  *    DispHTMLTableRow dispinterface
15736  */
15737 [
15738     hidden,
15739     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
15740 ]
15741 dispinterface DispHTMLTableRow
15742 {
15743 properties:
15744 methods:
15745     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15746
15747     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
15748     void align(BSTR v);
15749
15750     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
15751     BSTR align();
15752
15753     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
15754     void vAlign(BSTR v);
15755
15756     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
15757     BSTR vAlign();
15758
15759     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15760     void bgColor(VARIANT v);
15761
15762     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15763     VARIANT bgColor();
15764
15765     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15766     void borderColor(VARIANT v);
15767
15768     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15769     VARIANT borderColor();
15770
15771     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15772     void borderColorLight(VARIANT v);
15773
15774     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15775     VARIANT borderColorLight();
15776
15777     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15778     void borderColorDark(VARIANT v);
15779
15780     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15781     VARIANT borderColorDark();
15782
15783     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
15784     LONG rowIndex();
15785
15786     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
15787     LONG sectionRowIndex();
15788
15789     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
15790     IHTMLElementCollection *cells();
15791
15792     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
15793     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
15794
15795     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
15796     void deleteCell([in, defaultvalue(-1)] LONG index);
15797
15798     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
15799     void height(VARIANT v);
15800
15801     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
15802     VARIANT height();
15803
15804     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
15805     void ch(BSTR v);
15806
15807     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
15808     BSTR ch();
15809
15810     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
15811     void chOff(BSTR v);
15812
15813     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
15814     BSTR chOff();
15815 }
15816
15817 /*****************************************************************************
15818  *    DispHTMLTableCell dispinterface
15819  */
15820 [
15821     hidden,
15822     uuid(3050f536-98b5-11cf-bb82-00aa00bdce0b)
15823 ]
15824 dispinterface DispHTMLTableCell
15825 {
15826 properties:
15827 methods:
15828     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15829
15830     [propput, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
15831     void rowSpan(long v);
15832
15833     [propget, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
15834     long rowSpan();
15835
15836     [propput, id(DISPID_IHTMLTABLECELL_COLSPAN)]
15837     void colSpan(long v);
15838
15839     [propget, id(DISPID_IHTMLTABLECELL_COLSPAN)]
15840     long colSpan();
15841
15842     [propput, id(DISPID_IHTMLTABLECELL_ALIGN)]
15843     void align(BSTR v);
15844
15845     [propget, id(DISPID_IHTMLTABLECELL_ALIGN)]
15846     BSTR align();
15847
15848     [propput, id(DISPID_IHTMLTABLECELL_VALIGN)]
15849     void vAlign(BSTR v);
15850
15851     [propget, id(DISPID_IHTMLTABLECELL_VALIGN)]
15852     BSTR vAlign();
15853
15854     [propput, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
15855     void bgColor(VARIANT v);
15856
15857     [propget, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
15858     VARIANT bgColor();
15859
15860     [propput, id(DISPID_IHTMLTABLECELL_NOWRAP)]
15861     void noWrap(VARIANT_BOOL v);
15862
15863     [propget, id(DISPID_IHTMLTABLECELL_NOWRAP)]
15864     VARIANT_BOOL noWrap();
15865
15866     [propput, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
15867     void background(BSTR v);
15868
15869     [propget, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
15870     BSTR background();
15871
15872     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
15873     void borderColor(VARIANT v);
15874
15875     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
15876     VARIANT borderColor();
15877
15878     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
15879     void borderColorLight(VARIANT v);
15880
15881     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
15882     VARIANT borderColorLight();
15883
15884     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
15885     void borderColorDark(VARIANT v);
15886
15887     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
15888     VARIANT borderColorDark();
15889
15890     [propput, id(DISPID_IHTMLTABLECELL_WIDTH)]
15891     void width(VARIANT v);
15892
15893     [propget, id(DISPID_IHTMLTABLECELL_WIDTH)]
15894     VARIANT width();
15895
15896     [propput, id(DISPID_IHTMLTABLECELL_HEIGHT)]
15897     void height(VARIANT v);
15898
15899     [propget, id(DISPID_IHTMLTABLECELL_HEIGHT)]
15900     VARIANT height();
15901
15902     [propget, id(DISPID_IHTMLTABLECELL_CELLINDEX)]
15903     long cellIndex();
15904
15905     [propput, id(DISPID_IHTMLTABLECELL2_ABBR), displaybind, bindable]
15906     void abbr(BSTR v);
15907
15908     [propget, id(DISPID_IHTMLTABLECELL2_ABBR), displaybind, bindable]
15909     BSTR abbr();
15910
15911     [propput, id(DISPID_IHTMLTABLECELL2_AXIS), displaybind, bindable]
15912     void axis(BSTR v);
15913
15914     [propget, id(DISPID_IHTMLTABLECELL2_AXIS), displaybind, bindable]
15915     BSTR axis();
15916
15917     [propput, id(DISPID_IHTMLTABLECELL2_CH), displaybind, bindable]
15918     void ch(BSTR v);
15919
15920     [propget, id(DISPID_IHTMLTABLECELL2_CH), displaybind, bindable]
15921     BSTR ch();
15922
15923     [propput, id(DISPID_IHTMLTABLECELL2_CHOFF), displaybind, bindable]
15924     void chOff(BSTR v);
15925
15926     [propget, id(DISPID_IHTMLTABLECELL2_CHOFF), displaybind, bindable]
15927     BSTR chOff();
15928
15929     [propput, id(DISPID_IHTMLTABLECELL2_HEADERS), displaybind, bindable]
15930     void headers(BSTR v);
15931
15932     [propget, id(DISPID_IHTMLTABLECELL2_HEADERS), displaybind, bindable]
15933     BSTR headers();
15934
15935     [propput, id(DISPID_IHTMLTABLECELL2_SCOPE), displaybind, bindable]
15936     void scope(BSTR v);
15937
15938     [propget, id(DISPID_IHTMLTABLECELL2_SCOPE), displaybind, bindable]
15939     BSTR scope();
15940
15941     [propput, id(DISPID_IHTMLTABLECELL3_IE9_CH), displaybind, bindable]
15942     void ie9_ch(BSTR v);
15943
15944     [propget, id(DISPID_IHTMLTABLECELL3_IE9_CH), displaybind, bindable]
15945     BSTR ie9_ch();
15946
15947     [propput, id(DISPID_IHTMLTABLECELL3_IE9_CHOFF), displaybind, bindable]
15948     void ie9_chOff(BSTR v);
15949
15950     [propget, id(DISPID_IHTMLTABLECELL3_IE9_CHOFF), displaybind, bindable]
15951     BSTR ie9_chOff();
15952 }
15953
15954 /*****************************************************************************
15955  *    IHTMLScriptElement interface
15956  */
15957 [
15958     odl,
15959     oleautomation,
15960     dual,
15961     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
15962 ]
15963 interface IHTMLScriptElement : IDispatch
15964 {
15965     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15966     HRESULT src([in] BSTR v);
15967
15968     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15969     HRESULT src([retval, out] BSTR *p);
15970
15971     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15972     HRESULT htmlFor([in] BSTR v);
15973
15974     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15975     HRESULT htmlFor([retval, out] BSTR *p);
15976
15977     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15978     HRESULT event([in] BSTR v);
15979
15980     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15981     HRESULT event([retval, out] BSTR *p);
15982
15983     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15984     HRESULT text([in] BSTR v);
15985
15986     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15987     HRESULT text([retval, out] BSTR *p);
15988
15989     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15990     HRESULT defer([in] VARIANT_BOOL v);
15991
15992     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15993     HRESULT defer([retval, out] VARIANT_BOOL *p);
15994
15995     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
15996     HRESULT readyState([retval, out] BSTR *p);
15997
15998     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15999     HRESULT onerror([in] VARIANT v);
16000
16001     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16002     HRESULT onerror([retval, out] VARIANT *p);
16003
16004     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16005     HRESULT type([in] BSTR v);
16006
16007     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16008     HRESULT type([retval, out] BSTR *p);
16009 }
16010
16011 /*****************************************************************************
16012  *    IHTMLScriptElement2 interface
16013  */
16014 [
16015     odl,
16016     oleautomation,
16017     dual,
16018     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
16019 ]
16020 interface IHTMLScriptElement2 : IDispatch
16021 {
16022     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16023     HRESULT charset([in] BSTR v);
16024
16025     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16026     HRESULT charset([retval, out] BSTR *p);
16027 }
16028
16029 /*****************************************************************************
16030  *    DispHTMLScriptElement dispinterface
16031  */
16032 [
16033     hidden,
16034     uuid(3050f530-98b5-11cf-bb82-00aa00bdce0b)
16035 ]
16036 dispinterface DispHTMLScriptElement
16037 {
16038 properties:
16039 methods:
16040     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16041
16042     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16043     void src(BSTR v);
16044
16045     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16046     BSTR src();
16047
16048     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16049     void htmlFor(BSTR v);
16050
16051     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16052     BSTR htmlFor();
16053
16054     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16055     void event(BSTR v);
16056
16057     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16058     BSTR event();
16059
16060     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16061     void text(BSTR v);
16062
16063     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16064     BSTR text();
16065
16066     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16067     void defer(VARIANT_BOOL v);
16068
16069     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16070     VARIANT_BOOL defer();
16071
16072     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16073     void onerror(VARIANT v);
16074
16075     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16076     VARIANT onerror();
16077
16078     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16079     void type(BSTR v);
16080
16081     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16082     BSTR type();
16083
16084     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16085     void charset(BSTR v);
16086
16087     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16088     BSTR charset();
16089
16090     [propput, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
16091     void ie8_src(BSTR v);
16092
16093     [propget, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
16094     BSTR ie8_src();
16095 }
16096
16097 /*****************************************************************************
16098  *    IHTMLObjectElement interface
16099  */
16100 [
16101     odl,
16102     oleautomation,
16103     dual,
16104     uuid(3050f24f-98b5-11cf-bb82-00aa00bdce0b)
16105 ]
16106 interface IHTMLObjectElement : IDispatch
16107 {
16108     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
16109     HRESULT object([retval, out] IDispatch **p);
16110
16111     [propget, id(DISPID_IHTMLOBJECTELEMENT_CLASSID), hidden]
16112     HRESULT classid([retval, out] BSTR *p);
16113
16114     [propget, id(DISPID_IHTMLOBJECTELEMENT_DATA), hidden]
16115     HRESULT data([retval, out] BSTR *p);
16116
16117     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16118     HRESULT recordset([in] IDispatch *v);
16119
16120     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16121     HRESULT recordset([retval, out] IDispatch **p);
16122
16123     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16124     HRESULT align([in] BSTR v);
16125
16126     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16127     HRESULT align([retval, out] BSTR *p);
16128
16129     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16130     HRESULT name([in] BSTR v);
16131
16132     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16133     HRESULT name([retval, out] BSTR *p);
16134
16135     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16136     HRESULT codeBase([in] BSTR v);
16137
16138     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16139     HRESULT codeBase([retval, out] BSTR *p);
16140
16141     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16142     HRESULT codeType([in] BSTR v);
16143
16144     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16145     HRESULT codeType([retval, out] BSTR *p);
16146
16147     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16148     HRESULT code([in] BSTR v);
16149
16150     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16151     HRESULT code([retval, out] BSTR *p);
16152
16153     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
16154     HRESULT BaseHref([retval, out] BSTR *p);
16155
16156     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16157     HRESULT type([in] BSTR v);
16158
16159     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16160     HRESULT type([retval, out] BSTR *p);
16161
16162     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
16163     HRESULT form([retval, out] IHTMLFormElement **p);
16164
16165     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16166     HRESULT width([in] VARIANT v);
16167
16168     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16169     HRESULT width([retval, out] VARIANT *p);
16170
16171     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16172     HRESULT height([in] VARIANT v);
16173
16174     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16175     HRESULT height([retval, out] VARIANT *p);
16176
16177     [propget, id(DISPID_IHTMLOBJECTELEMENT_READYSTATE), hidden]
16178     HRESULT readyState([retval, out] long *p);
16179
16180     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16181     HRESULT onreadystatechange([in] VARIANT v);
16182
16183     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16184     HRESULT onreadystatechange([retval, out] VARIANT *p);
16185
16186     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16187     HRESULT onerror([in] VARIANT v);
16188
16189     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16190     HRESULT onerror([retval, out] VARIANT *p);
16191
16192     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16193     HRESULT altHtml([in] BSTR v);
16194
16195     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16196     HRESULT altHtml([retval, out] BSTR *p);
16197
16198     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16199     HRESULT vspace([in] long v);
16200
16201     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16202     HRESULT vspace([retval, out] long *p);
16203
16204     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16205     HRESULT hspace([in] long v);
16206
16207     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16208     HRESULT hspace([retval, out] long *p);
16209 }
16210
16211 /*****************************************************************************
16212  *    IHTMLObjectElement2 interface
16213  */
16214 [
16215     odl,
16216     oleautomation,
16217     dual,
16218     uuid(3050f4cd-98b5-11cf-bb82-00aa00bdce0b)
16219 ]
16220 interface IHTMLObjectElement2 : IDispatch
16221 {
16222     [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
16223     HRESULT namedRecordset(
16224             [in] BSTR dataMember,
16225             [in, optional] VARIANT *hierarchy,
16226             [out, retval] IDispatch **ppRecordset);
16227
16228     [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16229     HRESULT classid([in] BSTR v);
16230
16231     [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16232     HRESULT classid([out, retval] BSTR *p);
16233
16234     [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16235     HRESULT data([in] BSTR v);
16236
16237     [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16238     HRESULT data([out, retval] BSTR *p);
16239 }
16240
16241 /*****************************************************************************
16242  *    IHTMLParamElement interface
16243  */
16244 [
16245     odl,
16246     oleautomation,
16247     dual,
16248     uuid(3050f83d-98b5-11cf-bb82-00aa00bdce0b)
16249 ]
16250 interface IHTMLParamElement : IDispatch
16251 {
16252     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16253     HRESULT name([in] BSTR v);
16254
16255     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16256     HRESULT name([retval, out] BSTR *p);
16257
16258     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16259     HRESULT value([in] BSTR v);
16260
16261     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16262     HRESULT value([retval, out] BSTR *p);
16263
16264     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16265     HRESULT type([in] BSTR v);
16266
16267     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16268     HRESULT type([retval, out] BSTR *p);
16269
16270     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16271     HRESULT valueType([in] BSTR v);
16272
16273     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16274     HRESULT valueType([retval, out] BSTR *p);
16275 }
16276
16277 /*****************************************************************************
16278  *    IHTMLParamElement2 interface
16279  */
16280 [
16281     odl,
16282     oleautomation,
16283     dual,
16284     uuid(30510444-98b5-11cf-bb82-00aa00bdce0b)
16285 ]
16286 interface IHTMLParamElement2 : IDispatch
16287 {
16288     [propput, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
16289     HRESULT name([in] BSTR v);
16290
16291     [propget, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
16292     HRESULT name([retval, out] BSTR *p);
16293
16294     [propput, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
16295     HRESULT type([in] BSTR v);
16296
16297     [propget, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
16298     HRESULT type([retval, out] BSTR *p);
16299
16300     [propput, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
16301     HRESULT value([in] BSTR v);
16302
16303     [propget, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
16304     HRESULT value([retval, out] BSTR *p);
16305
16306     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16307     HRESULT valueType([in] BSTR v);
16308
16309     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16310     HRESULT valueType([retval, out] BSTR *p);
16311 }
16312
16313 /*****************************************************************************
16314  *    DispHTMLObjectElement dispinterface
16315  */
16316 [
16317     hidden,
16318     uuid(3050f529-98b5-11cf-bb82-00aa00bdce0b)
16319 ]
16320 dispinterface DispHTMLObjectElement
16321 {
16322 properties:
16323 methods:
16324     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16325
16326     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
16327     IDispatch *object();
16328
16329     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16330     void recordset(IDispatch *v);
16331
16332     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16333     IDispatch *recordset();
16334
16335     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16336     void align(BSTR v);
16337
16338     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16339     BSTR align();
16340
16341     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16342     void name(BSTR v);
16343
16344     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16345     BSTR name();
16346
16347     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16348     void codeBase(BSTR v);
16349
16350     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16351     BSTR codeBase();
16352
16353     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16354     void codeType(BSTR v);
16355
16356     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16357     BSTR codeType();
16358
16359     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16360     void code(BSTR v);
16361
16362     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16363     BSTR code();
16364
16365     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
16366     BSTR BaseHref();
16367
16368     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16369     void type(BSTR v);
16370
16371     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16372     BSTR type();
16373
16374     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
16375     IHTMLFormElement *form();
16376
16377     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16378     void width(VARIANT v);
16379
16380     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16381     VARIANT width();
16382
16383     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16384     void height(VARIANT v);
16385
16386     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16387     VARIANT height();
16388
16389     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16390     void onerror(VARIANT v);
16391
16392     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16393     VARIANT onerror();
16394
16395     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16396     void altHtml(BSTR v);
16397
16398     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16399     BSTR altHtml();
16400
16401     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16402     void vspace(long v);
16403
16404     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16405     long vspace();
16406
16407     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16408     void hspace(long v);
16409
16410     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16411     long hspace();
16412
16413     [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
16414     IDispatch *namedRecordset(
16415             [in] BSTR dataMember,
16416             [optional, in] VARIANT *hierarchy);
16417
16418     [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16419     void classid(BSTR v);
16420
16421     [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16422     BSTR classid();
16423
16424     [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16425     void data(BSTR v);
16426
16427     [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16428     BSTR data();
16429
16430     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
16431     void archive(BSTR v);
16432
16433     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
16434     BSTR archive();
16435
16436     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
16437     void alt(BSTR v);
16438
16439     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
16440     BSTR alt();
16441
16442     [propput, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
16443     void declare(VARIANT_BOOL v);
16444
16445     [propget, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
16446     VARIANT_BOOL declare();
16447
16448     [propput, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
16449     void standby(BSTR v);
16450
16451     [propget, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
16452     BSTR standby();
16453
16454     [propput, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
16455     void border(VARIANT v);
16456
16457     [propget, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
16458     VARIANT border();
16459
16460     [propput, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
16461     void useMap(BSTR v);
16462
16463     [propget, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
16464     BSTR useMap();
16465
16466     [propget, id(DISPID_IHTMLOBJECTELEMENT4_CONTENTDOCUMENT)]
16467     IDispatch *contentDocument();
16468
16469     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
16470     void ie8_codeBase(BSTR v);
16471
16472     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
16473     BSTR ie8_codeBase();
16474
16475     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
16476     void ie8_data(BSTR v);
16477
16478     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
16479     BSTR ie8_data();
16480 }
16481
16482 /*****************************************************************************
16483  *    DispHTMLParamElement dispinterface
16484  */
16485 [
16486     hidden,
16487     uuid(3050f590-98b5-11cf-bb82-00aa00bdce0b)
16488 ]
16489 dispinterface DispHTMLParamElement
16490 {
16491 properties:
16492 methods:
16493     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16494
16495     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16496     void name(BSTR v);
16497
16498     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16499     BSTR name();
16500
16501     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16502     void value(BSTR v);
16503
16504     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16505     BSTR value();
16506
16507     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16508     void type(BSTR v);
16509
16510     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16511     BSTR type();
16512
16513     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16514     void valueType(BSTR v);
16515
16516     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16517     BSTR valueType();
16518
16519     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16520     void ie8_valueType(BSTR v);
16521
16522     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16523     BSTR ie8_valueType();
16524 }
16525
16526 /*****************************************************************************
16527  *    IHTMLFrameBase interface
16528  */
16529 [
16530     odl,
16531     oleautomation,
16532     dual,
16533     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
16534 ]
16535 interface IHTMLFrameBase : IDispatch
16536 {
16537     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
16538     HRESULT src([in] BSTR v);
16539
16540     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
16541     HRESULT src([out, retval] BSTR *p);
16542
16543     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
16544     HRESULT name([in] BSTR v);
16545
16546     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
16547     HRESULT name([out, retval] BSTR *p);
16548
16549     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
16550     HRESULT border([in] VARIANT v);
16551
16552     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
16553     HRESULT border([out, retval] VARIANT *p);
16554
16555     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
16556     HRESULT frameBorder([in] BSTR v);
16557
16558     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
16559     HRESULT frameBorder([out, retval] BSTR *p);
16560
16561     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
16562     HRESULT frameSpacing([in] VARIANT v);
16563
16564     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
16565     HRESULT frameSpacing([out, retval] VARIANT *p);
16566
16567     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
16568     HRESULT marginWidth([in] VARIANT v);
16569
16570     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
16571     HRESULT marginWidth([out, retval] VARIANT *p);
16572
16573     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
16574     HRESULT marginHeight([in] VARIANT v);
16575
16576     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
16577     HRESULT marginHeight([out, retval] VARIANT *p);
16578
16579     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
16580     HRESULT noResize([in] VARIANT_BOOL v);
16581
16582     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
16583     HRESULT noResize([out, retval] VARIANT_BOOL *p);
16584
16585     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
16586     HRESULT scrolling([in] BSTR v);
16587
16588     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
16589     HRESULT scrolling([out, retval] BSTR *p);
16590 }
16591
16592 #define WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL          \
16593     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
16594     void src(BSTR v);                                   \
16595                                                         \
16596     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
16597     BSTR src();                                         \
16598                                                         \
16599     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
16600     void name(BSTR v);                                  \
16601                                                         \
16602     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
16603     BSTR name();                                        \
16604                                                         \
16605     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
16606     void border(VARIANT v);                             \
16607                                                         \
16608     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
16609     VARIANT border();                                   \
16610                                                         \
16611     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
16612     void frameBorder(BSTR v);                           \
16613                                                         \
16614     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
16615     BSTR frameBorder();                                 \
16616                                                         \
16617     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
16618     void frameSpacing(VARIANT v);                       \
16619                                                         \
16620     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
16621     VARIANT frameSpacing();                             \
16622                                                         \
16623     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
16624     void marginWidth(VARIANT v);                        \
16625                                                         \
16626     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
16627     VARIANT marginWidth();                              \
16628                                                         \
16629     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
16630     void marginHeight(VARIANT v);                       \
16631                                                         \
16632     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
16633     VARIANT marginHeight();                             \
16634                                                         \
16635     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
16636     void noResize(VARIANT_BOOL v);                      \
16637                                                         \
16638     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
16639     VARIANT_BOOL noResize();                            \
16640                                                         \
16641     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
16642     void scrolling(BSTR v);                             \
16643                                                         \
16644     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
16645     BSTR scrolling()
16646
16647 /*****************************************************************************
16648  *    IHTMLFrameBase2 interface
16649  */
16650 [
16651     odl,
16652     oleautomation,
16653     dual,
16654     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
16655 ]
16656 interface IHTMLFrameBase2 : IDispatch
16657 {
16658     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
16659     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
16660
16661     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
16662     HRESULT onload([in] VARIANT v);
16663
16664     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
16665     HRESULT onload([retval, out] VARIANT *p);
16666
16667     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
16668     HRESULT onreadystatechange([in] VARIANT v);
16669
16670     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
16671     HRESULT onreadystatechange([retval, out] VARIANT *p);
16672
16673     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
16674     HRESULT readyState([retval, out] BSTR *p);
16675
16676     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
16677     HRESULT allowTransparency([in] VARIANT_BOOL v);
16678
16679     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
16680     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
16681 }
16682
16683 #define WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL                         \
16684     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]                 \
16685     IHTMLWindow2 *contentWindow();                                      \
16686                                                                         \
16687     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
16688     void onload(VARIANT v);                                             \
16689                                                                         \
16690     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
16691     VARIANT onload();                                                   \
16692                                                                         \
16693     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
16694     void allowTransparency(VARIANT_BOOL v);                             \
16695                                                                         \
16696     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
16697     VARIANT_BOOL allowTransparency()
16698
16699 #define WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL                           \
16700     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
16701     void longDesc(BSTR v);                                                \
16702                                                                           \
16703     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
16704     BSTR longDesc()
16705
16706
16707 #define WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL \
16708     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;  \
16709     WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL;   \
16710     WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL;  \
16711     WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL
16712
16713 /*****************************************************************************
16714  *    IHTMLFrameElement3 interface
16715  */
16716 [
16717     odl,
16718     oleautomation,
16719     dual,
16720     uuid(3051042d-98b5-11cf-bb82-00aa00bdce0b)
16721 ]
16722 interface IHTMLFrameElement3 : IDispatch
16723 {
16724     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
16725     HRESULT contentDocument([out, retval] IDispatch **p);
16726
16727     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16728     HRESULT src([in] BSTR v);
16729
16730     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16731     HRESULT src([out, retval] BSTR *p);
16732
16733     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16734     HRESULT longDesc([in] BSTR v);
16735
16736     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16737     HRESULT longDesc([out, retval] BSTR *p);
16738
16739     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16740     HRESULT frameBorder([in] BSTR v);
16741
16742     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16743     HRESULT frameBorder([out, retval] BSTR * p);
16744 }
16745
16746 /*****************************************************************************
16747  *    DispHTMLFrameElement dispinterface
16748  */
16749 [
16750     hidden,
16751     uuid(3050f513-98b5-11cf-bb82-00aa00bdce0b)
16752 ]
16753 dispinterface DispHTMLFrameElement
16754 {
16755 properties:
16756 methods:
16757     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
16758
16759     [propput, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
16760     void borderColor(VARIANT v);
16761
16762     [propget, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
16763     VARIANT borderColor();
16764
16765     [propput, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
16766     void height(VARIANT v);
16767
16768     [propget, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
16769     VARIANT height();
16770
16771     [propput, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
16772     void width(VARIANT v);
16773
16774     [propget, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
16775     VARIANT width();
16776
16777     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
16778     IDispatch *contentDocument();
16779
16780     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16781     void ie8_src(BSTR v);
16782
16783     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16784     BSTR ie8_src();
16785
16786     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16787     void ie8_longDesc(BSTR v);
16788
16789     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16790     BSTR ie8_longDesc();
16791
16792     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16793     void ie8_frameBorder(BSTR v);
16794
16795     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16796     BSTR ie8_frameBorder();
16797 }
16798
16799 /*****************************************************************************
16800  *    IHTMLIFrameElement interface
16801  */
16802 [
16803     odl,
16804     oleautomation,
16805     dual,
16806     uuid(3050f315-98b5-11cf-bb82-00aa00bdce0b)
16807 ]
16808 interface IHTMLIFrameElement : IDispatch
16809 {
16810     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16811     HRESULT vspace([in] LONG v);
16812
16813     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16814     HRESULT vspace([retval, out] LONG *p);
16815
16816     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16817     HRESULT hspace([in] LONG v);
16818
16819     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16820     HRESULT hspace([retval, out] LONG *p);
16821
16822     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16823     HRESULT align([in] BSTR v);
16824
16825     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16826     HRESULT align([retval, out] BSTR *p);
16827 }
16828
16829 /*****************************************************************************
16830  *    DispHTMLIFrame dispinterface
16831  */
16832 [
16833     hidden,
16834     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
16835 ]
16836 dispinterface DispHTMLIFrame
16837 {
16838 properties:
16839 methods:
16840     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
16841
16842     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16843     void vspace(LONG v);
16844
16845     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16846     LONG vspace();
16847
16848     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16849     void hspace(LONG v);
16850
16851     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16852     LONG hspace();
16853
16854     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16855     void align(BSTR v);
16856
16857     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16858     BSTR align();
16859
16860     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
16861     void height(VARIANT v);
16862
16863     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
16864     VARIANT height();
16865
16866     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
16867     void width(VARIANT v);
16868
16869     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
16870     VARIANT width();
16871 }
16872
16873 /*****************************************************************************
16874  *    IHTMLStyleElement interface
16875  */
16876 [
16877     odl,
16878     oleautomation,
16879     dual,
16880     uuid(3050f375-98b5-11cf-bb82-00aa00bdce0b)
16881 ]
16882 interface IHTMLStyleElement : IDispatch
16883 {
16884     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16885     HRESULT type([in] BSTR v);
16886
16887     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16888     HRESULT type([retval, out] BSTR *p);
16889
16890     [propget, id(DISPID_IHTMLSTYLEELEMENT_READYSTATE)]
16891     HRESULT readyState([retval, out] BSTR *p);
16892
16893     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16894     HRESULT onreadystatechange([in] VARIANT v);
16895
16896     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16897     HRESULT onreadystatechange([retval, out] VARIANT *p);
16898
16899     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16900     HRESULT onload([in] VARIANT v);
16901
16902     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16903     HRESULT onload([retval, out] VARIANT *p);
16904
16905     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16906     HRESULT onerror([in] VARIANT v);
16907
16908     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16909     HRESULT onerror([retval, out] VARIANT *p);
16910
16911     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
16912     HRESULT styleSheet([retval, out] IHTMLStyleSheet **p);
16913
16914     [propput, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
16915     HRESULT disabled([in] VARIANT_BOOL v);
16916
16917     [propget, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
16918     HRESULT disabled([retval, out] VARIANT_BOOL *p);
16919
16920     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16921     HRESULT media([in] BSTR v);
16922
16923     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16924     HRESULT media([retval, out] BSTR *p);
16925 }
16926
16927 /*****************************************************************************
16928  *    DispHTMLStyleElement dispinterface
16929  */
16930 [
16931     hidden,
16932     uuid(3050f511-98b5-11cf-bb82-00aa00bdce0b)
16933 ]
16934 dispinterface DispHTMLStyleElement
16935 {
16936 properties:
16937 methods:
16938     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16939
16940     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16941     void type(BSTR v);
16942
16943     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16944     BSTR type();
16945
16946     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16947     void onload(VARIANT v);
16948
16949     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16950     VARIANT onload();
16951
16952     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16953     void onerror(VARIANT v);
16954
16955     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16956     VARIANT onerror();
16957
16958     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
16959     IHTMLStyleSheet *styleSheet();
16960
16961     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16962     void media(BSTR v);
16963
16964     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16965     BSTR media();
16966 }
16967
16968 /*****************************************************************************
16969  *    IHTMLStorage interface
16970  */
16971 [
16972     odl,
16973     oleautomation,
16974     dual,
16975     uuid(30510474-98b5-11cf-bb82-00aa00bdce0b)
16976 ]
16977 interface IHTMLStorage : IDispatch
16978 {
16979     [propget, id(DISPID_IHTMLSTORAGE_LENGTH), hidden]
16980     HRESULT length([out, retval] long *p);
16981
16982     [propget, id(DISPID_IHTMLSTORAGE_REMAININGSPACE), hidden]
16983     HRESULT remainingSpace([out, retval] long *p);
16984
16985     [id(DISPID_IHTMLSTORAGE_KEY)]
16986     HRESULT key(
16987             [in] long lIndex,
16988             [out, retval] BSTR *);
16989
16990     [id(DISPID_IHTMLSTORAGE_GETITEM)]
16991     HRESULT getItem(
16992             [in] BSTR bstrKey,
16993             [out, retval] VARIANT *);
16994
16995     [id(DISPID_IHTMLSTORAGE_SETITEM)]
16996     HRESULT setItem(
16997             [in] BSTR bstrKey,
16998             [in] BSTR bstrValue);
16999
17000     [id(DISPID_IHTMLSTORAGE_REMOVEITEM)]
17001     HRESULT removeItem([in] BSTR bstrKey);
17002
17003     [id(DISPID_IHTMLSTORAGE_CLEAR)]
17004     HRESULT clear();
17005 }
17006
17007 /*****************************************************************************
17008  *    IMarkupContainer interface
17009  */
17010 [
17011     object,
17012     pointer_default(unique),
17013     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
17014 ]
17015 interface IMarkupContainer : IUnknown
17016 {
17017     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
17018 }
17019
17020 /*****************************************************************************
17021  *    IMarkupPointer interface
17022  */
17023 [
17024     object,
17025     pointer_default(unique),
17026     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
17027 ]
17028 interface IMarkupPointer : IUnknown
17029 {
17030     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
17031
17032     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
17033
17034     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
17035
17036     HRESULT Cling([out] BOOL *pfCling);
17037
17038     HRESULT SetCling([in] BOOL fCLing);
17039
17040     HRESULT UnPosition();
17041
17042     HRESULT IsPositioned([out] BOOL *pfPositioned);
17043
17044     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
17045
17046     HRESULT MoveAdjacentToElement(
17047         [in] IHTMLElement *pElement,
17048         [in] ELEMENT_ADJACENCY eAdj);
17049
17050     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
17051
17052     HRESULT MoveToContainer(
17053         [in] IMarkupContainer *pContainer,
17054         [in] BOOL fAtStart);
17055
17056     HRESULT Left(
17057         [in] BOOL fMove,
17058         [out] MARKUP_CONTEXT_TYPE *pContext,
17059         [out] IHTMLElement **ppElement,
17060         [in, out] LONG *pcch,
17061         [out, size_is(*pcch)] OLECHAR *pchText);
17062
17063     HRESULT Right(
17064         [in] BOOL fMove,
17065         [out] MARKUP_CONTEXT_TYPE *pContext,
17066         [out] IHTMLElement **ppElement,
17067         [in, out] LONG *pcch,
17068         [out, size_is(*pcch)] OLECHAR *pchText);
17069
17070     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
17071
17072     HRESULT IsLeftOf(
17073         [in] IMarkupPointer *pPointerThat,
17074         [out] BOOL *pfResult);
17075
17076     HRESULT IsLeftOfOrEqualTo(
17077         [in] IMarkupPointer *pPointerThat,
17078         [out] BOOL *pfResult);
17079
17080     HRESULT IsRightOf(
17081         [in] IMarkupPointer *pPointerThat,
17082         [out] BOOL *pfResult);
17083
17084     HRESULT IsRightOfOrEqualTo(
17085         [in] IMarkupPointer *pPointerThat,
17086         [out] BOOL *pfResult);
17087
17088     HRESULT IsEqualTo(
17089         [in] IMarkupPointer *pPointerThat,
17090         [out] BOOL *pfAreEqual);
17091
17092     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
17093
17094     HRESULT FindText(
17095         [in] OLECHAR *pchFindText,
17096         [in] DWORD dwFlags,
17097         [in] IMarkupPointer *pIEndMatch,
17098         [in] IMarkupPointer *pIEndSearch);
17099 }
17100
17101 /*****************************************************************************
17102  *    IXMLGenericParse interface
17103  */
17104 [
17105     object,
17106     pointer_default(unique),
17107     uuid(E4E23071-4D07-11d2-AE76-0080C73BC199)
17108 ]
17109 interface IXMLGenericParse : IUnknown
17110 {
17111     HRESULT SetGenericParse(
17112         [in] VARIANT_BOOL fDoGeneric);
17113 }
17114
17115 /*****************************************************************************
17116  *    ISegment interface
17117  */
17118 [
17119     object,
17120     pointer_default(unique),
17121     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
17122 ]
17123 interface ISegment : IUnknown
17124 {
17125     HRESULT GetPointers(
17126         [in] IMarkupPointer *pIStart,
17127         [in] IMarkupPointer *pIEnd);
17128 }
17129
17130 /*****************************************************************************
17131  *    IElementSegment interface
17132  */
17133 [
17134     object,
17135     pointer_default(unique),
17136     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
17137 ]
17138 interface IElementSegment : ISegment
17139 {
17140     HRESULT GetElement([out] IHTMLElement **ppIElement);
17141
17142     HRESULT SetPrimary([in] BOOL fPrimary);
17143
17144     HRESULT IsPrimary([out] BOOL *pfPrimary);
17145 }
17146
17147 /*****************************************************************************
17148  *    ISelectionServicesListener interface
17149  */
17150 [
17151     object,
17152     pointer_default(unique),
17153     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
17154 ]
17155 interface ISelectionServicesListener : IUnknown
17156 {
17157     HRESULT BeginSelectionUndo();
17158
17159     HRESULT EndSelectionUndo();
17160
17161     HRESULT OnSelectedElementExit(
17162         [in] IMarkupPointer *pIElementStart,
17163         [in] IMarkupPointer *pIElementEnd,
17164         [in] IMarkupPointer *pIElementContentStart,
17165         [in] IMarkupPointer *pIElementContentEnd);
17166
17167     HRESULT OnChangeType(
17168         [in] SELECTION_TYPE eType,
17169         [in] ISelectionServicesListener *pIListener);
17170
17171     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
17172 }
17173
17174 /*****************************************************************************
17175  *    ISelectionServices interface
17176  */
17177 [
17178     object,
17179     pointer_default(unique),
17180     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
17181 ]
17182 interface ISelectionServices : IUnknown
17183 {
17184     HRESULT SetSelectionType(
17185         [in] SELECTION_TYPE eType,
17186         [in] ISelectionServicesListener *pIListener);
17187
17188     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
17189
17190     HRESULT AddSegment(
17191         [in] IMarkupPointer *pIStart,
17192         [in] IMarkupPointer *pIEnd,
17193         [out] ISegment **ppISegmentAdded);
17194
17195     HRESULT AddElementSegment(
17196         [in] IHTMLElement *pIElement,
17197         [out] IElementSegment **ppISegmentAdded);
17198
17199     HRESULT RemoveSegment([in] ISegment *pISegment);
17200
17201     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
17202 }
17203
17204 /*****************************************************************************
17205  *    IHTMLEditDesigner interface
17206  */
17207 [
17208     object,
17209     pointer_default(unique),
17210     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
17211 ]
17212 interface IHTMLEditDesigner : IUnknown
17213 {
17214     HRESULT PreHandleEvent(
17215         [in] DISPID inEvtDispId,
17216         [in] IHTMLEventObj *pIEventObj);
17217
17218     HRESULT PostHandleEvent(
17219         [in] DISPID inEvtDispId,
17220         [in] IHTMLEventObj *pIEventObj);
17221
17222     HRESULT TranslateAccelerator(
17223         [in] DISPID inEvtDispId,
17224         [in] IHTMLEventObj *pIEventObj);
17225
17226     HRESULT PostEditorEventNotify(
17227         [in] DISPID inEvtDispId,
17228         [in] IHTMLEventObj *pIEventObj);
17229 }
17230
17231 /*****************************************************************************
17232  *    IHTMLEditServices interface
17233  */
17234 [
17235     object,
17236     pointer_default(unique),
17237     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
17238 ]
17239 interface IHTMLEditServices : IUnknown
17240 {
17241     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
17242
17243     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
17244
17245     HRESULT GetSelectionServices(
17246         [in] IMarkupContainer *pIContainer,
17247         [out] ISelectionServices **ppSelSvc);
17248
17249     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
17250
17251     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
17252
17253     HRESULT SelectRange(
17254         [in] IMarkupPointer* pStart,
17255         [in] IMarkupPointer* pEnd,
17256         [in] SELECTION_TYPE eType);
17257 }
17258
17259 /*****************************************************************************
17260  *    IElementBehaviorSite interface
17261  */
17262 [
17263     odl,
17264     uuid(3050F427-98B5-11CF-BB82-00AA00BDCE0B)
17265 ]
17266 interface IElementBehaviorSite : IUnknown {
17267     HRESULT GetElement([out, retval] IHTMLElement **ppElement);
17268     HRESULT RegisterNotification([in] long lEvent);
17269 }
17270
17271 /*****************************************************************************
17272  *    IElementBehavior interface
17273  */
17274 [
17275     odl,
17276     uuid(3050F425-98B5-11CF-BB82-00AA00BDCE0B)
17277 ]
17278 interface IElementBehavior : IUnknown {
17279     HRESULT Init([in] IElementBehaviorSite *pBehaviorSite);
17280     HRESULT Notify([in] long lEvent,  [in, out] VARIANT *pVar);
17281     HRESULT Detach();
17282 }
17283
17284 /*****************************************************************************
17285  *    IElementBehaviorFactory interface
17286  */
17287 [
17288     odl,
17289     uuid(3050f429-98b5-11cf-bb82-00aa00bdce0b)
17290 ]
17291 interface IElementBehaviorFactory : IUnknown
17292 {
17293     HRESULT FindBehavior(
17294         [in] BSTR bstrBehavior,
17295         [in] BSTR bstrBehaviorUrl,
17296         [in] IElementBehaviorSite *pSite,
17297         [out] IElementBehavior **ppBehavior);
17298 }
17299
17300 } /* library MSHTML */
17301
17302 interface IOleCommandTarget;
17303
17304 /*****************************************************************************
17305  *    IHTMLPrivateWindow interface
17306  */
17307 [
17308     object,
17309     uuid(3050f6dc-98b5-11cf-bb82-00aa00bdce0b),
17310     local
17311 ]
17312 interface IHTMLPrivateWindow : IUnknown
17313 {
17314     HRESULT SuperNavigate(BSTR url, BSTR arg2, BSTR arg3, BSTR arg4, VARIANT *post_data, VARIANT *headers, ULONG flags);
17315     HRESULT GetPendingUrl(BSTR *url);
17316     HRESULT SetPICSTarget(IOleCommandTarget *cmdtrg);
17317     HRESULT PICSComplete(int arg);
17318     HRESULT FindWindowByName(LPCWSTR name, IHTMLWindow2 **ret);
17319     HRESULT GetAddressBarUrl(BSTR *url);
17320 }