version/tests: Make sure return values are used (LLVM/Clang).
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004-2010 Jacek Caban for CodeWeavers
3  * Copyright 2008      Konstantin Kondratyuk (Etersoft)
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18  */
19
20 #include <mshtmdid.h>
21 #include <mshtmcid.h>
22 #include <olectl.h>
23
24 import "ocidl.idl";
25 import "dimm.idl";
26 import "shtypes.idl";
27
28 cpp_quote("#include <olectl.h>")
29
30 cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
31 cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
32 cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
33 cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
34 cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
35
36 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
37 cpp_quote("#undef FindText")
38 cpp_quote("#endif")
39
40 typedef enum {
41     POINTER_GRAVITY_Left,
42     POINTER_GRAVITY_Right,
43     POINTER_GRAVITY_Max = 2147483647
44 } POINTER_GRAVITY;
45
46 typedef enum {
47     CONTEXT_TYPE_None,
48     CONTEXT_TYPE_Text,
49     CONTEXT_TYPE_EnterScope,
50     CONTEXT_TYPE_ExitScope,
51     CONTEXT_TYPE_NoScope,
52     MARKUP_CONTEXT_TYPE_Max = 2147483647
53 } MARKUP_CONTEXT_TYPE;
54
55 typedef enum {
56     ELEM_ADJ_BeforeBegin,
57     ELEM_ADJ_AfterBegin,
58     ELEM_ADJ_BeforeEnd,
59     ELEM_ADJ_AfterEnd,
60     ELEMENT_ADJACENCY_Max = 2147483647
61 } ELEMENT_ADJACENCY;
62
63 typedef enum {
64     MOVEUNIT_PREVCHAR,
65     MOVEUNIT_NEXTCHAR,
66     MOVEUNIT_PREVCLUSTERBEG,
67     MOVEUNIT_NEXTCLUSTERBEG,
68     MOVEUNIT_PREVCLUSTEREND,
69     MOVEUNIT_NEXTCLUSTEREND,
70     MOVEUNIT_PREVWORDBEG,
71     MOVEUNIT_NEXTWORDBEG,
72     MOVEUNIT_PREVWORDEND,
73     MOVEUNIT_NEXTWORDEND,
74     MOVEUNIT_PREVPROOFWORD,
75     MOVEUNIT_NEXTPROOFWORD,
76     MOVEUNIT_NEXTURLBEG,
77     MOVEUNIT_PREVURLBEG,
78     MOVEUNIT_NEXTURLEND,
79     MOVEUNIT_PREVURLEND,
80     MOVEUNIT_PREVSENTENCE,
81     MOVEUNIT_NEXTSENTENCE,
82     MOVEUNIT_PREVBLOCK,
83     MOVEUNIT_NEXTBLOCK,
84     MOVEUNIT_ACTION_Max = 2147483647
85 } MOVEUNIT_ACTION;
86
87 typedef enum _SELECTION_TYPE {
88     SELECTION_TYPE_None,
89     SELECTION_TYPE_Caret,
90     SELECTION_TYPE_Text,
91     SELECTION_TYPE_Control,
92     SELECTION_TYPE_Max = 2147483647
93 } SELECTION_TYPE;
94
95 [
96     version(4.0),
97     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
98 ]
99 library MSHTML
100 {
101
102 importlib("stdole2.tlb");
103
104 [
105     odl,
106     oleautomation,
107     dual,
108     uuid(3051049b-98b5-11cf-bb82-00aa00bdce0b)
109 ]
110 interface IHTMLDOMConstructor : IDispatch
111 {
112     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
113     HRESULT constructor([retval, out] IDispatch* * p);
114
115     HRESULT LookupGetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
116
117     HRESULT LookupSetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
118
119     HRESULT DefineGetter([in] BSTR propname, [in] VARIANT* pdispHandler);
120
121     HRESULT DefineSetter([in] BSTR propname, [in] VARIANT* pdispHandler);
122 }
123
124 #define WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL                     \
125     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]       \
126     IDispatch *constructor()
127
128 interface IHTMLDocument2;
129 interface IHTMLStyleSheetsCollection;
130 interface IHTMLFrameBase;
131
132 /*****************************************************************************
133  *    IHTMLFiltersCollection interface
134  */
135 [
136     odl,
137     oleautomation,
138     dual,
139     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
140 ]
141 interface IHTMLFiltersCollection : IDispatch
142 {
143     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
144     HRESULT length([retval, out] LONG *p);
145
146     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
147     HRESULT _newEnum([retval, out] IUnknown **p);
148
149     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
150     HRESULT item(
151         [in] VARIANT *pvarIndex,
152         [retval, out] VARIANT *pvarResult);
153 }
154
155 /*****************************************************************************
156  *    IHTMLStyle interface
157  */
158 [
159     odl,
160     oleautomation,
161     dual,
162     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
163 ]
164 interface IHTMLStyle : IDispatch
165 {
166     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
167     HRESULT fontFamily([in] BSTR v);
168
169     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
170     HRESULT fontFamily([retval, out] BSTR *p);
171
172     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
173     HRESULT fontStyle([in] BSTR v);
174
175     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
176     HRESULT fontStyle([retval, out] BSTR *p);
177
178     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
179     HRESULT fontVariant([in] BSTR v);
180
181     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
182     HRESULT fontVariant([retval, out] BSTR *p);
183
184     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
185     HRESULT fontWeight([in] BSTR v);
186
187     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
188     HRESULT fontWeight([retval, out] BSTR *p);
189
190     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
191     HRESULT fontSize([in] VARIANT v);
192
193     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
194     HRESULT fontSize([retval, out] VARIANT *p);
195
196     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
197     HRESULT font([in] BSTR v);
198
199     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
200     HRESULT font([retval, out] BSTR *p);
201
202     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
203     HRESULT color([in] VARIANT v);
204
205     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
206     HRESULT color([retval, out] VARIANT *p);
207
208     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
209     HRESULT background([in] BSTR v);
210
211     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
212     HRESULT background([retval, out] BSTR *p);
213
214     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
215     HRESULT backgroundColor([in] VARIANT v);
216
217     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
218     HRESULT backgroundColor([retval, out] VARIANT *p);
219
220     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
221     HRESULT backgroundImage([in] BSTR v);
222
223     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
224     HRESULT backgroundImage([retval, out] BSTR *p);
225
226     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
227     HRESULT backgroundRepeat([in] BSTR v);
228
229     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
230     HRESULT backgroundRepeat([retval, out] BSTR *p);
231
232     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
233     HRESULT backgroundAttachment([in] BSTR v);
234
235     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
236     HRESULT backgroundAttachment([retval, out] BSTR *p);
237
238     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
239     HRESULT backgroundPosition([in] BSTR v);
240
241     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
242     HRESULT backgroundPosition([retval, out] BSTR *p);
243
244     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
245     HRESULT backgroundPositionX([in] VARIANT v);
246
247     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
248     HRESULT backgroundPositionX([retval, out] VARIANT *p);
249
250     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
251     HRESULT backgroundPositionY([in] VARIANT v);
252
253     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
254     HRESULT backgroundPositionY([retval, out] VARIANT *p);
255
256     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
257     HRESULT wordSpacing([in] VARIANT v);
258
259     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
260     HRESULT wordSpacing([retval, out] VARIANT *p);
261
262     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
263     HRESULT letterSpacing([in] VARIANT v);
264
265     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
266     HRESULT letterSpacing([retval, out] VARIANT *p);
267
268     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
269     HRESULT textDecoration([in] BSTR v);
270
271     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
272     HRESULT textDecoration([retval, out] BSTR *p);
273
274     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
275     HRESULT textDecorationNone([in] VARIANT_BOOL v);
276
277     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
278     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
279
280     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
281     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
282
283     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
284     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
285
286     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
287     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
288
289     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
290     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
291
292     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
293     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
294
295     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
296     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
297
298     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
299     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
300
301     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
302     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
303
304     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
305     HRESULT verticalAlign([in] VARIANT v);
306
307     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
308     HRESULT verticalAlign([retval, out] VARIANT *p);
309
310     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
311     HRESULT textTransform([in] BSTR v);
312
313     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
314     HRESULT textTransform([retval, out] BSTR *p);
315
316     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
317     HRESULT textAlign([in] BSTR v);
318
319     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
320     HRESULT textAlign([retval, out] BSTR *p);
321
322     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
323     HRESULT textIndent([in] VARIANT v);
324
325     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
326     HRESULT textIndent([retval, out] VARIANT *p);
327
328     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
329     HRESULT lineHeight([in] VARIANT v);
330
331     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
332     HRESULT lineHeight([retval, out] VARIANT *p);
333
334     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
335     HRESULT marginTop([in] VARIANT v);
336
337     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
338     HRESULT marginTop([retval, out] VARIANT *p);
339
340     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
341     HRESULT marginRight([in] VARIANT v);
342
343     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
344     HRESULT marginRight([retval, out] VARIANT *p);
345
346     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
347     HRESULT marginBottom([in] VARIANT v);
348
349     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
350     HRESULT marginBottom([retval, out] VARIANT *p);
351
352     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
353     HRESULT marginLeft([in] VARIANT v);
354
355     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
356     HRESULT marginLeft([retval, out] VARIANT *p);
357
358     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
359     HRESULT margin([in] BSTR v);
360
361     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
362     HRESULT margin([retval, out] BSTR *p);
363
364     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
365     HRESULT paddingTop([in] VARIANT v);
366
367     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
368     HRESULT paddingTop([retval, out] VARIANT *p);
369
370     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
371     HRESULT paddingRight([in] VARIANT v);
372
373     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
374     HRESULT paddingRight([retval, out] VARIANT *p);
375
376     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
377     HRESULT paddingBottom([in] VARIANT v);
378
379     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
380     HRESULT paddingBottom([retval, out] VARIANT *p);
381
382     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
383     HRESULT paddingLeft([in] VARIANT v);
384
385     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
386     HRESULT paddingLeft([retval, out] VARIANT *p);
387
388     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
389     HRESULT padding([in] BSTR v);
390
391     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
392     HRESULT padding([retval, out] BSTR *p);
393
394     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
395     HRESULT border([in] BSTR v);
396
397     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
398     HRESULT border([retval, out] BSTR *p);
399
400     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
401     HRESULT borderTop([in] BSTR v);
402
403     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
404     HRESULT borderTop([retval, out] BSTR *p);
405
406     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
407     HRESULT borderRight([in] BSTR v);
408
409     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
410     HRESULT borderRight([retval, out] BSTR *p);
411
412     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
413     HRESULT borderBottom([in] BSTR v);
414
415     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
416     HRESULT borderBottom([retval, out] BSTR *p);
417
418     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
419     HRESULT borderLeft([in] BSTR v);
420
421     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
422     HRESULT borderLeft([retval, out] BSTR *p);
423
424     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
425     HRESULT borderColor([in] BSTR v);
426
427     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
428     HRESULT borderColor([retval, out] BSTR *p);
429
430     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
431     HRESULT borderTopColor([in] VARIANT v);
432
433     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
434     HRESULT borderTopColor([retval, out] VARIANT *p);
435
436     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
437     HRESULT borderRightColor([in] VARIANT v);
438
439     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
440     HRESULT borderRightColor([retval, out] VARIANT *p);
441
442     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
443     HRESULT borderBottomColor([in] VARIANT v);
444
445     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
446     HRESULT borderBottomColor([retval, out] VARIANT *p);
447
448     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
449     HRESULT borderLeftColor([in] VARIANT v);
450
451     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
452     HRESULT borderLeftColor([retval, out] VARIANT *p);
453
454     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
455     HRESULT borderWidth([in] BSTR v);
456
457     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
458     HRESULT borderWidth([retval, out] BSTR *p);
459
460     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
461     HRESULT borderTopWidth([in] VARIANT v);
462
463     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
464     HRESULT borderTopWidth([retval, out] VARIANT *p);
465
466     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
467     HRESULT borderRightWidth([in] VARIANT v);
468
469     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
470     HRESULT borderRightWidth([retval, out] VARIANT *p);
471
472     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
473     HRESULT borderBottomWidth([in] VARIANT v);
474
475     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
476     HRESULT borderBottomWidth([retval, out] VARIANT *p);
477
478     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
479     HRESULT borderLeftWidth([in] VARIANT v);
480
481     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
482     HRESULT borderLeftWidth([retval, out] VARIANT *p);
483
484     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
485     HRESULT borderStyle([in] BSTR v);
486
487     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
488     HRESULT borderStyle([retval, out] BSTR *p);
489
490     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
491     HRESULT borderTopStyle([in] BSTR v);
492
493     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
494     HRESULT borderTopStyle([retval, out] BSTR *p);
495
496     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
497     HRESULT borderRightStyle([in] BSTR v);
498
499     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
500     HRESULT borderRightStyle([retval, out] BSTR *p);
501
502     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
503     HRESULT borderBottomStyle([in] BSTR v);
504
505     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
506     HRESULT borderBottomStyle([retval, out] BSTR *p);
507
508     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
509     HRESULT borderLeftStyle([in] BSTR v);
510
511     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
512     HRESULT borderLeftStyle([retval, out] BSTR *p);
513
514     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
515     HRESULT width([in] VARIANT v);
516
517     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
518     HRESULT width([retval, out] VARIANT *p);
519
520     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
521     HRESULT height([in] VARIANT v);
522
523     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
524     HRESULT height([retval, out] VARIANT *p);
525
526     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
527     HRESULT styleFloat([in] BSTR v);
528
529     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
530     HRESULT styleFloat([retval, out] BSTR *p);
531
532     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
533     HRESULT clear([in] BSTR v);
534
535     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
536     HRESULT clear([retval, out] BSTR *p);
537
538     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
539     HRESULT display([in] BSTR v);
540
541     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
542     HRESULT display([retval, out] BSTR *p);
543
544     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
545     HRESULT visibility([in] BSTR v);
546
547     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
548     HRESULT visibility([retval, out] BSTR *p);
549
550     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
551     HRESULT listStyleType([in] BSTR v);
552
553     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
554     HRESULT listStyleType([retval, out] BSTR *p);
555
556     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
557     HRESULT listStylePosition([in] BSTR v);
558
559     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
560     HRESULT listStylePosition([retval, out] BSTR *p);
561
562     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
563     HRESULT listStyleImage([in] BSTR v);
564
565     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
566     HRESULT listStyleImage([retval, out] BSTR *p);
567
568     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
569     HRESULT listStyle([in] BSTR v);
570
571     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
572     HRESULT listStyle([retval, out] BSTR *p);
573
574     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
575     HRESULT whiteSpace([in] BSTR v);
576
577     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
578     HRESULT whiteSpace([retval, out] BSTR *p);
579
580     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
581     HRESULT top([in] VARIANT v);
582
583     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
584     HRESULT top([retval, out] VARIANT *p);
585
586     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
587     HRESULT left([in] VARIANT v);
588
589     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
590     HRESULT left([retval, out] VARIANT *p);
591
592     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
593     HRESULT position([retval, out] BSTR *p);
594
595     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
596     HRESULT zIndex([in] VARIANT v);
597
598     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
599     HRESULT zIndex([retval, out] VARIANT *p);
600
601     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
602     HRESULT overflow([in] BSTR v);
603
604     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
605     HRESULT overflow([retval, out] BSTR *p);
606
607     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
608     HRESULT pageBreakBefore([in] BSTR v);
609
610     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
611     HRESULT pageBreakBefore([retval, out] BSTR *p);
612
613     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
614     HRESULT pageBreakAfter([in] BSTR v);
615
616     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
617     HRESULT pageBreakAfter([retval, out] BSTR *p);
618
619     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
620     HRESULT cssText([in] BSTR v);
621
622     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
623     HRESULT cssText([retval, out] BSTR *p);
624
625     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
626     HRESULT pixelTop([in] LONG v);
627
628     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
629     HRESULT pixelTop([retval, out] LONG *p);
630
631     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
632     HRESULT pixelLeft([in] LONG v);
633
634     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
635     HRESULT pixelLeft([retval, out] LONG *p);
636
637     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
638     HRESULT pixelWidth([in] LONG v);
639
640     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
641     HRESULT pixelWidth([retval, out] LONG *p);
642
643     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
644     HRESULT pixelHeight([in] LONG v);
645
646     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
647     HRESULT pixelHeight([retval, out] LONG *p);
648
649     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
650     HRESULT posTop([in] float v);
651
652     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
653     HRESULT posTop([retval, out] float *p);
654
655     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
656     HRESULT posLeft([in] float v);
657
658     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
659     HRESULT posLeft([retval, out] float *p);
660
661     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
662     HRESULT posWidth([in] float v);
663
664     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
665     HRESULT posWidth([retval, out] float *p);
666
667     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
668     HRESULT posHeight([in] float v);
669
670     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
671     HRESULT posHeight([retval, out] float *p);
672
673     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
674     HRESULT cursor([in] BSTR v);
675
676     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
677     HRESULT cursor([retval, out] BSTR *p);
678
679     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
680     HRESULT clip([in] BSTR v);
681
682     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
683     HRESULT clip([retval, out] BSTR *p);
684
685     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
686     HRESULT filter([in] BSTR v);
687
688     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
689     HRESULT filter([retval, out] BSTR *p);
690
691     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
692     HRESULT setAttribute(
693         [in] BSTR strAttributeName,
694         [in] VARIANT AttributeValue,
695         [defaultvalue(1), in] LONG lFlags);
696
697     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
698     HRESULT getAttribute(
699         [in] BSTR strAttributeName,
700         [defaultvalue(0), in] LONG lFlags,
701         [retval, out] VARIANT *AttributeValue);
702
703     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
704     HRESULT removeAttribute(
705         [in] BSTR strAttributeName,
706         [defaultvalue(1), in]
707         LONG lFlags,
708         [retval, out] VARIANT_BOOL *pfSuccess);
709
710     [id(DISPID_IHTMLSTYLE_TOSTRING)]
711     HRESULT toString([retval, out] BSTR *String);
712 }
713
714 /*****************************************************************************
715  *    IHTMLStyle2 interface
716  */
717 [
718     odl,
719     oleautomation,
720     dual,
721     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
722 ]
723 interface IHTMLStyle2 : IDispatch
724 {
725     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
726     HRESULT tableLayout([in] BSTR v);
727
728     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
729     HRESULT tableLayout([out, retval] BSTR *p);
730
731     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
732     HRESULT borderCollapse([in] BSTR v);
733
734     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
735     HRESULT borderCollapse([out, retval] BSTR *p);
736
737     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
738     HRESULT direction([in] BSTR v);
739
740     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
741     HRESULT direction([out, retval] BSTR *p);
742
743     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
744     HRESULT behavior([in] BSTR v);
745
746     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
747     HRESULT behavior([out, retval] BSTR *p);
748
749     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
750     HRESULT setExpression(
751             [in] BSTR propname,
752             [in] BSTR expression,
753             [in, defaultvalue("")] BSTR language);
754
755     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
756     HRESULT getExpression(
757             [in] BSTR propname,
758             [out, retval] VARIANT *expression);
759
760     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
761     HRESULT removeExpression(
762             [in] BSTR propname,
763             [out, retval] VARIANT_BOOL *pfSuccess);
764
765     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
766     HRESULT position([in] BSTR v);
767
768     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
769     HRESULT position([out, retval] BSTR *p);
770
771     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
772     HRESULT unicodeBidi([in] BSTR v);
773
774     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
775     HRESULT unicodeBidi([out, retval] BSTR *p);
776
777     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
778     HRESULT bottom([in] VARIANT v);
779
780     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
781     HRESULT bottom([out, retval] VARIANT *p);
782
783     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
784     HRESULT right([in] VARIANT v);
785
786     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
787     HRESULT right([out, retval] VARIANT *p);
788
789     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
790     HRESULT pixelBottom([in] LONG v);
791
792     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
793     HRESULT pixelBottom([out, retval] LONG *p);
794
795     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
796     HRESULT pixelRight([in] LONG v);
797
798     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
799     HRESULT pixelRight([out, retval] LONG *p);
800
801     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
802     HRESULT posBottom([in] float v);
803
804     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
805     HRESULT posBottom([out, retval] float *p);
806
807     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
808     HRESULT posRight([in] float v);
809
810     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
811     HRESULT posRight([out, retval] float *p);
812
813     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
814     HRESULT imeMode([in] BSTR v);
815
816     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
817     HRESULT imeMode([out, retval] BSTR *p);
818
819     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
820     HRESULT rubyAlign([in] BSTR v);
821
822     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
823     HRESULT rubyAlign([out, retval] BSTR *p);
824
825     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
826     HRESULT rubyPosition([in] BSTR v);
827
828     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
829     HRESULT rubyPosition([out, retval] BSTR *p);
830
831     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
832     HRESULT rubyOverhang([in] BSTR v);
833
834     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
835     HRESULT rubyOverhang([out, retval] BSTR *p);
836
837     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
838     HRESULT layoutGridChar([in] VARIANT v);
839
840     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
841     HRESULT layoutGridChar([out, retval] VARIANT *p);
842
843     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
844     HRESULT layoutGridLine([in] VARIANT v);
845
846     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
847     HRESULT layoutGridLine([out, retval] VARIANT *p);
848
849     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
850     HRESULT layoutGridMode([in] BSTR v);
851
852     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
853     HRESULT layoutGridMode([out, retval] BSTR *p);
854
855     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
856     HRESULT layoutGridType([in] BSTR v);
857
858     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
859     HRESULT layoutGridType([out, retval] BSTR *p);
860
861     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
862     HRESULT layoutGrid([in] BSTR v);
863
864     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
865     HRESULT layoutGrid([out, retval] BSTR *p);
866
867     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
868     HRESULT wordBreak([in] BSTR v);
869
870     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
871     HRESULT wordBreak([out, retval] BSTR *p);
872
873     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
874     HRESULT lineBreak([in] BSTR v);
875
876     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
877     HRESULT lineBreak([out, retval] BSTR *p);
878
879     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
880     HRESULT textJustify([in] BSTR v);
881
882     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
883     HRESULT textJustify([out, retval] BSTR *p);
884
885     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
886     HRESULT textJustifyTrim([in] BSTR v);
887
888     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
889     HRESULT textJustifyTrim([out, retval] BSTR *p);
890
891     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
892     HRESULT textKashida([in] VARIANT v);
893
894     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
895     HRESULT textKashida([out, retval] VARIANT *p);
896
897     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
898     HRESULT textAutospace([in] BSTR v);
899
900     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
901     HRESULT textAutospace([out, retval] BSTR *p);
902
903     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
904     HRESULT overflowX([in] BSTR v);
905
906     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
907     HRESULT overflowX([out, retval] BSTR *p);
908
909     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
910     HRESULT overflowY([in] BSTR v);
911
912     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
913     HRESULT overflowY([out, retval] BSTR *p);
914
915     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
916     HRESULT accelerator([in] BSTR v);
917
918     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
919     HRESULT accelerator([out, retval] BSTR *p);
920 }
921
922 /*****************************************************************************
923  *    IHTMLRuleStyle interface
924  */
925 [
926     odl,
927     oleautomation,
928     dual,
929     uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
930 ]
931 interface IHTMLRuleStyle : IDispatch
932 {
933     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
934     HRESULT fontFamily([in] BSTR v);
935
936     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
937     HRESULT fontFamily([retval, out] BSTR *p);
938
939     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
940     HRESULT fontStyle([in] BSTR v);
941
942     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
943     HRESULT fontStyle([retval, out] BSTR *p);
944
945     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
946     HRESULT fontVariant([in] BSTR v);
947
948     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
949     HRESULT fontVariant([retval, out] BSTR *p);
950
951     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
952     HRESULT fontWeight([in] BSTR v);
953
954     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
955     HRESULT fontWeight([retval, out] BSTR *p);
956
957     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
958     HRESULT fontSize([in] VARIANT v);
959
960     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
961     HRESULT fontSize([retval, out] VARIANT *p);
962
963     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
964     HRESULT font([in] BSTR v);
965
966     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
967     HRESULT font([retval, out] BSTR *p);
968
969     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
970     HRESULT color([in] VARIANT v);
971
972     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
973     HRESULT color([retval, out] VARIANT *p);
974
975     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
976     HRESULT background([in] BSTR v);
977
978     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
979     HRESULT background([retval, out] BSTR *p);
980
981     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
982     HRESULT backgroundColor([in] VARIANT v);
983
984     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
985     HRESULT backgroundColor([retval, out] VARIANT *p);
986
987     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
988     HRESULT backgroundImage([in] BSTR v);
989
990     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
991     HRESULT backgroundImage([retval, out] BSTR *p);
992
993     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
994     HRESULT backgroundRepeat([in] BSTR v);
995
996     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
997     HRESULT backgroundRepeat([retval, out] BSTR *p);
998
999     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1000     HRESULT backgroundAttachment([in] BSTR v);
1001
1002     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1003     HRESULT backgroundAttachment([retval, out] BSTR *p);
1004
1005     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1006     HRESULT backgroundPosition([in] BSTR v);
1007
1008     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1009     HRESULT backgroundPosition([retval, out] BSTR *p);
1010
1011     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1012     HRESULT backgroundPositionX([in] VARIANT v);
1013
1014     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1015     HRESULT backgroundPositionX([retval, out] VARIANT *p);
1016
1017     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1018     HRESULT backgroundPositionY([in] VARIANT v);
1019
1020     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1021     HRESULT backgroundPositionY([retval, out] VARIANT *p);
1022
1023     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1024     HRESULT wordSpacing([in] VARIANT v);
1025
1026     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1027     HRESULT wordSpacing([retval, out] VARIANT *p);
1028
1029     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1030     HRESULT letterSpacing([in] VARIANT v);
1031
1032     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1033     HRESULT letterSpacing([retval, out] VARIANT *p);
1034
1035     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1036     HRESULT textDecoration([in] BSTR v);
1037
1038     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1039     HRESULT textDecoration([retval, out] BSTR *p);
1040
1041     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1042     HRESULT textDecorationNone([in] VARIANT_BOOL v);
1043
1044     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1045     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1046
1047     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1048     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1049
1050     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1051     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1052
1053     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1054     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1055
1056     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1057     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1058
1059     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1060     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1061
1062     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1063     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1064
1065     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1066     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1067
1068     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1069     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1070
1071     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1072     HRESULT verticalAlign([in] VARIANT v);
1073
1074     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1075     HRESULT verticalAlign([retval, out] VARIANT *p);
1076
1077     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1078     HRESULT textTransform([in] BSTR v);
1079
1080     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1081     HRESULT textTransform([retval, out] BSTR *p);
1082
1083     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1084     HRESULT textAlign([in] BSTR v);
1085
1086     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1087     HRESULT textAlign([retval, out] BSTR *p);
1088
1089     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1090     HRESULT textIndent([in] VARIANT v);
1091
1092     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1093     HRESULT textIndent([retval, out] VARIANT *p);
1094
1095     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1096     HRESULT lineHeight([in] VARIANT v);
1097
1098     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1099     HRESULT lineHeight([retval, out] VARIANT *p);
1100
1101     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1102     HRESULT marginTop([in] VARIANT v);
1103
1104     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1105     HRESULT marginTop([retval, out] VARIANT *p);
1106
1107     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1108     HRESULT marginRight([in] VARIANT v);
1109
1110     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1111     HRESULT marginRight([retval, out] VARIANT *p);
1112
1113     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1114     HRESULT marginBottom([in] VARIANT v);
1115
1116     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1117     HRESULT marginBottom([retval, out] VARIANT *p);
1118
1119     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1120     HRESULT marginLeft([in] VARIANT v);
1121
1122     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1123     HRESULT marginLeft([retval, out] VARIANT *p);
1124
1125     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1126     HRESULT margin([in] BSTR v);
1127
1128     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1129     HRESULT margin([retval, out] BSTR *p);
1130
1131     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1132     HRESULT paddingTop([in] VARIANT v);
1133
1134     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1135     HRESULT paddingTop([retval, out] VARIANT *p);
1136
1137     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1138     HRESULT paddingRight([in] VARIANT v);
1139
1140     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1141     HRESULT paddingRight([retval, out] VARIANT *p);
1142
1143     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1144     HRESULT paddingBottom([in] VARIANT v);
1145
1146     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1147     HRESULT paddingBottom([retval, out] VARIANT *p);
1148
1149     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1150     HRESULT paddingLeft([in] VARIANT v);
1151
1152     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1153     HRESULT paddingLeft([retval, out] VARIANT *p);
1154
1155     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1156     HRESULT padding([in] BSTR v);
1157
1158     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1159     HRESULT padding([retval, out] BSTR *p);
1160
1161     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1162     HRESULT border([in] BSTR v);
1163
1164     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1165     HRESULT border([retval, out] BSTR *p);
1166
1167     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1168     HRESULT borderTop([in] BSTR v);
1169
1170     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1171     HRESULT borderTop([retval, out] BSTR *p);
1172
1173     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1174     HRESULT borderRight([in] BSTR v);
1175
1176     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1177     HRESULT borderRight([retval, out] BSTR *p);
1178
1179     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1180     HRESULT borderBottom([in] BSTR v);
1181
1182     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1183     HRESULT borderBottom([retval, out] BSTR *p);
1184
1185     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1186     HRESULT borderLeft([in] BSTR v);
1187
1188     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1189     HRESULT borderLeft([retval, out] BSTR *p);
1190
1191     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1192     HRESULT borderColor([in] BSTR v);
1193
1194     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1195     HRESULT borderColor([retval, out] BSTR *p);
1196
1197     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1198     HRESULT borderTopColor([in] VARIANT v);
1199
1200     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1201     HRESULT borderTopColor([retval, out] VARIANT *p);
1202
1203     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1204     HRESULT borderRightColor([in] VARIANT v);
1205
1206     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1207     HRESULT borderRightColor([retval, out] VARIANT *p);
1208
1209     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1210     HRESULT borderBottomColor([in] VARIANT v);
1211
1212     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1213     HRESULT borderBottomColor([retval, out] VARIANT *p);
1214
1215     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1216     HRESULT borderLeftColor([in] VARIANT v);
1217
1218     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1219     HRESULT borderLeftColor([retval, out] VARIANT *p);
1220
1221     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1222     HRESULT borderWidth([in] BSTR v);
1223
1224     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1225     HRESULT borderWidth([retval, out] BSTR *p);
1226
1227     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1228     HRESULT borderTopWidth([in] VARIANT v);
1229
1230     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1231     HRESULT borderTopWidth([retval, out] VARIANT *p);
1232
1233     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1234     HRESULT borderRightWidth([in] VARIANT v);
1235
1236     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1237     HRESULT borderRightWidth([retval, out] VARIANT *p);
1238
1239     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1240     HRESULT borderBottomWidth([in] VARIANT v);
1241
1242     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1243     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1244
1245     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1246     HRESULT borderLeftWidth([in] VARIANT v);
1247
1248     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1249     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1250
1251     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1252     HRESULT borderStyle([in] BSTR v);
1253
1254     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1255     HRESULT borderStyle([retval, out] BSTR *p);
1256
1257     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1258     HRESULT borderTopStyle([in] BSTR v);
1259
1260     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1261     HRESULT borderTopStyle([retval, out] BSTR *p);
1262
1263     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1264     HRESULT borderRightStyle([in] BSTR v);
1265
1266     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1267     HRESULT borderRightStyle([retval, out] BSTR *p);
1268
1269     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1270     HRESULT borderBottomStyle([in] BSTR v);
1271
1272     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1273     HRESULT borderBottomStyle([retval, out] BSTR *p);
1274
1275     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1276     HRESULT borderLeftStyle([in] BSTR v);
1277
1278     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1279     HRESULT borderLeftStyle([retval, out] BSTR *p);
1280
1281     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1282     HRESULT width([in] VARIANT v);
1283
1284     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1285     HRESULT width([retval, out] VARIANT *p);
1286
1287     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1288     HRESULT height([in] VARIANT v);
1289
1290     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1291     HRESULT height([retval, out] VARIANT *p);
1292
1293     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1294     HRESULT styleFloat([in] BSTR v);
1295
1296     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1297     HRESULT styleFloat([retval, out] BSTR *p);
1298
1299     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1300     HRESULT clear([in] BSTR v);
1301
1302     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1303     HRESULT clear([retval, out] BSTR *p);
1304
1305     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1306     HRESULT display([in] BSTR v);
1307
1308     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1309     HRESULT display([retval, out] BSTR *p);
1310
1311     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1312     HRESULT visibility([in] BSTR v);
1313
1314     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1315     HRESULT visibility([retval, out] BSTR *p);
1316
1317     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1318     HRESULT listStyleType([in] BSTR v);
1319
1320     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1321     HRESULT listStyleType([retval, out] BSTR *p);
1322
1323     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1324     HRESULT listStylePosition([in] BSTR v);
1325
1326     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1327     HRESULT listStylePosition([retval, out] BSTR *p);
1328
1329     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1330     HRESULT listStyleImage([in] BSTR v);
1331
1332     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1333     HRESULT listStyleImage([retval, out] BSTR *p);
1334
1335     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1336     HRESULT listStyle([in] BSTR v);
1337
1338     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1339     HRESULT listStyle([retval, out] BSTR *p);
1340
1341     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1342     HRESULT whiteSpace([in] BSTR v);
1343
1344     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1345     HRESULT whiteSpace([retval, out] BSTR *p);
1346
1347     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1348     HRESULT top([in] VARIANT v);
1349
1350     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1351     HRESULT top([retval, out] VARIANT *p);
1352
1353     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1354     HRESULT left([in] VARIANT v);
1355
1356     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1357     HRESULT left([retval, out] VARIANT *p);
1358
1359     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1360     HRESULT position([retval, out] BSTR *p);
1361
1362     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1363     HRESULT zIndex([in] VARIANT v);
1364
1365     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1366     HRESULT zIndex([retval, out] VARIANT *p);
1367
1368     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1369     HRESULT overflow([in] BSTR v);
1370
1371     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1372     HRESULT overflow([retval, out] BSTR *p);
1373
1374     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1375     HRESULT pageBreakBefore([in] BSTR v);
1376
1377     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1378     HRESULT pageBreakBefore([retval, out] BSTR *p);
1379
1380     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1381     HRESULT pageBreakAfter([in] BSTR v);
1382
1383     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1384     HRESULT pageBreakAfter([retval, out] BSTR *p);
1385
1386     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1387     HRESULT cssText([in] BSTR v);
1388
1389     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1390     HRESULT cssText([retval, out] BSTR *p);
1391
1392     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1393     HRESULT cursor([in] BSTR v);
1394
1395     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1396     HRESULT cursor([retval, out] BSTR *p);
1397
1398     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1399     HRESULT clip([in] BSTR v);
1400
1401     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1402     HRESULT clip([retval, out] BSTR *p);
1403
1404     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1405     HRESULT filter([in] BSTR v);
1406
1407     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1408     HRESULT filter([retval, out] BSTR *p);
1409
1410     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1411     HRESULT setAttribute(
1412         [in] BSTR strAttributeName,
1413         [in] VARIANT AttributeValue,
1414         [defaultvalue(1), in] LONG lFlags);
1415
1416     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1417     HRESULT getAttribute(
1418         [in] BSTR strAttributeName,
1419         [defaultvalue(0), in] LONG lFlags,
1420         [retval, out] VARIANT *AttributeValue);
1421
1422     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1423     HRESULT removeAttribute(
1424         [in] BSTR strAttributeName,
1425         [defaultvalue(1), in] LONG lFlags,
1426         [retval, out] VARIANT_BOOL *pfSuccess);
1427 }
1428
1429 /*****************************************************************************
1430  *    DispHTMLStyle dispinterface
1431  */
1432 [
1433     hidden,
1434     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1435 ]
1436 dispinterface DispHTMLStyle
1437 {
1438 properties:
1439 methods:
1440     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1441     void fontFamily(BSTR v);
1442
1443     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1444     BSTR fontFamily();
1445
1446     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1447     void fontStyle(BSTR v);
1448
1449     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1450     BSTR fontStyle();
1451
1452     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1453     void fontVariant(BSTR v);
1454
1455     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1456     BSTR fontVariant();
1457
1458     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1459     void fontWeight(BSTR v);
1460
1461     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1462     BSTR fontWeight();
1463
1464     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1465     void fontSize(VARIANT v);
1466
1467     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1468     VARIANT fontSize();
1469
1470     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1471     void font(BSTR v);
1472
1473     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1474     BSTR font();
1475
1476     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1477     void color(VARIANT v);
1478
1479     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1480     VARIANT color();
1481
1482     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1483     void background(BSTR v);
1484
1485     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1486     BSTR background();
1487
1488     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1489     void backgroundColor(VARIANT v);
1490
1491     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1492     VARIANT backgroundColor();
1493
1494     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1495     void backgroundImage(BSTR v);
1496
1497     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1498     BSTR backgroundImage();
1499
1500     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1501     void backgroundRepeat(BSTR v);
1502
1503     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1504     BSTR backgroundRepeat();
1505
1506     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1507     void backgroundAttachment(BSTR v);
1508
1509     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1510     BSTR backgroundAttachment();
1511
1512     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1513     void backgroundPosition(BSTR v);
1514
1515     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1516     BSTR backgroundPosition();
1517
1518     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1519     void backgroundPositionX(VARIANT v);
1520
1521     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1522     VARIANT backgroundPositionX();
1523
1524     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1525     void backgroundPositionY(VARIANT v);
1526
1527     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1528     VARIANT backgroundPositionY();
1529
1530     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1531     void wordSpacing(VARIANT v);
1532
1533     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1534     VARIANT wordSpacing();
1535
1536     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1537     void letterSpacing(VARIANT v);
1538
1539     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1540     VARIANT letterSpacing();
1541
1542     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1543     void textDecoration(BSTR v);
1544
1545     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1546     BSTR textDecoration();
1547
1548     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1549     void textDecorationNone(VARIANT_BOOL v);
1550
1551     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1552     VARIANT_BOOL textDecorationNone();
1553
1554     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1555     void textDecorationUnderline(VARIANT_BOOL v);
1556
1557     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1558     VARIANT_BOOL textDecorationUnderline();
1559
1560     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1561     void textDecorationOverline(VARIANT_BOOL v);
1562
1563     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1564     VARIANT_BOOL textDecorationOverline();
1565
1566     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1567     void textDecorationLineThrough(VARIANT_BOOL v);
1568
1569     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1570     VARIANT_BOOL textDecorationLineThrough();
1571
1572     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1573     void textDecorationBlink(VARIANT_BOOL v);
1574
1575     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1576     VARIANT_BOOL textDecorationBlink();
1577
1578     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1579     void verticalAlign(VARIANT v);
1580
1581     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1582     VARIANT verticalAlign();
1583
1584     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1585     void textTransform(BSTR v);
1586
1587     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1588     BSTR textTransform();
1589
1590     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1591     void textAlign(BSTR v);
1592
1593     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1594     BSTR textAlign();
1595
1596     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1597     void textIndent(VARIANT v);
1598
1599     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1600     VARIANT textIndent();
1601
1602     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1603     void lineHeight(VARIANT v);
1604
1605     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1606     VARIANT lineHeight();
1607
1608     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1609     void marginTop(VARIANT v);
1610
1611     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1612     VARIANT marginTop();
1613
1614     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1615     void marginRight(VARIANT v);
1616
1617     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1618     VARIANT marginRight();
1619
1620     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1621     void marginBottom(VARIANT v);
1622
1623     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1624     VARIANT marginBottom();
1625
1626     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1627     void marginLeft(VARIANT v);
1628
1629     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1630     VARIANT marginLeft();
1631
1632     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1633     void margin(BSTR v);
1634
1635     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1636     BSTR margin();
1637
1638     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1639     void paddingTop(VARIANT v);
1640
1641     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1642     VARIANT paddingTop();
1643
1644     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1645     void paddingRight(VARIANT v);
1646
1647     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1648     VARIANT paddingRight();
1649
1650     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1651     void paddingBottom(VARIANT v);
1652
1653     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1654     VARIANT paddingBottom();
1655
1656     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1657     void paddingLeft(VARIANT v);
1658
1659     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1660     VARIANT paddingLeft();
1661
1662     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1663     void padding(BSTR v);
1664
1665     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1666     BSTR padding();
1667
1668     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1669     void border(BSTR v);
1670
1671     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1672     BSTR border();
1673
1674     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1675     void borderTop(BSTR v);
1676
1677     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1678     BSTR borderTop();
1679
1680     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1681     void borderRight(BSTR v);
1682
1683     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1684     BSTR borderRight();
1685
1686     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1687     void borderBottom(BSTR v);
1688
1689     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1690     BSTR borderBottom();
1691
1692     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1693     void borderLeft(BSTR v);
1694
1695     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1696     BSTR borderLeft();
1697
1698     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1699     void borderColor(BSTR v);
1700
1701     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1702     BSTR borderColor();
1703
1704     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1705     void borderTopColor(VARIANT v);
1706
1707     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1708     VARIANT borderTopColor();
1709
1710     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1711     void borderRightColor(VARIANT v);
1712
1713     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1714     VARIANT borderRightColor();
1715
1716     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1717     void borderBottomColor(VARIANT v);
1718
1719     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1720     VARIANT borderBottomColor();
1721
1722     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1723     void borderLeftColor(VARIANT v);
1724
1725     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1726     VARIANT borderLeftColor();
1727
1728     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1729     void borderWidth(BSTR v);
1730
1731     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1732     BSTR borderWidth();
1733
1734     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1735     void borderTopWidth(VARIANT v);
1736
1737     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1738     VARIANT borderTopWidth();
1739
1740     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1741     void borderRightWidth(VARIANT v);
1742
1743     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1744     VARIANT borderRightWidth();
1745
1746     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1747     void borderBottomWidth(VARIANT v);
1748
1749     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1750     VARIANT borderBottomWidth();
1751
1752     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1753     void borderLeftWidth(VARIANT v);
1754
1755     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1756     VARIANT borderLeftWidth();
1757
1758     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1759     void borderStyle(BSTR v);
1760
1761     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1762     BSTR borderStyle();
1763
1764     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1765     void borderTopStyle(BSTR v);
1766
1767     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1768     BSTR borderTopStyle();
1769
1770     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1771     void borderRightStyle(BSTR v);
1772
1773     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1774     BSTR borderRightStyle();
1775
1776     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1777     void borderBottomStyle(BSTR v);
1778
1779     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1780     BSTR borderBottomStyle();
1781
1782     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1783     void borderLeftStyle(BSTR v);
1784
1785     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1786     BSTR borderLeftStyle();
1787
1788     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1789     void width(VARIANT v);
1790
1791     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1792     VARIANT width();
1793
1794     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1795     void height(VARIANT v);
1796
1797     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1798     VARIANT height();
1799
1800     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1801     void styleFloat(BSTR v);
1802
1803     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1804     BSTR styleFloat();
1805
1806     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1807     void clear(BSTR v);
1808
1809     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1810     BSTR clear();
1811
1812     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1813     void display(BSTR v);
1814
1815     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1816     BSTR display();
1817
1818     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1819     void visibility(BSTR v);
1820
1821     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1822     BSTR visibility();
1823
1824     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1825     void listStyleType(BSTR v);
1826
1827     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1828     BSTR listStyleType();
1829
1830     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1831     void listStylePosition(BSTR v);
1832
1833     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1834     BSTR listStylePosition();
1835
1836     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1837     void listStyleImage(BSTR v);
1838
1839     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1840     BSTR listStyleImage();
1841
1842     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1843     void listStyle(BSTR v);
1844
1845     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1846     BSTR listStyle();
1847
1848     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1849     void whiteSpace(BSTR v);
1850
1851     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1852     BSTR whiteSpace();
1853
1854     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1855     void top(VARIANT v);
1856
1857     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1858     VARIANT top();
1859
1860     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1861     void left(VARIANT v);
1862
1863     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1864     VARIANT left();
1865
1866     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1867     void zIndex(VARIANT v);
1868
1869     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1870     VARIANT zIndex();
1871
1872     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1873     void overflow(BSTR v);
1874
1875     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1876     BSTR overflow();
1877
1878     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1879     void pageBreakBefore(BSTR v);
1880
1881     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1882     BSTR pageBreakBefore();
1883
1884     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1885     void pageBreakAfter(BSTR v);
1886
1887     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1888     BSTR pageBreakAfter();
1889
1890     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1891     void cssText(BSTR v);
1892
1893     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1894     BSTR cssText();
1895
1896     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1897     void pixelTop(LONG v);
1898
1899     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1900     LONG pixelTop();
1901
1902     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1903     void pixelLeft(LONG v);
1904
1905     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1906     LONG pixelLeft();
1907
1908     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1909     void pixelWidth(LONG v);
1910
1911     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1912     LONG pixelWidth();
1913
1914     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1915     void pixelHeight(LONG v);
1916
1917     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1918     LONG pixelHeight();
1919
1920     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1921     void posTop(float v);
1922
1923     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1924     float posTop();
1925
1926     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1927     void posLeft(float v);
1928
1929     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1930     float posLeft();
1931
1932     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1933     void posWidth(float v);
1934
1935     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1936     float posWidth();
1937
1938     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1939     void posHeight(float v);
1940
1941     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1942     float posHeight();
1943
1944     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1945     void cursor(BSTR v);
1946
1947     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1948     BSTR cursor();
1949
1950     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1951     void clip(BSTR v);
1952
1953     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1954     BSTR clip();
1955
1956     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1957     void filter(BSTR v);
1958
1959     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1960     BSTR filter();
1961
1962     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1963     void setAttribute(
1964             [in] BSTR strAttributeName,
1965             [in] VARIANT AttributeValue,
1966             [in, defaultvalue(1)] LONG lFlags);
1967
1968     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1969     VARIANT getAttribute(
1970             [in] BSTR strAttributeName,
1971             [in, defaultvalue(0)] LONG lFlags);
1972
1973     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1974     VARIANT_BOOL removeAttribute(
1975             [in] BSTR strAttributeName,
1976             [in, defaultvalue(1)] LONG lFlags);
1977
1978     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1979     BSTR toString();
1980
1981     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1982     void tableLayout(BSTR v);
1983
1984     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1985     BSTR tableLayout();
1986
1987     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1988     void borderCollapse(BSTR v);
1989
1990     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1991     BSTR borderCollapse();
1992
1993     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1994     void direction(BSTR v);
1995
1996     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1997     BSTR direction();
1998
1999     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2000     void behavior(BSTR v);
2001
2002     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2003     BSTR behavior();
2004
2005     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
2006     void setExpression(
2007             [in] BSTR propname,
2008             [in] BSTR expression,
2009             [in, defaultvalue("")] BSTR language);
2010
2011     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
2012     VARIANT getExpression([in] BSTR propname);
2013
2014     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
2015     VARIANT_BOOL removeExpression([in] BSTR propname);
2016
2017     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2018     void position(BSTR v);
2019
2020     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2021     BSTR position();
2022
2023     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2024     void unicodeBidi(BSTR v);
2025
2026     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2027     BSTR unicodeBidi();
2028
2029     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2030     void bottom(VARIANT v);
2031
2032     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2033     VARIANT bottom();
2034
2035     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2036     void right(VARIANT v);
2037
2038     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2039     VARIANT right();
2040
2041     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2042     void pixelBottom(LONG v);
2043
2044     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2045     LONG pixelBottom();
2046
2047     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2048     void pixelRight(LONG v);
2049
2050     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2051     LONG pixelRight();
2052
2053     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2054     void posBottom(float v);
2055
2056     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2057     float posBottom();
2058
2059     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2060     void posRight(float v);
2061
2062     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2063     float posRight();
2064
2065     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2066     void imeMode(BSTR v);
2067
2068     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2069     BSTR imeMode();
2070
2071     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2072     void rubyAlign(BSTR v);
2073
2074     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2075     BSTR rubyAlign();
2076
2077     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2078     void rubyPosition(BSTR v);
2079
2080     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2081     BSTR rubyPosition();
2082
2083     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2084     void rubyOverhang(BSTR v);
2085
2086     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2087     BSTR rubyOverhang();
2088
2089     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2090     void layoutGridChar(VARIANT v);
2091
2092     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2093     VARIANT layoutGridChar();
2094
2095     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2096     void layoutGridLine(VARIANT v);
2097
2098     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2099     VARIANT layoutGridLine();
2100
2101     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2102     void layoutGridMode(BSTR v);
2103
2104     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2105     BSTR layoutGridMode();
2106
2107     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2108     void layoutGridType(BSTR v);
2109
2110     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2111     BSTR layoutGridType();
2112
2113     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2114     void layoutGrid(BSTR v);
2115
2116     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2117     BSTR layoutGrid();
2118
2119     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2120     void wordBreak(BSTR v);
2121
2122     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2123     BSTR wordBreak();
2124
2125     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2126     void lineBreak(BSTR v);
2127
2128     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2129     BSTR lineBreak();
2130
2131     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2132     void textJustify(BSTR v);
2133
2134     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2135     BSTR textJustify();
2136
2137     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2138     void textJustifyTrim(BSTR v);
2139
2140     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2141     BSTR textJustifyTrim();
2142
2143     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2144     void textKashida(VARIANT v);
2145
2146     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2147     VARIANT textKashida();
2148
2149     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2150     void textAutospace(BSTR v);
2151
2152     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2153     BSTR textAutospace();
2154
2155     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2156     void overflowX(BSTR v);
2157
2158     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2159     BSTR overflowX();
2160
2161     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2162     void overflowY(BSTR v);
2163
2164     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2165     BSTR overflowY();
2166
2167     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2168     void accelerator(BSTR v);
2169
2170     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2171     BSTR accelerator();
2172
2173     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2174     void layoutFlow(BSTR v);
2175
2176     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2177     BSTR layoutFlow();
2178
2179     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2180     void zoom(VARIANT v);
2181
2182     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2183     VARIANT zoom();
2184
2185     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2186     void wordWrap(BSTR v);
2187
2188     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2189     BSTR wordWrap();
2190
2191     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2192     void textUnderlinePosition(BSTR v);
2193
2194     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2195     BSTR textUnderlinePosition();
2196
2197     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2198     void scrollbarBaseColor(VARIANT v);
2199
2200     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2201     VARIANT scrollbarBaseColor();
2202
2203     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2204     void scrollbarFaceColor(VARIANT v);
2205
2206     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2207     VARIANT scrollbarFaceColor();
2208
2209     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2210     void scrollbar3dLightColor(VARIANT v);
2211
2212     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2213     VARIANT scrollbar3dLightColor();
2214
2215     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2216     void scrollbarShadowColor(VARIANT v);
2217
2218     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2219     VARIANT scrollbarShadowColor();
2220
2221     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2222     void scrollbarHighlightColor(VARIANT v);
2223
2224     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2225     VARIANT scrollbarHighlightColor();
2226
2227     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2228     void scrollbarDarkShadowColor(VARIANT v);
2229
2230     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2231     VARIANT scrollbarDarkShadowColor();
2232
2233     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2234     void scrollbarArrowColor(VARIANT v);
2235
2236     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2237     VARIANT scrollbarArrowColor();
2238
2239     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2240     void scrollbarTrackColor(VARIANT v);
2241
2242     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2243     VARIANT scrollbarTrackColor();
2244
2245     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2246     void writingMode(BSTR v);
2247
2248     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2249     BSTR writingMode();
2250
2251     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2252     void textAlignLast(BSTR v);
2253
2254     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2255     BSTR textAlignLast();
2256
2257     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2258     void textKashidaSpace(VARIANT v);
2259
2260     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2261     VARIANT textKashidaSpace();
2262
2263     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2264     void textOverflow(BSTR v);
2265
2266     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2267     BSTR textOverflow();
2268
2269     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2270     void minHeight(VARIANT v);
2271
2272     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2273     VARIANT minHeight();
2274 }
2275
2276 [
2277     odl,
2278     oleautomation,
2279     dual,
2280     uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2281 ]
2282 interface IHTMLStyle3 : IDispatch
2283 {
2284     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2285     HRESULT layoutFlow([in] BSTR v);
2286
2287     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2288     HRESULT layoutFlow([retval, out] BSTR * p);
2289
2290     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2291     HRESULT zoom([in] VARIANT v);
2292
2293     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2294     HRESULT zoom([retval, out] VARIANT * p);
2295
2296     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2297     HRESULT wordWrap([in] BSTR v);
2298
2299     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2300     HRESULT wordWrap([retval, out] BSTR * p);
2301
2302     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2303     HRESULT textUnderlinePosition([in] BSTR v);
2304
2305     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2306     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2307
2308     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2309     HRESULT scrollbarBaseColor([in] VARIANT v);
2310
2311     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2312     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2313
2314     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2315     HRESULT scrollbarFaceColor([in] VARIANT v);
2316
2317     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2318     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2319
2320     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2321     HRESULT scrollbar3dLightColor([in] VARIANT v);
2322
2323     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2324     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2325
2326     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2327     HRESULT scrollbarShadowColor([in] VARIANT v);
2328
2329     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2330     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2331
2332     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2333     HRESULT scrollbarHighlightColor([in] VARIANT v);
2334
2335     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2336     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2337
2338     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2339     HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2340
2341     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2342     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2343
2344     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2345     HRESULT scrollbarArrowColor([in] VARIANT v);
2346
2347     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2348     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2349
2350     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2351     HRESULT scrollbarTrackColor([in] VARIANT v);
2352
2353     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2354     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2355
2356     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2357     HRESULT writingMode([in] BSTR v);
2358
2359     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2360     HRESULT writingMode([retval, out] BSTR * p);
2361
2362     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2363     HRESULT textAlignLast([in] BSTR v);
2364
2365     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2366     HRESULT textAlignLast([retval, out] BSTR * p);
2367
2368     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2369     HRESULT textKashidaSpace([in] VARIANT v);
2370
2371     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2372     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2373 }
2374
2375 /*****************************************************************************
2376  *    IHTMLSytyle4 interface
2377  */
2378 [
2379     odl,
2380     oleautomation,
2381     dual,
2382     uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2383 ]
2384 interface IHTMLStyle4 : IDispatch
2385 {
2386     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2387     HRESULT textOverflow([in] BSTR v);
2388
2389     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2390     HRESULT textOverflow([retval, out] BSTR * p);
2391
2392     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2393     HRESULT minHeight([in] VARIANT v);
2394
2395     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2396     HRESULT minHeight([retval, out] VARIANT * p);
2397 }
2398
2399 [
2400     noncreatable,
2401     uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2402 ]
2403 coclass HTMLStyle
2404 {
2405     [default] dispinterface DispHTMLStyle;
2406     interface IHTMLStyle;
2407     interface IHTMLStyle2;
2408     interface IHTMLStyle3;
2409     interface IHTMLStyle4;
2410     /* interface IHTMLStyle5; */
2411 }
2412
2413 /*****************************************************************************
2414  *    IHTMLRenderStyle interface
2415  */
2416 [
2417     odl,
2418     oleautomation,
2419     dual,
2420     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2421 ]
2422 interface IHTMLRenderStyle : IDispatch
2423 {
2424     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2425     HRESULT textLineThroughStyle([in] BSTR v);
2426
2427     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2428     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2429
2430     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2431     HRESULT textUnderlineStyle([in] BSTR v);
2432
2433     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2434     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2435
2436     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2437     HRESULT textEffect([in] BSTR v);
2438
2439     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2440     HRESULT textEffect([retval, out] BSTR *p);
2441
2442     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2443     HRESULT textColor([in] VARIANT v);
2444
2445     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2446     HRESULT textColor([retval, out] VARIANT *p);
2447
2448     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2449     HRESULT textBackgroundColor([in] VARIANT v);
2450
2451     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2452     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2453
2454     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2455     HRESULT textDecorationColor([in] VARIANT v);
2456
2457     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2458     HRESULT textDecorationColor([retval, out] VARIANT *p);
2459
2460     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2461     HRESULT renderingPriority([in] LONG v);
2462
2463     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2464     HRESULT renderingPriority([retval, out] LONG *p);
2465
2466     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2467     HRESULT defaultTextSelection([in] BSTR v);
2468
2469     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2470     HRESULT defaultTextSelection([retval, out] BSTR *p);
2471
2472     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2473     HRESULT textDecoration([in] BSTR v);
2474
2475     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2476     HRESULT textDecoration([retval, out] BSTR *p);
2477 }
2478
2479 /*****************************************************************************
2480  *    IHTMLCurrentStyle interface
2481  */
2482 [
2483     odl,
2484     oleautomation,
2485     dual,
2486     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2487 ]
2488 interface IHTMLCurrentStyle : IDispatch
2489 {
2490     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2491     HRESULT position([retval, out] BSTR *p);
2492
2493     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2494     HRESULT styleFloat([retval, out] BSTR *p);
2495
2496     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2497     HRESULT color([retval, out] VARIANT *p);
2498
2499     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2500     HRESULT backgroundColor([retval, out] VARIANT *p);
2501
2502     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2503     HRESULT fontFamily([retval, out] BSTR *p);
2504
2505     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2506     HRESULT fontStyle([retval, out] BSTR *p);
2507
2508     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2509     HRESULT fontVariant([retval, out] BSTR *p);
2510
2511     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2512     HRESULT fontWeight([retval, out] VARIANT *p);
2513
2514     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2515     HRESULT fontSize([retval, out] VARIANT *p);
2516
2517     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2518     HRESULT backgroundImage([retval, out] BSTR *p);
2519
2520     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2521     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2522
2523     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2524     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2525
2526     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2527     HRESULT backgroundRepeat([retval, out] BSTR *p);
2528
2529     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2530     HRESULT borderLeftColor([retval, out] VARIANT *p);
2531
2532     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2533     HRESULT borderTopColor([retval, out] VARIANT *p);
2534
2535     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2536     HRESULT borderRightColor([retval, out] VARIANT *p);
2537
2538     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2539     HRESULT borderBottomColor([retval, out] VARIANT *p);
2540
2541     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2542     HRESULT borderTopStyle([retval, out] BSTR *p);
2543
2544     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2545     HRESULT borderRightStyle([retval, out] BSTR *p);
2546
2547     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2548     HRESULT borderBottomStyle([retval, out] BSTR *p);
2549
2550     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2551     HRESULT borderLeftStyle([retval, out] BSTR *p);
2552
2553     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2554     HRESULT borderTopWidth([retval, out] VARIANT *p);
2555
2556     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2557     HRESULT borderRightWidth([retval, out] VARIANT *p);
2558
2559     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2560     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2561
2562     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2563     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2564
2565     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2566     HRESULT left([retval, out] VARIANT *p);
2567
2568     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2569     HRESULT top([retval, out] VARIANT *p);
2570
2571     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2572     HRESULT width([retval, out] VARIANT *p);
2573
2574     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2575     HRESULT height([retval, out] VARIANT *p);
2576
2577     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2578     HRESULT paddingLeft([retval, out] VARIANT *p);
2579
2580     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2581     HRESULT paddingTop([retval, out] VARIANT *p);
2582
2583     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2584     HRESULT paddingRight([retval, out] VARIANT *p);
2585
2586     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2587     HRESULT paddingBottom([retval, out] VARIANT *p);
2588
2589     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2590     HRESULT textAlign([retval, out] BSTR *p);
2591
2592     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2593     HRESULT textDecoration([retval, out] BSTR *p);
2594
2595     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2596     HRESULT display([retval, out] BSTR *p);
2597
2598     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2599     HRESULT visibility([retval, out] BSTR *p);
2600
2601     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2602     HRESULT zIndex([retval, out] VARIANT *p);
2603
2604     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2605     HRESULT letterSpacing([retval, out] VARIANT *p);
2606
2607     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2608     HRESULT lineHeight([retval, out] VARIANT *p);
2609
2610     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2611     HRESULT textIndent([retval, out] VARIANT *p);
2612
2613     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2614     HRESULT verticalAlign([retval, out] VARIANT *p);
2615
2616     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2617     HRESULT backgroundAttachment([retval, out] BSTR *p);
2618
2619     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2620     HRESULT marginTop([retval, out] VARIANT *p);
2621
2622     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2623     HRESULT marginRight([retval, out] VARIANT *p);
2624
2625     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2626     HRESULT marginBottom([retval, out] VARIANT *p);
2627
2628     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2629     HRESULT marginLeft([retval, out] VARIANT *p);
2630
2631     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2632     HRESULT clear([retval, out] BSTR *p);
2633
2634     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2635     HRESULT listStyleType([retval, out] BSTR *p);
2636
2637     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2638     HRESULT listStylePosition([retval, out] BSTR *p);
2639
2640     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2641     HRESULT listStyleImage([retval, out] BSTR *p);
2642
2643     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2644     HRESULT clipTop([retval, out] VARIANT *p);
2645
2646     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2647     HRESULT clipRight([retval, out] VARIANT *p);
2648
2649     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2650     HRESULT clipBottom([retval, out] VARIANT *p);
2651
2652     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2653     HRESULT clipLeft([retval, out] VARIANT *p);
2654
2655     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2656     HRESULT overflow([retval, out] BSTR *p);
2657
2658     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2659     HRESULT pageBreakBefore([retval, out] BSTR *p);
2660
2661     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2662     HRESULT pageBreakAfter([retval, out] BSTR *p);
2663
2664     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2665     HRESULT cursor([retval, out] BSTR *p);
2666
2667     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2668     HRESULT tableLayout([retval, out] BSTR *p);
2669
2670     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2671     HRESULT borderCollapse([retval, out] BSTR *p);
2672
2673     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2674     HRESULT direction([retval, out] BSTR *p);
2675
2676     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2677     HRESULT behavior([retval, out] BSTR *p);
2678
2679     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2680     HRESULT getAttribute(
2681         [in] BSTR strAttributeName,
2682         [defaultvalue(0), in] LONG lFlags,
2683         [retval, out] VARIANT *AttributeValue);
2684
2685     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2686     HRESULT unicodeBidi([retval, out] BSTR *p);
2687
2688     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2689     HRESULT right([retval, out] VARIANT *p);
2690
2691     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2692     HRESULT bottom([retval, out] VARIANT *p);
2693
2694     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2695     HRESULT imeMode([retval, out] BSTR *p);
2696
2697     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2698     HRESULT rubyAlign([retval, out] BSTR *p);
2699
2700     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2701     HRESULT rubyPosition([retval, out] BSTR *p);
2702
2703     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2704     HRESULT rubyOverhang([retval, out] BSTR *p);
2705
2706     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2707     HRESULT textAutospace([retval, out] BSTR *p);
2708
2709     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2710     HRESULT lineBreak([retval, out] BSTR *p);
2711
2712     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2713     HRESULT wordBreak([retval, out] BSTR *p);
2714
2715     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2716     HRESULT textJustify([retval, out] BSTR *p);
2717
2718     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2719     HRESULT textJustifyTrim([retval, out] BSTR *p);
2720
2721     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2722     HRESULT textKashida([retval, out] VARIANT *p);
2723
2724     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2725     HRESULT blockDirection([retval, out] BSTR *p);
2726
2727     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2728     HRESULT layoutGridChar([retval, out] VARIANT *p);
2729
2730     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
2731     HRESULT layoutGridLine([retval, out] VARIANT *p);
2732
2733     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
2734     HRESULT layoutGridMode([retval, out] BSTR *p);
2735
2736     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
2737     HRESULT layoutGridType([retval, out] BSTR *p);
2738
2739     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
2740     HRESULT borderStyle([retval, out] BSTR *p);
2741
2742     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
2743     HRESULT borderColor([retval, out] BSTR *p);
2744
2745     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
2746     HRESULT borderWidth([retval, out] BSTR *p);
2747
2748     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
2749     HRESULT padding([retval, out] BSTR *p);
2750
2751     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
2752     HRESULT margin([retval, out] BSTR *p);
2753
2754     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
2755     HRESULT accelerator([retval, out] BSTR *p);
2756
2757     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
2758     HRESULT overflowX([retval, out] BSTR *p);
2759
2760     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
2761     HRESULT overflowY([retval, out] BSTR *p);
2762
2763     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
2764     HRESULT textTransform([retval, out] BSTR *p);
2765 }
2766
2767 /*****************************************************************************
2768  *    IHTMLCurrentStyle2 interface
2769  */
2770 [
2771     odl,
2772     oleautomation,
2773     dual,
2774     uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
2775 ]
2776 interface IHTMLCurrentStyle2 : IDispatch
2777 {
2778     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
2779     HRESULT layoutFlow([retval, out] BSTR * p);
2780
2781     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
2782     HRESULT wordWrap([retval, out] BSTR * p);
2783
2784     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
2785     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2786
2787     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
2788     HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
2789
2790     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
2791     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2792
2793     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
2794     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2795
2796     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2797     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2798
2799     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2800     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2801
2802     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2803     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2804
2805     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2806     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2807
2808     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
2809     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2810
2811     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
2812     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2813
2814     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
2815     HRESULT writingMode([retval, out] BSTR * p);
2816
2817     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
2818     HRESULT zoom([retval, out] VARIANT * p);
2819
2820     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
2821     HRESULT filter([retval, out] BSTR * p);
2822
2823     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
2824     HRESULT textAlignLast([retval, out] BSTR * p);
2825
2826     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
2827     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2828
2829     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
2830     HRESULT isBlock([retval, out] VARIANT_BOOL * p);
2831 }
2832
2833 /*****************************************************************************
2834  *    IHTMLCurrentStyle3 interface
2835  */
2836 [
2837     odl,
2838     oleautomation,
2839     dual,
2840     uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
2841 ]
2842 interface IHTMLCurrentStyle3 : IDispatch
2843 {
2844     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
2845     HRESULT textOverflow([retval, out] BSTR * p);
2846
2847     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
2848     HRESULT minHeight([retval, out] VARIANT * p);
2849
2850     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
2851     HRESULT wordSpacing([retval, out] VARIANT * p);
2852
2853     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
2854     HRESULT whiteSpace([retval, out] BSTR * p);
2855 }
2856
2857 /*****************************************************************************
2858  *    IHTMLCurrentStyle4 interface
2859  */
2860 [
2861     odl,
2862     oleautomation,
2863     dual,
2864     uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
2865 ]
2866 interface IHTMLCurrentStyle4 : IDispatch
2867 {
2868     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
2869     HRESULT msInterpolationMode([retval, out] BSTR * p);
2870
2871     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
2872     HRESULT maxHeight([retval, out] VARIANT * p);
2873
2874     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
2875     HRESULT minWidth([retval, out] VARIANT * p);
2876
2877     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
2878     HRESULT maxWidth([retval, out] VARIANT * p);
2879 }
2880
2881 /*****************************************************************************
2882  *    DispHTMLCurrentStyle dispinterface
2883  */
2884 [
2885     hidden,
2886     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
2887 ]
2888 dispinterface DispHTMLCurrentStyle
2889 {
2890 properties:
2891 methods:
2892     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2893     BSTR position();
2894
2895     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2896     BSTR styleFloat();
2897
2898     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2899     VARIANT color();
2900
2901     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2902     VARIANT backgroundColor();
2903
2904     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2905     BSTR fontFamily();
2906
2907     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2908     BSTR fontStyle();
2909
2910     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2911     BSTR fontVariant();
2912
2913     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2914     VARIANT fontWeight();
2915
2916     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2917     VARIANT fontSize();
2918
2919     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2920     BSTR backgroundImage();
2921
2922     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2923     VARIANT backgroundPositionX();
2924
2925     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2926     VARIANT backgroundPositionY();
2927
2928     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2929     BSTR backgroundRepeat();
2930
2931     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2932     VARIANT borderLeftColor();
2933
2934     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2935     VARIANT borderTopColor();
2936
2937     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2938     VARIANT borderRightColor();
2939
2940     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2941     VARIANT borderBottomColor();
2942
2943     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2944     BSTR borderTopStyle();
2945
2946     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2947     BSTR borderRightStyle();
2948
2949     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2950     BSTR borderBottomStyle();
2951
2952     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2953     BSTR borderLeftStyle();
2954
2955     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2956     VARIANT borderTopWidth();
2957
2958     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2959     VARIANT borderRightWidth();
2960
2961     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2962     VARIANT borderBottomWidth();
2963
2964     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2965     VARIANT borderLeftWidth();
2966
2967     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2968     VARIANT left();
2969
2970     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2971     VARIANT top();
2972
2973     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2974     VARIANT width();
2975
2976     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2977     VARIANT height();
2978
2979     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2980     VARIANT paddingLeft();
2981
2982     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2983     VARIANT paddingTop();
2984
2985     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2986     VARIANT paddingRight();
2987
2988     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2989     VARIANT paddingBottom();
2990
2991     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2992     BSTR textAlign();
2993
2994     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2995     BSTR textDecoration();
2996
2997     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2998     BSTR display();
2999
3000     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
3001     BSTR visibility();
3002
3003     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
3004     VARIANT zIndex();
3005
3006     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
3007     VARIANT letterSpacing();
3008
3009     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
3010     VARIANT lineHeight();
3011
3012     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
3013     VARIANT textIndent();
3014
3015     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
3016     VARIANT verticalAlign();
3017
3018     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
3019     BSTR backgroundAttachment();
3020
3021     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
3022     VARIANT marginTop();
3023
3024     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3025     VARIANT marginRight();
3026
3027     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3028     VARIANT marginBottom();
3029
3030     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3031     VARIANT marginLeft();
3032
3033     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3034     BSTR clear();
3035
3036     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3037     BSTR listStyleType();
3038
3039     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3040     BSTR listStylePosition();
3041
3042     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3043     BSTR listStyleImage();
3044
3045     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3046     VARIANT clipTop();
3047
3048     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3049     VARIANT clipRight();
3050
3051     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3052     VARIANT clipBottom();
3053
3054     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3055     VARIANT clipLeft();
3056
3057     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3058     BSTR overflow();
3059
3060     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3061     BSTR pageBreakBefore();
3062
3063     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3064     BSTR pageBreakAfter();
3065
3066     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3067     BSTR cursor();
3068
3069     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3070     BSTR tableLayout();
3071
3072     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3073     BSTR borderCollapse();
3074
3075     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3076     BSTR direction();
3077
3078     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3079     BSTR behavior();
3080
3081     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3082     VARIANT getAttribute(
3083             [in] BSTR strAttributeName,
3084             [in, defaultvalue(0)] LONG lFlags);
3085
3086     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3087     BSTR unicodeBidi();
3088
3089     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3090     VARIANT right();
3091
3092     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3093     VARIANT bottom();
3094
3095     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3096     BSTR imeMode();
3097
3098     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3099     BSTR rubyAlign();
3100
3101     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3102     BSTR rubyPosition();
3103
3104     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3105     BSTR rubyOverhang();
3106
3107     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3108     BSTR textAutospace();
3109
3110     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3111     BSTR lineBreak();
3112
3113     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3114     BSTR wordBreak();
3115
3116     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3117     BSTR textJustify();
3118
3119     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3120     BSTR textJustifyTrim();
3121
3122     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3123     VARIANT textKashida();
3124
3125     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3126     BSTR blockDirection();
3127
3128     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3129     VARIANT layoutGridChar();
3130
3131     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3132     VARIANT layoutGridLine();
3133
3134     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3135     BSTR layoutGridMode();
3136
3137     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3138     BSTR layoutGridType();
3139
3140     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3141     BSTR borderStyle();
3142
3143     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3144     BSTR borderColor();
3145
3146     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3147     BSTR borderWidth();
3148
3149     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3150     BSTR padding();
3151
3152     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3153     BSTR margin();
3154
3155     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3156     BSTR accelerator();
3157
3158     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3159     BSTR overflowX();
3160
3161     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3162     BSTR overflowY();
3163
3164     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3165     BSTR textTransform();
3166
3167     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3168     BSTR layoutFlow();
3169
3170     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3171     BSTR wordWrap();
3172
3173     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3174     BSTR textUnderlinePosition();
3175
3176     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3177     VARIANT_BOOL hasLayout();
3178
3179     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3180     VARIANT scrollbarBaseColor();
3181
3182     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3183     VARIANT scrollbarFaceColor();
3184
3185     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3186     VARIANT scrollbar3dLightColor();
3187
3188     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3189     VARIANT scrollbarShadowColor();
3190
3191     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3192     VARIANT scrollbarHighlightColor();
3193
3194     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3195     VARIANT scrollbarDarkShadowColor();
3196
3197     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3198     VARIANT scrollbarArrowColor();
3199
3200     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3201     VARIANT scrollbarTrackColor();
3202
3203     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3204     BSTR writingMode();
3205
3206     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3207     VARIANT zoom();
3208
3209     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3210     BSTR filter();
3211
3212     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3213     BSTR textAlignLast();
3214
3215     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3216     VARIANT textKashidaSpace();
3217
3218     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3219     VARIANT_BOOL isBlock();
3220
3221     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3222     BSTR textOverflow();
3223
3224     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3225     VARIANT minHeight();
3226
3227     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3228     VARIANT wordSpacing();
3229
3230     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3231     BSTR whiteSpace();
3232
3233     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3234     BSTR msInterpolationMode();
3235
3236     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3237     VARIANT maxHeight();
3238
3239     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3240     VARIANT minWidth();
3241
3242     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3243     VARIANT maxWidth();
3244 }
3245
3246 [
3247     noncreatable,
3248     uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3249 ]
3250 coclass HTMLCurrentStyle
3251 {
3252     [default] dispinterface DispHTMLCurrentStyle;
3253     interface IHTMLCurrentStyle;
3254     interface IHTMLCurrentStyle2;
3255     interface IHTMLCurrentStyle3;
3256     interface IHTMLCurrentStyle4;
3257 }
3258
3259 /*****************************************************************************
3260  *    IHTMLRect interface
3261  */
3262 [
3263     odl,
3264     oleautomation,
3265     dual,
3266     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3267 ]
3268 interface IHTMLRect : IDispatch
3269 {
3270     [propput, id(DISPID_IHTMLRECT_LEFT)]
3271     HRESULT left([in] LONG v);
3272
3273     [propget, id(DISPID_IHTMLRECT_LEFT)]
3274     HRESULT left([retval, out] LONG *p);
3275
3276     [propput, id(DISPID_IHTMLRECT_TOP)]
3277     HRESULT top([in] LONG v);
3278
3279     [propget, id(DISPID_IHTMLRECT_TOP)]
3280     HRESULT top([retval, out] LONG *p);
3281
3282     [propput, id(DISPID_IHTMLRECT_RIGHT)]
3283     HRESULT right([in] LONG v);
3284
3285     [propget, id(DISPID_IHTMLRECT_RIGHT)]
3286     HRESULT right([retval, out] LONG *p);
3287
3288     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3289     HRESULT bottom([in] LONG v);
3290
3291     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3292     HRESULT bottom([retval, out] LONG *p);
3293 }
3294
3295 /*****************************************************************************
3296  *    IHTMLRectCollection interface
3297  */
3298 [
3299     odl,
3300     oleautomation,
3301     dual,
3302     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3303 ]
3304 interface IHTMLRectCollection : IDispatch
3305 {
3306     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3307     HRESULT length([retval, out] LONG *p);
3308
3309     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3310     HRESULT _newEnum([retval, out] IUnknown **p);
3311
3312     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3313     HRESULT item(
3314         [in] VARIANT *pvarIndex,
3315         [retval, out] VARIANT *pvarResult);
3316 }
3317
3318 /*****************************************************************************
3319  *    IHTMLDOMNode interface
3320  */
3321 [
3322     odl,
3323     oleautomation,
3324     dual,
3325     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3326 ]
3327 interface IHTMLDOMNode : IDispatch
3328 {
3329     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3330     HRESULT nodeType([retval, out] LONG *p);
3331
3332     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3333     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3334
3335     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3336     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3337
3338     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3339     HRESULT childNodes([retval, out] IDispatch **p);
3340
3341     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3342     HRESULT attributes([retval, out] IDispatch **p);
3343
3344     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3345     HRESULT insertBefore(
3346         [in] IHTMLDOMNode *newChild,
3347         [optional, in] VARIANT refChild,
3348         [retval, out] IHTMLDOMNode **node);
3349
3350     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3351     HRESULT removeChild(
3352         [in] IHTMLDOMNode *oldChild,
3353         [retval, out] IHTMLDOMNode **node);
3354
3355     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3356     HRESULT replaceChild(
3357         [in] IHTMLDOMNode *newChild,
3358         [in] IHTMLDOMNode *oldChild,
3359         [retval, out] IHTMLDOMNode **node);
3360
3361     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3362     HRESULT cloneNode(
3363         [in] VARIANT_BOOL fDeep,
3364         [retval, out] IHTMLDOMNode **clonedNode);
3365
3366     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3367     HRESULT removeNode(
3368         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3369         [retval, out] IHTMLDOMNode **removed);
3370
3371     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3372     HRESULT swapNode(
3373         [in] IHTMLDOMNode *otherNode,
3374         [retval, out] IHTMLDOMNode **swappedNode);
3375
3376     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3377     HRESULT replaceNode(
3378         [in] IHTMLDOMNode *replacement,
3379         [retval, out] IHTMLDOMNode **replaced);
3380
3381     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3382     HRESULT appendChild(
3383         [in] IHTMLDOMNode *newChild,
3384         [retval, out] IHTMLDOMNode **node);
3385
3386     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3387     HRESULT nodeName([retval, out] BSTR *p);
3388
3389     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3390     HRESULT nodeValue([in] VARIANT v);
3391
3392     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3393     HRESULT nodeValue([retval, out] VARIANT *p);
3394
3395     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3396     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3397
3398     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3399     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3400
3401     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3402     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3403
3404     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3405     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3406 }
3407
3408 #define WINE_IHTMLDOMNODE_DISPINTERFACE_DECL                            \
3409     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]                         \
3410     LONG nodeType();                                                    \
3411                                                                         \
3412     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]                       \
3413     IHTMLDOMNode* parentNode();                                         \
3414                                                                         \
3415     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]                             \
3416     VARIANT_BOOL hasChildNodes();                                       \
3417                                                                         \
3418     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]                       \
3419     IDispatch* childNodes();                                            \
3420                                                                         \
3421     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]                       \
3422     IDispatch* attributes();                                            \
3423                                                                         \
3424     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]                              \
3425     IHTMLDOMNode* insertBefore(                                         \
3426             [in] IHTMLDOMNode* newChild,                                \
3427             [optional, in] VARIANT refChild);                           \
3428                                                                         \
3429     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]                               \
3430     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);             \
3431                                                                         \
3432     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]                              \
3433     IHTMLDOMNode* replaceChild(                                         \
3434         [in] IHTMLDOMNode* newChild,                                    \
3435         [in] IHTMLDOMNode* oldChild);                                   \
3436                                                                         \
3437     [id(DISPID_IHTMLDOMNODE_CLONENODE)]                                 \
3438     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);                   \
3439                                                                         \
3440     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]                                \
3441     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep); \
3442                                                                         \
3443     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]                                  \
3444     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);               \
3445                                                                         \
3446     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]                               \
3447     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);          \
3448                                                                         \
3449     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]                               \
3450     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);             \
3451                                                                         \
3452     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]                         \
3453     BSTR nodeName();                                                    \
3454                                                                         \
3455     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3456     void nodeValue(VARIANT v);                                          \
3457                                                                         \
3458     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3459     VARIANT nodeValue();                                                \
3460                                                                         \
3461     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]                       \
3462     IHTMLDOMNode* firstChild();                                         \
3463                                                                         \
3464     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]                        \
3465     IHTMLDOMNode* lastChild();                                          \
3466                                                                         \
3467     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]                  \
3468     IHTMLDOMNode* previousSibling();                                    \
3469                                                                         \
3470     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]                      \
3471     IHTMLDOMNode* nextSibling()
3472
3473 /*****************************************************************************
3474  *    IHTMLDOMNode2 interface
3475  */
3476 [
3477     odl,
3478     oleautomation,
3479     dual,
3480     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3481 ]
3482 interface IHTMLDOMNode2 : IDispatch
3483 {
3484     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3485     HRESULT ownerDocument([retval, out] IDispatch **p);
3486 }
3487
3488 #define WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL           \
3489     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]   \
3490     IDispatch *ownerDocument()
3491
3492 #define WINE_HTMLDOMNODE_DISPINTERFACE_DECL     \
3493     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;       \
3494     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL
3495
3496 /*****************************************************************************
3497  *    IHTMLDOMAttribute interface
3498  */
3499 [
3500     odl,
3501     oleautomation,
3502     dual,
3503     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3504 ]
3505 interface IHTMLDOMAttribute : IDispatch
3506 {
3507     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3508     HRESULT nodeName([retval, out] BSTR *p);
3509
3510     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3511     HRESULT nodeValue([in] VARIANT v);
3512
3513     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3514     HRESULT nodeValue([retval, out] VARIANT *p);
3515
3516     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3517     HRESULT specified([retval, out] VARIANT_BOOL *p);
3518 }
3519
3520 /*****************************************************************************
3521  *    IHTMLDOMAttribute2 interface
3522  */
3523 [
3524     odl,
3525     oleautomation,
3526     dual,
3527     uuid(3050f810-98b5-11cf-bb82-00aa00bdce0b)
3528 ]
3529 interface IHTMLDOMAttribute2 : IDispatch
3530 {
3531     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3532     HRESULT name([retval, out] BSTR *p);
3533
3534     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3535     HRESULT value([in] BSTR v);
3536
3537     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3538     HRESULT value([retval, out] BSTR *p);
3539
3540     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3541     HRESULT expando([retval, out] VARIANT_BOOL *p);
3542
3543     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3544     HRESULT nodeType([retval, out] long *p);
3545
3546     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3547     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3548
3549     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
3550     HRESULT childNodes([retval, out] IDispatch **p);
3551
3552     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
3553     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3554
3555     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
3556     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3557
3558     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
3559     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3560
3561     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
3562     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3563
3564     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
3565     HRESULT attributes([retval, out] IDispatch **p);
3566
3567     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
3568     HRESULT ownerDocument([retval, out] IDispatch **p);
3569
3570     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
3571     HRESULT insertBefore(
3572             [in] IHTMLDOMNode *newChild,
3573             [optional, in] VARIANT refChild,
3574             [retval, out] IHTMLDOMNode **node);
3575
3576     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
3577     HRESULT replaceChild(
3578             [in] IHTMLDOMNode *newChild,
3579             [in] IHTMLDOMNode *oldChild,
3580             [retval, out] IHTMLDOMNode **node);
3581
3582     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
3583     HRESULT removeChild(
3584             [in] IHTMLDOMNode *oldChild,
3585             [retval, out] IHTMLDOMNode **node);
3586
3587     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
3588     HRESULT appendChild(
3589             [in] IHTMLDOMNode *newChild,
3590             [retval, out] IHTMLDOMNode **node);
3591
3592     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
3593     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3594
3595     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
3596     HRESULT cloneNode(
3597             [in] VARIANT_BOOL fDeep,
3598             [retval, out] IHTMLDOMAttribute **clonedNode);
3599 }
3600
3601 /*****************************************************************************
3602  *    IHTMLDOMTextNode interface
3603  */
3604 [
3605     odl,
3606     oleautomation,
3607     dual,
3608     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3609 ]
3610 interface IHTMLDOMTextNode : IDispatch
3611 {
3612     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3613     HRESULT data([in] BSTR v);
3614
3615     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3616     HRESULT data([out, retval] BSTR *p);
3617
3618     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3619     HRESULT toString([out, retval] BSTR *String);
3620
3621     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3622     HRESULT length([out, retval] LONG *p);
3623
3624     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3625     HRESULT splitText(
3626             [in] LONG offset,
3627             [out, retval] IHTMLDOMNode **pRetNode);
3628 }
3629
3630 /*****************************************************************************
3631  *    IHTMLDOMTextNode2 interface
3632  */
3633 [
3634     odl,
3635     oleautomation,
3636     dual,
3637     uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
3638 ]
3639 interface IHTMLDOMTextNode2 : IDispatch
3640 {
3641     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3642     HRESULT substringData([in] LONG offset,[in] LONG Count,[retval, out] BSTR* pbstrsubString);
3643
3644     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3645     HRESULT appendData([in] BSTR bstrstring);
3646
3647     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3648     HRESULT insertData([in] LONG offset,[in] BSTR bstrstring);
3649
3650     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3651     HRESULT deleteData([in] LONG offset,[in] LONG Count);
3652
3653     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3654     HRESULT replaceData([in] LONG offset,[in] LONG Count,[in] BSTR bstrstring);
3655 }
3656
3657 [
3658     noncreatable,
3659     uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
3660 ]
3661 coclass HTMLDOMTextNode
3662 {
3663     [default]           dispinterface DispHTMLDOMTextNode;
3664                         interface IHTMLDOMTextNode;
3665                         interface IHTMLDOMTextNode2;
3666                         interface IHTMLDOMNode;
3667                         interface IHTMLDOMNode2;
3668 }
3669
3670 /*****************************************************************************
3671  *    IHTMLDOMImplementation interface
3672  */
3673 [
3674     odl,
3675     oleautomation,
3676     dual,
3677     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3678 ]
3679 interface IHTMLDOMImplementation : IDispatch
3680 {
3681     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3682     HRESULT hasFeature(
3683         [in] BSTR bstrfeature,
3684         [optional, in] VARIANT version,
3685         [retval, out] VARIANT_BOOL *pfHasFeature);
3686 }
3687
3688 /*****************************************************************************
3689  *    IHTMLDocumentCompatibleInfo interface
3690  */
3691 [
3692     odl,
3693     oleautomation,
3694     dual,
3695     uuid(3051041a-98b5-11cf-bb82-00aa00bdce0b)
3696 ]
3697 interface IHTMLDocumentCompatibleInfo : IDispatch
3698 {
3699     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_USERAGENT)]
3700     HRESULT userAgent([retval, out] BSTR *p);
3701
3702     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_VERSION)]
3703     HRESULT version([retval, out] BSTR *p);
3704 }
3705
3706 /*****************************************************************************
3707  *    IHTMLDocumentCompatibleInfoCollection interface
3708  */
3709 [
3710     odl,
3711     oleautomation,
3712     dual,
3713     uuid(30510418-98b5-11cf-bb82-00aa00bdce0b)
3714 ]
3715 interface IHTMLDocumentCompatibleInfoCollection : IDispatch
3716 {
3717     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_LENGTH)]
3718     HRESULT length([retval, out] long *p);
3719
3720     [id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_ITEM)]
3721     HRESULT item([in] long i, [retval, out]IHTMLDocumentCompatibleInfo **p);
3722 }
3723
3724 /*****************************************************************************
3725  *    DispHTMLDOMTextNode dispinterface
3726  */
3727 [
3728     hidden,
3729     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
3730 ]
3731 dispinterface DispHTMLDOMTextNode
3732 {
3733 properties:
3734 methods:
3735     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3736     void data(BSTR v);
3737
3738     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3739     BSTR data();
3740
3741     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3742     BSTR toString();
3743
3744     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3745     LONG length();
3746
3747     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3748     IHTMLDOMNode *splitText([in] LONG offset);
3749
3750     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3751     BSTR substringData(
3752             [in] LONG offset,
3753             [in] LONG Count);
3754
3755     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3756     void appendData([in] BSTR bstrstring);
3757
3758     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3759     void insertData(
3760             [in] LONG offset,
3761             [in] BSTR bstrstring);
3762
3763     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3764     void deleteData(
3765             [in] LONG offset,
3766             [in] LONG Count);
3767
3768     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3769     void replaceData(
3770             [in] LONG offset,
3771             [in] LONG Count,
3772             [in] BSTR bstrstring);
3773
3774     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
3775 }
3776
3777 /*****************************************************************************
3778  *    IHTMLAttributeCollection3 interface
3779  */
3780 [
3781     odl,
3782     oleautomation,
3783     dual,
3784     uuid(30510469-98b5-11cf-bb82-00aa00bdce0b)
3785 ]
3786 interface IHTMLAttributeCollection3 : IDispatch
3787 {
3788     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
3789     HRESULT getNamedItem(
3790             [in] BSTR bstrName,
3791             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3792
3793     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
3794     HRESULT setNamedItem(
3795             [in] IHTMLDOMAttribute *pNodeIn,
3796             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3797
3798     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
3799     HRESULT removeNamedItem(
3800             [in] BSTR bstrName,
3801             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3802
3803     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
3804     HRESULT item(
3805             [in] long index,
3806             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3807
3808     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
3809     HRESULT length([retval, out] long *p);
3810 }
3811
3812 /*****************************************************************************
3813  *    IHTMLDOMChildrenCollection interface
3814  */
3815 [
3816     odl,
3817     oleautomation,
3818     dual,
3819     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
3820 ]
3821 interface IHTMLDOMChildrenCollection : IDispatch
3822 {
3823     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3824     HRESULT length([out, retval] LONG *p);
3825
3826     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3827     HRESULT _newEnum([out, retval] IUnknown **p);
3828
3829     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3830     HRESULT item(
3831             [in] LONG index,
3832             [out, retval] IDispatch **ppItem);
3833 }
3834
3835 /*****************************************************************************
3836  *    DispDOMChildrenCollection dispinterface
3837  */
3838 [
3839     hidden,
3840     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
3841 ]
3842 dispinterface DispDOMChildrenCollection
3843 {
3844 properties:
3845 methods:
3846     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3847     LONG length();
3848
3849     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3850     IUnknown *_newEnum();
3851
3852     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3853     IDispatch *item([in] LONG index);
3854 }
3855
3856 interface IHTMLElementCollection;
3857
3858 /*****************************************************************************
3859  *    IHTMLElement interface
3860  */
3861 [
3862     odl,
3863     dual,
3864     oleautomation,
3865     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
3866 ]
3867 interface IHTMLElement : IDispatch
3868 {
3869     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3870     HRESULT setAttribute(
3871         [in] BSTR strAttributeName,
3872         [in] VARIANT AttributeValue,
3873         [defaultvalue(1), in] LONG lFlags);
3874
3875     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3876     HRESULT getAttribute(
3877         [in] BSTR strAttributeName,
3878         [defaultvalue(0), in] LONG lFlags,
3879         [retval, out] VARIANT *AttributeValue);
3880
3881     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3882     HRESULT removeAttribute(
3883         [in] BSTR strAttributeName,
3884         [defaultvalue(1), in] LONG lFlags,
3885         [retval, out] VARIANT_BOOL *pfSuccess);
3886
3887     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3888     HRESULT className([in] BSTR v);
3889
3890     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3891     HRESULT className([retval, out] BSTR *p);
3892
3893     [propput, id(DISPID_IHTMLELEMENT_ID)]
3894     HRESULT id([in] BSTR v);
3895
3896     [propget, id(DISPID_IHTMLELEMENT_ID)]
3897     HRESULT id([retval, out] BSTR *p);
3898
3899     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
3900     HRESULT tagName([retval, out] BSTR *p);
3901
3902     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
3903     HRESULT parentElement([retval, out] IHTMLElement **p);
3904
3905     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
3906     HRESULT style([retval, out] IHTMLStyle **p);
3907
3908     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
3909     HRESULT onhelp([in] VARIANT v);
3910
3911     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
3912     HRESULT onhelp([retval, out] VARIANT *p);
3913
3914     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
3915     HRESULT onclick([in] VARIANT v);
3916
3917     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
3918     HRESULT onclick([retval, out] VARIANT *p);
3919
3920     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3921     HRESULT ondblclick([in] VARIANT v);
3922
3923     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3924     HRESULT ondblclick([retval, out] VARIANT *p);
3925
3926     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3927     HRESULT onkeydown([in] VARIANT v);
3928
3929     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3930     HRESULT onkeydown([retval, out] VARIANT *p);
3931
3932     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3933     HRESULT onkeyup([in] VARIANT v);
3934
3935     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3936     HRESULT onkeyup([retval, out] VARIANT *p);
3937
3938     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3939     HRESULT onkeypress([in] VARIANT v);
3940
3941     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3942     HRESULT onkeypress([retval, out] VARIANT *p);
3943
3944     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3945     HRESULT onmouseout([in] VARIANT v);
3946
3947     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3948     HRESULT onmouseout([retval, out] VARIANT *p);
3949
3950     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3951     HRESULT onmouseover([in] VARIANT v);
3952
3953     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3954     HRESULT onmouseover([retval, out] VARIANT *p);
3955
3956     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3957     HRESULT onmousemove([in] VARIANT v);
3958
3959     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3960     HRESULT onmousemove([retval, out] VARIANT *p);
3961
3962     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3963     HRESULT onmousedown([in] VARIANT v);
3964
3965     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3966     HRESULT onmousedown([retval, out] VARIANT *p);
3967
3968     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3969     HRESULT onmouseup([in] VARIANT v);
3970
3971     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3972     HRESULT onmouseup([retval, out] VARIANT *p);
3973
3974     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
3975     HRESULT document([retval, out] IDispatch **p);
3976
3977     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
3978     HRESULT title([in] BSTR v);
3979
3980     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
3981     HRESULT title([retval, out] BSTR *p);
3982
3983     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3984     HRESULT language([in] BSTR v);
3985
3986     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3987     HRESULT language([retval, out] BSTR *p);
3988
3989     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3990     HRESULT onselectstart([in] VARIANT v);
3991
3992     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3993     HRESULT onselectstart([retval, out] VARIANT *p);
3994
3995     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
3996     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
3997
3998     [id(DISPID_IHTMLELEMENT_CONTAINS)]
3999     HRESULT contains(
4000         [in] IHTMLElement *pChild,
4001         [retval, out] VARIANT_BOOL *pfResult);
4002
4003     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
4004     HRESULT sourceIndex([retval, out] LONG *p);
4005
4006     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4007     HRESULT recordNumber([retval, out] VARIANT *p);
4008
4009     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4010     HRESULT lang([in] BSTR v);
4011
4012     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4013     HRESULT lang([retval, out] BSTR *p);
4014
4015     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4016     HRESULT offsetLeft([retval, out] LONG *p);
4017
4018     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4019     HRESULT offsetTop([retval, out] LONG *p);
4020
4021     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4022     HRESULT offsetWidth([retval, out] LONG *p);
4023
4024     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4025     HRESULT offsetHeight([retval, out] LONG *p);
4026
4027     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4028     HRESULT offsetParent([retval, out] IHTMLElement **p);
4029
4030     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4031     HRESULT innerHTML([in] BSTR v);
4032
4033     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4034     HRESULT innerHTML([retval, out] BSTR *p);
4035
4036     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4037     HRESULT innerText([in] BSTR v);
4038
4039     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4040     HRESULT innerText([retval, out] BSTR *p);
4041
4042     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4043     HRESULT outerHTML([in] BSTR v);
4044
4045     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4046     HRESULT outerHTML([retval, out] BSTR *p);
4047
4048     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4049     HRESULT outerText([in] BSTR v);
4050
4051     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4052     HRESULT outerText([retval, out] BSTR *p);
4053
4054     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4055     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
4056
4057     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4058     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
4059
4060     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4061     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
4062
4063     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4064     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
4065
4066     [id(DISPID_IHTMLELEMENT_CLICK)]
4067     HRESULT click();
4068
4069     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4070     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
4071
4072     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4073     HRESULT ondragstart([in] VARIANT v);
4074
4075     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4076     HRESULT ondragstart([retval, out] VARIANT *p);
4077
4078     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4079     HRESULT toString([retval, out] BSTR *String);
4080
4081     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4082     HRESULT onbeforeupdate([in] VARIANT v);
4083
4084     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4085     HRESULT onbeforeupdate([retval, out] VARIANT *p);
4086
4087     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4088     HRESULT onafterupdate([in] VARIANT v);
4089
4090     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4091     HRESULT onafterupdate([retval, out] VARIANT *p);
4092
4093     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4094     HRESULT onerrorupdate([in] VARIANT v);
4095
4096     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4097     HRESULT onerrorupdate([retval, out] VARIANT *p);
4098
4099     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4100     HRESULT onrowexit([in] VARIANT v);
4101
4102     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4103     HRESULT onrowexit([retval, out] VARIANT *p);
4104
4105     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4106     HRESULT onrowenter([in] VARIANT v);
4107
4108     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4109     HRESULT onrowenter([retval, out] VARIANT *p);
4110
4111     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4112     HRESULT ondatasetchanged([in] VARIANT v);
4113
4114     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4115     HRESULT ondatasetchanged([retval, out] VARIANT *p);
4116
4117     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4118     HRESULT ondataavailable([in] VARIANT v);
4119
4120     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4121     HRESULT ondataavailable([retval, out] VARIANT *p);
4122
4123     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4124     HRESULT ondatasetcomplete([in] VARIANT v);
4125
4126     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4127     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
4128
4129     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4130     HRESULT onfilterchange([in] VARIANT v);
4131
4132     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4133     HRESULT onfilterchange([retval, out] VARIANT *p);
4134
4135     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4136     HRESULT children([retval, out] IDispatch **p);
4137
4138     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4139     HRESULT all([retval, out] IDispatch **p);
4140 }
4141
4142 #define WINE_IHTMLELEMENT_DISPINTERFACE_DECL                            \
4143     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]                              \
4144     void setAttribute(                                                  \
4145         [in] BSTR strAttributeName,                                     \
4146         [in] VARIANT AttValue,                                          \
4147         [defaultvalue(1), in] LONG lFlags);                             \
4148                                                                         \
4149     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]                              \
4150     VARIANT getAttribute(                                               \
4151         [in] BSTR strAttributeName,                                     \
4152         [defaultvalue(0), in] LONG lFlags);                             \
4153                                                                         \
4154     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]                           \
4155     VARIANT_BOOL removeAttribute(                                       \
4156         [in] BSTR strAttributeName,                                     \
4157         [defaultvalue(1), in] LONG lFlags);                             \
4158                                                                         \
4159     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4160     void className(BSTR v);                                             \
4161                                                                         \
4162     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4163     BSTR className();                                                   \
4164                                                                         \
4165     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4166     void id(BSTR v);                                                    \
4167                                                                         \
4168     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4169     BSTR id();                                                          \
4170                                                                         \
4171     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]                          \
4172     BSTR tagName();                                                     \
4173                                                                         \
4174     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]                    \
4175     IHTMLElement *parentElement();                                      \
4176                                                                         \
4177     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]              \
4178     IHTMLStyle *style();                                                \
4179                                                                         \
4180     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4181     void onhelp(VARIANT v);                                             \
4182                                                                         \
4183     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4184     VARIANT onhelp();                                                   \
4185                                                                         \
4186     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4187     void onclick(VARIANT v);                                            \
4188                                                                         \
4189     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4190     VARIANT onclick();                                                  \
4191                                                                         \
4192     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4193     void ondblclick(VARIANT v);                                         \
4194                                                                         \
4195     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4196     VARIANT ondblclick();                                               \
4197                                                                         \
4198     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4199     void onkeydown(VARIANT v);                                          \
4200                                                                         \
4201     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4202     VARIANT onkeydown();                                                \
4203                                                                         \
4204     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4205     void onkeyup(VARIANT v);                                            \
4206                                                                         \
4207     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4208     VARIANT onkeyup();                                                  \
4209                                                                         \
4210     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4211     void onkeypress(VARIANT v);                                         \
4212                                                                         \
4213     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4214     VARIANT onkeypress();                                               \
4215                                                                         \
4216     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4217     void onmouseout(VARIANT v);                                         \
4218                                                                         \
4219     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4220     VARIANT onmouseout();                                               \
4221                                                                         \
4222     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4223     void onmouseover(VARIANT v);                                        \
4224                                                                         \
4225     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4226     VARIANT onmouseover();                                              \
4227                                                                         \
4228     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4229     void onmousemove(VARIANT v);                                        \
4230                                                                         \
4231     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4232     VARIANT onmousemove();                                              \
4233                                                                         \
4234     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4235     void onmousedown(VARIANT v);                                        \
4236                                                                         \
4237     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4238     VARIANT onmousedown();                                              \
4239                                                                         \
4240     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4241     void onmouseup(VARIANT v);                                          \
4242                                                                         \
4243     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4244     VARIANT onmouseup();                                                \
4245                                                                         \
4246     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();  \
4247                                                                         \
4248     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4249     void title(BSTR v);                                                 \
4250                                                                         \
4251     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4252     BSTR title();                                                       \
4253                                                                         \
4254     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4255     void language(BSTR v);                                              \
4256                                                                         \
4257     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4258     BSTR language();                                                    \
4259                                                                         \
4260     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4261     void onselectstart(VARIANT v);                                      \
4262                                                                         \
4263     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4264     VARIANT onselectstart();                                            \
4265                                                                         \
4266     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]                            \
4267     void scrollIntoView([optional, in] VARIANT varargStart);            \
4268                                                                         \
4269     [id(DISPID_IHTMLELEMENT_CONTAINS)]                                  \
4270     VARIANT_BOOL contains([in] IHTMLElement* pChild);                   \
4271                                                                         \
4272     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]            \
4273     LONG sourceIndex();                                                 \
4274                                                                         \
4275     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]                     \
4276     VARIANT recordNumber();                                             \
4277                                                                         \
4278     [propput, id(DISPID_IHTMLELEMENT_LANG)]                             \
4279     void lang(BSTR v);                                                  \
4280                                                                         \
4281     [propget, id(DISPID_IHTMLELEMENT_LANG)]                             \
4282     BSTR lang();                                                        \
4283                                                                         \
4284     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]                       \
4285     LONG offsetLeft();                                                  \
4286                                                                         \
4287     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]                        \
4288     LONG offsetTop();                                                   \
4289                                                                         \
4290     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]                      \
4291     LONG offsetWidth();                                                 \
4292                                                                         \
4293     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]                     \
4294     LONG offsetHeight();                                                \
4295                                                                         \
4296     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]                     \
4297     IHTMLElement* offsetParent();                                       \
4298                                                                         \
4299     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4300     void innerHTML(BSTR v);                                             \
4301                                                                         \
4302     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4303     BSTR innerHTML();                                                   \
4304                                                                         \
4305     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4306     void innerText(BSTR v);                                             \
4307                                                                         \
4308     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4309     BSTR innerText();                                                   \
4310                                                                         \
4311     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4312     void outerHTML(BSTR v);                                             \
4313                                                                         \
4314     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4315     BSTR outerHTML();                                                   \
4316                                                                         \
4317     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4318     void outerText(BSTR v);                                             \
4319                                                                         \
4320     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4321     BSTR outerText();                                                   \
4322                                                                         \
4323     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]                        \
4324     void insertAdjacentHTML(                                            \
4325         [in] BSTR where,                                                \
4326         [in] BSTR html);                                                \
4327                                                                         \
4328     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]                        \
4329     void insertAdjacentText(                                            \
4330         [in] BSTR where,                                                \
4331         [in] BSTR text);                                                \
4332                                                                         \
4333     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]                   \
4334     IHTMLElement* parentTextEdit();                                     \
4335                                                                         \
4336     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]                       \
4337     VARIANT_BOOL isTextEdit();                                          \
4338                                                                         \
4339     [id(DISPID_IHTMLELEMENT_CLICK)]                                     \
4340     void click();                                                       \
4341                                                                         \
4342     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]                          \
4343     IHTMLFiltersCollection* filters();                                  \
4344                                                                         \
4345     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4346     void ondragstart(VARIANT v);                                        \
4347                                                                         \
4348     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4349     VARIANT ondragstart();                                              \
4350                                                                         \
4351     [id(DISPID_IHTMLELEMENT_TOSTRING)]                                  \
4352     BSTR toString();                                                    \
4353                                                                         \
4354     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4355     void onbeforeupdate(VARIANT v);                                     \
4356                                                                         \
4357     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4358     VARIANT onbeforeupdate();                                           \
4359                                                                         \
4360     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4361     void onafterupdate(VARIANT v);                                      \
4362                                                                         \
4363     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4364     VARIANT onafterupdate();                                            \
4365                                                                         \
4366     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4367     void onerrorupdate(VARIANT v);                                      \
4368                                                                         \
4369     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4370     VARIANT onerrorupdate();                                            \
4371                                                                         \
4372     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4373     void onrowexit(VARIANT v);                                          \
4374                                                                         \
4375     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4376     VARIANT onrowexit();                                                \
4377                                                                         \
4378     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4379     void onrowenter(VARIANT v);                                         \
4380                                                                         \
4381     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4382     VARIANT onrowenter();                                               \
4383                                                                         \
4384     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4385     void ondatasetchanged(VARIANT v);                                   \
4386                                                                         \
4387     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4388     VARIANT ondatasetchanged();                                         \
4389                                                                         \
4390     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4391     void ondataavailable(VARIANT v);                                    \
4392                                                                         \
4393     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4394     VARIANT ondataavailable();                                          \
4395                                                                         \
4396     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4397     void ondatasetcomplete(VARIANT v);                                  \
4398                                                                         \
4399     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4400     VARIANT ondatasetcomplete();                                        \
4401                                                                         \
4402     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4403     void onfilterchange(VARIANT v);                                     \
4404                                                                         \
4405     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4406     VARIANT onfilterchange();                                           \
4407                                                                         \
4408     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]                         \
4409     IDispatch* children();                                              \
4410                                                                         \
4411     [propget, id(DISPID_IHTMLELEMENT_ALL)]                              \
4412     IDispatch* all()
4413
4414 /*****************************************************************************
4415  *    IHTMLElement2 interface
4416  */
4417 [
4418     odl,
4419     oleautomation,
4420     dual,
4421     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
4422 ]
4423 interface IHTMLElement2 : IDispatch
4424 {
4425     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4426     HRESULT scopeName([retval, out] BSTR *p);
4427
4428     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4429     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
4430
4431     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4432     HRESULT releaseCapture();
4433
4434     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4435     HRESULT onlosecapture([in] VARIANT v);
4436
4437     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4438     HRESULT onlosecapture([retval, out] VARIANT *p);
4439
4440     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4441     HRESULT componentFromPoint(
4442         [in] LONG x,
4443         [in] LONG y,
4444         [retval, out] BSTR *component);
4445
4446     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4447     HRESULT doScroll([optional, in] VARIANT component);
4448
4449     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4450     HRESULT onscroll([in] VARIANT v);
4451
4452     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4453     HRESULT onscroll([retval, out] VARIANT *p);
4454
4455     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4456     HRESULT ondrag([in] VARIANT v);
4457
4458     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4459     HRESULT ondrag([retval, out] VARIANT *p);
4460
4461     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4462     HRESULT ondragend([in] VARIANT v);
4463
4464     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4465     HRESULT ondragend([retval, out] VARIANT *p);
4466
4467     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4468     HRESULT ondragenter([in] VARIANT v);
4469
4470     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4471     HRESULT ondragenter([retval, out] VARIANT *p);
4472
4473     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4474     HRESULT ondragover([in] VARIANT v);
4475
4476     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4477     HRESULT ondragover([retval, out] VARIANT *p);
4478
4479     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4480     HRESULT ondragleave([in] VARIANT v);
4481
4482     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4483     HRESULT ondragleave([retval, out] VARIANT *p);
4484
4485     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4486     HRESULT ondrop([in] VARIANT v);
4487
4488     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4489     HRESULT ondrop([retval, out] VARIANT *p);
4490
4491     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4492     HRESULT onbeforecut([in] VARIANT v);
4493
4494     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4495     HRESULT onbeforecut([retval, out] VARIANT *p);
4496
4497     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4498     HRESULT oncut([in] VARIANT v);
4499
4500     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4501     HRESULT oncut([retval, out] VARIANT *p);
4502
4503     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4504     HRESULT onbeforecopy([in] VARIANT v);
4505
4506     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4507     HRESULT onbeforecopy([retval, out] VARIANT *p);
4508
4509     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4510     HRESULT oncopy([in] VARIANT v);
4511
4512     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4513     HRESULT oncopy([retval, out] VARIANT *p);
4514
4515     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4516     HRESULT onbeforepaste([in] VARIANT v);
4517
4518     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4519     HRESULT onbeforepaste([retval, out] VARIANT *p);
4520
4521     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4522     HRESULT onpaste([in] VARIANT v);
4523
4524     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4525     HRESULT onpaste([retval, out] VARIANT *p);
4526
4527     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4528     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
4529
4530     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4531     HRESULT onpropertychange([in] VARIANT v);
4532
4533     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4534     HRESULT onpropertychange([retval, out] VARIANT *p);
4535
4536     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4537     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
4538
4539     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4540     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
4541
4542     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4543     HRESULT setExpression(
4544         [in] BSTR propname,
4545         [in] BSTR expression,
4546         [defaultvalue(""), in] BSTR language);
4547
4548     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4549     HRESULT getExpression(
4550         [in] BSTR propname,
4551         [retval, out] VARIANT *expression);
4552
4553     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4554     HRESULT removeExpression(
4555         [in] BSTR propname,
4556         [retval, out] VARIANT_BOOL *pfSuccess);
4557
4558     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4559     HRESULT tabIndex([in] short v);
4560
4561     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4562     HRESULT tabIndex([retval, out] short *p);
4563
4564     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4565     HRESULT focus();
4566
4567     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4568     HRESULT accessKey([in] BSTR v);
4569
4570     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4571     HRESULT accessKey([retval, out] BSTR *p);
4572
4573     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4574     HRESULT onblur([in] VARIANT v);
4575
4576     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4577     HRESULT onblur([retval, out] VARIANT *p);
4578
4579     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4580     HRESULT onfocus([in] VARIANT v);
4581
4582     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4583     HRESULT onfocus([retval, out] VARIANT *p);
4584
4585     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4586     HRESULT onresize([in] VARIANT v);
4587
4588     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4589     HRESULT onresize([retval, out] VARIANT *p);
4590
4591     [id(DISPID_IHTMLELEMENT2_BLUR)]
4592     HRESULT blur();
4593
4594     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4595     HRESULT addFilter([in] IUnknown *pUnk);
4596
4597     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4598     HRESULT removeFilter([in] IUnknown *pUnk);
4599
4600     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4601     HRESULT clientHeight([retval, out] LONG *p);
4602
4603     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4604     HRESULT clientWidth([retval, out] LONG *p);
4605
4606     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4607     HRESULT clientTop([retval, out] LONG *p);
4608
4609     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4610     HRESULT clientLeft([retval, out] LONG *p);
4611
4612     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4613     HRESULT attachEvent(
4614         [in] BSTR event,
4615         [in] IDispatch *pDisp,
4616         [retval, out] VARIANT_BOOL *pfResult);
4617
4618     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4619     HRESULT detachEvent(
4620         [in] BSTR event,
4621         [in] IDispatch *pDisp);
4622
4623     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4624     HRESULT readyState([retval, out] VARIANT *p);
4625
4626     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4627     HRESULT onreadystatechange([in] VARIANT v);
4628
4629     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4630     HRESULT onreadystatechange([retval, out] VARIANT *p);
4631
4632     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4633     HRESULT onrowsdelete([in] VARIANT v);
4634
4635     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4636     HRESULT onrowsdelete([retval, out] VARIANT *p);
4637
4638     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4639     HRESULT onrowsinserted([in] VARIANT v);
4640
4641     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4642     HRESULT onrowsinserted([retval, out] VARIANT *p);
4643
4644     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4645     HRESULT oncellchange([in] VARIANT v);
4646
4647     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4648     HRESULT oncellchange([retval, out] VARIANT *p);
4649
4650     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4651     HRESULT dir([in] BSTR v);
4652
4653     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4654     HRESULT dir([retval, out] BSTR *p);
4655
4656     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
4657     HRESULT createControlRange([retval, out] IDispatch **range);
4658
4659     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
4660     HRESULT scrollHeight([retval, out] LONG *p);
4661
4662     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
4663     HRESULT scrollWidth([retval, out] LONG *p);
4664
4665     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4666     HRESULT scrollTop([in] LONG v);
4667
4668     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4669     HRESULT scrollTop([retval, out] LONG *p);
4670
4671     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4672     HRESULT scrollLeft([in] LONG v);
4673
4674     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4675     HRESULT scrollLeft([retval, out] LONG *p);
4676
4677     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
4678     HRESULT clearAttributes();
4679
4680     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
4681     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
4682
4683     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4684     HRESULT oncontextmenu([in] VARIANT v);
4685
4686     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4687     HRESULT oncontextmenu([retval, out] VARIANT *p);
4688
4689     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
4690     HRESULT insertAdjacentElement(
4691         [in] BSTR where,
4692         [in] IHTMLElement *insertedElement,
4693         [retval, out] IHTMLElement **inserted);
4694
4695     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
4696     HRESULT applyElement(
4697         [in] IHTMLElement *apply,
4698         [in] BSTR where,
4699         [retval, out] IHTMLElement **applied);
4700
4701     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
4702     HRESULT getAdjacentText(
4703         [in] BSTR where,
4704         [retval, out] BSTR *text);
4705
4706     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
4707     HRESULT replaceAdjacentText(
4708         [in] BSTR where,
4709         [in] BSTR newText,
4710         [retval, out] BSTR *oldText);
4711
4712     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
4713     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
4714
4715     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
4716     HRESULT addBehavior(
4717         [in] BSTR bstrUrl,
4718         [optional, in] VARIANT *pvarFactory,
4719         [retval, out] LONG *pCookie);
4720
4721     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
4722     HRESULT removeBehavior(
4723         [in] LONG cookie,
4724         [retval, out] VARIANT_BOOL *pfResult);
4725
4726     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
4727     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
4728
4729     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
4730     HRESULT behaviorUrns([retval, out] IDispatch **p);
4731
4732     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
4733     HRESULT tagUrn([in] BSTR v);
4734
4735     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
4736     HRESULT tagUrn([retval, out] BSTR *p);
4737
4738     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4739     HRESULT onbeforeeditfocus([in] VARIANT v);
4740
4741     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4742     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
4743
4744     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
4745     HRESULT readyStateValue([retval, out] LONG *p);
4746
4747     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
4748     HRESULT getElementsByTagName(
4749         [in] BSTR v,
4750         [retval, out] IHTMLElementCollection **pelColl);
4751 }
4752
4753 #define WINE_IHTMLELEMENT2_DISPINTERFACE_DECL                           \
4754     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]                       \
4755     BSTR scopeName();                                                   \
4756                                                                         \
4757     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]                               \
4758     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture); \
4759                                                                         \
4760     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]                           \
4761     void releaseCapture();                                              \
4762                                                                         \
4763     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
4764     void onlosecapture(VARIANT v);                                      \
4765                                                                         \
4766     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
4767     VARIANT onlosecapture();                                            \
4768                                                                         \
4769     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]                       \
4770     BSTR componentFromPoint([in] LONG x,[in] LONG y);                   \
4771                                                                         \
4772     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]                                 \
4773     void doScroll([optional, in] VARIANT component);                    \
4774                                                                         \
4775     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
4776     void onscroll(VARIANT v);                                           \
4777                                                                         \
4778     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
4779     VARIANT onscroll();                                                 \
4780                                                                         \
4781     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
4782     void ondrag(VARIANT v);                                             \
4783                                                                         \
4784     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
4785     VARIANT ondrag();                                                   \
4786                                                                         \
4787     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
4788     void ondragend(VARIANT v);                                          \
4789                                                                         \
4790     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
4791     VARIANT ondragend();                                                \
4792                                                                         \
4793     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
4794     void ondragenter(VARIANT v);                                        \
4795                                                                         \
4796     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
4797     VARIANT ondragenter();                                              \
4798                                                                         \
4799     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
4800     void ondragover(VARIANT v);                                         \
4801                                                                         \
4802     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
4803     VARIANT ondragover();                                               \
4804                                                                         \
4805     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
4806     void ondragleave(VARIANT v);                                        \
4807                                                                         \
4808     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
4809     VARIANT ondragleave();                                              \
4810                                                                         \
4811     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
4812     void ondrop(VARIANT v);                                             \
4813                                                                         \
4814     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
4815     VARIANT ondrop();                                                   \
4816                                                                         \
4817     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
4818     void onbeforecut(VARIANT v);                                        \
4819                                                                         \
4820     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
4821     VARIANT onbeforecut();                                              \
4822                                                                         \
4823     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
4824     void oncut(VARIANT v);                                              \
4825                                                                         \
4826     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
4827     VARIANT oncut();                                                    \
4828                                                                         \
4829     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
4830     void onbeforecopy(VARIANT v);                                       \
4831                                                                         \
4832     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
4833     VARIANT onbeforecopy();                                             \
4834                                                                         \
4835     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
4836     void oncopy(VARIANT v);                                             \
4837                                                                         \
4838     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
4839     VARIANT oncopy();                                                   \
4840                                                                         \
4841     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
4842     void onbeforepaste(VARIANT v);                                      \
4843                                                                         \
4844     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
4845     VARIANT onbeforepaste();                                            \
4846                                                                         \
4847     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
4848     void onpaste(VARIANT v);                                            \
4849                                                                         \
4850     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
4851     VARIANT onpaste();                                                  \
4852                                                                         \
4853     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]      \
4854     IHTMLCurrentStyle* currentStyle();                                  \
4855                                                                         \
4856     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
4857     void onpropertychange(VARIANT v);                                   \
4858                                                                         \
4859     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
4860     VARIANT onpropertychange();                                         \
4861                                                                         \
4862     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]                           \
4863     IHTMLRectCollection* getClientRects();                              \
4864                                                                         \
4865     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]                    \
4866     IHTMLRect* getBoundingClientRect();                                 \
4867                                                                         \
4868     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]                            \
4869     void setExpression(                                                 \
4870         [in] BSTR propname,                                             \
4871         [in] BSTR expr,                                                 \
4872         [defaultvalue(""), in] BSTR lang);                              \
4873                                                                         \
4874     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]                            \
4875     VARIANT getExpression([in] BSTR propname);                          \
4876                                                                         \
4877     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]                         \
4878     VARIANT_BOOL removeExpression([in] BSTR propname);                  \
4879                                                                         \
4880     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
4881     void tabIndex(short v);                                             \
4882                                                                         \
4883     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
4884     short tabIndex();                                                   \
4885                                                                         \
4886     [id(DISPID_IHTMLELEMENT2_FOCUS)]                                    \
4887     void focus();                                                       \
4888                                                                         \
4889     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
4890     void accessKey(BSTR v);                                             \
4891                                                                         \
4892     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
4893     BSTR accessKey();                                                   \
4894                                                                         \
4895     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
4896     void onblur(VARIANT v);                                             \
4897                                                                         \
4898     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
4899     VARIANT onblur();                                                   \
4900                                                                         \
4901     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
4902     void onfocus(VARIANT v);                                            \
4903                                                                         \
4904     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
4905     VARIANT onfocus();                                                  \
4906                                                                         \
4907     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
4908     void onresize(VARIANT v);                                           \
4909                                                                         \
4910     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
4911     VARIANT onresize();                                                 \
4912                                                                         \
4913     [id(DISPID_IHTMLELEMENT2_BLUR)]                                     \
4914     void blur();                                                        \
4915                                                                         \
4916     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]                                \
4917     void addFilter([in] IUnknown* pUnk);                                \
4918                                                                         \
4919     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]                             \
4920     void removeFilter([in] IUnknown* pUnk);                             \
4921                                                                         \
4922     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] \
4923     LONG clientHeight();                                                \
4924                                                                         \
4925     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] \
4926     LONG clientWidth();                                                 \
4927                                                                         \
4928     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] \
4929     LONG clientTop();                                                   \
4930                                                                         \
4931     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] \
4932     LONG clientLeft();                                                  \
4933                                                                         \
4934     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]                              \
4935     VARIANT_BOOL attachEvent(                                           \
4936             [in] BSTR event,                                            \
4937             [in] IDispatch* pDisp);                                     \
4938                                                                         \
4939     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]                              \
4940     void detachEvent(                                                   \
4941             [in] BSTR event,                                            \
4942             [in] IDispatch* pDisp);                                     \
4943                                                                         \
4944     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState(); \
4945                                                                         \
4946     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
4947     void onreadystatechange(VARIANT v);                                 \
4948                                                                         \
4949     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
4950     VARIANT onreadystatechange();                                       \
4951                                                                         \
4952     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
4953     void onrowsdelete(VARIANT v);                                       \
4954                                                                         \
4955     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
4956     VARIANT onrowsdelete();                                             \
4957                                                                         \
4958     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
4959     void onrowsinserted(VARIANT v);                                     \
4960                                                                         \
4961     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
4962     VARIANT onrowsinserted();                                           \
4963                                                                         \
4964     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
4965     void oncellchange(VARIANT v);                                       \
4966                                                                         \
4967     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
4968     VARIANT oncellchange();                                             \
4969                                                                         \
4970     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
4971     void dir(BSTR v);                                                   \
4972                                                                         \
4973     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
4974     BSTR dir();                                                         \
4975                                                                         \
4976     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]                       \
4977     IDispatch* createControlRange();                                    \
4978                                                                         \
4979     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] \
4980     LONG scrollHeight();                                                \
4981                                                                         \
4982     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] \
4983     LONG scrollWidth();                                                 \
4984                                                                         \
4985     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
4986     void scrollTop(LONG v);                                             \
4987                                                                         \
4988     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
4989     LONG scrollTop();                                                   \
4990                                                                         \
4991     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
4992     void scrollLeft(LONG v);                                            \
4993                                                                         \
4994     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
4995     LONG scrollLeft();                                                  \
4996                                                                         \
4997     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]                          \
4998     void clearAttributes();                                             \
4999                                                                         \
5000     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5001     void oncontextmenu(VARIANT v);                                      \
5002                                                                         \
5003     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5004     VARIANT oncontextmenu();                                            \
5005                                                                         \
5006     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]                    \
5007     IHTMLElement* insertAdjacentElement(                                \
5008         [in] BSTR where,                                                \
5009         [in] IHTMLElement* insertedElement);                            \
5010                                                                         \
5011     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]                             \
5012     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where); \
5013                                                                         \
5014     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]                          \
5015     BSTR getAdjacentText([in] BSTR where);                              \
5016                                                                         \
5017     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]                      \
5018     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);        \
5019                                                                         \
5020     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]                 \
5021     VARIANT_BOOL canHaveChildren();                                     \
5022                                                                         \
5023     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]                              \
5024     LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory); \
5025                                                                         \
5026     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]                           \
5027     VARIANT_BOOL removeBehavior([in] LONG cookie);                      \
5028                                                                         \
5029     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]      \
5030     IHTMLStyle* runtimeStyle();                                         \
5031                                                                         \
5032     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]                    \
5033     IDispatch* behaviorUrns();                                          \
5034                                                                         \
5035     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5036     void tagUrn(BSTR v);                                                \
5037                                                                         \
5038     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5039     BSTR tagUrn();                                                      \
5040                                                                         \
5041     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5042     void onbeforeeditfocus(VARIANT v);                                  \
5043                                                                         \
5044     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5045     VARIANT onbeforeeditfocus();                                        \
5046                                                                         \
5047     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] \
5048     LONG readyStateValue();                                             \
5049                                                                         \
5050     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]                     \
5051     IHTMLElementCollection* getElementsByTagName([in] BSTR v)
5052
5053 /*****************************************************************************
5054  *    IHTMLElement3 interface
5055  */
5056 [
5057     odl,
5058     oleautomation,
5059     dual,
5060     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
5061 ]
5062 interface IHTMLElement3 : IDispatch
5063 {
5064     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
5065     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
5066
5067     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5068     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
5069
5070     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5071     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
5072
5073     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5074     HRESULT onlayoutcomplete([in] VARIANT v);
5075
5076     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5077     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
5078
5079     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5080     HRESULT onpage([in] VARIANT v);
5081
5082     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5083     HRESULT onpage([retval, out] VARIANT * p);
5084
5085     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5086     HRESULT inflateBlock([in] VARIANT_BOOL v);
5087
5088     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5089     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
5090
5091     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5092     HRESULT onbeforedeactivate([in] VARIANT v);
5093
5094     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5095     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
5096
5097     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
5098
5099     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5100     HRESULT contentEditable([in] BSTR v);
5101
5102     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5103     HRESULT contentEditable([retval, out] BSTR * p);
5104
5105     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5106     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
5107
5108     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5109     HRESULT hideFocus([in] VARIANT_BOOL v);
5110
5111     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5112     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
5113
5114     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5115     HRESULT disabled([in] VARIANT_BOOL v);
5116
5117     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5118     HRESULT disabled([retval, out] VARIANT_BOOL * p);
5119
5120     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5121     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
5122
5123     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5124     HRESULT onmove([in] VARIANT v);
5125
5126     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5127     HRESULT onmove([retval, out] VARIANT * p);
5128
5129     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5130     HRESULT oncontrolselect([in] VARIANT v);
5131
5132     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5133     HRESULT oncontrolselect([retval, out] VARIANT * p);
5134
5135     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5136     HRESULT fireEvent(
5137         [in] BSTR bstrEventName,
5138         [optional, in] VARIANT* pvarEventObject,
5139         [retval, out] VARIANT_BOOL* pfCancelled);
5140
5141     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5142     HRESULT onresizestart([in] VARIANT v);
5143
5144     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5145     HRESULT onresizestart([retval, out] VARIANT * p);
5146
5147     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5148     HRESULT onresizeend([in] VARIANT v);
5149
5150     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5151     HRESULT onresizeend([retval, out] VARIANT * p);
5152
5153     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5154     HRESULT onmovestart([in] VARIANT v);
5155
5156     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5157     HRESULT onmovestart([retval, out] VARIANT * p);
5158
5159     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5160     HRESULT onmoveend([in] VARIANT v);
5161
5162     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5163     HRESULT onmoveend([retval, out] VARIANT * p);
5164
5165     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5166     HRESULT onmouseenter([in] VARIANT v);
5167
5168     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5169     HRESULT onmouseenter([retval, out] VARIANT * p);
5170
5171     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5172     HRESULT onmouseleave([in] VARIANT v);
5173
5174     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5175     HRESULT onmouseleave([retval, out] VARIANT * p);
5176
5177     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5178     HRESULT onactivate([in] VARIANT v);
5179
5180     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5181     HRESULT onactivate([retval, out] VARIANT * p);
5182
5183     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5184     HRESULT ondeactivate([in] VARIANT v);
5185
5186     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5187     HRESULT ondeactivate([retval, out] VARIANT * p);
5188
5189     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
5190     VARIANT_BOOL* pfRet);
5191
5192     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5193     HRESULT glyphMode([retval, out] LONG * p);
5194 }
5195
5196 #define WINE_IHTMLELEMENT3_DISPINTERFACE_DECL                           \
5197                                                                         \
5198     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]                          \
5199     void mergeAttributes(                                               \
5200             [in] IHTMLElement* mergeThis,                               \
5201             [optional, in] VARIANT* pvarFlags);                         \
5202                                                                         \
5203     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]                     \
5204     VARIANT_BOOL isMultiLine();                                         \
5205                                                                         \
5206     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]                     \
5207     VARIANT_BOOL canHaveHTML();                                         \
5208                                                                         \
5209     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5210     void onlayoutcomplete(VARIANT v);                                   \
5211                                                                         \
5212     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5213     VARIANT onlayoutcomplete();                                         \
5214                                                                         \
5215     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5216     void onpage(VARIANT v);                                             \
5217                                                                         \
5218     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5219     VARIANT onpage();                                                   \
5220                                                                         \
5221     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5222     void inflateBlock(VARIANT_BOOL v);                                  \
5223                                                                         \
5224     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5225     VARIANT_BOOL inflateBlock();                                        \
5226                                                                         \
5227     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5228     void onbeforedeactivate(VARIANT v);                                 \
5229                                                                         \
5230     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5231     VARIANT onbeforedeactivate();                                       \
5232                                                                         \
5233     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]                                \
5234     void setActive();                                                   \
5235                                                                         \
5236     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5237     void contentEditable(BSTR v);                                       \
5238                                                                         \
5239     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5240     BSTR contentEditable();                                             \
5241                                                                         \
5242     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]               \
5243     VARIANT_BOOL isContentEditable();                                   \
5244                                                                         \
5245     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5246     void hideFocus(VARIANT_BOOL v);                                     \
5247                                                                         \
5248     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5249     VARIANT_BOOL hideFocus();                                           \
5250                                                                         \
5251     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5252     void disabled(VARIANT_BOOL v);                                      \
5253                                                                         \
5254     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5255     VARIANT_BOOL disabled();                                            \
5256                                                                         \
5257     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]                      \
5258     VARIANT_BOOL isDisabled();                                          \
5259                                                                         \
5260     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5261     void onmove(VARIANT v);                                             \
5262                                                                         \
5263     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5264     VARIANT onmove();                                                   \
5265                                                                         \
5266     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5267     void oncontrolselect(VARIANT v);                                    \
5268                                                                         \
5269     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5270     VARIANT oncontrolselect();                                          \
5271                                                                         \
5272     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]                                \
5273     VARIANT_BOOL fireEvent(                                             \
5274         [in] BSTR bstrEventName,                                        \
5275         [optional, in] VARIANT* pvarEventObject);                       \
5276                                                                         \
5277     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5278     void onresizestart(VARIANT v);                                      \
5279                                                                         \
5280     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5281     VARIANT onresizestart();                                            \
5282                                                                         \
5283     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5284     void onresizeend(VARIANT v);                                        \
5285                                                                         \
5286     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5287     VARIANT onresizeend();                                              \
5288                                                                         \
5289     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5290     void onmovestart(VARIANT v);                                        \
5291                                                                         \
5292     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5293     VARIANT onmovestart();                                              \
5294                                                                         \
5295     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5296     void onmoveend(VARIANT v);                                          \
5297                                                                         \
5298     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5299     VARIANT onmoveend();                                                \
5300                                                                         \
5301     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5302     void onmouseenter(VARIANT v);                                       \
5303                                                                         \
5304     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5305     VARIANT onmouseenter();                                             \
5306                                                                         \
5307     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5308     void onmouseleave(VARIANT v);                                       \
5309                                                                         \
5310     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5311     VARIANT onmouseleave();                                             \
5312                                                                         \
5313     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5314     void onactivate(VARIANT v);                                         \
5315                                                                         \
5316     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5317     VARIANT onactivate();                                               \
5318                                                                         \
5319     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5320     void ondeactivate(VARIANT v);                                       \
5321                                                                         \
5322     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5323     VARIANT ondeactivate();                                             \
5324                                                                         \
5325     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]                                 \
5326     VARIANT_BOOL dragDrop();                                            \
5327                                                                         \
5328     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] \
5329     LONG glyphMode()
5330
5331 /*****************************************************************************
5332  *    IHTMLElement4 interface
5333  */
5334 [
5335     odl,
5336     oleautomation,
5337     dual,
5338     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
5339 ]
5340 interface IHTMLElement4 : IDispatch
5341 {
5342     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5343     HRESULT onmousewheel([in] VARIANT v);
5344
5345     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5346     HRESULT onmousewheel([retval, out] VARIANT * p);
5347
5348     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5349     HRESULT normalize();
5350
5351     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5352     HRESULT getAttributeNode([in] BSTR bstrname,
5353         [retval, out] IHTMLDOMAttribute** ppAttribute);
5354
5355     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5356     HRESULT setAttributeNode(
5357         [in] IHTMLDOMAttribute* pattr,
5358         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5359
5360     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5361     HRESULT removeAttributeNode(
5362         [in] IHTMLDOMAttribute* pattr,
5363         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5364
5365     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5366     HRESULT onbeforeactivate([in] VARIANT v);
5367
5368     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5369     HRESULT onbeforeactivate([retval, out] VARIANT * p);
5370
5371     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5372     HRESULT onfocusin([in] VARIANT v);
5373
5374     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5375     HRESULT onfocusin([retval, out] VARIANT * p);
5376
5377     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5378     HRESULT onfocusout([in] VARIANT v);
5379
5380     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5381     HRESULT onfocusout([retval, out] VARIANT * p);
5382 }
5383
5384 #define WINE_IHTMLELEMENT4_DISPINTERFACE_DECL                           \
5385     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5386     void onmousewheel(VARIANT v);                                       \
5387                                                                         \
5388     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5389     VARIANT onmousewheel();                                             \
5390                                                                         \
5391     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]                                \
5392     void normalize();                                                   \
5393                                                                         \
5394     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]                         \
5395     IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);            \
5396                                                                         \
5397     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]                         \
5398     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr); \
5399                                                                         \
5400     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]                      \
5401     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr); \
5402                                                                         \
5403     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5404     void onbeforeactivate(VARIANT v);                                   \
5405                                                                         \
5406     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5407     VARIANT onbeforeactivate();                                         \
5408                                                                         \
5409     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5410     void onfocusin(VARIANT v);                                          \
5411                                                                         \
5412     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5413     VARIANT onfocusin();                                                \
5414                                                                         \
5415     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5416     void onfocusout(VARIANT v);                                         \
5417                                                                         \
5418     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5419     VARIANT onfocusout()
5420
5421 #define WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL                \
5422     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)]                 \
5423     IHTMLElement *querySelector([in] BSTR v);                   \
5424                                                                 \
5425     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)]              \
5426     IHTMLDOMChildrenCollection *querySelectorAll([in] BSTR v)
5427
5428 /*****************************************************************************
5429  *    IHTMLUniqueName interface
5430  */
5431 [
5432     odl,
5433     oleautomation,
5434     dual,
5435     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
5436 ]
5437 interface IHTMLUniqueName : IDispatch
5438 {
5439     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5440     HRESULT uniqueNumber([retval, out] LONG * p);
5441
5442     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5443     HRESULT uniqueID([retval, out] BSTR * p);
5444 }
5445
5446 #define WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL                 \
5447     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]  \
5448     LONG uniqueNumber();                                        \
5449                                                                 \
5450     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]      \
5451     BSTR uniqueID()
5452
5453 #define WINE_IHTMLELEMENT5_DISPINTERFACE_DECL                           \
5454     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)]                     \
5455     IHTMLDOMAttribute2 *ie8_getAttributeNode([in] BSTR bstrname);       \
5456                                                                         \
5457     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)]                     \
5458     IHTMLDOMAttribute2 *ie8_setAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5459                                                                         \
5460     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)]                  \
5461     IHTMLDOMAttribute2 *ie8_removeAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5462                                                                         \
5463     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)]                             \
5464     VARIANT_BOOL hasAttribute([in] BSTR name);                          \
5465                                                                         \
5466     [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5467     void role(BSTR v);                                                  \
5468                                                                         \
5469     [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5470     BSTR role();                                                        \
5471                                                                         \
5472     [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5473     void ariaBusy(BSTR v);                                              \
5474                                                                         \
5475     [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5476     BSTR ariaBusy();                                                    \
5477                                                                         \
5478     [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5479     void ariaChecked(BSTR v);                                           \
5480                                                                         \
5481     [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5482     BSTR ariaChecked();                                                 \
5483                                                                         \
5484     [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5485     void ariaDisabled(BSTR v);                                          \
5486                                                                         \
5487     [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5488     BSTR ariaDisabled();                                                \
5489                                                                         \
5490     [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5491     void ariaExpanded(BSTR v);                                          \
5492                                                                         \
5493     [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5494     BSTR ariaExpanded();                                                \
5495                                                                         \
5496     [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable]\
5497     void ariaHaspopup(BSTR v);                                          \
5498                                                                         \
5499     [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] \
5500     BSTR ariaHaspopup();                                                \
5501                                                                         \
5502     [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5503     void ariaHidden(BSTR v);                                            \
5504                                                                         \
5505     [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5506     BSTR ariaHidden();                                                  \
5507                                                                         \
5508     [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5509     void ariaInvalid(BSTR v);                                           \
5510                                                                         \
5511     [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5512     BSTR ariaInvalid();                                                 \
5513                                                                         \
5514     [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5515     void ariaMultiselectable(BSTR v);                                   \
5516                                                                         \
5517     [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5518     BSTR ariaMultiselectable();                                         \
5519                                                                         \
5520     [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5521     void ariaPressed(BSTR v);                                           \
5522                                                                         \
5523     [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5524     BSTR ariaPressed();                                                 \
5525                                                                         \
5526     [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
5527     void ariaReadonly(BSTR v);                                          \
5528                                                                         \
5529     [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
5530     BSTR ariaReadonly();                                                \
5531                                                                         \
5532     [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
5533     void ariaRequired(BSTR v);                                          \
5534                                                                         \
5535     [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
5536     BSTR ariaRequired();                                                \
5537                                                                         \
5538     [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
5539     void ariaSecret(BSTR v);                                            \
5540                                                                         \
5541     [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
5542     BSTR ariaSecret();                                                  \
5543                                                                         \
5544     [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
5545     void ariaSelected(BSTR v);                                          \
5546                                                                         \
5547     [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
5548     BSTR ariaSelected();                                                \
5549                                                                         \
5550     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)]                         \
5551     VARIANT ie8_getAttribute([in] BSTR strAttributeName);               \
5552                                                                         \
5553     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)]                         \
5554     void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue); \
5555                                                                         \
5556     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)]                      \
5557     VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);       \
5558                                                                         \
5559     [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)]                  \
5560     IHTMLAttributeCollection3 *ie8_attributes();                        \
5561                                                                         \
5562     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
5563     void ariaValuenow(BSTR v);                                          \
5564                                                                         \
5565     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
5566     BSTR ariaValuenow();                                                \
5567                                                                         \
5568     [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
5569     void ariaPosinset(short v);                                         \
5570                                                                         \
5571     [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
5572     short ariaPosinset();                                               \
5573                                                                         \
5574     [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
5575     void ariaSetsize(short v);                                          \
5576                                                                         \
5577     [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
5578     short ariaSetsize();                                                \
5579                                                                         \
5580     [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
5581     void ariaLevel(short v);                                            \
5582                                                                         \
5583     [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
5584     short ariaLevel();                                                  \
5585                                                                         \
5586     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
5587     void ariaValuemin(BSTR v);                                          \
5588                                                                         \
5589     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
5590     BSTR ariaValuemin();                                                \
5591                                                                         \
5592     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
5593     void ariaValuemax(BSTR v);                                          \
5594                                                                         \
5595     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
5596     BSTR ariaValuemax();                                                \
5597                                                                         \
5598     [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
5599     void ariaControls(BSTR v);                                          \
5600                                                                         \
5601     [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
5602     BSTR ariaControls();                                                \
5603                                                                         \
5604     [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
5605     void ariaDescribedby(BSTR v);                                       \
5606                                                                         \
5607     [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
5608     BSTR ariaDescribedby();                                             \
5609                                                                         \
5610     [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
5611     void ariaFlowto(BSTR v);                                            \
5612                                                                         \
5613     [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
5614     BSTR ariaFlowto();                                                  \
5615                                                                         \
5616     [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
5617     void ariaLabelledby(BSTR v);                                        \
5618                                                                         \
5619     [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
5620     BSTR ariaLabelledby();                                              \
5621                                                                         \
5622     [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
5623     void ariaActivedescendant(BSTR v);                                  \
5624                                                                         \
5625     [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
5626     BSTR ariaActivedescendant();                                        \
5627                                                                         \
5628     [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
5629     void ariaOwns(BSTR v);                                              \
5630                                                                         \
5631     [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
5632     BSTR ariaOwns();                                                    \
5633                                                                         \
5634     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)]                            \
5635     VARIANT_BOOL hasAttributes();                                       \
5636                                                                         \
5637     [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
5638     void ariaLive(BSTR v);                                              \
5639                                                                         \
5640     [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
5641     BSTR ariaLive();                                                    \
5642                                                                         \
5643     [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
5644     void ariaRelevant(BSTR v);                                          \
5645                                                                         \
5646     [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
5647     BSTR ariaRelevant()
5648
5649 [
5650     odl,
5651     oleautomation,
5652     dual,
5653     uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
5654 ]
5655 interface IHTMLDatabinding : IDispatch
5656 {
5657     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
5658     HRESULT dataFld([in] BSTR v);
5659
5660     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
5661     HRESULT dataFld([retval, out] BSTR * p);
5662
5663     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
5664     HRESULT dataSrc([in] BSTR v);
5665
5666     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
5667     HRESULT dataSrc([retval, out] BSTR * p);
5668
5669     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
5670     HRESULT dataFormatAs([in] BSTR v);
5671
5672     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
5673     HRESULT dataFormatAs([retval, out] BSTR * p);
5674 }
5675
5676 #define WINE_IHTMLDATABINDING_DISPINTERFACE_DECL        \
5677     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
5678     void dataFld(BSTR v);                               \
5679                                                         \
5680     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
5681     BSTR dataFld();                                     \
5682                                                         \
5683     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
5684     void dataSrc(BSTR v);                               \
5685                                                         \
5686     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
5687     BSTR dataSrc();                                     \
5688                                                         \
5689     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
5690     void dataFormatAs(BSTR v);                          \
5691                                                         \
5692     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
5693     BSTR dataFormatAs()
5694
5695 #define WINE_HTMLELEMENT_DISPINTERFACE_DECL     \
5696     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
5697     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
5698     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
5699     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
5700     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
5701     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
5702     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
5703     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
5704
5705 #define WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL \
5706     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
5707     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
5708     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
5709     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
5710     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
5711     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
5712     WINE_IHTMLDATABINDING_DISPINTERFACE_DECL;   \
5713     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
5714     WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL;   \
5715     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
5716
5717 /*****************************************************************************
5718  *    IHTMLGenericElement interface
5719  */
5720 [
5721     odl,
5722     oleautomation,
5723     dual,
5724     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
5725 ]
5726 interface IHTMLGenericElement : IDispatch
5727 {
5728     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5729     HRESULT recordset([out, retval] IDispatch **p);
5730
5731     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5732     HRESULT namedRecordset(
5733             [in] BSTR dataMember,
5734             [in, optional] VARIANT *hierarchy,
5735             [out, retval] IDispatch **ppRecordset);
5736 }
5737
5738 /*****************************************************************************
5739  *    DispHTMLGenericElement dispinterface
5740  */
5741 [
5742     hidden,
5743     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
5744 ]
5745 dispinterface DispHTMLGenericElement
5746 {
5747 properties:
5748 methods:
5749     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
5750
5751     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5752     IDispatch *recordset();
5753
5754     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5755     IDispatch *namedRecordset(
5756             [in] BSTR dataMember,
5757             [in, optional] VARIANT *hierarchy);
5758 }
5759
5760 /*****************************************************************************
5761  *    IHTMLStyleSheetRule interface
5762  */
5763 [
5764     odl,
5765     oleautomation,
5766     dual,
5767     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
5768 ]
5769 interface IHTMLStyleSheetRule : IDispatch
5770 {
5771     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5772     HRESULT selectorText([in] BSTR v);
5773
5774     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5775     HRESULT selectorText([retval, out] BSTR *p);
5776
5777     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
5778     HRESULT style([retval, out] IHTMLRuleStyle **p);
5779
5780     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5781     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5782 }
5783
5784 [
5785     hidden,
5786     uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b)
5787 ]
5788 dispinterface DispHTMLStyleSheetRule
5789 {
5790 properties:
5791 methods:
5792     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5793     void selectorText(BSTR v);
5794
5795     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5796     BSTR selectorText();
5797
5798     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable]
5799     IHTMLRuleStyle* style();
5800
5801     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5802     VARIANT_BOOL readOnly();
5803
5804     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
5805 }
5806
5807 [
5808     noncreatable,
5809     uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b)
5810 ]
5811 coclass HTMLStyleSheetRule
5812 {
5813     [default]           dispinterface DispHTMLStyleSheetRule;
5814                         interface IHTMLStyleSheetRule;
5815                         interface IHTMLDOMConstructor;
5816 }
5817
5818 /*****************************************************************************
5819  *    IHTMLStyleSheetRulesCollection interface
5820  */
5821 [
5822     odl,
5823     oleautomation,
5824     dual,
5825     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
5826 ]
5827 interface IHTMLStyleSheetRulesCollection : IDispatch
5828 {
5829     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5830     HRESULT length([retval, out] LONG *p);
5831
5832     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5833     HRESULT item(
5834         [in] LONG index,
5835         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
5836 }
5837
5838 [
5839     hidden,
5840     uuid(3050f52f-98b5-11cf-bb82-00aa00bdce0b)
5841 ]
5842 dispinterface DispHTMLStyleSheetRulesCollection
5843 {
5844 properties:
5845 methods:
5846     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5847     long length();
5848
5849     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5850     IHTMLStyleSheetRule* item([in] long index);
5851
5852     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
5853 }
5854
5855 [
5856     noncreatable,
5857     uuid(3050f3cd-98b5-11cf-bb82-00aa00bdce0b)
5858 ]
5859 coclass HTMLStyleSheetRulesCollection
5860 {
5861     [default]           dispinterface DispHTMLStyleSheetRulesCollection;
5862                         interface IHTMLStyleSheetRulesCollection;
5863                         interface IHTMLDOMConstructor;
5864 }
5865
5866 [
5867     odl,
5868     oleautomation,
5869     dual,
5870     uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
5871 ]
5872 interface IHTMLStyleSheetPage : IDispatch
5873 {
5874     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
5875     HRESULT selector([retval, out] BSTR *p);
5876
5877     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
5878     HRESULT pseudoClass([retval, out] BSTR *p);
5879 }
5880
5881 [
5882     hidden,
5883     uuid(3050f540-98b5-11cf-bb82-00aa00bdce0b)
5884 ]
5885 dispinterface DispHTMLStyleSheetPage
5886 {
5887 properties:
5888 methods:
5889     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
5890     BSTR selector();
5891
5892     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
5893     BSTR pseudoClass();
5894
5895     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
5896 }
5897 [
5898     noncreatable,
5899     uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b)
5900 ]
5901 coclass HTMLStyleSheetPage
5902 {
5903     [default]           dispinterface DispHTMLStyleSheetPage;
5904                         interface IHTMLStyleSheetPage;
5905                         interface IHTMLDOMConstructor;
5906 }
5907
5908 [
5909     odl,
5910     oleautomation,
5911     dual,
5912     uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
5913 ]
5914 interface IHTMLStyleSheetPagesCollection : IDispatch
5915 {
5916     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
5917     HRESULT length([retval, out] LONG *p);
5918
5919     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
5920     HRESULT item(
5921         [in] LONG index,
5922         [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
5923 }
5924
5925 [
5926     hidden,
5927     uuid(3050f543-98b5-11cf-bb82-00aa00bdce0b)
5928 ]
5929 dispinterface DispHTMLStyleSheetPagesCollection
5930 {
5931 properties:
5932 methods:
5933     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
5934     long length();
5935
5936     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
5937     IHTMLStyleSheetPage* item([in] long index);
5938
5939     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
5940 }
5941
5942 [
5943     noncreatable,
5944     uuid(3050f7f1-98b5-11cf-bb82-00aa00bdce0b)
5945 ]
5946 coclass HTMLStyleSheetPagesCollection
5947 {
5948     [default]           dispinterface DispHTMLStyleSheetPagesCollection;
5949                         interface IHTMLStyleSheetPagesCollection;
5950                         interface IHTMLDOMConstructor;
5951 }
5952
5953 /*****************************************************************************
5954  *    IHTMLStyleSheet interface
5955  */
5956 [
5957     odl,
5958     oleautomation,
5959     dual,
5960     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
5961 ]
5962 interface IHTMLStyleSheet : IDispatch
5963 {
5964     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5965     HRESULT title([in] BSTR v);
5966
5967     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5968     HRESULT title([retval, out] BSTR *p);
5969
5970     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
5971     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
5972
5973     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
5974     HRESULT owningElement([retval, out] IHTMLElement **p);
5975
5976     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5977     HRESULT disabled([in] VARIANT_BOOL v);
5978
5979     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5980     HRESULT disabled([retval, out] VARIANT_BOOL *p);
5981
5982     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
5983     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5984
5985     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
5986     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
5987
5988     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
5989     HRESULT href([in] BSTR v);
5990
5991     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
5992     HRESULT href([retval, out] BSTR *p);
5993
5994     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
5995     HRESULT type([retval, out] BSTR *p);
5996
5997     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
5998     HRESULT id([retval, out] BSTR *p);
5999
6000     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6001     HRESULT addImport(
6002         [in] BSTR bstrURL,
6003         [defaultvalue(-1), in] LONG lIndex,
6004         [retval, out] LONG *plIndex);
6005
6006     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6007     HRESULT addRule(
6008         [in] BSTR bstrSelector,
6009         [in] BSTR bstrStyle,
6010         [defaultvalue(-1), in] LONG lIndex,
6011         [retval, out] LONG *plNewIndex);
6012
6013     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6014     HRESULT removeImport([in] LONG lIndex);
6015
6016     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6017     HRESULT removeRule([in] LONG lIndex);
6018
6019     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6020     HRESULT media([in] BSTR v);
6021
6022     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6023     HRESULT media([retval, out] BSTR *p);
6024
6025     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6026     HRESULT cssText([in] BSTR v);
6027
6028     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6029     HRESULT cssText([retval, out] BSTR *p);
6030
6031     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6032     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
6033 }
6034
6035 /*****************************************************************************
6036  *    IHTMLStyleSheet2 interface
6037  */
6038 [
6039     odl,
6040     oleautomation,
6041     dual,
6042     uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
6043 ]
6044 interface IHTMLStyleSheet2 : IDispatch
6045 {
6046     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6047     HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
6048
6049     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6050     HRESULT addPageRule(
6051         [in] BSTR bstrSelector,
6052         [in] BSTR bstrStyle,
6053         [defaultvalue(-1), in] LONG lIndex,
6054         [retval, out] LONG *plNewIndex);
6055 }
6056
6057 [
6058     hidden,
6059     uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
6060 ]
6061 dispinterface DispHTMLStyleSheet
6062 {
6063 properties:
6064 methods:
6065     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6066     void title(BSTR v);
6067
6068     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6069     BSTR title();
6070
6071     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6072     IHTMLStyleSheet* parentStyleSheet();
6073
6074     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6075     IHTMLElement* owningElement();
6076
6077     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6078     void disabled(VARIANT_BOOL v);
6079
6080     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6081     VARIANT_BOOL disabled();
6082
6083     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6084     VARIANT_BOOL readOnly();
6085
6086     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6087     IHTMLStyleSheetsCollection* imports();
6088
6089     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6090     void href(BSTR v);
6091
6092     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6093     BSTR href();
6094
6095     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6096     BSTR type();
6097
6098     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6099     BSTR id();
6100
6101     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6102     LONG addImport(
6103         [in] BSTR bstrURL,
6104         [defaultvalue(-1), in] LONG lIndex);
6105
6106     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6107     LONG addRule(
6108         [in] BSTR bstrSelector,
6109         [in] BSTR bstrStyle,
6110         [defaultvalue(-1), in] LONG lIndex);
6111
6112     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6113     void removeImport([in] LONG lIndex);
6114
6115     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6116     void removeRule([in] LONG lIndex);
6117
6118     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6119     void media(BSTR v);
6120
6121     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6122     BSTR media();
6123
6124     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6125     void cssText(BSTR v);
6126
6127     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6128     BSTR cssText();
6129
6130     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6131     IHTMLStyleSheetRulesCollection* rules();
6132
6133     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6134     IHTMLStyleSheetPagesCollection* pages();
6135
6136     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6137     LONG addPageRule(
6138         [in] BSTR bstrSelector,
6139         [in] BSTR bstrStyle,
6140         [defaultvalue(-1), in] LONG lIndex);
6141 }
6142
6143 [
6144     noncreatable,
6145     uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
6146 ]
6147 coclass HTMLStyleSheet
6148 {
6149     [default]           dispinterface DispHTMLStyleSheet;
6150                         interface IHTMLStyleSheet;
6151                         interface IHTMLStyleSheet2;
6152 }
6153
6154 /*****************************************************************************
6155  *    IHTMLStyleSheetsCollection interface
6156  */
6157 [
6158     odl,
6159     oleautomation,
6160     dual,
6161     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
6162 ]
6163 interface IHTMLStyleSheetsCollection : IDispatch
6164 {
6165     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6166     HRESULT length([retval, out] LONG *p);
6167
6168     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
6169     HRESULT _newEnum([retval, out] IUnknown **p);
6170
6171     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6172     HRESULT item(
6173         [in] VARIANT *pvarIndex,
6174         [retval, out] VARIANT *pvarResult);
6175 }
6176
6177 /*****************************************************************************
6178  *    DispHTMLStyleSheetsCollection dispinterface
6179  */
6180 [
6181     hidden,
6182     uuid(3050f547-98b5-11cf-bb82-00aa00bdce0b)
6183 ]
6184 dispinterface DispHTMLStyleSheetsCollection
6185 {
6186 properties:
6187 methods:
6188     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6189     long length();
6190
6191     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM), hidden, restricted]
6192     IUnknown *_newEnum();
6193
6194     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6195     VARIANT item([in] VARIANT *pvarIndex);
6196
6197     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
6198     IDispatch *constructor();
6199 }
6200
6201 /*****************************************************************************
6202  *    IHTMLTxtRange interface
6203  */
6204 [
6205     odl,
6206     oleautomation,
6207     dual,
6208     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
6209 ]
6210 interface IHTMLTxtRange : IDispatch
6211 {
6212     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
6213     HRESULT htmlText([retval, out] BSTR *p);
6214
6215     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
6216     HRESULT text([in] BSTR v);
6217
6218     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
6219     HRESULT text([retval, out] BSTR *p);
6220
6221     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
6222     HRESULT parentElement([retval, out] IHTMLElement **parent);
6223
6224     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
6225     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
6226
6227     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
6228     HRESULT inRange(
6229         [in] IHTMLTxtRange *Range,
6230         [retval, out] VARIANT_BOOL *InRange);
6231
6232     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
6233     HRESULT isEqual(
6234         [in] IHTMLTxtRange *Range,
6235         [retval, out] VARIANT_BOOL *IsEqual);
6236
6237     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
6238     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
6239
6240     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
6241     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
6242
6243     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
6244     HRESULT expand(
6245         [in] BSTR Unit,
6246         [retval, out] VARIANT_BOOL *Success);
6247
6248     [id(DISPID_IHTMLTXTRANGE_MOVE)]
6249     HRESULT move(
6250         [in] BSTR Unit,
6251         [defaultvalue(1), in] LONG Count,
6252         [retval, out] LONG *ActualCount);
6253
6254     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
6255     HRESULT moveStart(
6256         [in] BSTR Unit,
6257         [defaultvalue(1), in] LONG Count,
6258         [retval, out] LONG *ActualCount);
6259
6260     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
6261     HRESULT moveEnd(
6262         [in] BSTR Unit,
6263         [defaultvalue(1), in] LONG Count,
6264         [retval, out] LONG *ActualCount);
6265
6266     [id(DISPID_IHTMLTXTRANGE_SELECT)]
6267     HRESULT select();
6268
6269     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
6270     HRESULT pasteHTML([in] BSTR html);
6271
6272     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
6273     HRESULT moveToElementText([in] IHTMLElement *element);
6274
6275     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
6276     HRESULT setEndPoint(
6277         [in] BSTR how,
6278         [in] IHTMLTxtRange *SourceRange);
6279
6280     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
6281     HRESULT compareEndPoints(
6282         [in] BSTR how,
6283         [in] IHTMLTxtRange *SourceRange,
6284         [retval, out] LONG *ret);
6285
6286     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
6287     HRESULT findText(
6288         [in] BSTR String,
6289         [defaultvalue(1073741823), in] LONG count,
6290         [defaultvalue(0), in] LONG Flags,
6291         [retval, out] VARIANT_BOOL *Success);
6292
6293     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
6294     HRESULT moveToPoint(
6295         [in] LONG x,
6296         [in] LONG y);
6297
6298     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
6299     HRESULT getBookmark([retval, out] BSTR *Boolmark);
6300
6301     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
6302     HRESULT moveToBookmark(
6303         [in] BSTR Bookmark,
6304         [retval, out] VARIANT_BOOL *Success);
6305
6306     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
6307     HRESULT queryCommandSupported(
6308         [in] BSTR cmdID,
6309         [retval, out] VARIANT_BOOL *pfRet);
6310
6311     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
6312     HRESULT queryCommandEnabled(
6313         [in] BSTR cmdID,
6314         [retval, out] VARIANT_BOOL *pfRet);
6315
6316     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
6317     HRESULT queryCommandState(
6318         [in] BSTR cmdID,
6319         [retval, out] VARIANT_BOOL *pfRet);
6320
6321     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
6322     HRESULT queryCommandIndeterm(
6323         [in] BSTR cmdID,
6324         [retval, out] VARIANT_BOOL *pfRet);
6325
6326     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
6327     HRESULT queryCommandText(
6328         [in] BSTR cmdID,
6329         [retval, out] BSTR *pcmdText);
6330
6331     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
6332     HRESULT queryCommandValue(
6333         [in] BSTR cmdID,
6334         [retval, out] VARIANT *pcmdValue);
6335
6336     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
6337     HRESULT execCommand(
6338         [in] BSTR cmdID,
6339         [defaultvalue(0), in] VARIANT_BOOL showUI,
6340         [optional, in] VARIANT value,
6341         [retval, out] VARIANT_BOOL *pfRet);
6342
6343     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
6344     HRESULT execCommandShowHelp(
6345         [in] BSTR cmdID,
6346         [retval, out] VARIANT_BOOL *pfRet);
6347 }
6348
6349 [
6350     noncreatable,
6351     uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
6352 ]
6353 coclass HTMLStyleSheetsCollection
6354 {
6355     [default]           interface IHTMLStyleSheetsCollection;
6356 }
6357
6358 /*****************************************************************************
6359  *    IHTMLFormElement interface
6360  */
6361 [
6362     odl,
6363     oleautomation,
6364     dual,
6365     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
6366 ]
6367 interface IHTMLFormElement : IDispatch
6368 {
6369     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6370     HRESULT action([in] BSTR v);
6371
6372     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6373     HRESULT action([retval, out] BSTR *p);
6374
6375     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
6376     HRESULT dir([in] BSTR v);
6377
6378     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
6379     HRESULT dir([retval, out] BSTR *p);
6380
6381     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6382     HRESULT encoding([in] BSTR v);
6383
6384     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6385     HRESULT encoding([retval, out] BSTR *p);
6386
6387     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6388     HRESULT method([in] BSTR v);
6389
6390     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6391     HRESULT method([retval, out] BSTR *p);
6392
6393     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6394     HRESULT elements([retval, out] IDispatch **p);
6395
6396     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6397     HRESULT target([in] BSTR v);
6398
6399     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6400     HRESULT target([retval, out] BSTR *p);
6401
6402     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6403     HRESULT name([in] BSTR v);
6404
6405     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6406     HRESULT name([retval, out] BSTR *p);
6407
6408     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6409     HRESULT onsubmit([in] VARIANT v);
6410
6411     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6412     HRESULT onsubmit([retval, out] VARIANT *p);
6413
6414     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6415     HRESULT onreset([in] VARIANT v);
6416
6417     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6418     HRESULT onreset([retval, out] VARIANT *p);
6419
6420     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6421     HRESULT submit();
6422
6423     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6424     HRESULT reset();
6425
6426     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6427     HRESULT length([in] LONG v);
6428
6429     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6430     HRESULT length([retval, out] LONG *p);
6431
6432     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
6433     HRESULT _newEnum([retval, out] IUnknown **p);
6434
6435     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6436     HRESULT item(
6437         [optional, in] VARIANT name,
6438         [optional, in] VARIANT index,
6439         [retval, out] IDispatch **pdisp);
6440
6441     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6442     HRESULT tags(
6443         [in] VARIANT tagName,
6444         [retval, out] IDispatch **pdisp);
6445 }
6446
6447 /*****************************************************************************
6448  *    DispHTMLFormElement dispinterface
6449  */
6450 [
6451     hidden,
6452     uuid(3050F510-98B5-11CF-BB82-00AA00BDCE0B)
6453 ]
6454 dispinterface DispHTMLFormElement
6455 {
6456 properties:
6457 methods:
6458     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6459
6460     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6461     void action(BSTR v);
6462
6463     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6464     BSTR action();
6465
6466     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6467     void encoding(BSTR v);
6468
6469     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6470     BSTR encoding();
6471
6472     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6473     void method(BSTR v);
6474
6475     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6476     BSTR method();
6477
6478     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6479     IDispatch *elements();
6480
6481     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6482     void target(BSTR v);
6483
6484     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6485     BSTR target();
6486
6487     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6488     void name(BSTR v);
6489
6490     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6491     BSTR name();
6492
6493     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6494     void onsubmit(VARIANT v);
6495
6496     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6497     VARIANT onsubmit();
6498
6499     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6500     void onreset(VARIANT v);
6501
6502     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6503     VARIANT onreset();
6504
6505     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6506     void submit();
6507
6508     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6509     void reset();
6510
6511     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6512     void length(long v);
6513
6514     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6515     long length();
6516
6517     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM), hidden, restricted]
6518     IUnknown *_newEnum();
6519
6520     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6521     IDispatch *item(VARIANT name, VARIANT index);
6522
6523     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6524     IDispatch *tags(VARIANT tagName);
6525 }
6526
6527 [
6528     hidden,
6529     uuid(3050F364-98B5-11CF-BB82-00AA00BDCE0B)
6530 ]
6531 dispinterface HTMLFormElementEvents
6532 {
6533 properties:
6534 methods:
6535     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
6536     VARIANT_BOOL onhelp();
6537
6538     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
6539     VARIANT_BOOL onclick();
6540
6541     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
6542     VARIANT_BOOL ondblclick();
6543
6544     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
6545     VARIANT_BOOL onkeypress();
6546
6547     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
6548     void onkeydown();
6549
6550     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
6551     void onkeyup();
6552
6553     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
6554     void onmouseout();
6555
6556     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
6557     void onmouseover();
6558
6559     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
6560     void onmousemove();
6561
6562     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
6563     void onmousedown();
6564
6565     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
6566     void onmouseup();
6567
6568     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
6569     VARIANT_BOOL onselectstart();
6570
6571     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
6572     void onfilterchange();
6573
6574     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
6575     VARIANT_BOOL ondragstart();
6576
6577     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
6578     VARIANT_BOOL onbeforeupdate();
6579
6580     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
6581     void onafterupdate();
6582
6583     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
6584     VARIANT_BOOL onerrorupdate();
6585
6586     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
6587     VARIANT_BOOL onrowexit();
6588
6589     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
6590     void onrowenter();
6591
6592     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
6593     void ondatasetchanged();
6594
6595     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
6596     void ondataavailable();
6597
6598     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
6599     void ondatasetcomplete();
6600
6601     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
6602     void onlosecapture();
6603
6604     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
6605     void onpropertychange();
6606
6607     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
6608     void onscroll();
6609
6610     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
6611     void onfocus();
6612
6613     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
6614     void onblur();
6615
6616     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
6617     void onresize();
6618
6619     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
6620     VARIANT_BOOL ondrag();
6621
6622     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
6623     void ondragend();
6624
6625     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
6626     VARIANT_BOOL ondragenter();
6627
6628     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
6629     VARIANT_BOOL ondragover();
6630
6631     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
6632     void ondragleave();
6633
6634     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
6635     VARIANT_BOOL ondrop();
6636
6637     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
6638     VARIANT_BOOL onbeforecut();
6639
6640     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
6641     VARIANT_BOOL oncut();
6642
6643     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
6644     VARIANT_BOOL onbeforecopy();
6645
6646     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
6647     VARIANT_BOOL oncopy();
6648
6649     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
6650     VARIANT_BOOL onbeforepaste();
6651
6652     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
6653     VARIANT_BOOL onpaste();
6654
6655     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
6656     VARIANT_BOOL oncontextmenu();
6657
6658     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
6659     void onrowsdelete();
6660
6661     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
6662     void onrowsinserted();
6663
6664     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
6665     void oncellchange();
6666
6667     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
6668     void onreadystatechange();
6669
6670     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
6671     void onbeforeeditfocus();
6672
6673     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
6674     void onlayoutcomplete();
6675
6676     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
6677     void onpage();
6678
6679     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
6680     VARIANT_BOOL onbeforedeactivate();
6681
6682     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
6683     VARIANT_BOOL onbeforeactivate();
6684
6685     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
6686     void onmove();
6687
6688     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
6689     VARIANT_BOOL oncontrolselect();
6690
6691     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
6692     VARIANT_BOOL onmovestart();
6693
6694     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
6695     void onmoveend();
6696
6697     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
6698     VARIANT_BOOL onresizestart();
6699
6700     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
6701     void onresizeend();
6702
6703     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
6704     void onmouseenter();
6705
6706     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
6707     void onmouseleave();
6708
6709     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
6710     VARIANT_BOOL onmousewheel();
6711
6712     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
6713     void onactivate();
6714
6715     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
6716     void ondeactivate();
6717
6718     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
6719     void onfocusin();
6720
6721     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
6722     void onfocusout();
6723
6724     [id(DISPID_HTMLFORMELEMENTEVENTS_ONSUBMIT)]
6725     VARIANT_BOOL onsubmit();
6726
6727     [id(DISPID_HTMLFORMELEMENTEVENTS_ONRESET)]
6728     VARIANT_BOOL onreset();
6729 }
6730
6731 interface IHTMLEventObj;
6732
6733 [
6734     hidden,
6735     uuid(3050F614-98B5-11CF-BB82-00AA00BDCE0B)
6736 ]
6737 dispinterface HTMLFormElementEvents2
6738 {
6739 properties:
6740 methods:
6741     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
6742     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
6743
6744     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
6745     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
6746
6747     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
6748     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
6749
6750     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
6751     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
6752
6753     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
6754     void onkeydown([in] IHTMLEventObj* pEvtObj);
6755
6756     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
6757     void onkeyup([in] IHTMLEventObj* pEvtObj);
6758
6759     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
6760     void onmouseout([in] IHTMLEventObj* pEvtObj);
6761
6762     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
6763     void onmouseover([in] IHTMLEventObj* pEvtObj);
6764
6765     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
6766     void onmousemove([in] IHTMLEventObj* pEvtObj);
6767
6768     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
6769     void onmousedown([in] IHTMLEventObj* pEvtObj);
6770
6771     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
6772     void onmouseup([in] IHTMLEventObj* pEvtObj);
6773
6774     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
6775     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
6776
6777     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
6778     void onfilterchange([in] IHTMLEventObj* pEvtObj);
6779
6780     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
6781     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
6782
6783     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
6784     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
6785
6786     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
6787     void onafterupdate([in] IHTMLEventObj* pEvtObj);
6788
6789     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
6790     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
6791
6792     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
6793     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
6794
6795     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
6796     void onrowenter([in] IHTMLEventObj* pEvtObj);
6797
6798     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
6799     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
6800
6801     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
6802     void ondataavailable([in] IHTMLEventObj* pEvtObj);
6803
6804     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
6805     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
6806
6807     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
6808     void onlosecapture([in] IHTMLEventObj* pEvtObj);
6809
6810     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
6811     void onpropertychange([in] IHTMLEventObj* pEvtObj);
6812
6813     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
6814     void onscroll([in] IHTMLEventObj* pEvtObj);
6815
6816     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
6817     void onfocus([in] IHTMLEventObj* pEvtObj);
6818
6819     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
6820     void onblur([in] IHTMLEventObj* pEvtObj);
6821
6822     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
6823     void onresize([in] IHTMLEventObj* pEvtObj);
6824
6825     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
6826     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
6827
6828     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
6829     void ondragend([in] IHTMLEventObj* pEvtObj);
6830
6831     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
6832     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
6833
6834     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
6835     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
6836
6837     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
6838     void ondragleave([in] IHTMLEventObj* pEvtObj);
6839
6840     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
6841     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
6842
6843     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
6844     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
6845
6846     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
6847     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
6848
6849     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
6850     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
6851
6852     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
6853     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
6854
6855     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
6856     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
6857
6858     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
6859     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
6860
6861     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
6862     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
6863
6864     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
6865     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
6866
6867     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
6868     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
6869
6870     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
6871     void oncellchange([in] IHTMLEventObj* pEvtObj);
6872
6873     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
6874     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
6875
6876     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
6877     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
6878
6879     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
6880     void onpage([in] IHTMLEventObj* pEvtObj);
6881
6882     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
6883     void onmouseenter([in] IHTMLEventObj* pEvtObj);
6884
6885     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
6886     void onmouseleave([in] IHTMLEventObj* pEvtObj);
6887
6888     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
6889     void onactivate([in] IHTMLEventObj* pEvtObj);
6890
6891     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
6892     void ondeactivate([in] IHTMLEventObj* pEvtObj);
6893
6894     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
6895     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
6896
6897     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
6898     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
6899
6900     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
6901     void onfocusin([in] IHTMLEventObj* pEvtObj);
6902
6903     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
6904     void onfocusout([in] IHTMLEventObj* pEvtObj);
6905
6906     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
6907     void onmove([in] IHTMLEventObj* pEvtObj);
6908
6909     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
6910     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
6911
6912     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
6913     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
6914
6915     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
6916     void onmoveend([in] IHTMLEventObj* pEvtObj);
6917
6918     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
6919     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
6920
6921     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
6922     void onresizeend([in] IHTMLEventObj* pEvtObj);
6923
6924     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
6925     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
6926
6927     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONSUBMIT)]
6928     VARIANT_BOOL onsubmit([in] IHTMLEventObj* pEvtObj);
6929
6930     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONRESET)]
6931     VARIANT_BOOL onreset([in] IHTMLEventObj* pEvtObj);
6932 }
6933
6934 [
6935     noncreatable,
6936     uuid(3050F24D-98B5-11CF-BB82-00AA00BDCE0B)
6937 ]
6938 coclass HTMLFormElement
6939 {
6940     [default]           dispinterface DispHTMLFormElement;
6941     [source, default]   dispinterface HTMLFormElementEvents;
6942     [source]            dispinterface HTMLFormElementEvents2;
6943                         interface IHTMLElement;
6944                         interface IHTMLElement2;
6945                         interface IHTMLElement3;
6946                         interface IHTMLElement4;
6947                         interface IHTMLUniqueName;
6948                         interface IHTMLDOMNode;
6949                         interface IHTMLDOMNode2;
6950                         interface IHTMLDOMConstructor;
6951                         interface IHTMLFormElement;
6952 }
6953
6954 /*****************************************************************************
6955  *    IHTMLTextContainer interface
6956  */
6957 [
6958     odl,
6959     oleautomation,
6960     dual,
6961     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
6962 ]
6963 interface IHTMLTextContainer : IDispatch
6964 {
6965     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
6966     HRESULT createControlRange([retval, out] IDispatch **range);
6967
6968     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
6969     HRESULT scrollHeight([retval, out] LONG *p);
6970
6971     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
6972     HRESULT scrollWidth([retval, out] LONG *p);
6973
6974     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
6975     HRESULT scrollTop([in] LONG v);
6976
6977     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
6978     HRESULT scrollTop([retval, out] LONG *p);
6979
6980     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
6981     HRESULT scrollLeft([in] LONG v);
6982
6983     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
6984     HRESULT scrollLeft([retval, out] LONG *p);
6985
6986     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
6987     HRESULT onscroll([in] VARIANT v);
6988
6989     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
6990     HRESULT onscroll([retval, out] VARIANT *p);
6991 }
6992
6993 /*****************************************************************************
6994  *    IHTMLImgElement interface
6995  */
6996 [
6997     odl,
6998     oleautomation,
6999     dual,
7000     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
7001 ]
7002 interface IHTMLImgElement : IDispatch
7003 {
7004     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7005     HRESULT isMap([in] VARIANT_BOOL v);
7006
7007     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7008     HRESULT isMap([retval, out] VARIANT_BOOL *p);
7009
7010     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7011     HRESULT useMap([in] BSTR v);
7012
7013     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7014     HRESULT useMap([retval, out] BSTR *p);
7015
7016     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7017     HRESULT mimeType([retval, out] BSTR *p);
7018
7019     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7020     HRESULT fileSize([retval, out] BSTR *p);
7021
7022     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7023     HRESULT fileCreatedDate([retval, out] BSTR *p);
7024
7025     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7026     HRESULT fileModifiedDate([retval, out] BSTR *p);
7027
7028     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7029     HRESULT fileUpdatedDate([retval, out] BSTR *p);
7030
7031     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7032     HRESULT protocol([retval, out] BSTR *p);
7033
7034     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7035     HRESULT href([retval, out] BSTR *p);
7036
7037     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7038     HRESULT nameProp([retval, out] BSTR *p);
7039
7040     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7041     HRESULT border([in] VARIANT v);
7042
7043     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7044     HRESULT border([retval, out] VARIANT *p);
7045
7046     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7047     HRESULT vspace([in] LONG v);
7048
7049     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7050     HRESULT vspace([retval, out] LONG *p);
7051
7052     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7053     HRESULT hspace([in] LONG v);
7054
7055     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7056     HRESULT hspace([retval, out] LONG *p);
7057
7058     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
7059     HRESULT alt([in] BSTR v);
7060
7061     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
7062     HRESULT alt([retval, out] BSTR *p);
7063
7064     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
7065     HRESULT src([in] BSTR v);
7066
7067     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
7068     HRESULT src([retval, out] BSTR *p);
7069
7070     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7071     HRESULT lowsrc([in] BSTR v);
7072
7073     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7074     HRESULT lowsrc([retval, out] BSTR *p);
7075
7076     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
7077     HRESULT vrml([in] BSTR v);
7078
7079     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
7080     HRESULT vrml([retval, out] BSTR *p);
7081
7082     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7083     HRESULT dynsrc([in] BSTR v);
7084
7085     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7086     HRESULT dynsrc([retval, out] BSTR *p);
7087
7088     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
7089     HRESULT readyState([retval, out] BSTR *p);
7090
7091     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7092     HRESULT complete([retval, out] VARIANT_BOOL *p);
7093
7094     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7095     HRESULT loop([in] VARIANT v);
7096
7097     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7098     HRESULT loop([retval, out] VARIANT *p);
7099
7100     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7101     HRESULT align([in] BSTR v);
7102
7103     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7104     HRESULT align([retval, out] BSTR *p);
7105
7106     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7107     HRESULT onload([in] VARIANT v);
7108
7109     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7110     HRESULT onload([retval, out] VARIANT *p);
7111
7112     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7113     HRESULT onerror([in] VARIANT v);
7114
7115     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7116     HRESULT onerror([retval, out] VARIANT *p);
7117
7118     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7119     HRESULT onabort([in] VARIANT v);
7120
7121     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7122     HRESULT onabort([retval, out] VARIANT *p);
7123
7124     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
7125     HRESULT name([in] BSTR v);
7126
7127     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
7128     HRESULT name([retval, out] BSTR *p);
7129
7130     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7131     HRESULT width([in] LONG v);
7132
7133     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7134     HRESULT width([retval, out] LONG *p);
7135
7136     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7137     HRESULT height([in] LONG v);
7138
7139     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7140     HRESULT height([retval, out] LONG *p);
7141
7142     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
7143     HRESULT start([in] BSTR v);
7144
7145     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
7146     HRESULT start([retval, out] BSTR *p);
7147 }
7148
7149 /*****************************************************************************
7150  *    IHTMLImageElementFactory interface
7151  */
7152 [
7153     odl,
7154     oleautomation,
7155     dual,
7156     uuid(3050F38E-98B5-11CF-BB82-00AA00BDCE0B)
7157 ]
7158 interface IHTMLImageElementFactory : IDispatch
7159 {
7160     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
7161     HRESULT create(
7162         [optional, in] VARIANT width,
7163         [optional, in] VARIANT height,
7164         [retval, out]  IHTMLImgElement **elem);
7165 }
7166
7167 /*****************************************************************************
7168  *    DispHTMLImg interface
7169  */
7170 [
7171     hidden,
7172     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
7173 ]
7174 dispinterface DispHTMLImg
7175 {
7176 properties:
7177 methods:
7178     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7179
7180     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7181     void isMap(VARIANT_BOOL v);
7182
7183     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7184     VARIANT_BOOL isMap();
7185
7186     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7187     void useMap(BSTR v);
7188
7189     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7190     BSTR useMap();
7191
7192     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7193     BSTR mimeType();
7194
7195     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7196     BSTR fileSize();
7197
7198     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7199     BSTR fileCreatedDate();
7200
7201     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7202     BSTR fileModifiedDate();
7203
7204     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7205     BSTR fileUpdatedDate();
7206
7207     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7208     BSTR protocol();
7209
7210     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7211     BSTR href();
7212
7213     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7214     BSTR nameProp();
7215
7216     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7217     void border(VARIANT v);
7218
7219     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7220     VARIANT border();
7221
7222     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7223     void vspace(LONG v);
7224
7225     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7226     LONG vspace();
7227
7228     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7229     void hspace(LONG v);
7230
7231     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7232     LONG hspace();
7233
7234     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7235     void alt(BSTR v);
7236
7237     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7238     BSTR alt();
7239
7240     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7241     void src(BSTR v);
7242
7243     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7244     BSTR src();
7245
7246     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7247     void lowsrc(BSTR v);
7248
7249     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7250     BSTR lowsrc();
7251
7252     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7253     void vrml(BSTR v);
7254
7255     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7256     BSTR vrml();
7257
7258     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7259     void dynsrc(BSTR v);
7260
7261     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7262     BSTR dynsrc();
7263
7264     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7265     VARIANT_BOOL complete();
7266
7267     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7268     void loop(VARIANT v);
7269
7270     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7271     VARIANT loop();
7272
7273     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7274     void align(BSTR v);
7275
7276     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7277     BSTR align();
7278
7279     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7280     void onload(VARIANT v);
7281
7282     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7283     VARIANT onload();
7284
7285     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7286     void onerror(VARIANT v);
7287
7288     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7289     VARIANT onerror();
7290
7291     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7292     void onabort(VARIANT v);
7293
7294     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7295     VARIANT onabort();
7296
7297     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7298     void name(BSTR v);
7299
7300     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7301     BSTR name();
7302
7303     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7304     void width(LONG v);
7305
7306     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7307     LONG width();
7308
7309     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7310     void height(LONG v);
7311
7312     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7313     LONG height();
7314
7315     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7316     void start(BSTR v);
7317
7318     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7319     BSTR start();
7320
7321     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7322     void longDesc(BSTR v);
7323
7324     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7325     BSTR longDesc();
7326 }
7327
7328 /*****************************************************************************
7329  *    IHTMLControlElement interface
7330  */
7331 [
7332     odl,
7333     oleautomation,
7334     dual,
7335     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
7336 ]
7337 interface IHTMLControlElement : IDispatch
7338 {
7339     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7340     HRESULT tabIndex([in] short v);
7341
7342     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7343     HRESULT tabIndex([retval, out] short * p);
7344
7345     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
7346     HRESULT focus();
7347
7348     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7349     HRESULT accessKey([in] BSTR v);
7350
7351     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7352     HRESULT accessKey([retval, out] BSTR * p);
7353
7354     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7355     HRESULT onblur([in] VARIANT v);
7356
7357     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7358     HRESULT onblur([retval, out] VARIANT * p);
7359
7360     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7361     HRESULT onfocus([in] VARIANT v);
7362
7363     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7364     HRESULT onfocus([retval, out] VARIANT * p);
7365
7366     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7367     HRESULT onresize([in] VARIANT v);
7368
7369     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7370     HRESULT onresize([retval, out] VARIANT * p);
7371
7372     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
7373     HRESULT blur();
7374
7375     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
7376     HRESULT addFilter([in] IUnknown* pUnk);
7377
7378     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
7379     HRESULT removeFilter([in] IUnknown* pUnk);
7380
7381     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
7382     HRESULT clientHeight([retval, out] LONG * p);
7383
7384     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
7385     HRESULT clientWidth([retval, out] LONG * p);
7386
7387     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
7388     HRESULT clientTop([retval, out] LONG * p);
7389
7390     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
7391     HRESULT clientLeft([retval, out] LONG * p);
7392 }
7393
7394 /*****************************************************************************
7395  *    IHTMLBodyElement interface
7396  */
7397 [
7398     odl,
7399     oleautomation,
7400     dual,
7401     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
7402 ]
7403 interface IHTMLBodyElement : IDispatch
7404 {
7405     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7406     HRESULT background([in] BSTR v);
7407
7408     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7409     HRESULT background([retval, out] BSTR *p);
7410
7411     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7412     HRESULT bgProperties([in] BSTR v);
7413
7414     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7415     HRESULT bgProperties([retval, out] BSTR *p);
7416
7417     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7418     HRESULT leftMargin([in] VARIANT v);
7419
7420     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7421     HRESULT leftMargin([retval, out] VARIANT *p);
7422
7423     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7424     HRESULT topMargin([in] VARIANT v);
7425
7426     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7427     HRESULT topMargin([retval, out] VARIANT *p);
7428
7429     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7430     HRESULT rightMargin([in] VARIANT v);
7431
7432     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7433     HRESULT rightMargin([retval, out] VARIANT *p);
7434
7435     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7436     HRESULT bottomMargin([in] VARIANT v);
7437
7438     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7439     HRESULT bottomMargin([retval, out] VARIANT *p);
7440
7441     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7442     HRESULT noWrap([in] VARIANT_BOOL v);
7443
7444     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7445     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
7446
7447     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7448     HRESULT bgColor([in] VARIANT v);
7449
7450     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7451     HRESULT bgColor([retval, out] VARIANT *p);
7452
7453     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7454     HRESULT text([in] VARIANT v);
7455
7456     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7457     HRESULT text([retval, out] VARIANT *p);
7458
7459     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7460     HRESULT link([in] VARIANT v);
7461
7462     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7463     HRESULT link([retval, out] VARIANT *p);
7464
7465     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7466     HRESULT vLink([in] VARIANT v);
7467
7468     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7469     HRESULT vLink([retval, out] VARIANT *p);
7470
7471     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7472     HRESULT aLink([in] VARIANT v);
7473
7474     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7475     HRESULT aLink([retval, out] VARIANT *p);
7476
7477     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7478     HRESULT onload([in] VARIANT v);
7479
7480     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7481     HRESULT onload([retval, out] VARIANT *p);
7482
7483     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7484     HRESULT onunload([in] VARIANT v);
7485
7486     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7487     HRESULT onunload([retval, out] VARIANT *p);
7488
7489     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7490     HRESULT scroll([in] BSTR v);
7491
7492     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7493     HRESULT scroll([retval, out] BSTR *p);
7494
7495     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7496     HRESULT onselect([in] VARIANT v);
7497
7498     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7499     HRESULT onselect([retval, out] VARIANT *p);
7500
7501     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7502     HRESULT onbeforeunload([in] VARIANT v);
7503
7504     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7505     HRESULT onbeforeunload([retval, out] VARIANT *p);
7506
7507     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7508     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7509 }
7510
7511 /*****************************************************************************
7512  *    IHTMLBodyElement2 interface
7513  */
7514 [
7515     odl,
7516     oleautomation,
7517     dual,
7518     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
7519 ]
7520 interface IHTMLBodyElement2 : IDispatch
7521 {
7522     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7523     HRESULT onbeforeprint([in] VARIANT v);
7524
7525     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7526     HRESULT onbeforeprint([retval, out] VARIANT *p);
7527
7528     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7529     HRESULT onafterprint([in] VARIANT v);
7530
7531     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7532     HRESULT onafterprint([retval, out] VARIANT *p);
7533 }
7534
7535 [
7536     hidden,
7537     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
7538 ]
7539 dispinterface DispHTMLBody
7540 {
7541 properties:
7542 methods:
7543     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7544
7545     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7546     void background(BSTR v);
7547
7548     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7549     BSTR background();
7550
7551     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7552     void bgProperties(BSTR v);
7553
7554     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7555     BSTR bgProperties();
7556
7557     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7558     void leftMargin(VARIANT v);
7559
7560     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7561     VARIANT leftMargin();
7562
7563     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7564     void topMargin(VARIANT v);
7565
7566     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7567     VARIANT topMargin();
7568
7569     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7570     void rightMargin(VARIANT v);
7571
7572     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7573     VARIANT rightMargin();
7574
7575     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7576     void bottomMargin(VARIANT v);
7577
7578     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7579     VARIANT bottomMargin();
7580
7581     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7582     void noWrap(VARIANT_BOOL v);
7583
7584     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7585     VARIANT_BOOL noWrap();
7586
7587     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7588     void bgColor(VARIANT v);
7589
7590     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7591     VARIANT bgColor();
7592
7593     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7594     void text(VARIANT v);
7595
7596     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7597     VARIANT text();
7598
7599     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7600     void link(VARIANT v);
7601
7602     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7603     VARIANT link();
7604
7605     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7606     void vLink(VARIANT v);
7607
7608     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7609     VARIANT vLink();
7610
7611     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7612     void aLink(VARIANT v);
7613
7614     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7615     VARIANT aLink();
7616
7617     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7618     void onload(VARIANT v);
7619
7620     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7621     VARIANT onload();
7622
7623     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7624     void onunload(VARIANT v);
7625
7626     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7627     VARIANT onunload();
7628
7629     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7630     void scroll(BSTR v);
7631
7632     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7633     BSTR scroll();
7634
7635     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7636     void onselect(VARIANT v);
7637
7638     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7639     VARIANT onselect();
7640
7641     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7642     void onbeforeunload(VARIANT v);
7643
7644     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7645     VARIANT onbeforeunload();
7646
7647     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7648     IHTMLTxtRange* createTextRange();
7649
7650     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7651     void onbeforeprint(VARIANT v);
7652
7653     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7654     VARIANT onbeforeprint();
7655
7656     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7657     void onafterprint(VARIANT v);
7658
7659     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7660     VARIANT onafterprint();
7661 }
7662
7663 [
7664     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
7665 ]
7666 coclass HTMLBody
7667 {
7668     [default]           dispinterface DispHTMLBody;
7669     [source, default]   dispinterface HTMLTextContainerEvents;
7670     [source]            dispinterface HTMLTextContainerEvents2;
7671                         interface IHTMLElement;
7672                         interface IHTMLElement2;
7673                         interface IHTMLElement3;
7674                         interface IHTMLElement4;
7675                         interface IHTMLUniqueName;
7676                         interface IHTMLDOMNode;
7677                         interface IHTMLDOMNode2;
7678                         interface IHTMLControlElement;
7679                         interface IHTMLTextContainer;
7680                         interface IHTMLBodyElement;
7681                         interface IHTMLBodyElement2;
7682 }
7683
7684 /*****************************************************************************
7685  *    IHTMLAnchorElement interface
7686  */
7687 [
7688     odl,
7689     oleautomation,
7690     dual,
7691     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
7692 ]
7693 interface IHTMLAnchorElement : IDispatch
7694 {
7695     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7696     HRESULT href([in] BSTR v);
7697
7698     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7699     HRESULT href([retval, out] BSTR *p);
7700
7701     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7702     HRESULT target([in] BSTR v);
7703
7704     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7705     HRESULT target([retval, out] BSTR *p);
7706
7707     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7708     HRESULT rel([in] BSTR v);
7709
7710     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7711     HRESULT rel([retval, out] BSTR *p);
7712
7713     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7714     HRESULT rev([in] BSTR v);
7715
7716     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7717     HRESULT rev([retval, out] BSTR *p);
7718
7719     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7720     HRESULT urn([in] BSTR v);
7721
7722     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7723     HRESULT urn([retval, out] BSTR *p);
7724
7725     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7726     HRESULT Methods([in] BSTR v);
7727
7728     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7729     HRESULT Methods([retval, out] BSTR *p);
7730
7731     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7732     HRESULT name([in] BSTR v);
7733
7734     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7735     HRESULT name([retval, out] BSTR *p);
7736
7737     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7738     HRESULT host([in] BSTR v);
7739
7740     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7741     HRESULT host([retval, out] BSTR *p);
7742
7743     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7744     HRESULT hostname([in] BSTR v);
7745
7746     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7747     HRESULT hostname([retval, out] BSTR *p);
7748
7749     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7750     HRESULT pathname([in] BSTR v);
7751
7752     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7753     HRESULT pathname([retval, out] BSTR *p);
7754
7755     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7756     HRESULT port([in] BSTR v);
7757
7758     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7759     HRESULT port([retval, out] BSTR *p);
7760
7761     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7762     HRESULT protocol([in] BSTR v);
7763
7764     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7765     HRESULT protocol([retval, out] BSTR *p);
7766
7767     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7768     HRESULT search([in] BSTR v);
7769
7770     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7771     HRESULT search([retval, out] BSTR *p);
7772
7773     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7774     HRESULT hash([in] BSTR v);
7775
7776     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7777     HRESULT hash([retval, out] BSTR *p);
7778
7779     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7780     HRESULT onblur([in] VARIANT v);
7781
7782     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7783     HRESULT onblur([retval, out] VARIANT *p);
7784
7785     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7786     HRESULT onfocus([in] VARIANT v);
7787
7788     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7789     HRESULT onfocus([retval, out] VARIANT *p);
7790
7791     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7792     HRESULT accessKey([in] BSTR v);
7793
7794     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7795     HRESULT accessKey([retval, out] BSTR *p);
7796
7797     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
7798     HRESULT protocolLong([retval, out] BSTR *p);
7799
7800     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
7801     HRESULT mimeType([retval, out] BSTR *p);
7802
7803     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
7804     HRESULT nameProp([retval, out] BSTR *p);
7805
7806     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7807     HRESULT tabIndex([in] short v);
7808
7809     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7810     HRESULT tabIndex([retval, out] short *p);
7811
7812     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
7813     HRESULT focus();
7814
7815     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
7816     HRESULT blur();
7817 }
7818
7819 /*****************************************************************************
7820  *    DispHTMLAnchorElement dispinterface
7821  */
7822 [
7823     hidden,
7824     uuid(3050f502-98b5-11cf-bb82-00aa00bdce0b)
7825 ]
7826 dispinterface DispHTMLAnchorElement
7827 {
7828 properties:
7829 methods:
7830     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7831
7832     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7833     void href(BSTR v);
7834
7835     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7836     BSTR href();
7837
7838     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7839     void target(BSTR v);
7840
7841     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7842     BSTR target();
7843
7844     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7845     void rel(BSTR v);
7846
7847     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7848     BSTR rel();
7849
7850     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7851     void rev(BSTR v);
7852
7853     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7854     BSTR rev();
7855
7856     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7857     void urn(BSTR v);
7858
7859     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7860     BSTR urn();
7861
7862     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7863     void Methods(BSTR v);
7864
7865     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7866     BSTR Methods();
7867
7868     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7869     void name(BSTR v);
7870
7871     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7872     BSTR name();
7873
7874     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7875     void host(BSTR v);
7876
7877     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7878     BSTR host();
7879
7880     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7881     void hostname(BSTR v);
7882
7883     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7884     BSTR hostname();
7885
7886     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7887     void pathname(BSTR v);
7888
7889     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7890     BSTR pathname();
7891
7892     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7893     void port(BSTR v);
7894
7895     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7896     BSTR port();
7897
7898     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7899     void protocol(BSTR v);
7900
7901     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7902     BSTR protocol();
7903
7904     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7905     void search(BSTR v);
7906
7907     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7908     BSTR search();
7909
7910     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7911     void hash(BSTR v);
7912
7913     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7914     BSTR hash();
7915
7916     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
7917     BSTR protocolLong();
7918
7919     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
7920     BSTR mimeType();
7921
7922     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
7923     BSTR nameProp();
7924
7925     [propput, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
7926     void charset(BSTR v);
7927
7928     [propget, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
7929     BSTR charset();
7930
7931     [propput, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
7932     void coords(BSTR v);
7933
7934     [propget, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
7935     BSTR coords();
7936
7937     [propput, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
7938     void hreflang(BSTR v);
7939
7940     [propget, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
7941     BSTR hreflang();
7942
7943     [propput, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
7944     void shape(BSTR v);
7945
7946     [propget, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
7947     BSTR shape();
7948
7949     [propput, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
7950     void type(BSTR v);
7951
7952     [propget, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
7953     BSTR type();
7954
7955     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
7956     void ie8_shape(BSTR v);
7957
7958     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
7959     BSTR ie8_shape();
7960
7961     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
7962     void ie8_coords(BSTR v);
7963
7964     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
7965     BSTR ie8_coords();
7966
7967     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
7968     void ie8_href(BSTR v);
7969
7970     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
7971     BSTR ie8_href();
7972 }
7973
7974 /*****************************************************************************
7975  *    IHTMLElementCollection interface
7976  */
7977 [
7978     odl,
7979     oleautomation,
7980     dual,
7981     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
7982 ]
7983 interface IHTMLElementCollection : IDispatch
7984 {
7985     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
7986     HRESULT toString([retval, out] BSTR *String);
7987
7988     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7989     HRESULT length([in] LONG v);
7990
7991     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7992     HRESULT length([retval, out] LONG *p);
7993
7994     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
7995     HRESULT _newEnum([retval, out] IUnknown **p);
7996
7997     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
7998     HRESULT item(
7999         [optional, in] VARIANT name,
8000         [optional, in] VARIANT index,
8001         [retval,  out] IDispatch **pdisp);
8002
8003     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8004     HRESULT tags(
8005         [in] VARIANT tagName,
8006         [retval, out] IDispatch **pdisp);
8007 }
8008
8009 /*****************************************************************************
8010  *    DispHTMLElementCollection dispinterface
8011  */
8012 [
8013     hidden,
8014     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
8015 ]
8016 dispinterface DispHTMLElementCollection
8017 {
8018 properties:
8019 methods:
8020     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8021     BSTR toString();
8022
8023     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8024     void length(LONG v);
8025
8026     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8027     LONG length();
8028
8029     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
8030     IUnknown *_newEnum();
8031
8032     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8033     IDispatch *item(
8034             [in, optional] VARIANT name,
8035             [in, optional] VARIANT index);
8036
8037     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8038     IDispatch *tags(
8039             [in] VARIANT tagName);
8040
8041     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
8042     IDispatch *urns([in] VARIANT urn);
8043
8044     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
8045     IDispatch *namedItem([in] BSTR name);
8046 }
8047
8048 /*****************************************************************************
8049  *    IHTMLSelectElement interface
8050  */
8051 [
8052     odl,
8053     oleautomation,
8054     dual,
8055     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
8056 ]
8057 interface IHTMLSelectElement : IDispatch
8058 {
8059     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8060     HRESULT size([in] LONG v);
8061
8062     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8063     HRESULT size([retval, out] LONG *p);
8064
8065     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8066     HRESULT multiple([in] VARIANT_BOOL v);
8067
8068     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8069     HRESULT multiple([retval, out] VARIANT_BOOL *p);
8070
8071     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8072     HRESULT name([in] BSTR v);
8073
8074     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8075     HRESULT name([retval, out] BSTR *p);
8076
8077     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8078     HRESULT options([retval, out] IDispatch **p);
8079
8080     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8081     HRESULT onchange([in] VARIANT v);
8082
8083     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8084     HRESULT onchange([retval, out] VARIANT *p);
8085
8086     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8087     HRESULT selectedIndex([in] LONG v);
8088
8089     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8090     HRESULT selectedIndex([retval, out] LONG *p);
8091
8092     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8093     HRESULT type([retval, out] BSTR *p);
8094
8095     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8096     HRESULT value([in] BSTR v);
8097
8098     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8099     HRESULT value([retval, out] BSTR *p);
8100
8101     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8102     HRESULT disabled([in] VARIANT_BOOL v);
8103
8104     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8105     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8106
8107     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8108     HRESULT form([retval, out] IHTMLFormElement **p);
8109
8110     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8111     HRESULT add(
8112         [in] IHTMLElement *element,
8113         [optional, in] VARIANT before);
8114
8115     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8116     HRESULT remove([defaultvalue(-1), in] LONG index);
8117
8118     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8119     HRESULT length([in] LONG v);
8120
8121     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8122     HRESULT length([retval, out] LONG *p);
8123
8124     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8125     HRESULT _newEnum([retval, out] IUnknown **p);
8126
8127     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8128     HRESULT item(
8129         [optional, in] VARIANT name,
8130         [optional, in] VARIANT index,
8131         [retval, out] IDispatch **pdisp);
8132
8133     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8134     HRESULT tags(
8135         [in] VARIANT tagName,
8136         [retval, out] IDispatch **pdisp);
8137 }
8138
8139 /*****************************************************************************
8140  *    DispHTMLSelectElement dispinterface
8141  */
8142 [
8143     hidden,
8144     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8145 ]
8146 dispinterface DispHTMLSelectElement
8147 {
8148 properties:
8149 methods:
8150     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8151
8152     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8153     void size(LONG v);
8154
8155     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8156     LONG size();
8157
8158     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8159     void multiple(VARIANT_BOOL v);
8160
8161     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8162     VARIANT_BOOL multiple();
8163
8164     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8165     void name(BSTR v);
8166
8167     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8168     BSTR name();
8169
8170     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8171     IDispatch *options();
8172
8173     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8174     void onchange(VARIANT v);
8175
8176     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8177     VARIANT onchange();
8178
8179     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8180     void selectedIndex(LONG v);
8181
8182     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8183     LONG selectedIndex();
8184
8185     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8186     BSTR type();
8187
8188     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8189     void value(BSTR v);
8190
8191     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8192     BSTR value();
8193
8194     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8195     IHTMLFormElement *form();
8196
8197     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8198     void add(
8199             [in] IHTMLElement *element,
8200             [in, optional] VARIANT before);
8201
8202     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8203     void remove([in, defaultvalue(-1)] LONG index);
8204
8205     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8206     void length(LONG v);
8207
8208     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8209     LONG length();
8210
8211     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8212     IUnknown *_newEnum();
8213
8214     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8215     IDispatch *item(
8216             [in, optional] VARIANT name,
8217             [in, optional] VARIANT index);
8218
8219     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8220     IDispatch *tags([in] VARIANT tagName);
8221
8222     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
8223     IDispatch *urns([in] VARIANT urn);
8224
8225     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
8226     IDispatch *namedItem([in] BSTR name);
8227 }
8228
8229 /*****************************************************************************
8230  *    IHTMLSelectionObject interface
8231  */
8232 [
8233     odl,
8234     oleautomation,
8235     dual,
8236     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
8237 ]
8238 interface IHTMLSelectionObject : IDispatch
8239 {
8240     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
8241     HRESULT createRange([retval, out] IDispatch **range);
8242
8243     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
8244     HRESULT empty();
8245
8246     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
8247     HRESULT clear();
8248
8249     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
8250     HRESULT type([retval, out] BSTR *p);
8251 }
8252
8253 /*****************************************************************************
8254  *    IHTMLOptionElement interface
8255  */
8256 [
8257     odl,
8258     oleautomation,
8259     dual,
8260     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
8261 ]
8262 interface IHTMLOptionElement : IDispatch
8263 {
8264     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8265     HRESULT selected([in] VARIANT_BOOL v);
8266
8267     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8268     HRESULT selected([retval, out] VARIANT_BOOL *p);
8269
8270     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8271     HRESULT value([in] BSTR v);
8272
8273     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8274     HRESULT value([retval, out] BSTR *p);
8275
8276     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8277     HRESULT defaultSelected([in] VARIANT_BOOL v);
8278
8279     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8280     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
8281
8282     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8283     HRESULT index([in] LONG v);
8284
8285     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8286     HRESULT index([retval, out] LONG *p);
8287
8288     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8289     HRESULT text([in] BSTR v);
8290
8291     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8292     HRESULT text([retval, out] BSTR *p);
8293
8294     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8295     HRESULT form([retval, out] IHTMLFormElement **p);
8296 }
8297
8298 [
8299     odl,
8300     oleautomation,
8301     dual,
8302     uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
8303 ]
8304 interface IHTMLOptionElement3 : IDispatch
8305 {
8306     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8307     HRESULT label([in] BSTR v);
8308
8309     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8310     HRESULT label([retval, out] BSTR * p);
8311 }
8312
8313 /*****************************************************************************
8314  *    IHTMLOptionElementFactory interface
8315  */
8316 [
8317     odl,
8318     oleautomation,
8319     dual,
8320     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
8321 ]
8322 interface IHTMLOptionElementFactory : IDispatch
8323 {
8324     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
8325     HRESULT create(
8326         [optional, in] VARIANT text,
8327         [optional, in] VARIANT value,
8328         [optional, in] VARIANT defaultselected,
8329         [optional, in] VARIANT selected,
8330         [retval, out] IHTMLOptionElement **optelem);
8331 }
8332
8333 /*****************************************************************************
8334  *    DispHTMLOptionElement dispinterface
8335  */
8336 [
8337     hidden,
8338     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
8339 ]
8340 dispinterface DispHTMLOptionElement
8341 {
8342 properties:
8343 methods:
8344     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8345
8346     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8347     void selected(VARIANT_BOOL v);
8348
8349     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8350     VARIANT_BOOL selected();
8351
8352     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8353     void value(BSTR v);
8354
8355     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8356     BSTR value();
8357
8358     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8359     void defaultSelected(VARIANT_BOOL v);
8360
8361     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8362     VARIANT_BOOL defaultSelected();
8363
8364     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8365     void index(LONG v);
8366
8367     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8368     LONG index();
8369
8370     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8371     void text(BSTR v);
8372
8373     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8374     BSTR text();
8375
8376     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8377     IHTMLFormElement *form();
8378
8379     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8380     void label(BSTR v);
8381
8382     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8383     BSTR label();
8384 }
8385
8386 [
8387     noncreatable,
8388     uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
8389 ]
8390 coclass HTMLOptionElement
8391 {
8392     [default]           dispinterface DispHTMLOptionElement;
8393     [source, default]   dispinterface HTMLElementEvents;
8394     [source]            dispinterface HTMLElementEvents2;
8395                         interface IHTMLElement;
8396                         interface IHTMLElement2;
8397                         interface IHTMLElement3;
8398                         interface IHTMLElement4;
8399                         interface IHTMLUniqueName;
8400                         interface IHTMLDOMNode;
8401                         interface IHTMLDOMNode2;
8402                         interface IHTMLDatabinding;
8403                         interface IHTMLOptionElement;
8404                         interface IHTMLOptionElement3;
8405 }
8406
8407 /*****************************************************************************
8408  *    IHTMLInputElement interface
8409  */
8410 [
8411     odl,
8412     oleautomation,
8413     dual,
8414     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
8415 ]
8416 interface IHTMLInputElement : IDispatch
8417 {
8418     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8419     HRESULT type([in] BSTR v);
8420
8421     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8422     HRESULT type([retval, out] BSTR *p);
8423
8424     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8425     HRESULT value([in] BSTR v);
8426
8427     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8428     HRESULT value([retval, out] BSTR *p);
8429
8430     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8431     HRESULT name([in] BSTR v);
8432
8433     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8434     HRESULT name([retval, out] BSTR *p);
8435
8436     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8437     HRESULT status([in] VARIANT_BOOL v);
8438
8439     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8440     HRESULT status([retval, out] VARIANT_BOOL *p);
8441
8442     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8443     HRESULT disabled([in] VARIANT_BOOL v);
8444
8445     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8446     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8447
8448     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8449     HRESULT form([retval, out] IHTMLFormElement **p);
8450
8451     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8452     HRESULT size([in] LONG v);
8453
8454     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8455     HRESULT size([retval, out] LONG *p);
8456
8457     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8458     HRESULT maxLength([in] LONG v);
8459
8460     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8461     HRESULT maxLength([retval, out] LONG *p);
8462
8463     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8464     HRESULT select();
8465
8466     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8467     HRESULT onchange([in] VARIANT v);
8468
8469     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8470     HRESULT onchange([retval, out] VARIANT *p);
8471
8472     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8473     HRESULT onselect([in] VARIANT v);
8474
8475     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8476     HRESULT onselect([retval, out] VARIANT *p);
8477
8478     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8479     HRESULT defaultValue([in] BSTR v);
8480
8481     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8482     HRESULT defaultValue([retval, out] BSTR *p);
8483
8484     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8485     HRESULT readOnly([in] VARIANT_BOOL v);
8486
8487     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8488     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8489
8490     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8491     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8492
8493     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8494     HRESULT indeterminate([in] VARIANT_BOOL v);
8495
8496     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8497     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
8498
8499     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8500     HRESULT defaultChecked([in] VARIANT_BOOL v);
8501
8502     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8503     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
8504
8505     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8506     HRESULT checked([in] VARIANT_BOOL v);
8507
8508     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8509     HRESULT checked([retval, out] VARIANT_BOOL *p);
8510
8511     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8512     HRESULT border([in] VARIANT v);
8513
8514     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8515     HRESULT border([retval, out] VARIANT *p);
8516
8517     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8518     HRESULT vspace([in] LONG v);
8519
8520     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8521     HRESULT vspace([retval, out] LONG *p);
8522
8523     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8524     HRESULT hspace([in] LONG v);
8525
8526     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8527     HRESULT hspace([retval, out] LONG *p);
8528
8529     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8530     HRESULT alt([in] BSTR v);
8531
8532     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8533     HRESULT alt([retval, out] BSTR *p);
8534
8535     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8536     HRESULT src([in] BSTR v);
8537
8538     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8539     HRESULT src([retval, out] BSTR *p);
8540
8541     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8542     HRESULT lowsrc([in] BSTR v);
8543
8544     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8545     HRESULT lowsrc([retval, out] BSTR *p);
8546
8547     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8548     HRESULT vrml([in] BSTR v);
8549
8550     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8551     HRESULT vrml([retval, out] BSTR *p);
8552
8553     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8554     HRESULT dynsrc([in] BSTR v);
8555
8556     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8557     HRESULT dynsrc([retval, out] BSTR *p);
8558
8559     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
8560     HRESULT readyState([retval, out] BSTR *p);
8561
8562     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
8563     HRESULT complete([retval, out] VARIANT_BOOL *p);
8564
8565     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8566     HRESULT loop([in] VARIANT v);
8567
8568     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8569     HRESULT loop([retval, out] VARIANT *p);
8570
8571     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8572     HRESULT align([in] BSTR v);
8573
8574     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8575     HRESULT align([retval, out] BSTR *p);
8576
8577     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8578     HRESULT onload([in] VARIANT v);
8579
8580     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8581     HRESULT onload([retval, out] VARIANT *p);
8582
8583     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8584     HRESULT onerror([in] VARIANT v);
8585
8586     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8587     HRESULT onerror([retval, out] VARIANT *p);
8588
8589     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8590     HRESULT onabort([in] VARIANT v);
8591
8592     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8593     HRESULT onabort([retval, out] VARIANT *p);
8594
8595     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8596     HRESULT width([in] LONG v);
8597
8598     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8599     HRESULT width([retval, out] LONG *p);
8600
8601     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8602     HRESULT height([in] LONG v);
8603
8604     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8605     HRESULT height([retval, out] LONG *p);
8606
8607     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8608     HRESULT start([in] BSTR v);
8609
8610     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8611     HRESULT start([retval, out] BSTR *p);
8612 }
8613
8614 /*****************************************************************************
8615  *    IHTMLInputTextElement interface
8616  */
8617 [
8618     odl,
8619     oleautomation,
8620     dual,
8621     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
8622 ]
8623 interface IHTMLInputTextElement : IDispatch
8624 {
8625     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
8626     HRESULT type([retval, out] BSTR *p);
8627
8628     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
8629     HRESULT value([in] BSTR v);
8630
8631     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
8632     HRESULT value([retval, out] BSTR *p);
8633
8634     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
8635     HRESULT name([in] BSTR v);
8636
8637     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
8638     HRESULT name([retval, out] BSTR *p);
8639
8640     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
8641     HRESULT status([in] VARIANT v);
8642
8643     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
8644     HRESULT status([retval, out] VARIANT *p);
8645
8646     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
8647     HRESULT disabled([in] VARIANT_BOOL v);
8648
8649     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
8650     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8651
8652     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
8653     HRESULT form([retval, out] IHTMLFormElement **p);
8654
8655     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8656     HRESULT defaultValue([in] BSTR v);
8657
8658     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8659     HRESULT defaultValue([retval, out] BSTR *p);
8660
8661     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
8662     HRESULT size([in] LONG v);
8663
8664     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
8665     HRESULT size([retval, out] LONG *p);
8666
8667     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
8668     HRESULT maxLength([in] LONG v);
8669
8670     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
8671     HRESULT maxLength([retval, out] LONG *p);
8672
8673     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
8674     HRESULT select();
8675
8676     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
8677     HRESULT onchange([in] VARIANT v);
8678
8679     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
8680     HRESULT onchange([retval, out] VARIANT *p);
8681
8682     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
8683     HRESULT onselect([in] VARIANT v);
8684
8685     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
8686     HRESULT onselect([retval, out] VARIANT *p);
8687
8688     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
8689     HRESULT readOnly([in] VARIANT_BOOL v);
8690
8691     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
8692     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8693
8694     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
8695     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8696 }
8697
8698 [
8699     hidden,
8700     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
8701 ]
8702 dispinterface DispHTMLInputElement
8703 {
8704 properties:
8705 methods:
8706     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8707
8708     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8709     void type(BSTR v);
8710
8711     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8712     BSTR type();
8713
8714     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8715     void value(BSTR v);
8716
8717     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8718     BSTR value();
8719
8720     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8721     void name(BSTR v);
8722
8723     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8724     BSTR name();
8725
8726     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8727     void status(VARIANT_BOOL v);
8728
8729     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8730     VARIANT_BOOL status();
8731
8732     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8733     IHTMLFormElement *form();
8734
8735     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8736     void size(LONG v);
8737
8738     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8739     LONG size();
8740
8741     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8742     void maxLength(LONG v);
8743
8744     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8745     LONG maxLength();
8746
8747     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8748     void select();
8749
8750     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8751     void onchange(VARIANT v);
8752
8753     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8754     VARIANT onchange();
8755
8756     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8757     void onselect(VARIANT v);
8758
8759     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8760     VARIANT onselect();
8761
8762     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8763     void defaultValue(BSTR v);
8764
8765     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8766     BSTR defaultValue();
8767
8768     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8769     void readOnly(VARIANT_BOOL v);
8770
8771     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8772     VARIANT_BOOL readOnly();
8773
8774     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8775     IHTMLTxtRange *createTextRange();
8776
8777     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8778     void indeterminate(VARIANT_BOOL v);
8779
8780     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8781     VARIANT_BOOL indeterminate();
8782
8783     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8784     void defaultChecked(VARIANT_BOOL v);
8785
8786     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8787     VARIANT_BOOL defaultChecked();
8788
8789     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8790     void checked(VARIANT_BOOL v);
8791
8792     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8793     VARIANT_BOOL checked();
8794
8795     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8796     void border(VARIANT v);
8797
8798     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8799     VARIANT border();
8800
8801     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8802     void vspace(LONG v);
8803
8804     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8805     LONG vspace();
8806
8807     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8808     void hspace(LONG v);
8809
8810     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8811     LONG hspace();
8812
8813     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8814     void alt(BSTR v);
8815
8816     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8817     BSTR alt();
8818
8819     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8820     void src(BSTR v);
8821
8822     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8823     BSTR src();
8824
8825     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8826     void lowsrc(BSTR v);
8827
8828     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8829     BSTR lowsrc();
8830
8831     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8832     void vrml(BSTR v);
8833
8834     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8835     BSTR vrml();
8836
8837     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8838     void dynsrc(BSTR v);
8839
8840     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8841     BSTR dynsrc();
8842
8843     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
8844     VARIANT_BOOL complete();
8845
8846     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8847     void loop(VARIANT v);
8848
8849     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8850     VARIANT loop();
8851
8852     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8853     void align(BSTR v);
8854
8855     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8856     BSTR align();
8857
8858     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8859     void onload(VARIANT v);
8860
8861     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8862     VARIANT onload();
8863
8864     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8865     void onerror(VARIANT v);
8866
8867     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8868     VARIANT onerror();
8869
8870     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8871     void onabort(VARIANT v);
8872
8873     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8874     VARIANT onabort();
8875
8876     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8877     void width(LONG v);
8878
8879     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8880     LONG width();
8881
8882     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8883     void height(LONG v);
8884
8885     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8886     LONG height();
8887
8888     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8889     void start(BSTR v);
8890
8891     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8892     BSTR start();
8893
8894     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
8895     void accept(BSTR v);
8896
8897     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
8898     BSTR accept();
8899
8900     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
8901     void useMap(BSTR v);
8902
8903     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
8904     BSTR useMap();
8905 }
8906
8907 /*****************************************************************************
8908  *    IHTMLTextAreaElement interface
8909  */
8910 [
8911     odl,
8912     oleautomation,
8913     dual,
8914     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
8915 ]
8916 interface IHTMLTextAreaElement : IDispatch
8917 {
8918     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
8919     HRESULT type([retval, out] BSTR *p);
8920
8921     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
8922     HRESULT value([in] BSTR v);
8923
8924     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
8925     HRESULT value([retval, out] BSTR *p);
8926
8927     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
8928     HRESULT name([in] BSTR v);
8929
8930     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
8931     HRESULT name([retval, out] BSTR *p);
8932
8933     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
8934     HRESULT status([in] VARIANT v);
8935
8936     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
8937     HRESULT status([retval, out] VARIANT *p);
8938
8939     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
8940     HRESULT disabled([in] VARIANT_BOOL v);
8941
8942     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
8943     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8944
8945     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
8946     HRESULT form([retval, out] IHTMLFormElement **p);
8947
8948     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8949     HRESULT defaultValue([in] BSTR v);
8950
8951     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8952     HRESULT defaultValue([retval, out] BSTR *p);
8953
8954     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
8955     HRESULT select();
8956
8957     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
8958     HRESULT onchange([in] VARIANT v);
8959
8960     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
8961     HRESULT onchange([retval, out] VARIANT *p);
8962
8963     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
8964     HRESULT onselect([in] VARIANT v);
8965
8966     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
8967     HRESULT onselect([retval, out] VARIANT *p);
8968
8969     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
8970     HRESULT readOnly([in] VARIANT_BOOL v);
8971
8972     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
8973     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8974
8975     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
8976     HRESULT rows([in] LONG v);
8977
8978     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
8979     HRESULT rows([retval, out] LONG *p);
8980
8981     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
8982     HRESULT cols([in] LONG v);
8983
8984     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
8985     HRESULT cols([retval, out] LONG *p);
8986
8987     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
8988     HRESULT wrap([in] BSTR v);
8989
8990     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
8991     HRESULT wrap([retval, out] BSTR *p);
8992
8993     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
8994     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8995 }
8996
8997 /*****************************************************************************
8998  *    DispHTMLTextAreaElement dispinterface
8999  */
9000 [
9001     hidden,
9002     uuid(3050f521-98b5-11cf-bb82-00aa00bdce0b)
9003 ]
9004 dispinterface DispHTMLTextAreaElement
9005 {
9006 properties:
9007 methods:
9008     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9009
9010     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9011     BSTR type();
9012
9013     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9014     void value(BSTR v);
9015
9016     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9017     BSTR value();
9018
9019     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9020     void name(BSTR v);
9021
9022     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9023     BSTR name();
9024
9025     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9026     void status(VARIANT v);
9027
9028     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9029     VARIANT status();
9030
9031     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9032     IHTMLFormElement *form();
9033
9034     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9035     void defaultValue(BSTR v);
9036
9037     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9038     BSTR defaultValue();
9039
9040     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9041     void select();
9042
9043     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9044     void onchange(VARIANT v);
9045
9046     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9047     VARIANT onchange();
9048
9049     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9050     void onselect(VARIANT v);
9051
9052     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9053     VARIANT onselect();
9054
9055     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9056     void readOnly(VARIANT_BOOL v);
9057
9058     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9059     VARIANT_BOOL readOnly();
9060
9061     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9062     void rows(LONG v);
9063
9064     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9065     LONG rows();
9066
9067     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9068     void cols(LONG v);
9069
9070     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9071     LONG cols();
9072
9073     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9074     void wrap(BSTR v);
9075
9076     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9077     BSTR wrap();
9078
9079     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9080     IHTMLTxtRange *createTextRange();
9081 }
9082
9083 /*****************************************************************************
9084  *    DispHTMLUnknownElement interface
9085  */
9086 [
9087     hidden,
9088     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
9089 ]
9090 dispinterface DispHTMLUnknownElement
9091 {
9092 properties:
9093 methods:
9094     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9095 }
9096
9097 /*****************************************************************************
9098  *    IOmHistory interface
9099  */
9100 [
9101     odl,
9102     oleautomation,
9103     dual,
9104     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
9105 ]
9106 interface IOmHistory : IDispatch
9107 {
9108     [propget, id(DISPID_IOMHISTORY_LENGTH)]
9109     HRESULT length([retval, out] short *p);
9110
9111     [id(DISPID_IOMHISTORY_BACK)]
9112     HRESULT back([optional, in] VARIANT *pvargdistance);
9113
9114     [id(DISPID_IOMHISTORY_FORWARD)]
9115     HRESULT forward([optional, in] VARIANT *pvargdistance);
9116
9117     [id(DISPID_IOMHISTORY_GO)]
9118     HRESULT go([optional, in] VARIANT *pvargdistance);
9119 }
9120
9121 [
9122     noncreatable,
9123     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
9124 ]
9125 coclass HTMLHistory
9126 {
9127     [default]           interface IOmHistory;
9128 }
9129
9130 /*****************************************************************************
9131  *    IHTMLMimeTypesCollection interface
9132  */
9133 [
9134     odl,
9135     oleautomation,
9136     dual,
9137     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
9138 ]
9139 interface IHTMLMimeTypesCollection : IDispatch
9140 {
9141     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
9142     HRESULT length([retval, out] LONG *p);
9143 }
9144
9145 [
9146     noncreatable,
9147     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
9148 ]
9149 coclass CMimeTypes
9150 {
9151     [default]           interface IHTMLMimeTypesCollection;
9152 }
9153
9154 /*****************************************************************************
9155  *    IHTMLPluginsCollection interface
9156  */
9157 [
9158     odl,
9159     oleautomation,
9160     dual,
9161     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
9162 ]
9163 interface IHTMLPluginsCollection : IDispatch
9164 {
9165     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9166     HRESULT length([retval, out] LONG *p);
9167
9168     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9169     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9170 }
9171
9172 [
9173     hidden,
9174     uuid(3050f54a-98b5-11cf-bb82-00aa00bdce0b)
9175 ]
9176 dispinterface DispCPlugins
9177 {
9178  properties:
9179 methods:
9180     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9181     long length();
9182
9183     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9184     void refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9185
9186     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
9187     IDispatch *constructor();
9188 }
9189
9190 [
9191     noncreatable,
9192     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
9193 ]
9194 coclass CPlugins
9195 {
9196     [default]  dispinterface DispCPlugins;
9197                interface IHTMLPluginsCollection;
9198                interface IHTMLDOMConstructor;
9199 }
9200
9201 /*****************************************************************************
9202  *    IHTMLOpsProfile interface
9203  */
9204 [
9205     odl,
9206     oleautomation,
9207     dual,
9208     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
9209 ]
9210 interface IHTMLOpsProfile : IDispatch
9211 {
9212     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
9213     HRESULT addRequest(
9214         [in] BSTR name,
9215         [optional, in] VARIANT reserved,
9216         [retval, out] VARIANT_BOOL *success);
9217
9218     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
9219     HRESULT clearRequest();
9220
9221     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
9222     HRESULT doRequest(
9223         [in] VARIANT usage,
9224         [optional, in] VARIANT fname,
9225         [optional, in] VARIANT domain,
9226         [optional, in] VARIANT path,
9227         [optional, in] VARIANT expire,
9228         [optional, in] VARIANT reserved);
9229
9230     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
9231     HRESULT getAttribute(
9232         [in] BSTR name,
9233         [retval, out] BSTR *value);
9234
9235     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
9236     HRESULT setAttribute(
9237         [in] BSTR name,
9238         [in] BSTR value,
9239         [optional, in] VARIANT prefs,
9240         [retval, out] VARIANT_BOOL *success);
9241
9242     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
9243     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
9244
9245     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
9246     HRESULT addReadRequest(
9247         [in] BSTR name,
9248         [optional, in] VARIANT reserved,
9249         [retval, out] VARIANT_BOOL *success);
9250
9251     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
9252     HRESULT doReadRequest(
9253         [in] VARIANT usage,
9254         [optional, in] VARIANT fname,
9255         [optional, in] VARIANT domain,
9256         [optional, in] VARIANT path,
9257         [optional, in] VARIANT expire,
9258         [optional, in] VARIANT reserved);
9259
9260     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
9261     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
9262 }
9263
9264 [
9265     noncreatable,
9266     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
9267 ]
9268 coclass COpsProfile
9269 {
9270     [default]           interface IHTMLOpsProfile;
9271 }
9272
9273 /*****************************************************************************
9274  *    IOmNavigator interface
9275  */
9276 [
9277     odl,
9278     oleautomation,
9279     dual,
9280     uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
9281 ]
9282 interface IOmNavigator : IDispatch
9283 {
9284     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9285     HRESULT appCodeName([retval, out] BSTR *p);
9286
9287     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9288     HRESULT appName([retval, out] BSTR *p);
9289
9290     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
9291     HRESULT appVersion([retval, out] BSTR *p);
9292
9293     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
9294     HRESULT userAgent([retval, out] BSTR *p);
9295
9296     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
9297     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
9298
9299     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
9300     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
9301
9302     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
9303     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
9304
9305     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
9306     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
9307
9308     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
9309     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
9310
9311     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
9312     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
9313
9314     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
9315     HRESULT toString([retval, out] BSTR *String);
9316
9317     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
9318     HRESULT cpuClass([retval, out] BSTR *p);
9319
9320     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
9321     HRESULT systemLanguage([retval, out] BSTR *p);
9322
9323     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
9324     HRESULT browserLanguage([retval, out] BSTR *p);
9325
9326     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
9327     HRESULT userLanguage([retval, out] BSTR *p);
9328
9329     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
9330     HRESULT platform([retval, out] BSTR *p);
9331
9332     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
9333     HRESULT appMinorVersion([retval, out] BSTR *p);
9334
9335     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
9336     HRESULT connectionSpeed([retval, out] LONG *p);
9337
9338     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
9339     HRESULT onLine([retval, out] VARIANT_BOOL *p);
9340
9341     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
9342     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
9343 }
9344
9345 /*****************************************************************************
9346  *    DispHTMLNavigator dispinterface
9347  */
9348 [
9349     hidden,
9350     uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
9351 ]
9352 dispinterface DispHTMLNavigator
9353 {
9354 properties:
9355 methods:
9356     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9357     BSTR appCodeName();
9358
9359     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9360     BSTR appName();
9361
9362     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
9363     BSTR appVersion();
9364
9365     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
9366     BSTR userAgent();
9367
9368     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
9369     VARIANT_BOOL javaEnabled();
9370
9371     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
9372     VARIANT_BOOL taintEnabled();
9373
9374     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
9375     IHTMLMimeTypesCollection *mimeTypes();
9376
9377     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
9378     IHTMLPluginsCollection *plugins();
9379
9380     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
9381     VARIANT_BOOL cookieEnabled();
9382
9383     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
9384     IHTMLOpsProfile *opsProfile();
9385
9386     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
9387     BSTR toString();
9388
9389     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
9390     BSTR cpuClass();
9391
9392     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
9393     BSTR systemLanguage();
9394
9395     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
9396     BSTR browserLanguage();
9397
9398     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
9399     BSTR userLanguage();
9400
9401     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
9402     BSTR platform();
9403
9404     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
9405     BSTR appMinorVersion();
9406
9407     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
9408     LONG connectionSpeed();
9409
9410     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
9411     VARIANT_BOOL onLine();
9412
9413     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
9414     IHTMLOpsProfile *userProfile();
9415
9416     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
9417 }
9418
9419 [
9420     noncreatable,
9421     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
9422 ]
9423 coclass HTMLNavigator
9424 {
9425     [default]  dispinterface DispHTMLNavigator;
9426                interface IOmNavigator;
9427 }
9428
9429 /*****************************************************************************
9430  *    IHTMLLocation interface
9431  */
9432 [
9433     odl,
9434     oleautomation,
9435     dual,
9436     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
9437 ]
9438 interface IHTMLLocation : IDispatch
9439 {
9440     [propput, id(DISPID_IHTMLLOCATION_HREF)]
9441     HRESULT href([in] BSTR v);
9442
9443     [propget, id(DISPID_IHTMLLOCATION_HREF)]
9444     HRESULT href([retval, out] BSTR *p);
9445
9446     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9447     HRESULT protocol([in] BSTR v);
9448
9449     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9450     HRESULT protocol([retval, out] BSTR *p);
9451
9452     [propput, id(DISPID_IHTMLLOCATION_HOST)]
9453     HRESULT host([in] BSTR v);
9454
9455     [propget, id(DISPID_IHTMLLOCATION_HOST)]
9456     HRESULT host([retval, out] BSTR *p);
9457
9458     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9459     HRESULT hostname([in] BSTR v);
9460
9461     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9462     HRESULT hostname([retval, out] BSTR *p);
9463
9464     [propput, id(DISPID_IHTMLLOCATION_PORT)]
9465     HRESULT port([in] BSTR v);
9466
9467     [propget, id(DISPID_IHTMLLOCATION_PORT)]
9468     HRESULT port([retval, out] BSTR *p);
9469
9470     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
9471     HRESULT pathname([in] BSTR v);
9472
9473     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
9474     HRESULT pathname([retval, out] BSTR *p);
9475
9476     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
9477     HRESULT search([in] BSTR v);
9478
9479     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
9480     HRESULT search([retval, out] BSTR *p);
9481
9482     [propput, id(DISPID_IHTMLLOCATION_HASH)]
9483     HRESULT hash([in] BSTR v);
9484
9485     [propget, id(DISPID_IHTMLLOCATION_HASH)]
9486     HRESULT hash([retval, out] BSTR *p);
9487
9488     [id(DISPID_IHTMLLOCATION_RELOAD)]
9489     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
9490
9491     [id(DISPID_IHTMLLOCATION_REPLACE)]
9492     HRESULT replace([in] BSTR bstr);
9493
9494     [id(DISPID_IHTMLLOCATION_ASSIGN)]
9495     HRESULT assign([in] BSTR bstr);
9496
9497     [id(DISPID_IHTMLLOCATION_TOSTRING)]
9498     HRESULT toString([retval, out] BSTR *String);
9499 }
9500
9501 /*****************************************************************************
9502  *    DispHTMLLocation dispinterface
9503  */
9504 [
9505     hidden,
9506     uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
9507 ]
9508 dispinterface DispHTMLLocation
9509 {
9510 properties:
9511 methods:
9512     [propput, id(DISPID_IHTMLLOCATION_HREF)]
9513     void href(BSTR v);
9514
9515     [propget, id(DISPID_IHTMLLOCATION_HREF)]
9516     BSTR href();
9517
9518     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9519     void protocol(BSTR v);
9520
9521     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9522     BSTR protocol();
9523
9524     [propput, id(DISPID_IHTMLLOCATION_HOST)]
9525     void host(BSTR v);
9526
9527     [propget, id(DISPID_IHTMLLOCATION_HOST)]
9528     BSTR host();
9529
9530     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9531     void hostname(BSTR v);
9532
9533     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9534     BSTR hostname();
9535
9536     [propput, id(DISPID_IHTMLLOCATION_PORT)]
9537     void port(BSTR v);
9538
9539     [propget, id(DISPID_IHTMLLOCATION_PORT)]
9540     BSTR port();
9541
9542     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
9543     void pathname(BSTR v);
9544
9545     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
9546     BSTR pathname();
9547
9548     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
9549     void search(BSTR v);
9550
9551     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
9552     BSTR search();
9553
9554     [propput, id(DISPID_IHTMLLOCATION_HASH)]
9555     void hash(BSTR v);
9556
9557     [propget, id(DISPID_IHTMLLOCATION_HASH)]
9558     BSTR hash();
9559
9560     [id(DISPID_IHTMLLOCATION_RELOAD)]
9561     void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
9562
9563     [id(DISPID_IHTMLLOCATION_REPLACE)]
9564     void replace([in] BSTR bstr);
9565
9566     [id(DISPID_IHTMLLOCATION_ASSIGN)]
9567     void assign([in] BSTR bstr);
9568
9569     [id(DISPID_IHTMLLOCATION_TOSTRING)]
9570     BSTR toString();
9571
9572     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
9573 }
9574
9575 [
9576     noncreatable,
9577     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
9578 ]
9579 coclass HTMLLocation
9580 {
9581     [default]  dispinterface DispHTMLLocation;
9582                interface IHTMLLocation;
9583 }
9584
9585 [
9586     odl,
9587     oleautomation,
9588     dual,
9589     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
9590 ]
9591 interface IHTMLBookmarkCollection : IDispatch
9592 {
9593     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
9594     HRESULT length([out, retval] LONG *p);
9595
9596     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
9597     HRESULT _newEnum([out, retval] IUnknown **p);
9598
9599     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
9600     HRESULT item(
9601             [in] LONG index,
9602             [out, retval] VARIANT *pVarBookmark);
9603 }
9604
9605 /*****************************************************************************
9606  *    IHTMLDataTransfer interface
9607  */
9608 [
9609     odl,
9610     oleautomation,
9611     dual,
9612     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
9613 ]
9614 interface IHTMLDataTransfer : IDispatch
9615 {
9616     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
9617     HRESULT setData(
9618             [in] BSTR format,
9619             [in] VARIANT *data,
9620             [out, retval] VARIANT_BOOL *pret);
9621
9622     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
9623     HRESULT getData(
9624             [in] BSTR format,
9625             [out, retval] VARIANT *pvarRet);
9626
9627     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
9628     HRESULT clearData(
9629             [in] BSTR format,
9630             [out, retval] VARIANT_BOOL *pret);
9631
9632     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
9633     HRESULT dropEffect([in] BSTR v);
9634
9635     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
9636     HRESULT dropEffect([out, retval] BSTR *p);
9637
9638     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
9639     HRESULT effectAllowed([in] BSTR v);
9640
9641     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
9642     HRESULT effectAllowed([out, retval] BSTR *p);
9643 }
9644
9645 /*****************************************************************************
9646  *    IHTMLEventObj interface
9647  */
9648 [
9649     odl,
9650     oleautomation,
9651     dual,
9652     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
9653 ]
9654 interface IHTMLEventObj : IDispatch
9655 {
9656     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
9657     HRESULT srcElement([retval, out] IHTMLElement **p);
9658
9659     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
9660     HRESULT altKey([retval, out] VARIANT_BOOL *p);
9661
9662     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
9663     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
9664
9665     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
9666     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
9667
9668     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9669     HRESULT returnValue([in] VARIANT v);
9670
9671     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9672     HRESULT returnValue([retval, out] VARIANT *p);
9673
9674     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9675     HRESULT cancelBubble([in] VARIANT_BOOL v);
9676
9677     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9678     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
9679
9680     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
9681     HRESULT fromElement([retval, out] IHTMLElement **p);
9682
9683     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
9684     HRESULT toElement([retval, out] IHTMLElement **p);
9685
9686     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9687     HRESULT keyCode([in] LONG v);
9688
9689     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9690     HRESULT keyCode([retval, out] LONG *p);
9691
9692     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
9693     HRESULT button([retval, out] LONG *p);
9694
9695     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
9696     HRESULT type([retval, out] BSTR *p);
9697
9698     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
9699     HRESULT qualifier([retval, out] BSTR *p);
9700
9701     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
9702     HRESULT reason([retval, out] LONG *p);
9703
9704     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
9705     HRESULT x([retval, out] LONG *p);
9706
9707     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
9708     HRESULT y([retval, out] LONG *p);
9709
9710     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
9711     HRESULT clientX([retval, out] LONG *p);
9712
9713     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
9714     HRESULT clientY([retval, out] LONG *p);
9715
9716     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
9717     HRESULT offsetX([retval, out] LONG *p);
9718
9719     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
9720     HRESULT offsetY([retval, out] LONG *p);
9721
9722     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
9723     HRESULT screenX([retval, out] LONG *p);
9724
9725     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
9726     HRESULT screenY([retval, out] LONG *p);
9727
9728     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
9729     HRESULT srcFilter([retval, out] IDispatch **p);
9730 }
9731
9732 /*****************************************************************************
9733  *    DispCEventObj dispinterface
9734  */
9735 [
9736     hidden,
9737     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
9738 ]
9739 dispinterface DispCEventObj
9740 {
9741 properties:
9742 methods:
9743     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9744     void returnValue(VARIANT v);
9745
9746     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9747     VARIANT returnValue();
9748
9749     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9750     void cancelBubble(VARIANT_BOOL v);
9751
9752     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9753     VARIANT_BOOL cancelBubble();
9754
9755     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9756     void keyCode(LONG v);
9757
9758     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9759     LONG keyCode();
9760
9761     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
9762     void setAttribute(
9763             [in] BSTR strAttributeName,
9764             [in] VARIANT AttributeValue,
9765             [in, defaultvalue(1)] LONG lFlags);
9766
9767     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
9768     VARIANT getAttribute(
9769             [in] BSTR strAttributeName,
9770             [in, defaultvalue(0)] LONG lFlags);
9771
9772     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
9773     VARIANT_BOOL removeAttribute(
9774             [in] BSTR strAttributeName,
9775             [in, defaultvalue(1)] LONG lFlags);
9776
9777     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
9778     void propertyName(BSTR v);
9779
9780     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
9781     BSTR propertyName();
9782
9783     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
9784     void bookmarks(IHTMLBookmarkCollection *v);
9785
9786     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
9787     IHTMLBookmarkCollection *bookmarks();
9788
9789     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
9790     void recordset(IDispatch *v);
9791
9792     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
9793     IDispatch *recordset();
9794
9795     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
9796     void dataFld(BSTR v);
9797
9798     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
9799     BSTR dataFld();
9800
9801     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
9802     void boundElements(IHTMLElementCollection *v);
9803
9804     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
9805     IHTMLElementCollection *boundElements();
9806
9807     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
9808     void repeat(VARIANT_BOOL v);
9809
9810     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
9811     VARIANT_BOOL repeat();
9812
9813     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
9814     void srcUrn(BSTR v);
9815
9816     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
9817     BSTR srcUrn();
9818
9819     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
9820     void srcElement(IHTMLElement *v);
9821
9822     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
9823     IHTMLElement *srcElement();
9824
9825     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
9826     void altKey(VARIANT_BOOL v);
9827
9828     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
9829     VARIANT_BOOL altKey();
9830
9831     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
9832     void ctrlKey(VARIANT_BOOL v);
9833
9834     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
9835     VARIANT_BOOL ctrlKey();
9836
9837     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
9838     void shiftKey(VARIANT_BOOL v);
9839
9840     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
9841     VARIANT_BOOL shiftKey();
9842
9843     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
9844     void fromElement(IHTMLElement *v);
9845
9846     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
9847     IHTMLElement *fromElement();
9848
9849     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
9850     void toElement(IHTMLElement *v);
9851
9852     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
9853     IHTMLElement *toElement();
9854
9855     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
9856     void button(LONG v);
9857
9858     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
9859     LONG button();
9860
9861     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
9862     void type(BSTR v);
9863
9864     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
9865     BSTR type();
9866
9867     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
9868     void qualifier(BSTR v);
9869
9870     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
9871     BSTR qualifier();
9872
9873     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
9874     void reason(LONG v);
9875
9876     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
9877     LONG reason();
9878
9879     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
9880     void x(LONG v);
9881
9882     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
9883     LONG x();
9884
9885     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
9886     void y(LONG v);
9887
9888     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
9889     LONG y();
9890
9891     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
9892     void clientX(LONG v);
9893
9894     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
9895     LONG clientX();
9896
9897     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
9898     void clientY(LONG v);
9899
9900     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
9901     LONG clientY();
9902     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
9903     void offsetX(LONG v);
9904
9905     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
9906     LONG offsetX();
9907
9908     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
9909     void offsetY(LONG v);
9910
9911     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
9912     LONG offsetY();
9913
9914     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
9915     void screenX(LONG v);
9916
9917     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
9918     LONG screenX();
9919
9920     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
9921     void screenY(LONG v);
9922
9923     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
9924     LONG screenY();
9925
9926     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
9927     void srcFilter(IDispatch *v);
9928
9929     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
9930     IDispatch *srcFilter();
9931
9932     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
9933     IHTMLDataTransfer *dataTransfer();
9934
9935     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
9936     VARIANT_BOOL contentOverflow();
9937
9938     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
9939     void shiftLeft(VARIANT_BOOL v);
9940
9941     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
9942     VARIANT_BOOL shiftLeft();
9943
9944     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
9945     void altLeft(VARIANT_BOOL v);
9946
9947     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
9948     VARIANT_BOOL altLeft();
9949
9950     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
9951     void ctrlLeft(VARIANT_BOOL v);
9952
9953     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
9954     VARIANT_BOOL ctrlLeft();
9955
9956     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
9957     LONG_PTR imeCompositionChange();
9958
9959     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
9960     LONG_PTR imeNotifyCommand();
9961
9962     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
9963     LONG_PTR imeNotifyData();
9964
9965     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
9966     LONG_PTR imeRequest();
9967
9968     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
9969     LONG_PTR imeRequestData();
9970
9971     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
9972     LONG_PTR keyboardLayout();
9973
9974     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
9975     LONG behaviorCookie();
9976
9977     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
9978     LONG behaviorPart();
9979
9980     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
9981     BSTR nextPage();
9982
9983     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
9984     LONG wheelDelta();
9985 }
9986
9987 /*****************************************************************************
9988  *    IHTMLFramesCollection2 interface
9989  */
9990 [
9991     odl,
9992     oleautomation,
9993     dual,
9994     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
9995 ]
9996 interface IHTMLFramesCollection2 : IDispatch
9997 {
9998     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
9999     HRESULT item(
10000         [in] VARIANT *pvarIndex,
10001         [retval, out] VARIANT *pvarResult);
10002
10003     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10004     HRESULT length([retval, out] LONG *p);
10005 }
10006
10007 /*****************************************************************************
10008  *    IHTMLScreen interface
10009  */
10010 [
10011     odl,
10012     oleautomation,
10013     dual,
10014     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
10015 ]
10016 interface IHTMLScreen : IDispatch
10017 {
10018     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
10019     HRESULT colorDepth([retval, out] LONG *p);
10020
10021     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10022     HRESULT bufferDepth([in] LONG v);
10023
10024     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10025     HRESULT bufferDepth([retval, out] LONG *p);
10026
10027     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10028     HRESULT width([retval, out] LONG *p);
10029
10030     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10031     HRESULT height([retval, out] LONG *p);
10032
10033     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10034     HRESULT updateInterval([in] LONG v);
10035
10036     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10037     HRESULT updateInterval([retval, out] LONG *p);
10038
10039     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
10040     HRESULT availHeight([retval, out] LONG *p);
10041
10042     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
10043     HRESULT availWidth([retval, out] LONG *p);
10044
10045     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10046     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
10047 }
10048
10049 /*****************************************************************************
10050  *    IHTMLWindow2 interface
10051  */
10052 [
10053     odl,
10054     oleautomation,
10055     dual,
10056     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
10057 ]
10058 interface IHTMLWindow2 : IHTMLFramesCollection2
10059 {
10060     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10061     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
10062
10063     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10064     HRESULT defaultStatus([in] BSTR v);
10065
10066     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10067     HRESULT defaultStatus([retval, out] BSTR *p);
10068
10069     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10070     HRESULT status([in] BSTR v);
10071
10072     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10073     HRESULT status([retval, out] BSTR *p);
10074
10075     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
10076     HRESULT setTimeout(
10077         [in] BSTR expression,
10078         [in] LONG msec,
10079         [optional, in] VARIANT *language,
10080         [retval, out] LONG *timerID);
10081
10082     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10083     HRESULT clearTimeout([in] LONG timerID);
10084
10085     [id(DISPID_IHTMLWINDOW2_ALERT)]
10086     HRESULT alert([defaultvalue(""), in] BSTR message);
10087
10088     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10089     HRESULT confirm(
10090         [defaultvalue(""), in] BSTR message,
10091         [retval, out] VARIANT_BOOL *confirmed);
10092
10093     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10094     HRESULT prompt(
10095         [defaultvalue(""), in] BSTR message,
10096         [defaultvalue("undefined"), in] BSTR defstr,
10097         [retval, out] VARIANT *textdata);
10098
10099     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10100     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
10101
10102     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10103     HRESULT location([retval, out] IHTMLLocation **p);
10104
10105     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10106     HRESULT history([retval, out] IOmHistory **p);
10107
10108     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10109     HRESULT close();
10110
10111     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10112     HRESULT opener([in] VARIANT v);
10113
10114     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10115     HRESULT opener([retval, out] VARIANT *p);
10116
10117     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10118     HRESULT navigator([retval, out] IOmNavigator **p);
10119
10120     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10121     HRESULT name([in] BSTR v);
10122
10123     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10124     HRESULT name([retval, out] BSTR *p);
10125
10126     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10127     HRESULT parent([retval, out] IHTMLWindow2 **p);
10128
10129     [id(DISPID_IHTMLWINDOW2_OPEN)]
10130     HRESULT open(
10131         [defaultvalue(""), in] BSTR url,
10132         [defaultvalue(""), in] BSTR name,
10133         [defaultvalue(""), in] BSTR features,
10134         [defaultvalue(0), in] VARIANT_BOOL replace,
10135         [retval, out] IHTMLWindow2 **pomWindowResult);
10136
10137     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10138     HRESULT self([retval, out] IHTMLWindow2 **p);
10139
10140     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10141     HRESULT top([retval, out] IHTMLWindow2 **p);
10142
10143     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10144     HRESULT window([retval, out] IHTMLWindow2 **p);
10145
10146     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10147     HRESULT navigate([in] BSTR url);
10148
10149     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10150     HRESULT onfocus([in] VARIANT v);
10151
10152     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10153     HRESULT onfocus([retval, out] VARIANT *p);
10154
10155     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10156     HRESULT onblur([in] VARIANT v);
10157
10158     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10159     HRESULT onblur([retval, out] VARIANT *p);
10160
10161     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10162     HRESULT onload([in] VARIANT v);
10163
10164     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10165     HRESULT onload([retval, out] VARIANT *p);
10166
10167     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10168     HRESULT onbeforeunload([in] VARIANT v);
10169
10170     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10171     HRESULT onbeforeunload([retval, out] VARIANT *p);
10172
10173     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10174     HRESULT onunload([in] VARIANT v);
10175
10176     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10177     HRESULT onunload([retval, out] VARIANT *p);
10178
10179     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
10180     HRESULT onhelp([in] VARIANT v);
10181
10182     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
10183     HRESULT onhelp([retval, out] VARIANT *p);
10184
10185     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
10186     HRESULT onerror([in] VARIANT v);
10187
10188     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
10189     HRESULT onerror([retval, out] VARIANT *p);
10190
10191     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10192     HRESULT onresize([in] VARIANT v);
10193
10194     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10195     HRESULT onresize([retval, out] VARIANT *p);
10196
10197     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10198     HRESULT onscroll([in] VARIANT v);
10199
10200     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10201     HRESULT onscroll([retval, out] VARIANT *p);
10202
10203     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
10204     HRESULT document([retval, out] IHTMLDocument2 **p);
10205
10206     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10207     HRESULT event([retval, out] IHTMLEventObj **p);
10208
10209     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
10210     HRESULT _newEnum([retval, out] IUnknown **p);
10211
10212     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10213     HRESULT showModalDialog(
10214         [in] BSTR dialog,
10215         [optional, in] VARIANT *varArgIn,
10216         [optional, in] VARIANT *varOptions,
10217         [retval, out] VARIANT *varArgOut);
10218
10219     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10220     HRESULT showHelp(
10221         [in] BSTR helpURL,
10222         [optional, in] VARIANT helpArg,
10223         [defaultvalue(""), in] BSTR features);
10224
10225     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10226     HRESULT screen([retval, out] IHTMLScreen **p);
10227
10228     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10229     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
10230
10231     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10232     HRESULT focus();
10233
10234     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10235     HRESULT closed([retval, out] VARIANT_BOOL *p);
10236
10237     [id(DISPID_IHTMLWINDOW2_BLUR)]
10238     HRESULT blur();
10239
10240     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10241     HRESULT scroll([in] LONG x, [in] LONG y);
10242
10243     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10244     HRESULT clientInformation([retval, out] IOmNavigator **p);
10245
10246     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
10247     HRESULT setInterval([
10248         in] BSTR expression,
10249         [in] LONG msec,
10250         [optional, in] VARIANT *language,
10251         [retval, out] LONG *timerID);
10252
10253     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10254     HRESULT clearInterval([in] LONG timerID);
10255
10256     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10257     HRESULT offscreenBuffering([in] VARIANT v);
10258
10259     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10260     HRESULT offscreenBuffering([retval, out] VARIANT *p);
10261
10262     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10263     HRESULT execScript(
10264         [in] BSTR scode,
10265         [defaultvalue("JScript"), in] BSTR language,
10266         [retval, out] VARIANT *pvarRet);
10267
10268     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10269     HRESULT toString([retval, out] BSTR *String);
10270
10271     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10272     HRESULT scrollBy([in] LONG x, [in] LONG y);
10273
10274     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10275     HRESULT scrollTo([in] LONG x, [in] LONG y);
10276
10277     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10278     HRESULT moveTo([in] LONG x, [in] LONG y);
10279
10280     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10281     HRESULT moveBy([in] LONG x, [in] LONG y);
10282
10283     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10284     HRESULT resizeTo([in] LONG x, [in] LONG y);
10285
10286     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10287     HRESULT resizeBy([in] LONG x, [in] LONG y);
10288
10289     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10290     HRESULT external([retval, out] IDispatch **p);
10291 }
10292
10293 /*****************************************************************************
10294  *    IHTMLWindow3 interface
10295  */
10296 [
10297     odl,
10298     oleautomation,
10299     dual,
10300     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
10301 ]
10302 interface IHTMLWindow3 : IDispatch
10303 {
10304     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10305     HRESULT screenLeft([out, retval] LONG *p);
10306
10307     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10308     HRESULT screenTop([out, retval] LONG *p);
10309
10310     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10311     HRESULT attachEvent(
10312             [in] BSTR event,
10313             [in] IDispatch *pDisp,
10314             [out, retval] VARIANT_BOOL *pfResult);
10315
10316     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10317     HRESULT detachEvent(
10318             [in] BSTR event,
10319             [in] IDispatch *pDisp);
10320
10321     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10322     HRESULT setTimeout(
10323             [in] VARIANT *expression,
10324             [in] LONG msec,
10325             [in, optional] VARIANT *language,
10326             [out, retval] LONG *timerID);
10327
10328     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10329     HRESULT setInterval(
10330             [in] VARIANT *expression,
10331             [in] LONG msec,
10332             [in, optional] VARIANT *language,
10333             [out, retval] LONG *timerID);
10334
10335     [id(DISPID_IHTMLWINDOW3_PRINT)]
10336     HRESULT print();
10337
10338     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10339     HRESULT onbeforeprint([in] VARIANT v);
10340
10341     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10342     HRESULT onbeforeprint([out, retval] VARIANT *p);
10343
10344     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10345     HRESULT onafterprint([in] VARIANT v);
10346
10347     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10348     HRESULT onafterprint([out, retval] VARIANT *p);
10349
10350     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10351     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
10352
10353     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10354     HRESULT showModelessDialog(
10355             [in, defaultvalue("")] BSTR url,
10356             [in, optional] VARIANT *varArgIn,
10357             [in, optional] VARIANT *options,
10358             [out, retval] IHTMLWindow2 **pDialog);
10359 }
10360
10361 /*****************************************************************************
10362  *    IHTMLWindow4 interface
10363  */
10364 [
10365     odl,
10366     oleautomation,
10367     dual,
10368     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
10369 ]
10370 interface IHTMLWindow4 : IDispatch
10371 {
10372     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10373     HRESULT createPopup([optional, in] VARIANT* varArgIn,
10374                         [retval, out] IDispatch** ppPopup);
10375
10376     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10377     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
10378 }
10379
10380 /*****************************************************************************
10381  *    IHTMLWindow5 interface
10382  */
10383 [
10384     odl,
10385     oleautomation,
10386     dual,
10387     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
10388 ]
10389 interface IHTMLWindow5 : IDispatch
10390 {
10391     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10392     HRESULT XMLHttpRequest([in] VARIANT v);
10393
10394     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10395     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
10396 }
10397
10398 /*****************************************************************************
10399  *    DispHTMLScreen dispinterface
10400  */
10401 [
10402     hidden,
10403     uuid(3050f591-98b5-11cf-bb82-00aa00bdce0b)
10404 ]
10405 dispinterface DispHTMLScreen
10406 {
10407 properties:
10408 methods:
10409     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
10410     long colorDepth();
10411
10412     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10413     void bufferDepth(long v);
10414
10415     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10416     long bufferDepth();
10417
10418     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10419     long width();
10420
10421     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10422     long height();
10423
10424     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10425     void updateInterval(long v);
10426
10427     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10428     long updateInterval();
10429
10430     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
10431     long availHeight();
10432
10433     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
10434     long availWidth();
10435
10436     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10437     VARIANT_BOOL fontSmoothingEnabled();
10438
10439     [propget, id(DISPID_IHTMLSCREEN2_LOGICALXDPI)]
10440     long logicalXDPI();
10441
10442     [propget, id(DISPID_IHTMLSCREEN2_LOGICALYDPI)]
10443     long logicalYDPI();
10444
10445     [propget, id(DISPID_IHTMLSCREEN2_DEVICEXDPI)]
10446     long deviceXDPI();
10447
10448     [propget, id(DISPID_IHTMLSCREEN2_DEVICEYDPI)]
10449     long deviceYDPI();
10450
10451     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMXDPI)]
10452     long systemXDPI();
10453
10454     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMYDPI)]
10455     long systemYDPI();
10456
10457     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
10458     IDispatch *constructor();
10459 }
10460
10461 /*****************************************************************************
10462  *    DispHTMLWindow2 dispinterface
10463  */
10464 [
10465     hidden,
10466     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
10467 ]
10468 dispinterface DispHTMLWindow2
10469 {
10470 properties:
10471 methods:
10472     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10473     VARIANT item([in] VARIANT *pvarIndex);
10474
10475     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10476     LONG length();
10477
10478     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10479     IHTMLFramesCollection2 *frames();
10480
10481     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10482     void defaultStatus(BSTR v);
10483
10484     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10485     BSTR defaultStatus();
10486
10487     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10488     void status(BSTR v);
10489
10490     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10491     BSTR status();
10492
10493     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10494     void clearTimeout([in] LONG timerID);
10495
10496     [id(DISPID_IHTMLWINDOW2_ALERT)]
10497     void alert([in, defaultvalue("")] BSTR message);
10498
10499     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10500     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
10501
10502     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10503     VARIANT prompt(
10504             [in, defaultvalue("")] BSTR message,
10505             [in, defaultvalue("undefined")] BSTR defstr);
10506
10507     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10508     IHTMLImageElementFactory *Image();
10509
10510     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10511     IHTMLLocation *location();
10512
10513     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10514     IOmHistory *history();
10515
10516     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10517     void close();
10518
10519     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10520     void opener(VARIANT v);
10521
10522     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10523     VARIANT opener();
10524
10525     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10526     IOmNavigator *navigator();
10527
10528     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10529     void name(BSTR v);
10530
10531     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10532     BSTR name();
10533
10534     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10535     IHTMLWindow2 *parent();
10536
10537     [id(DISPID_IHTMLWINDOW2_OPEN)]
10538     IHTMLWindow2 *open(
10539             [in, defaultvalue("")] BSTR url,
10540             [in, defaultvalue("")] BSTR name,
10541             [in, defaultvalue("")] BSTR features,
10542             [in, defaultvalue(0)]  VARIANT_BOOL replace);
10543
10544     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10545     IHTMLWindow2 *self();
10546
10547     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10548     IHTMLWindow2 *top();
10549
10550     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10551     IHTMLWindow2 *window();
10552
10553     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10554     void navigate([in] BSTR url);
10555
10556     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10557     void onfocus(VARIANT v);
10558
10559     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10560     VARIANT onfocus();
10561
10562     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10563     void onblur(VARIANT v);
10564
10565     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10566     VARIANT onblur();
10567
10568     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
10569     VARIANT onload();
10570
10571     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10572     void onbeforeunload(VARIANT v);
10573
10574     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10575     VARIANT onbeforeunload();
10576
10577     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10578     void onunload(VARIANT v);
10579
10580     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10581     VARIANT onunload();
10582
10583     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10584     void onhelp(VARIANT v);
10585
10586     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10587     VARIANT onhelp();
10588
10589     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10590     void onerror(VARIANT v);
10591
10592     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10593     VARIANT onerror();
10594
10595     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10596     void onresize(VARIANT v);
10597
10598     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10599     VARIANT onresize();
10600
10601     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10602     void onscroll(VARIANT v);
10603
10604     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10605     VARIANT onscroll();
10606
10607     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
10608     IHTMLDocument2 *document();
10609
10610     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10611     IHTMLEventObj *event();
10612
10613     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
10614     IUnknown *_newEnum();
10615
10616     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10617     VARIANT showModalDialog(
10618             [in] BSTR dialog,
10619             [in, optional] VARIANT *varArgIn,
10620             [in, optional] VARIANT *varOptions);
10621
10622     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10623     void showHelp(
10624             [in] BSTR helpURL,
10625             [in, optional] VARIANT helpArg,
10626             [in, defaultvalue("")] BSTR features);
10627
10628     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10629     IHTMLScreen *screen();
10630
10631     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10632     IHTMLOptionElementFactory *Option();
10633
10634     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10635     void focus();
10636
10637     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10638     VARIANT_BOOL closed();
10639
10640     [id(DISPID_IHTMLWINDOW2_BLUR)]
10641     void blur();
10642
10643     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10644     void scroll([in] LONG x, [in] LONG y);
10645
10646     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10647     IOmNavigator *clientInformation();
10648
10649     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10650     void clearInterval([in] LONG timerID);
10651
10652     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10653     void offscreenBuffering(VARIANT v);
10654
10655     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10656     VARIANT offscreenBuffering();
10657
10658     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10659     VARIANT execScript(
10660             [in] BSTR _code,
10661             [in, defaultvalue("JScript")] BSTR language);
10662
10663     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10664     BSTR toString();
10665
10666     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10667     void scrollBy([in] LONG x, [in] LONG y);
10668
10669     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10670     void scrollTo([in] LONG x, [in] LONG y);
10671
10672     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10673     void moveTo([in] LONG x, [in] LONG y);
10674
10675     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10676     void moveBy([in] LONG x, [in] LONG y);
10677
10678     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10679     void resizeTo([in] LONG x, [in] LONG y);
10680
10681     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10682     void resizeBy([in] LONG x, [in] LONG y);
10683
10684     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10685     IDispatch *external();
10686
10687     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10688     LONG screenLeft();
10689
10690     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10691     LONG screenTop();
10692
10693     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10694     VARIANT_BOOL attachEvent(
10695              [in] BSTR event,
10696              [in] IDispatch *pDisp);
10697
10698     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10699     void detachEvent(
10700             [in] BSTR event,
10701             [in] IDispatch *pDisp);
10702
10703     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10704     LONG setTimeout(
10705             [in] VARIANT *expression,
10706             [in] LONG msec,
10707             [in, optional] VARIANT *language);
10708
10709     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10710     LONG setInterval(
10711             [in] VARIANT *expression,
10712             [in] LONG msec,
10713             [in, optional] VARIANT *language);
10714
10715     [id(DISPID_IHTMLWINDOW3_PRINT)]
10716     void print();
10717
10718     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10719     void onbeforeprint(VARIANT v);
10720
10721     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10722     VARIANT onbeforeprint();
10723
10724     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10725     void onafterprint(VARIANT v);
10726
10727     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10728     VARIANT onafterprint();
10729
10730     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10731     IHTMLDataTransfer *clipboardData();
10732
10733     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10734     IHTMLWindow2 *showModelessDialog(
10735             [in, defaultvalue("")] BSTR url,
10736             [in, optional] VARIANT *varArgIn,
10737             [in, optional] VARIANT *options);
10738
10739     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10740     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
10741
10742     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10743     IHTMLFrameBase *frameElement();
10744 }
10745
10746 /*****************************************************************************
10747  *    DispHTMLWindowProxy dispinterface
10748  */
10749 [
10750     hidden,
10751     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
10752 ]
10753 dispinterface DispHTMLWindowProxy
10754 {
10755 properties:
10756 methods:
10757     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10758     VARIANT item([in] VARIANT* pvarIndex);
10759
10760     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10761     LONG length();
10762
10763     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10764     IHTMLFramesCollection2* frames();
10765
10766     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10767     void defaultStatus(BSTR v);
10768
10769     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10770     BSTR defaultStatus();
10771
10772     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10773     void status(BSTR v);
10774
10775     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10776     BSTR status();
10777
10778     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10779     void clearTimeout([in] LONG timerID);
10780
10781     [id(DISPID_IHTMLWINDOW2_ALERT)]
10782     void alert([defaultvalue(""), in] BSTR message);
10783
10784     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10785     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
10786
10787     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10788     VARIANT prompt([defaultvalue(""), in] BSTR message,
10789                    [defaultvalue("undefined"), in] BSTR defstr);
10790
10791     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10792     IHTMLImageElementFactory* Image();
10793
10794     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10795     IHTMLLocation* location();
10796
10797     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10798     IOmHistory* history();
10799
10800     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10801     void close();
10802
10803     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10804     void opener(VARIANT v);
10805
10806     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10807     VARIANT opener();
10808
10809     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10810     IOmNavigator* navigator();
10811
10812     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10813     void name(BSTR v);
10814
10815     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10816     BSTR name();
10817
10818     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10819     IHTMLWindow2* parent();
10820
10821     [id(DISPID_IHTMLWINDOW2_OPEN)]
10822     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
10823                        [defaultvalue(""), in] BSTR name,
10824                        [defaultvalue(""), in] BSTR features,
10825                        [defaultvalue(0), in] VARIANT_BOOL replace);
10826
10827     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10828     IHTMLWindow2* self();
10829
10830     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10831     IHTMLWindow2* top();
10832
10833     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10834     IHTMLWindow2* window();
10835
10836     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10837     void navigate([in] BSTR url);
10838
10839     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10840     void onfocus(VARIANT v);
10841
10842     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10843     VARIANT onfocus();
10844
10845     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10846     void onblur(VARIANT v);
10847
10848     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10849     VARIANT onblur();
10850
10851     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
10852     void onload(VARIANT v);
10853
10854     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
10855     VARIANT onload();
10856
10857     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10858     void onbeforeunload(VARIANT v);
10859
10860     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10861     VARIANT onbeforeunload();
10862
10863     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10864     void onunload(VARIANT v);
10865
10866     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10867     VARIANT onunload();
10868
10869     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10870     void onhelp(VARIANT v);
10871
10872     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10873     VARIANT onhelp();
10874
10875     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10876     void onerror(VARIANT v);
10877
10878     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10879     VARIANT onerror();
10880
10881     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10882     void onresize(VARIANT v);
10883
10884     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10885     VARIANT onresize();
10886
10887     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10888     void onscroll(VARIANT v);
10889
10890     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10891     VARIANT onscroll();
10892
10893     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
10894     IHTMLDocument2* document();
10895
10896     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10897     IHTMLEventObj* event();
10898
10899     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
10900     IUnknown* _newEnum();
10901
10902     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10903     VARIANT showModalDialog([in] BSTR dialog,
10904                             [optional, in] VARIANT* varArgIn,
10905                             [optional, in] VARIANT* varOptions);
10906
10907     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10908     void showHelp([in] BSTR helpURL,
10909                   [optional, in] VARIANT helpArg,
10910                   [defaultvalue(""), in] BSTR features);
10911
10912     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10913     IHTMLScreen* screen();
10914
10915     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10916     IHTMLOptionElementFactory* Option();
10917
10918     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10919     void focus();
10920
10921     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10922     VARIANT_BOOL closed();
10923
10924     [id(DISPID_IHTMLWINDOW2_BLUR)]
10925     void blur();
10926
10927     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10928     void scroll([in] LONG x,
10929                 [in] LONG y);
10930
10931     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10932     IOmNavigator* clientInformation();
10933
10934     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10935     void clearInterval([in] LONG timerID);
10936
10937     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10938     void offscreenBuffering(VARIANT v);
10939
10940     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10941     VARIANT offscreenBuffering();
10942
10943     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10944     VARIANT execScript([in] BSTR code,
10945                        [defaultvalue("JScript"), in] BSTR language);
10946
10947     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10948     BSTR toString();
10949
10950     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10951     void scrollBy([in] LONG x,
10952                   [in] LONG y);
10953
10954     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10955     void scrollTo([in] LONG x,
10956                   [in] LONG y);
10957
10958     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10959     void moveTo([in] LONG x,
10960                 [in] LONG y);
10961
10962     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10963     void moveBy([in] LONG x,
10964                 [in] LONG y);
10965
10966     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10967     void resizeTo([in] LONG x,
10968                   [in] LONG y);
10969
10970     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10971     void resizeBy([in] LONG x,
10972                   [in] LONG y);
10973
10974     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10975     IDispatch* external();
10976
10977     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10978     LONG screenLeft();
10979
10980     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10981     LONG screenTop();
10982
10983     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10984     VARIANT_BOOL attachEvent([in] BSTR event,
10985                              [in] IDispatch* pDisp);
10986
10987     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10988     void detachEvent([in] BSTR event,
10989                      [in] IDispatch* pDisp);
10990
10991     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10992     LONG setTimeout([in] VARIANT* expression,
10993                     [in] LONG msec,
10994                     [optional, in] VARIANT* language);
10995
10996     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10997     LONG setInterval([in] VARIANT* expression,
10998                      [in] LONG msec,
10999                      [optional, in] VARIANT* language);
11000
11001     [id(DISPID_IHTMLWINDOW3_PRINT)]
11002     void print();
11003
11004     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11005     void onbeforeprint(VARIANT v);
11006
11007     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11008     VARIANT onbeforeprint();
11009
11010     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11011     void onafterprint(VARIANT v);
11012
11013     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11014     VARIANT onafterprint();
11015
11016     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11017     IHTMLDataTransfer* clipboardData();
11018
11019     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11020     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
11021                                      [optional, in] VARIANT* varArgIn,
11022                                      [optional, in] VARIANT* options);
11023
11024     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11025     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
11026
11027     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11028     IHTMLFrameBase* frameElement();
11029
11030     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11031     void XMLHttpRequest(VARIANT v);
11032
11033     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11034     VARIANT XMLHttpRequest();
11035 }
11036
11037 /*****************************************************************************
11038  *    HTMLWindowEvents interface
11039  */
11040 [
11041     hidden,
11042     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
11043 ]
11044 dispinterface HTMLWindowEvents
11045 {
11046 properties:
11047 methods:
11048     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
11049     void onload();
11050
11051     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
11052     void onunload();
11053
11054     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
11055     VARIANT_BOOL onhelp();
11056
11057     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
11058     void onfocus();
11059
11060     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
11061     void onblur();
11062
11063     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
11064     void onerror([in] BSTR description,
11065                  [in] BSTR url,
11066                  [in] LONG line);
11067
11068     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
11069     void onresize();
11070
11071     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
11072     void onscroll();
11073
11074     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
11075     void onbeforeunload();
11076
11077     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
11078     void onbeforeprint();
11079
11080     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
11081     void onafterprint();
11082 }
11083
11084 /*****************************************************************************
11085  *    HTMLWindowEvents2 interface
11086  */
11087 [
11088     hidden,
11089     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
11090 ]
11091 dispinterface HTMLWindowEvents2
11092 {
11093 properties:
11094 methods:
11095     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
11096     void onload([in] IHTMLEventObj* pEvtObj);
11097
11098     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
11099     void onunload([in] IHTMLEventObj* pEvtObj);
11100
11101     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
11102     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
11103
11104     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
11105     void onfocus([in] IHTMLEventObj* pEvtObj);
11106
11107     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
11108     void onblur([in] IHTMLEventObj* pEvtObj);
11109
11110     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
11111     void onerror([in] BSTR description,
11112                  [in] BSTR url,
11113                  [in] LONG line);
11114
11115     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
11116     void onresize([in] IHTMLEventObj* pEvtObj);
11117
11118     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
11119     void onscroll([in] IHTMLEventObj* pEvtObj);
11120
11121     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
11122     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
11123
11124     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
11125     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
11126
11127     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
11128     void onafterprint([in] IHTMLEventObj* pEvtObj);
11129 }
11130
11131 /*****************************************************************************
11132  *    HTMLWindowProxy class
11133  */
11134 [
11135     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
11136 ]
11137 coclass HTMLWindowProxy
11138 {
11139     [default]           dispinterface DispHTMLWindowProxy;
11140     [source, default]   dispinterface HTMLWindowEvents;
11141     [source]            dispinterface HTMLWindowEvents2;
11142                         interface IHTMLWindow2;
11143                         interface IHTMLWindow3;
11144                         interface IHTMLWindow4;
11145                         interface IHTMLWindow5;
11146 }
11147
11148 /*****************************************************************************
11149  *    HTMLDocumentEvents2 interface
11150  */
11151 [
11152     hidden,
11153     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
11154 ]
11155 dispinterface HTMLDocumentEvents2
11156 {
11157     properties:
11158     methods:
11159     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
11160     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
11161
11162     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
11163     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
11164
11165     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
11166     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
11167
11168     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
11169     void onkeydown([in] IHTMLEventObj *pEvtObj);
11170
11171     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
11172     void onkeyup([in] IHTMLEventObj *pEvtObj);
11173
11174     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
11175     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
11176
11177     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
11178     void onmousedown([in] IHTMLEventObj *pEvtObj);
11179
11180     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
11181     void onmousemove([in] IHTMLEventObj *pEvtObj);
11182
11183     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
11184     void onmouseup([in] IHTMLEventObj *pEvtObj);
11185
11186     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
11187     void onmouseout([in] IHTMLEventObj *pEvtObj);
11188
11189     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
11190     void onmouseover([in] IHTMLEventObj *pEvtObj);
11191
11192     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
11193     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
11194
11195     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
11196     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
11197
11198     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
11199     void onafterupdate([in] IHTMLEventObj *pEvtObj);
11200
11201     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
11202     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
11203
11204     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
11205     void onrowenter([in] IHTMLEventObj *pEvtObj);
11206
11207     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
11208     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
11209
11210     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
11211     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
11212
11213     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
11214     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
11215
11216     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
11217     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
11218
11219     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
11220     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
11221
11222     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
11223     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
11224
11225     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
11226     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
11227
11228     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
11229     void oncellchange([in] IHTMLEventObj *pEvtObj);
11230
11231     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
11232     void onpropertychange([in] IHTMLEventObj *pEvtObj);
11233
11234     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
11235     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
11236
11237     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
11238     void ondataavailable([in] IHTMLEventObj *pEvtObj);
11239
11240     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
11241     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
11242
11243     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
11244     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
11245
11246     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
11247     void onselectionchange([in] IHTMLEventObj *pEvtObj);
11248
11249     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
11250     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
11251
11252     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
11253     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
11254
11255     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
11256     void onfocusin([in] IHTMLEventObj *pEvtObj);
11257
11258     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
11259     void onfocusout([in] IHTMLEventObj *pEvtObj);
11260
11261     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
11262     void onactivate([in] IHTMLEventObj *pEvtObj);
11263
11264     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
11265     void ondeactivate([in] IHTMLEventObj *pEvtObj);
11266
11267     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
11268     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
11269
11270     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
11271     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
11272 }
11273
11274 /*****************************************************************************
11275  *    HTMLDocumentEvents interface
11276  */
11277 [
11278     hidden,
11279     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
11280 ]
11281 dispinterface HTMLDocumentEvents
11282 {
11283     properties:
11284     methods:
11285     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
11286     VARIANT_BOOL onhelp();
11287
11288     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
11289     VARIANT_BOOL onclick();
11290
11291     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
11292     VARIANT_BOOL ondblclick();
11293
11294     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
11295     void onkeydown();
11296
11297     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
11298     void onkeyup();
11299
11300     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
11301     VARIANT_BOOL onkeypress();
11302
11303     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
11304     void onmousedown();
11305
11306     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
11307     void onmousemove();
11308
11309     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
11310     void onmouseup();
11311
11312     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
11313     void onmouseout();
11314
11315     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
11316     void onmouseover();
11317
11318     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
11319     void onreadystatechange();
11320
11321     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
11322     VARIANT_BOOL onbeforeupdate();
11323
11324     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
11325     void onafterupdate();
11326
11327     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
11328     VARIANT_BOOL onrowexit();
11329
11330     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
11331     void onrowenter();
11332
11333     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
11334     VARIANT_BOOL ondragstart();
11335
11336     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
11337     VARIANT_BOOL onselectstart();
11338
11339     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
11340     VARIANT_BOOL onerrorupdate();
11341
11342     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
11343     VARIANT_BOOL oncontextmenu();
11344
11345     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
11346     VARIANT_BOOL onstop();
11347
11348     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
11349     void onrowsdelete();
11350
11351     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
11352     void onrowsinserted();
11353
11354     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
11355     void oncellchange();
11356
11357     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
11358     void onpropertychange();
11359
11360     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
11361     void ondatasetchanged();
11362
11363     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
11364     void ondataavailable();
11365
11366     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
11367     void ondatasetcomplete();
11368
11369     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
11370     void onbeforeeditfocus();
11371
11372     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
11373     void onselectionchange();
11374
11375     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
11376     VARIANT_BOOL oncontrolselect();
11377
11378     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
11379     VARIANT_BOOL onmousewheel();
11380
11381     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
11382     void onfocusin();
11383
11384     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
11385     void onfocusout();
11386
11387     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
11388     void onactivate();
11389
11390     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
11391     void ondeactivate();
11392
11393     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
11394     VARIANT_BOOL onbeforeactivate();
11395
11396     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
11397     VARIANT_BOOL onbeforedeactivate();
11398 }
11399
11400 /*****************************************************************************
11401  *    HTMLTextContainerEvents interface
11402  */
11403 [
11404     hidden,
11405     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
11406 ]
11407 dispinterface HTMLTextContainerEvents
11408 {
11409 properties:
11410
11411 methods:
11412     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
11413     VARIANT_BOOL onhelp();
11414
11415     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
11416     VARIANT_BOOL onclick();
11417
11418     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
11419     VARIANT_BOOL ondblclick();
11420
11421     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
11422     VARIANT_BOOL onkeypress();
11423
11424     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
11425     void onkeydown();
11426
11427     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
11428     void onkeyup();
11429
11430     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
11431     void onmouseout();
11432
11433     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
11434     void onmouseover();
11435
11436     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
11437     void onmousemove();
11438
11439     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
11440     void onmousedown();
11441
11442     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
11443     void onmouseup();
11444
11445     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
11446     VARIANT_BOOL onselectstart();
11447
11448     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
11449     void onfilterchange();
11450
11451     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
11452     VARIANT_BOOL ondragstart();
11453
11454     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
11455     VARIANT_BOOL onbeforeupdate();
11456
11457     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
11458     void onafterupdate();
11459
11460     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
11461     VARIANT_BOOL onerrorupdate();
11462
11463     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
11464     VARIANT_BOOL onrowexit();
11465
11466     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
11467     void onrowenter();
11468
11469     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
11470     void ondatasetchanged();
11471
11472     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
11473     void ondataavailable();
11474
11475     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
11476     void ondatasetcomplete();
11477
11478     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
11479     void onlosecapture();
11480
11481     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
11482     void onpropertychange();
11483
11484     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
11485     void onscroll();
11486
11487     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
11488     void onfocus();
11489
11490     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
11491     void onblur();
11492
11493     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
11494     void onresize();
11495
11496     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
11497     VARIANT_BOOL ondrag();
11498
11499     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
11500     void ondragend();
11501
11502     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
11503     VARIANT_BOOL ondragenter();
11504
11505     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
11506     VARIANT_BOOL ondragover();
11507
11508     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
11509     void ondragleave();
11510
11511     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
11512     VARIANT_BOOL ondrop();
11513
11514     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
11515     VARIANT_BOOL onbeforecut();
11516
11517     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
11518     VARIANT_BOOL oncut();
11519
11520     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
11521     VARIANT_BOOL onbeforecopy();
11522
11523     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
11524     VARIANT_BOOL oncopy();
11525
11526     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
11527     VARIANT_BOOL onbeforepaste();
11528
11529     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
11530     VARIANT_BOOL onpaste();
11531
11532     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
11533     VARIANT_BOOL oncontextmenu();
11534
11535     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
11536     void onrowsdelete();
11537
11538     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
11539     void onrowsinserted();
11540
11541     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
11542     void oncellchange();
11543
11544     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
11545     void onreadystatechange();
11546
11547     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
11548     void onbeforeeditfocus();
11549
11550     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
11551     void onlayoutcomplete();
11552
11553     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
11554     void onpage();
11555
11556     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
11557     VARIANT_BOOL onbeforedeactivate();
11558
11559     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
11560     VARIANT_BOOL onbeforeactivate();
11561
11562     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
11563     void onmove();
11564
11565     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
11566     VARIANT_BOOL oncontrolselect();
11567
11568     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
11569     VARIANT_BOOL onmovestart();
11570
11571     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
11572     void onmoveend();
11573
11574     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
11575     VARIANT_BOOL onresizestart();
11576
11577     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
11578     void onresizeend();
11579
11580     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
11581     void onmouseenter();
11582
11583     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
11584     void onmouseleave();
11585
11586     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
11587     VARIANT_BOOL onmousewheel();
11588
11589     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
11590     void onactivate();
11591
11592     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
11593     void ondeactivate();
11594
11595     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
11596     void onfocusin();
11597
11598     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
11599     void onfocusout();
11600
11601     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
11602     void onchange();
11603
11604     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
11605     void onselect();
11606 }
11607
11608 /*****************************************************************************
11609  *    HTMLTextContainerEvents2 interface
11610  */
11611 [
11612     hidden,
11613     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
11614 ]
11615 dispinterface HTMLTextContainerEvents2
11616 {
11617 properties:
11618 methods:
11619     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
11620     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
11621
11622     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
11623     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
11624
11625     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
11626     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
11627
11628     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
11629     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
11630
11631     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
11632     void onkeydown([in] IHTMLEventObj* pEvtObj);
11633
11634     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
11635     void onkeyup([in] IHTMLEventObj* pEvtObj);
11636
11637     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
11638     void onmouseout([in] IHTMLEventObj* pEvtObj);
11639
11640     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
11641     void onmouseover([in] IHTMLEventObj* pEvtObj);
11642
11643     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
11644     void onmousemove([in] IHTMLEventObj* pEvtObj);
11645
11646     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
11647     void onmousedown([in] IHTMLEventObj* pEvtObj);
11648
11649     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
11650     void onmouseup([in] IHTMLEventObj* pEvtObj);
11651
11652     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
11653     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
11654
11655     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
11656     void onfilterchange([in] IHTMLEventObj* pEvtObj);
11657
11658     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
11659     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
11660
11661     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
11662     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
11663
11664     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
11665     void onafterupdate([in] IHTMLEventObj* pEvtObj);
11666
11667     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
11668     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
11669
11670     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
11671     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
11672
11673     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
11674     void onrowenter([in] IHTMLEventObj* pEvtObj);
11675
11676     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
11677     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
11678
11679     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
11680     void ondataavailable([in] IHTMLEventObj* pEvtObj);
11681
11682     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
11683     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
11684
11685     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
11686     void onlosecapture([in] IHTMLEventObj* pEvtObj);
11687
11688     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
11689     void onpropertychange([in] IHTMLEventObj* pEvtObj);
11690
11691     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
11692     void onscroll([in] IHTMLEventObj* pEvtObj);
11693
11694     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
11695     void onfocus([in] IHTMLEventObj* pEvtObj);
11696
11697     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
11698     void onblur([in] IHTMLEventObj* pEvtObj);
11699
11700     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
11701     void onresize([in] IHTMLEventObj* pEvtObj);
11702
11703     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
11704     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
11705
11706     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
11707     void ondragend([in] IHTMLEventObj* pEvtObj);
11708
11709     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
11710     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
11711
11712     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
11713     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
11714
11715     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
11716     void ondragleave([in] IHTMLEventObj* pEvtObj);
11717
11718     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
11719     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
11720
11721     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
11722     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
11723
11724     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
11725     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
11726
11727     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
11728     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
11729
11730     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
11731     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
11732
11733     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
11734     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
11735
11736     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
11737     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
11738
11739     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
11740     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
11741
11742     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
11743     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
11744
11745     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
11746     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
11747
11748     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
11749     void oncellchange([in] IHTMLEventObj* pEvtObj);
11750
11751     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
11752     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
11753
11754     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
11755     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
11756
11757     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
11758     void onpage([in] IHTMLEventObj* pEvtObj);
11759
11760     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
11761     void onmouseenter([in] IHTMLEventObj* pEvtObj);
11762
11763     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
11764     void onmouseleave([in] IHTMLEventObj* pEvtObj);
11765
11766     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
11767     void onactivate([in] IHTMLEventObj* pEvtObj);
11768
11769     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
11770     void ondeactivate([in] IHTMLEventObj* pEvtObj);
11771
11772     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
11773     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
11774
11775     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
11776     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
11777
11778     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
11779     void onfocusin([in] IHTMLEventObj* pEvtObj);
11780
11781     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
11782     void onfocusout([in] IHTMLEventObj* pEvtObj);
11783
11784     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
11785     void onmove([in] IHTMLEventObj* pEvtObj);
11786
11787     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
11788     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
11789
11790     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
11791     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
11792
11793     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
11794     void onmoveend([in] IHTMLEventObj* pEvtObj);
11795
11796     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
11797     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
11798
11799     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
11800     void onresizeend([in] IHTMLEventObj* pEvtObj);
11801
11802     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
11803     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
11804
11805     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
11806     void onchange([in] IHTMLEventObj* pEvtObj);
11807
11808     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
11809     void onselect([in] IHTMLEventObj* pEvtObj);
11810 }
11811
11812 /*****************************************************************************
11813  *    IHTMLDocument interface
11814  */
11815 [
11816     odl,
11817     oleautomation,
11818     dual,
11819     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
11820 ]
11821 interface IHTMLDocument : IDispatch
11822 {
11823     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
11824     HRESULT Script([retval, out] IDispatch **p);
11825 }
11826
11827 /*****************************************************************************
11828  *    IHTMLDocument2 interface
11829  */
11830 [
11831     odl,
11832     oleautomation,
11833     dual,
11834     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
11835 ]
11836 interface IHTMLDocument2 : IHTMLDocument
11837 {
11838     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
11839     HRESULT all([retval, out] IHTMLElementCollection **p);
11840
11841     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
11842     HRESULT body([retval, out] IHTMLElement **p);
11843
11844     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
11845     HRESULT activeElement([retval, out] IHTMLElement **p);
11846
11847     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
11848     HRESULT images([retval, out] IHTMLElementCollection **p);
11849
11850     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
11851     HRESULT applets([retval, out] IHTMLElementCollection **p);
11852
11853     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
11854     HRESULT links([retval, out] IHTMLElementCollection **p);
11855
11856     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
11857     HRESULT forms([retval, out] IHTMLElementCollection **p);
11858
11859     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
11860     HRESULT anchors([retval, out] IHTMLElementCollection **p);
11861
11862     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11863     HRESULT title([in] BSTR v);
11864
11865     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11866     HRESULT title([retval, out] BSTR *p);
11867
11868     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
11869     HRESULT scripts([retval, out] IHTMLElementCollection **p);
11870
11871     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
11872     HRESULT designMode([in] BSTR v);
11873
11874     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
11875     HRESULT designMode([retval, out] BSTR *p);
11876
11877     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
11878     HRESULT selection([retval, out] IHTMLSelectionObject **p);
11879
11880     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
11881      HRESULT readyState([retval, out] BSTR *p);
11882
11883     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
11884     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
11885
11886     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
11887     HRESULT embeds([retval, out] IHTMLElementCollection **p);
11888
11889     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
11890     HRESULT plugins([retval, out] IHTMLElementCollection **p);
11891
11892     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11893     HRESULT alinkColor([in] VARIANT v);
11894
11895     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11896     HRESULT alinkColor([retval, out] VARIANT *p);
11897
11898     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11899     HRESULT bgColor([in] VARIANT v);
11900
11901     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11902     HRESULT bgColor([retval, out] VARIANT *p);
11903
11904     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11905     HRESULT fgColor([in] VARIANT v);
11906
11907     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11908     HRESULT fgColor([retval, out] VARIANT *p);
11909
11910     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11911     HRESULT linkColor([in] VARIANT v);
11912
11913     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11914     HRESULT linkColor([retval, out] VARIANT *p);
11915
11916     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11917     HRESULT vlinkColor([in] VARIANT v);
11918
11919     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11920     HRESULT vlinkColor([retval, out] VARIANT *p);
11921
11922     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
11923     HRESULT referrer([retval, out] BSTR *p);
11924
11925     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
11926     HRESULT location([retval, out] IHTMLLocation **p);
11927
11928     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
11929     HRESULT lastModified([retval, out] BSTR *p);
11930
11931     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
11932     HRESULT URL([in] BSTR v);
11933
11934     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
11935     HRESULT URL([retval, out] BSTR *p);
11936
11937     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11938     HRESULT domain([in] BSTR v);
11939
11940     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11941     HRESULT domain([retval, out] BSTR *p);
11942
11943     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11944     HRESULT cookie([in] BSTR v);
11945
11946     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11947     HRESULT cookie([retval, out] BSTR *p);
11948
11949     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
11950     HRESULT expando([in] VARIANT_BOOL v);
11951
11952     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
11953     HRESULT expando([retval, out] VARIANT_BOOL *p);
11954
11955     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
11956      HRESULT charset([in] BSTR v);
11957
11958     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
11959     HRESULT charset([retval, out] BSTR *p);
11960
11961     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11962     HRESULT defaultCharset([in] BSTR v);
11963
11964     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11965     HRESULT defaultCharset([retval, out] BSTR *p);
11966
11967     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
11968     HRESULT mimeType([retval, out] BSTR *p);
11969
11970     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
11971     HRESULT fileSize([retval, out] BSTR *p);
11972
11973     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
11974     HRESULT fileCreatedDate([retval, out] BSTR *p);
11975
11976     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
11977     HRESULT fileModifiedDate([retval, out] BSTR *p);
11978
11979     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
11980     HRESULT fileUpdatedDate([retval, out] BSTR *p);
11981
11982     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
11983     HRESULT security([retval, out] BSTR *p);
11984
11985     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
11986     HRESULT protocol([retval, out] BSTR *p);
11987
11988     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
11989      HRESULT nameProp([retval, out] BSTR *p);
11990
11991     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
11992     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
11993
11994     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
11995     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
11996
11997     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
11998     HRESULT open(
11999         [defaultvalue("text/html"), in] BSTR url,
12000         [optional, in] VARIANT name,
12001         [optional, in] VARIANT features,
12002         [optional, in] VARIANT replace,
12003         [retval, out]  IDispatch **pomWindowResult);
12004
12005     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
12006     HRESULT close();
12007
12008     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
12009     HRESULT clear();
12010
12011     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
12012     HRESULT queryCommandSupported(
12013         [in] BSTR cmdID,
12014         [retval, out] VARIANT_BOOL *pfRet);
12015
12016     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
12017     HRESULT queryCommandEnabled(
12018         [in] BSTR cmdID,
12019         [retval, out] VARIANT_BOOL *pfRet);
12020
12021     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
12022     HRESULT queryCommandState(
12023         [in] BSTR cmdID,
12024         [retval, out] VARIANT_BOOL *pfRet);
12025
12026     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
12027     HRESULT queryCommandIndeterm(
12028         [in] BSTR cmdID,
12029         [retval, out] VARIANT_BOOL *pfRet);
12030
12031     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
12032     HRESULT queryCommandText(
12033         [in] BSTR cmdID,
12034         [retval, out] BSTR *pcmdText);
12035
12036     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
12037     HRESULT queryCommandValue(
12038         [in] BSTR cmdID,
12039         [retval, out] VARIANT *pcmdValue);
12040
12041     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
12042     HRESULT execCommand(
12043         [in] BSTR cmdID,
12044         [defaultvalue(0), in] VARIANT_BOOL showUI,
12045         [optional, in] VARIANT value,
12046         [retval, out] VARIANT_BOOL *pfRet);
12047
12048     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12049     HRESULT execCommandShowHelp(
12050         [in] BSTR cmdID,
12051         [retval, out] VARIANT_BOOL *pfRet);
12052
12053     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12054      HRESULT createElement(
12055         [in] BSTR eTag,
12056         [retval, out] IHTMLElement **newElem);
12057
12058     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12059     HRESULT onhelp([in] VARIANT v);
12060
12061     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12062     HRESULT onhelp([retval, out] VARIANT *p);
12063
12064     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12065     HRESULT onclick([in] VARIANT v);
12066
12067     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12068     HRESULT onclick([retval, out] VARIANT *p);
12069
12070     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12071     HRESULT ondblclick([in] VARIANT v);
12072
12073     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12074     HRESULT ondblclick([retval, out] VARIANT *p);
12075
12076     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12077     HRESULT onkeyup([in] VARIANT v);
12078
12079     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12080     HRESULT onkeyup([retval, out] VARIANT *p);
12081
12082     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12083     HRESULT onkeydown([in] VARIANT v);
12084
12085     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12086     HRESULT onkeydown([retval, out] VARIANT *p);
12087
12088     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12089      HRESULT onkeypress([in] VARIANT v);
12090
12091     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12092     HRESULT onkeypress([retval, out] VARIANT *p);
12093
12094     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12095     HRESULT onmouseup([in] VARIANT v);
12096
12097     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12098     HRESULT onmouseup([retval, out] VARIANT *p);
12099
12100     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12101     HRESULT onmousedown([in] VARIANT v);
12102
12103     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12104     HRESULT onmousedown([retval, out] VARIANT *p);
12105
12106     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12107     HRESULT onmousemove([in] VARIANT v);
12108
12109     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12110     HRESULT onmousemove([retval, out] VARIANT *p);
12111
12112     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12113     HRESULT onmouseout([in] VARIANT v);
12114
12115     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12116     HRESULT onmouseout([retval, out] VARIANT *p);
12117
12118     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12119     HRESULT onmouseover([in] VARIANT v);
12120
12121     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12122     HRESULT onmouseover([retval, out] VARIANT *p);
12123
12124     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12125     HRESULT onreadystatechange([in] VARIANT v);
12126
12127     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12128     HRESULT onreadystatechange([retval, out] VARIANT *p);
12129
12130     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12131     HRESULT onafterupdate([in] VARIANT v);
12132
12133     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12134     HRESULT onafterupdate([retval, out] VARIANT *p);
12135
12136     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12137     HRESULT onrowexit([in] VARIANT v);
12138
12139     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12140     HRESULT onrowexit([retval, out] VARIANT *p);
12141
12142     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12143     HRESULT onrowenter([in] VARIANT v);
12144
12145     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12146     HRESULT onrowenter([retval, out] VARIANT *p);
12147
12148     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12149     HRESULT ondragstart([in] VARIANT v);
12150
12151     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12152     HRESULT ondragstart([retval, out] VARIANT *p);
12153
12154     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12155     HRESULT onselectstart([in] VARIANT v);
12156
12157     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12158     HRESULT onselectstart([retval, out] VARIANT *p);
12159
12160     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12161     HRESULT elementFromPoint(
12162         [in] LONG x,
12163         [in] LONG y,
12164         [retval, out] IHTMLElement **elementHit);
12165
12166     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12167     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
12168
12169     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12170     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
12171
12172     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12173     HRESULT onbeforeupdate([in] VARIANT v);
12174
12175     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12176     HRESULT onbeforeupdate([retval, out] VARIANT *p);
12177
12178     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12179     HRESULT onerrorupdate([in] VARIANT v);
12180
12181     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12182     HRESULT onerrorupdate([retval, out] VARIANT *p);
12183
12184     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12185     HRESULT toString([retval, out] BSTR *String);
12186
12187     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12188     HRESULT createStyleSheet(
12189         [defaultvalue(""), in] BSTR bstrHref,
12190         [defaultvalue(-1), in] LONG lIndex,
12191         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
12192 }
12193
12194 /*****************************************************************************
12195  *    IHTMLDocument3 interface
12196  */
12197 [
12198     odl,
12199     oleautomation,
12200     dual,
12201     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
12202 ]
12203 interface IHTMLDocument3 : IDispatch
12204 {
12205     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12206     HRESULT releaseCapture();
12207
12208     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12209     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12210
12211     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12212     HRESULT createTextNode(
12213         [in] BSTR text,
12214         [retval, out] IHTMLDOMNode **newTextNode);
12215
12216     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12217     HRESULT documentElement([retval, out] IHTMLElement **p);
12218
12219     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12220     HRESULT uniqueID([retval, out] BSTR *p);
12221
12222     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12223     HRESULT attachEvent(
12224         [in] BSTR event,
12225         [in] IDispatch* pDisp,
12226         [retval, out] VARIANT_BOOL *pfResult);
12227
12228     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12229     HRESULT detachEvent(
12230         [in] BSTR event,
12231         [in] IDispatch *pDisp);
12232
12233     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12234     HRESULT onrowsdelete([in] VARIANT v);
12235
12236     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12237     HRESULT onrowsdelete([retval, out] VARIANT *p);
12238
12239     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12240     HRESULT onrowsinserted([in] VARIANT v);
12241
12242     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12243     HRESULT onrowsinserted([retval, out] VARIANT *p);
12244
12245     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12246     HRESULT oncellchange([in] VARIANT v);
12247
12248     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12249     HRESULT oncellchange([retval, out] VARIANT *p);
12250
12251     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12252     HRESULT ondatasetchanged([in] VARIANT v);
12253
12254     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12255     HRESULT ondatasetchanged([retval, out] VARIANT *p);
12256
12257     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12258     HRESULT ondataavailable([in] VARIANT v);
12259
12260     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12261     HRESULT ondataavailable([retval, out] VARIANT * p);
12262
12263     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12264     HRESULT ondatasetcomplete([in] VARIANT v);
12265
12266     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12267     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
12268
12269     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12270     HRESULT onpropertychange([in] VARIANT v);
12271
12272     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12273     HRESULT onpropertychange([retval, out] VARIANT *p);
12274
12275     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
12276     HRESULT dir([in] BSTR v);
12277
12278     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
12279     HRESULT dir([retval, out] BSTR *p);
12280
12281     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12282     HRESULT oncontextmenu([in] VARIANT v);
12283
12284     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12285     HRESULT oncontextmenu([retval, out] VARIANT *p);
12286
12287     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12288     HRESULT onstop([in] VARIANT v);
12289
12290     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12291     HRESULT onstop([retval, out] VARIANT *p);
12292
12293     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
12294     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
12295
12296     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
12297     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
12298
12299     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12300     HRESULT enableDownload([in] VARIANT_BOOL v);
12301
12302     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12303     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
12304
12305     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12306     HRESULT baseUrl([in] BSTR v);
12307
12308     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12309     HRESULT baseUrl([retval, out] BSTR *p);
12310
12311     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
12312     HRESULT childNodes([retval, out] IDispatch **p);
12313
12314     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12315     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
12316
12317     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12318     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
12319
12320     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12321     HRESULT onbeforeeditfocus([in] VARIANT v);
12322
12323     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12324     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
12325
12326     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
12327     HRESULT getElementsByName(
12328         [in] BSTR v,
12329         [retval, out] IHTMLElementCollection **pelColl);
12330
12331     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
12332     HRESULT getElementById(
12333         [in] BSTR v,
12334         [retval, out] IHTMLElement **pel);
12335
12336     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
12337     HRESULT getElementsByTagName(
12338         [in] BSTR v,
12339         [retval, out] IHTMLElementCollection **pelColl);
12340 }
12341
12342 /*****************************************************************************
12343  *    IHTMLDocument4 interface
12344  */
12345 [
12346     odl,
12347     oleautomation,
12348     dual,
12349     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
12350 ]
12351 interface IHTMLDocument4 : IDispatch
12352 {
12353     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
12354     HRESULT focus();
12355
12356     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
12357     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
12358
12359     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12360     HRESULT onselectionchange([in] VARIANT v);
12361
12362     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12363     HRESULT onselectionchange([retval, out] VARIANT *p);
12364
12365     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
12366     HRESULT namespaces([retval, out] IDispatch **p);
12367
12368     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
12369     HRESULT createDocumentFromUrl(
12370         [in] BSTR bstrUrl,
12371         [in] BSTR bstrOptions,
12372         [retval, out] IHTMLDocument2 **newDoc);
12373
12374     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12375     HRESULT media([in] BSTR v);
12376
12377     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12378     HRESULT media([retval, out] BSTR *p);
12379
12380     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
12381     HRESULT createEventObject(
12382         [optional, in] VARIANT *pvarEventObject,
12383         [retval, out] IHTMLEventObj **ppEventObj);
12384
12385     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
12386     HRESULT fireEvent(
12387         [in] BSTR bstrEventName,
12388         [optional, in] VARIANT *pvarEventObject,
12389         [retval, out] VARIANT_BOOL *pfCancelled);
12390
12391     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
12392     HRESULT createRenderStyle(
12393         [in] BSTR v,
12394         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
12395
12396     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12397     HRESULT oncontrolselect([in] VARIANT v);
12398
12399     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12400     HRESULT oncontrolselect([retval, out] VARIANT *p);
12401
12402     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
12403     HRESULT URLUnencoded([retval, out] BSTR *p);
12404 }
12405
12406 /*****************************************************************************
12407  *    IHTMLDocument5 interface
12408  */
12409 [
12410     odl,
12411     oleautomation,
12412     dual,
12413     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
12414 ]
12415 interface IHTMLDocument5 : IDispatch
12416 {
12417     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12418     HRESULT onmousewheel([in] VARIANT v);
12419
12420     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12421     HRESULT onmousewheel([retval, out] VARIANT *p);
12422
12423     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
12424     HRESULT doctype([retval, out] IHTMLDOMNode **p);
12425
12426     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
12427     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
12428
12429     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
12430     HRESULT createAttribute(
12431         [in] BSTR bstrattrName,
12432         [retval, out] IHTMLDOMAttribute **ppattribute);
12433
12434     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
12435     HRESULT createComment(
12436         [in] BSTR bstrdata,
12437         [retval, out] IHTMLDOMNode **ppRetNode);
12438
12439     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12440     HRESULT onfocusin([in] VARIANT v);
12441
12442     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12443     HRESULT onfocusin([retval, out] VARIANT *p);
12444
12445     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12446     HRESULT onfocusout([in] VARIANT v);
12447
12448     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12449     HRESULT onfocusout([retval, out] VARIANT *p);
12450
12451     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12452     HRESULT onactivate([in] VARIANT v);
12453
12454     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12455     HRESULT onactivate([retval, out] VARIANT *p);
12456
12457     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12458     HRESULT ondeactivate([in] VARIANT v);
12459
12460     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12461     HRESULT ondeactivate([retval, out] VARIANT *p);
12462
12463     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12464     HRESULT onbeforeactivate([in] VARIANT v);
12465
12466     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12467     HRESULT onbeforeactivate([retval, out] VARIANT *p);
12468
12469     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12470     HRESULT onbeforedeactivate([in] VARIANT v);
12471
12472     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12473     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
12474
12475     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
12476     HRESULT compatMode([retval, out] BSTR *p);
12477 }
12478
12479 /*****************************************************************************
12480  *    IHTMLDocument6 interface
12481  */
12482 [
12483     odl,
12484     oleautomation,
12485     dual,
12486     uuid(30510417-98b5-11cf-bb82-00aa00bdce0b)
12487 ]
12488 interface IHTMLDocument6 : IDispatch
12489 {
12490     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
12491     HRESULT compatible([retval, out] IHTMLDocumentCompatibleInfoCollection **p);
12492
12493     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
12494     HRESULT documentMode([retval, out] VARIANT *p);
12495
12496     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
12497     HRESULT onstorage([in] VARIANT v);
12498
12499     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
12500     HRESULT onstorage([out] VARIANT *p);
12501
12502     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
12503     HRESULT onstoragecommit([in] VARIANT v);
12504
12505     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
12506     HRESULT onstoragecommit([out] VARIANT *p);
12507
12508     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
12509     HRESULT getElementById(
12510         [in] BSTR bstrId,
12511         [retval, out] IHTMLElement2 **p);
12512
12513     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
12514     HRESULT updateSettings();
12515 }
12516
12517 /*****************************************************************************
12518  *    DispHTMLDocument dispinterface
12519  */
12520 [
12521     hidden,
12522     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
12523 ]
12524 dispinterface DispHTMLDocument
12525 {
12526 properties:
12527 methods:
12528     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
12529     IDispatch *Script();
12530
12531     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
12532     IHTMLElementCollection *all();
12533
12534     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
12535     IHTMLElement *body();
12536
12537     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
12538     IHTMLElement *activeElement();
12539
12540     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
12541     IHTMLElementCollection *images();
12542
12543     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
12544     IHTMLElementCollection *applets();
12545
12546     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
12547     IHTMLElementCollection *links();
12548
12549     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
12550     IHTMLElementCollection *forms();
12551
12552     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
12553     IHTMLElementCollection *anchors();
12554
12555     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12556     void title(BSTR v);
12557
12558     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12559     BSTR title();
12560
12561     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
12562     IHTMLElementCollection *scripts();
12563
12564     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
12565     void designMode(BSTR v);
12566
12567     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
12568     BSTR designMode();
12569
12570     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
12571     IHTMLSelectionObject *selection();
12572
12573     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
12574     BSTR readyState();
12575
12576     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
12577     IHTMLFramesCollection2 *frames();
12578
12579     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
12580     IHTMLElementCollection *embeds();
12581
12582     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
12583     IHTMLElementCollection *plugins();
12584
12585     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12586     void alinkColor(VARIANT v);
12587
12588     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12589     VARIANT alinkColor();
12590
12591     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12592     void bgColor(VARIANT v);
12593
12594     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12595     VARIANT bgColor();
12596
12597     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12598     void fgColor(VARIANT v);
12599
12600     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12601     VARIANT fgColor();
12602
12603     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12604     void linkColor(VARIANT v);
12605
12606     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12607     VARIANT linkColor();
12608
12609     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12610     void vlinkColor(VARIANT v);
12611
12612     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12613     VARIANT vlinkColor();
12614
12615     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
12616     BSTR referrer();
12617
12618     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
12619     IHTMLLocation *location();
12620
12621     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
12622     BSTR lastModified();
12623
12624     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
12625     void URL(BSTR v);
12626
12627     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
12628     BSTR URL();
12629
12630     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12631     void domain(BSTR v);
12632
12633     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12634     BSTR domain();
12635
12636     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12637     void cookie(BSTR v);
12638
12639     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12640     BSTR cookie();
12641
12642     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
12643     void expando(VARIANT_BOOL v);
12644
12645     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
12646     VARIANT_BOOL expando();
12647
12648     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
12649     void charset(BSTR v);
12650
12651     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
12652     BSTR charset();
12653
12654     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12655     void defaultCharset(BSTR v);
12656
12657     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12658     BSTR defaultCharset();
12659
12660     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
12661     BSTR mimeType();
12662
12663     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
12664     BSTR fileSize();
12665
12666     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
12667     BSTR fileCreatedDate();
12668
12669     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
12670     BSTR fileModifiedDate();
12671
12672     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
12673     BSTR fileUpdatedDate();
12674
12675     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
12676     BSTR security();
12677
12678     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
12679     BSTR protocol();
12680
12681     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
12682     BSTR nameProp();
12683
12684     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
12685     void write([in] SAFEARRAY(VARIANT) psarray);
12686
12687     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
12688     void writeln([in] SAFEARRAY(VARIANT) psarray);
12689
12690     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
12691     IDispatch *open(
12692         [defaultvalue("text/html"), in] BSTR url,
12693         [optional, in] VARIANT name,
12694         [optional, in] VARIANT features,
12695         [optional, in] VARIANT replace);
12696
12697     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
12698     void close();
12699
12700     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
12701     void clear();
12702
12703     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
12704     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
12705
12706     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
12707     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
12708
12709     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
12710     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
12711
12712     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
12713     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
12714
12715     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
12716     BSTR queryCommandText([in] BSTR cmdID);
12717
12718     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
12719     VARIANT queryCommandValue([in] BSTR cmdID);
12720
12721     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
12722     VARIANT_BOOL execCommand(
12723         [in] BSTR cmdID,
12724         [defaultvalue(0), in] VARIANT_BOOL showUI,
12725         [optional, in] VARIANT value);
12726
12727     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12728     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
12729
12730     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12731     IHTMLElement *createElement([in] BSTR eTag);
12732
12733     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
12734     void onhelp(VARIANT v);
12735
12736     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
12737     VARIANT onhelp();
12738
12739     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
12740     void onclick(VARIANT v);
12741
12742     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
12743     VARIANT onclick();
12744
12745     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
12746     void ondblclick(VARIANT v);
12747
12748     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
12749     VARIANT ondblclick();
12750
12751     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
12752     void onkeyup(VARIANT v);
12753
12754     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
12755     VARIANT onkeyup();
12756
12757     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
12758     void onkeydown(VARIANT v);
12759
12760     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
12761     VARIANT onkeydown();
12762
12763     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
12764     void onkeypress(VARIANT v);
12765
12766     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
12767     VARIANT onkeypress();
12768
12769     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
12770     void onmouseup(VARIANT v);
12771
12772     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
12773     VARIANT onmouseup();
12774
12775     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12776     void onmousedown(VARIANT v);
12777
12778     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12779     VARIANT onmousedown();
12780
12781     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12782     void onmousemove(VARIANT v);
12783
12784     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12785     VARIANT onmousemove();
12786
12787     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12788     void onmouseout(VARIANT v);
12789
12790     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12791     VARIANT onmouseout();
12792
12793     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
12794     void onmouseover(VARIANT v);
12795
12796     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
12797     VARIANT onmouseover();
12798
12799     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12800     void onreadystatechange(VARIANT v);
12801
12802     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12803     VARIANT onreadystatechange();
12804
12805     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
12806     void onafterupdate(VARIANT v);
12807
12808     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
12809     VARIANT onafterupdate();
12810
12811     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
12812     void onrowexit(VARIANT v);
12813
12814     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
12815     VARIANT onrowexit();
12816
12817     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
12818     void onrowenter(VARIANT v);
12819
12820     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
12821     VARIANT onrowenter();
12822
12823     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
12824     void ondragstart(VARIANT v);
12825
12826     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
12827     VARIANT ondragstart();
12828
12829     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
12830     void onselectstart(VARIANT v);
12831
12832     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
12833     VARIANT onselectstart();
12834
12835     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12836     IHTMLElement *elementFromPoint(
12837         [in] LONG x,
12838         [in] LONG y);
12839
12840     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12841     IHTMLWindow2 *parentWindow();
12842
12843     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12844     IHTMLStyleSheetsCollection *styleSheets();
12845
12846     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
12847     void onbeforeupdate(VARIANT v);
12848
12849     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
12850     VARIANT onbeforeupdate();
12851
12852     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
12853     void onerrorupdate(VARIANT v);
12854
12855     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
12856     VARIANT onerrorupdate();
12857
12858     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12859     BSTR toString();
12860
12861     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12862     IHTMLStyleSheet *createStyleSheet(
12863         [defaultvalue(""), in] BSTR bstrHref,
12864         [defaultvalue(-1), in] LONG lIndex);
12865
12866     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12867     void releaseCapture();
12868
12869     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12870     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12871
12872     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12873     IHTMLDOMNode *createTextNode([in] BSTR text);
12874
12875     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12876     IHTMLElement *documentElement();
12877
12878     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12879     BSTR uniqueID();
12880
12881     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12882     VARIANT_BOOL attachEvent(
12883         [in] BSTR event,
12884         [in] IDispatch *pDisp);
12885
12886     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12887     void detachEvent(
12888         [in] BSTR event,
12889         [in] IDispatch *pDisp);
12890
12891     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12892     void onrowsdelete(VARIANT v);
12893
12894     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12895     VARIANT onrowsdelete();
12896
12897     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12898     void onrowsinserted(VARIANT v);
12899
12900     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12901     VARIANT onrowsinserted();
12902
12903     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12904     void oncellchange(VARIANT v);
12905
12906     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12907     VARIANT oncellchange();
12908
12909     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12910     void ondatasetchanged(VARIANT v);
12911
12912     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12913     VARIANT ondatasetchanged();
12914
12915     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12916     void ondataavailable(VARIANT v);
12917
12918     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12919     VARIANT ondataavailable();
12920
12921     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12922     void ondatasetcomplete(VARIANT v);
12923
12924     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12925     VARIANT ondatasetcomplete();
12926
12927     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12928     void onpropertychange(VARIANT v);
12929
12930     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12931     VARIANT onpropertychange();
12932
12933     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
12934     void dir(BSTR v);
12935
12936     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
12937     BSTR dir();
12938
12939     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12940     void oncontextmenu(VARIANT v);
12941
12942     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12943     VARIANT oncontextmenu();
12944
12945     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12946     void onstop(VARIANT v);
12947
12948     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12949     VARIANT onstop();
12950
12951     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
12952     IHTMLDocument2 *createDocumentFragment();
12953
12954     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
12955     IHTMLDocument2 *parentDocument();
12956
12957     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12958     void enableDownload(VARIANT_BOOL v);
12959
12960     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12961     VARIANT_BOOL enableDownload();
12962
12963     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12964     void baseUrl(BSTR v);
12965
12966     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12967     BSTR baseUrl();
12968
12969     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12970     void inheritStyleSheets(VARIANT_BOOL v);
12971
12972     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12973     VARIANT_BOOL inheritStyleSheets();
12974
12975     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12976     void onbeforeeditfocus(VARIANT v);
12977
12978     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12979     VARIANT onbeforeeditfocus();
12980
12981     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
12982     IHTMLElementCollection *getElementsByName([in] BSTR v);
12983
12984     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
12985     IHTMLElement *getElementById([in] BSTR v);
12986
12987     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
12988     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
12989
12990     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
12991     void focus();
12992
12993     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
12994     VARIANT_BOOL hasFocus();
12995
12996     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12997     void onselectionchange(VARIANT v);
12998
12999     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13000     VARIANT onselectionchange();
13001
13002     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
13003     IDispatch *namespaces();
13004
13005     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
13006     IHTMLDocument2 *createDocumentFromUrl(
13007         [in] BSTR bstrUrl,
13008         [in] BSTR bstrOptions);
13009
13010     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13011     void media(BSTR v);
13012
13013     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13014     BSTR media();
13015
13016     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
13017     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
13018
13019     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
13020     VARIANT_BOOL fireEvent(
13021         [in] BSTR bstrEventName,
13022         [optional, in] VARIANT *pvarEventObject);
13023
13024     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
13025     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
13026
13027     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13028     void oncontrolselect(VARIANT v);
13029
13030     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13031     VARIANT oncontrolselect();
13032
13033     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
13034     BSTR URLUnencoded();
13035
13036     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13037     void onmousewheel(VARIANT v);
13038
13039     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13040     VARIANT onmousewheel();
13041
13042     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
13043     IHTMLDOMNode *doctype();
13044
13045     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13046     IHTMLDOMImplementation *implementation();
13047
13048     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13049     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
13050
13051     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13052     IHTMLDOMNode *createComment([in] BSTR bstrdata);
13053
13054     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13055     void onfocusin(VARIANT v);
13056
13057     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13058     VARIANT onfocusin();
13059
13060     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13061     void onfocusout(VARIANT v);
13062
13063     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13064     VARIANT onfocusout();
13065
13066     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13067     void onactivate(VARIANT v);
13068
13069     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13070     VARIANT onactivate();
13071
13072     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13073     void ondeactivate(VARIANT v);
13074
13075     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13076     VARIANT ondeactivate();
13077
13078     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13079     void onbeforeactivate(VARIANT v);
13080
13081     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13082     VARIANT onbeforeactivate();
13083
13084     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13085     void onbeforedeactivate(VARIANT v);
13086
13087     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13088     VARIANT onbeforedeactivate();
13089
13090     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
13091     BSTR compatMode();
13092
13093     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
13094     IHTMLDocumentCompatibleInfoCollection *compatible();
13095
13096     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
13097     VARIANT documentMode();
13098
13099     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13100     void onstorage(VARIANT v);
13101
13102     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13103     VARIANT onstorage();
13104
13105     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13106     void onstoragecommit(VARIANT v);
13107
13108     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13109     VARIANT onstoragecommit();
13110
13111     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
13112     IHTMLElement2 *ie8_getElementById([in] BSTR bstrId);
13113
13114     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
13115     void updateSettings();
13116
13117     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
13118 }
13119
13120 /*****************************************************************************
13121  *    HTMLDocument coclass
13122  */
13123 [
13124     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
13125 ]
13126 coclass HTMLDocument
13127 {
13128     [default]         dispinterface DispHTMLDocument;
13129     [source, default] dispinterface HTMLDocumentEvents;
13130     [source]          dispinterface HTMLDocumentEvents2;
13131                       interface IHTMLDocument2;
13132                       interface IHTMLDocument3;
13133                       interface IHTMLDocument4;
13134                       interface IHTMLDocument5;
13135                       interface IHTMLDocument6;
13136                       interface IHTMLDOMNode;
13137                       interface IHTMLDOMNode2;
13138 }
13139
13140 /*****************************************************************************
13141  *    DWebBridgeEvents dispinterface
13142  */
13143 [
13144     hidden,
13145     uuid(a6d897ff-0a95-11d1-b0ba-006008166e11)
13146 ]
13147 dispinterface DWebBridgeEvents
13148 {
13149 properties:
13150 methods:
13151     [id(DISPID_DWEBBRIDGEEVENTS_ONSCRIPTLETEVENT)]
13152     void onscriptletevent([in] BSTR name,[in] VARIANT eventData);
13153
13154     [id(DISPID_DWEBBRIDGEEVENTS_ONREADYSTATECHANGE)]
13155     void onreadystatechange();
13156
13157     [id(DISPID_DWEBBRIDGEEVENTS_ONCLICK)]
13158     VARIANT_BOOL onclick();
13159
13160     [id(DISPID_DWEBBRIDGEEVENTS_ONDBLCLICK)]
13161     VARIANT_BOOL ondblclick();
13162
13163     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYDOWN)]
13164     void onkeydown();
13165
13166     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYUP)]
13167     void onkeyup();
13168
13169     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYPRESS)]
13170     VARIANT_BOOL onkeypress();
13171
13172     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEDOWN)]
13173     void onmousedown();
13174
13175     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEMOVE)]
13176     void onmousemove();
13177
13178     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEUP)]
13179     void onmouseup();
13180 }
13181
13182 /*****************************************************************************
13183  *    IWebBridge interface
13184  */
13185 [
13186     odl,
13187     oleautomation,
13188     dual,
13189     uuid(ae24fdad-03c6-11d1-8b76-0080c744f389)
13190 ]
13191 interface IWebBridge : IDispatch
13192 {
13193     [propput, id(DISPID_IWEBBRIDGE_URL)]
13194     HRESULT URL([in] BSTR v);
13195
13196     [propget, id(DISPID_IWEBBRIDGE_URL)]
13197     HRESULT URL([retval, out] BSTR * p);
13198
13199     [propput, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
13200     HRESULT Scrollbar([in] VARIANT_BOOL v);
13201
13202     [propget, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
13203     HRESULT Scrollbar([retval, out] VARIANT_BOOL * p);
13204
13205     [propput, id(DISPID_IWEBBRIDGE_EMBED)]
13206     HRESULT embed([in] VARIANT_BOOL v);
13207
13208     [propget, id(DISPID_IWEBBRIDGE_EMBED)]
13209     HRESULT embed([retval, out] VARIANT_BOOL * p);
13210
13211     [propget, id(DISPID_IWEBBRIDGE_EVENT)]
13212     HRESULT event([retval, out] IDispatch* * p);
13213
13214     [propget, id(DISPID_IWEBBRIDGE_READYSTATE)]
13215     HRESULT readyState([retval, out] long * p);
13216
13217     [id(DISPID_IWEBBRIDGE_ABOUTBOX)]
13218     HRESULT AboutBox();
13219 }
13220
13221 /*****************************************************************************
13222  *    Scriptlet coclass
13223  */
13224 [
13225     control,
13226     helpstring("Microsoft Scriptlet Component"),
13227     progid("ScriptBridge.ScriptBridge.1"),
13228     vi_progid("ScriptBridge.ScriptBridge"),
13229     threading(apartment),
13230     uuid(ae24fdae-03c6-11d1-8b76-0080c744f389)
13231 ]
13232 coclass Scriptlet
13233 {
13234     [default]           interface IWebBridge;
13235     [source, default]   dispinterface DWebBridgeEvents;
13236 }
13237
13238 /*****************************************************************************
13239  *    IHTMLEmbedElement interface
13240  */
13241 [
13242     odl,
13243     oleautomation,
13244     dual,
13245     uuid(3050f25f-98b5-11cf-bb82-00aa00bdce0b)
13246 ]
13247 interface IHTMLEmbedElement : IDispatch
13248 {
13249     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13250     HRESULT hidden([in] BSTR v);
13251
13252     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13253     HRESULT hidden([retval, out] BSTR *p);
13254
13255     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
13256     HRESULT palette([retval, out] BSTR *p);
13257
13258     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
13259     HRESULT pluginspage([retval, out] BSTR *p);
13260
13261     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13262     HRESULT src([in] BSTR v);
13263
13264     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13265     HRESULT src([retval, out] BSTR *p);
13266
13267     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13268     HRESULT units([in] BSTR v);
13269
13270     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13271     HRESULT units([retval, out] BSTR *p);
13272
13273     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13274     HRESULT name([in] BSTR v);
13275
13276     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13277     HRESULT name([retval, out] BSTR *p);
13278
13279     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13280     HRESULT width([in] VARIANT v);
13281
13282     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13283     HRESULT width([retval, out] VARIANT *p);
13284
13285     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13286     HRESULT height([in] VARIANT v);
13287
13288     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13289     HRESULT height([retval, out] VARIANT *p);
13290 }
13291
13292 /*****************************************************************************
13293  *    DispHTMLEmbedElement dispinterface
13294  */
13295 [
13296     hidden,
13297     uuid(3050f52e-98b5-11cf-bb82-00aa00bdce0b)
13298 ]
13299 dispinterface DispHTMLEmbed
13300 {
13301 properties:
13302 methods:
13303     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
13304
13305     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13306     void hidden(BSTR v);
13307
13308     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13309     BSTR hidden();
13310
13311     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
13312     BSTR palette();
13313
13314     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
13315     BSTR pluginspage();
13316
13317     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13318     void src(BSTR v);
13319
13320     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13321     BSTR src();
13322
13323     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13324     void units(BSTR v);
13325
13326     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13327     BSTR units();
13328
13329     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13330     void name(BSTR v);
13331
13332     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13333     BSTR name();
13334
13335     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13336     void width(VARIANT v);
13337
13338     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13339     VARIANT width();
13340
13341     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13342     void height(VARIANT v);
13343
13344     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13345     VARIANT height();
13346
13347     [propput, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
13348     void ie8_src(BSTR v);
13349
13350     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
13351     BSTR ie8_src();
13352
13353     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_PLUGINSPAGE)]
13354     BSTR ie8_pluginspage();
13355 }
13356
13357 /*****************************************************************************
13358  *    IHTMLCommentElement interface
13359  */
13360 [
13361     odl,
13362     oleautomation,
13363     dual,
13364     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
13365 ]
13366 interface IHTMLCommentElement : IDispatch
13367 {
13368     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13369     HRESULT text([in] BSTR v);
13370
13371     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13372     HRESULT text([out, retval] BSTR *p);
13373
13374     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13375     HRESULT atomic([in] LONG v);
13376
13377     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13378     HRESULT atomic([out, retval] LONG *p);
13379 }
13380
13381 /*****************************************************************************
13382  *    IHTMLCommentElement2 interface
13383  */
13384 [
13385     odl,
13386     oleautomation,
13387     dual,
13388     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
13389 ]
13390 interface IHTMLCommentElement2 : IDispatch
13391 {
13392     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13393     HRESULT data([in] BSTR v);
13394
13395     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13396     HRESULT data([out, retval] BSTR *p);
13397
13398     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
13399     HRESULT length([out, retval] LONG *p);
13400
13401     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
13402     HRESULT substringData(
13403             [in] LONG offset,
13404             [in] LONG Count,
13405             [out, retval] BSTR *pbstrsubString);
13406
13407     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
13408     HRESULT appendData([in] BSTR bstrstring);
13409
13410     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
13411     HRESULT insertData(
13412             [in] LONG offset,
13413             [in] BSTR bstrstring);
13414
13415     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
13416     HRESULT deleteData(
13417             [in] LONG offset,
13418             [in] LONG Count);
13419
13420     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
13421     HRESULT replaceData(
13422             [in] LONG offset,
13423             [in] LONG Count,
13424             [in] BSTR bstrstring);
13425 }
13426
13427 /*****************************************************************************
13428  *    DispHTMLCommentElement dispinterface
13429  */
13430 [
13431     hidden,
13432     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
13433 ]
13434 dispinterface DispHTMLCommentElement
13435 {
13436 properties:
13437 methods:
13438     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
13439
13440     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13441     void text(BSTR v);
13442
13443     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13444     BSTR text();
13445
13446     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13447     void atomic(LONG v);
13448
13449     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13450     LONG atomic();
13451
13452     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13453     void data(BSTR v);
13454
13455     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13456     BSTR data();
13457
13458     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
13459     LONG length();
13460
13461     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
13462     BSTR substringData(
13463             [in] LONG offset,
13464             [in] LONG Count);
13465
13466     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
13467     void appendData([in] BSTR bstrstring);
13468
13469     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
13470      void insertData(
13471             [in] LONG offset,
13472             [in] BSTR bstrstring);
13473
13474     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
13475     void deleteData(
13476             [in] LONG offset,
13477             [in] LONG Count);
13478
13479     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
13480     void replaceData(
13481             [in] LONG offset,
13482             [in] LONG Count,
13483             [in] BSTR bstrstring);
13484 }
13485
13486 [
13487     hidden,
13488     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
13489 ]
13490 dispinterface HTMLElementEvents2
13491 {
13492 properties:
13493 methods:
13494     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
13495     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
13496
13497     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
13498     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
13499
13500     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
13501     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
13502
13503     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
13504     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
13505
13506     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
13507     void onkeydown([in] IHTMLEventObj* pEvtObj);
13508
13509     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
13510     void onkeyup([in] IHTMLEventObj* pEvtObj);
13511
13512     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
13513     void onmouseout([in] IHTMLEventObj* pEvtObj);
13514
13515     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
13516     void onmouseover([in] IHTMLEventObj* pEvtObj);
13517
13518     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
13519     void onmousemove([in] IHTMLEventObj* pEvtObj);
13520
13521     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
13522     void onmousedown([in] IHTMLEventObj* pEvtObj);
13523
13524     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
13525     void onmouseup([in] IHTMLEventObj* pEvtObj);
13526
13527     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
13528     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
13529
13530     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
13531     void onfilterchange([in] IHTMLEventObj* pEvtObj);
13532
13533     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
13534     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
13535
13536     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
13537     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
13538
13539     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
13540     void onafterupdate([in] IHTMLEventObj* pEvtObj);
13541
13542     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
13543     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
13544
13545     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
13546     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
13547
13548     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
13549     void onrowenter([in] IHTMLEventObj* pEvtObj);
13550
13551     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
13552     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
13553
13554     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
13555     void ondataavailable([in] IHTMLEventObj* pEvtObj);
13556
13557     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
13558     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
13559
13560     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
13561     void onlosecapture([in] IHTMLEventObj* pEvtObj);
13562
13563     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
13564     void onpropertychange([in] IHTMLEventObj* pEvtObj);
13565
13566     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
13567     void onscroll([in] IHTMLEventObj* pEvtObj);
13568
13569     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
13570     void onfocus([in] IHTMLEventObj* pEvtObj);
13571
13572     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
13573     void onblur([in] IHTMLEventObj* pEvtObj);
13574
13575     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
13576     void onresize([in] IHTMLEventObj* pEvtObj);
13577
13578     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
13579     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
13580
13581     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
13582     void ondragend([in] IHTMLEventObj* pEvtObj);
13583
13584     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
13585     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
13586
13587     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
13588     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
13589
13590     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
13591     void ondragleave([in] IHTMLEventObj* pEvtObj);
13592
13593     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
13594     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
13595
13596     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
13597     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
13598
13599     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
13600     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
13601
13602     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
13603     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
13604
13605     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
13606     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
13607
13608     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
13609     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
13610
13611     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
13612     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
13613
13614     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
13615     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
13616
13617     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
13618     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
13619
13620     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
13621     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
13622
13623     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
13624     void oncellchange([in] IHTMLEventObj* pEvtObj);
13625
13626     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
13627     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
13628
13629     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
13630     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
13631
13632     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
13633     void onpage([in] IHTMLEventObj* pEvtObj);
13634
13635     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
13636     void onmouseenter([in] IHTMLEventObj* pEvtObj);
13637
13638     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
13639     void onmouseleave([in] IHTMLEventObj* pEvtObj);
13640
13641     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
13642     void onactivate([in] IHTMLEventObj* pEvtObj);
13643
13644     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
13645     void ondeactivate([in] IHTMLEventObj* pEvtObj);
13646
13647     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
13648     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
13649
13650     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
13651     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
13652
13653     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
13654     void onfocusin([in] IHTMLEventObj* pEvtObj);
13655
13656     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
13657     void onfocusout([in] IHTMLEventObj* pEvtObj);
13658
13659     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
13660     void onmove([in] IHTMLEventObj* pEvtObj);
13661
13662     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
13663     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
13664
13665     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
13666     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
13667
13668     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
13669     void onmoveend([in] IHTMLEventObj* pEvtObj);
13670
13671     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
13672     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
13673
13674     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
13675     void onresizeend([in] IHTMLEventObj* pEvtObj);
13676
13677     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
13678     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
13679 }
13680
13681 [
13682     hidden,
13683     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
13684 ]
13685 dispinterface HTMLElementEvents
13686 {
13687 properties:
13688 methods:
13689     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
13690     VARIANT_BOOL onhelp();
13691
13692     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
13693     VARIANT_BOOL onclick();
13694
13695     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
13696     VARIANT_BOOL ondblclick();
13697
13698     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
13699     VARIANT_BOOL onkeypress();
13700
13701     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
13702     void onkeydown();
13703
13704     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
13705     void onkeyup();
13706
13707     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
13708     void onmouseout();
13709
13710     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
13711     void onmouseover();
13712
13713     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
13714     void onmousemove();
13715
13716     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
13717     void onmousedown();
13718
13719     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
13720     void onmouseup();
13721
13722     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
13723     VARIANT_BOOL onselectstart();
13724
13725     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
13726     void onfilterchange();
13727
13728     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
13729     VARIANT_BOOL ondragstart();
13730
13731     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
13732     VARIANT_BOOL onbeforeupdate();
13733
13734     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
13735     void onafterupdate();
13736
13737     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
13738     VARIANT_BOOL onerrorupdate();
13739
13740     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
13741     VARIANT_BOOL onrowexit();
13742
13743     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
13744     void onrowenter();
13745
13746     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
13747     void ondatasetchanged();
13748
13749     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
13750     void ondataavailable();
13751
13752     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
13753     void ondatasetcomplete();
13754
13755     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
13756     void onlosecapture();
13757
13758     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
13759     void onpropertychange();
13760
13761     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
13762     void onscroll();
13763
13764     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
13765     void onfocus();
13766
13767     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
13768     void onblur();
13769
13770     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
13771     void onresize();
13772
13773     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
13774     VARIANT_BOOL ondrag();
13775
13776     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
13777     void ondragend();
13778
13779     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
13780     VARIANT_BOOL ondragenter();
13781
13782     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
13783     VARIANT_BOOL ondragover();
13784
13785     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
13786     void ondragleave();
13787
13788     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
13789     VARIANT_BOOL ondrop();
13790
13791     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
13792     VARIANT_BOOL onbeforecut();
13793
13794     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
13795     VARIANT_BOOL oncut();
13796
13797     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
13798     VARIANT_BOOL onbeforecopy();
13799
13800     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
13801     VARIANT_BOOL oncopy();
13802
13803     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
13804     VARIANT_BOOL onbeforepaste();
13805
13806     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
13807     VARIANT_BOOL onpaste();
13808
13809     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
13810     VARIANT_BOOL oncontextmenu();
13811
13812     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
13813     void onrowsdelete();
13814
13815     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
13816     void onrowsinserted();
13817
13818     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
13819     void oncellchange();
13820
13821     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
13822     void onreadystatechange();
13823
13824     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
13825     void onbeforeeditfocus();
13826
13827     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
13828     void onlayoutcomplete();
13829
13830     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
13831     void onpage();
13832
13833     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
13834     VARIANT_BOOL onbeforedeactivate();
13835
13836     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
13837     VARIANT_BOOL onbeforeactivate();
13838
13839     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
13840     void onmove();
13841
13842     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
13843     VARIANT_BOOL oncontrolselect();
13844
13845     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
13846     VARIANT_BOOL onmovestart();
13847
13848     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
13849     void onmoveend();
13850
13851     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
13852     VARIANT_BOOL onresizestart();
13853
13854     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
13855     void onresizeend();
13856
13857     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
13858     void onmouseenter();
13859
13860     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
13861     void onmouseleave();
13862
13863     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
13864     VARIANT_BOOL onmousewheel();
13865
13866     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
13867     void onactivate();
13868
13869     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
13870     void ondeactivate();
13871
13872     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
13873     void onfocusin();
13874
13875     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
13876     void onfocusout();
13877 }
13878
13879 [
13880     noncreatable,
13881     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
13882 ]
13883 coclass HTMLCommentElement
13884 {
13885     [default]           dispinterface DispHTMLCommentElement;
13886     [source, default]   dispinterface HTMLElementEvents;
13887     [source]            dispinterface HTMLElementEvents2;
13888                         interface IHTMLElement;
13889                         interface IHTMLElement2;
13890                         interface IHTMLElement3;
13891                         interface IHTMLElement4;
13892                         interface IHTMLUniqueName;
13893                         interface IHTMLDOMNode;
13894                         interface IHTMLDOMNode2;
13895                         interface IHTMLCommentElement;
13896                         interface IHTMLCommentElement2;
13897 }
13898
13899 /*****************************************************************************
13900  *    HTMLTableEvents dispinterface
13901  */
13902 [
13903     hidden,
13904     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
13905 ]
13906 dispinterface HTMLTableEvents
13907 {
13908 properties:
13909 methods:
13910     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
13911     VARIANT_BOOL onhelp();
13912
13913     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
13914     VARIANT_BOOL onclick();
13915
13916     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
13917     VARIANT_BOOL ondblclick();
13918
13919     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
13920     VARIANT_BOOL onkeypress();
13921
13922     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
13923     void onkeydown();
13924
13925     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
13926     void onkeyup();
13927
13928     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
13929     void onmouseout();
13930
13931     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
13932     void onmouseover();
13933
13934     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
13935     void onmousemove();
13936
13937     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
13938     void onmousedown();
13939
13940     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
13941     void onmouseup();
13942
13943     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
13944     VARIANT_BOOL onselectstart();
13945
13946     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
13947     void onfilterchange();
13948
13949     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
13950     VARIANT_BOOL ondragstart();
13951
13952     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
13953     VARIANT_BOOL onbeforeupdate();
13954
13955     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
13956     void onafterupdate();
13957
13958     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
13959     VARIANT_BOOL onerrorupdate();
13960
13961     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
13962     VARIANT_BOOL onrowexit();
13963
13964     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
13965     void onrowenter();
13966
13967     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
13968     void ondatasetchanged();
13969
13970     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
13971     void ondataavailable();
13972
13973     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
13974     void ondatasetcomplete();
13975
13976     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
13977     void onlosecapture();
13978
13979     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
13980     void onpropertychange();
13981
13982     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
13983     void onscroll();
13984
13985     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
13986     void onfocus();
13987
13988     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
13989     void onblur();
13990
13991     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
13992     void onresize();
13993
13994     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
13995     VARIANT_BOOL ondrag();
13996
13997     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
13998     void ondragend();
13999
14000     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14001     VARIANT_BOOL ondragenter();
14002
14003     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14004     VARIANT_BOOL ondragover();
14005
14006     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14007     void ondragleave();
14008
14009     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14010     VARIANT_BOOL ondrop();
14011
14012     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14013     VARIANT_BOOL onbeforecut();
14014
14015     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14016     VARIANT_BOOL oncut();
14017
14018     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14019     VARIANT_BOOL onbeforecopy();
14020
14021     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14022     VARIANT_BOOL oncopy();
14023
14024     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14025     VARIANT_BOOL onbeforepaste();
14026
14027     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14028     VARIANT_BOOL onpaste();
14029
14030     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14031     VARIANT_BOOL oncontextmenu();
14032
14033     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14034     void onrowsdelete();
14035
14036     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14037     void onrowsinserted();
14038
14039     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14040     void oncellchange();
14041
14042     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14043     void onreadystatechange();
14044
14045     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14046     void onbeforeeditfocus();
14047
14048     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14049     void onlayoutcomplete();
14050
14051     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14052     void onpage();
14053
14054     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14055     VARIANT_BOOL onbeforedeactivate();
14056
14057     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14058     VARIANT_BOOL onbeforeactivate();
14059
14060     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14061     void onmove();
14062
14063     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14064     VARIANT_BOOL oncontrolselect();
14065
14066     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14067     VARIANT_BOOL onmovestart();
14068
14069     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14070     void onmoveend();
14071
14072     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14073     VARIANT_BOOL onresizestart();
14074
14075     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14076     void onresizeend();
14077
14078     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14079     void onmouseenter();
14080
14081     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14082     void onmouseleave();
14083
14084     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14085     VARIANT_BOOL onmousewheel();
14086
14087     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14088     void onactivate();
14089
14090     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14091     void ondeactivate();
14092
14093     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14094     void onfocusin();
14095
14096     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14097     void onfocusout();
14098 }
14099
14100 [
14101     hidden,
14102     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
14103 ]
14104 dispinterface HTMLTableEvents2
14105 {
14106 properties:
14107 methods:
14108     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14109     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14110
14111     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14112     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14113
14114     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14115     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14116
14117     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14118     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14119
14120     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14121     void onkeydown([in] IHTMLEventObj* pEvtObj);
14122
14123     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14124     void onkeyup([in] IHTMLEventObj* pEvtObj);
14125
14126     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14127     void onmouseout([in] IHTMLEventObj* pEvtObj);
14128
14129     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14130     void onmouseover([in] IHTMLEventObj* pEvtObj);
14131
14132     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14133     void onmousemove([in] IHTMLEventObj* pEvtObj);
14134
14135     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14136     void onmousedown([in] IHTMLEventObj* pEvtObj);
14137
14138     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14139     void onmouseup([in] IHTMLEventObj* pEvtObj);
14140
14141     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14142     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14143
14144     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14145     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14146
14147     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14148     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14149
14150     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14151     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14152
14153     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14154     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14155
14156     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14157     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14158
14159     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14160     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14161
14162     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14163     void onrowenter([in] IHTMLEventObj* pEvtObj);
14164
14165     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14166     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14167
14168     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14169     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14170
14171     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14172     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14173
14174     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14175     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14176
14177     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14178     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14179
14180     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14181     void onscroll([in] IHTMLEventObj* pEvtObj);
14182
14183     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14184     void onfocus([in] IHTMLEventObj* pEvtObj);
14185
14186     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14187     void onblur([in] IHTMLEventObj* pEvtObj);
14188
14189     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14190     void onresize([in] IHTMLEventObj* pEvtObj);
14191
14192     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14193     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14194
14195     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14196     void ondragend([in] IHTMLEventObj* pEvtObj);
14197
14198     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14199     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14200
14201     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14202     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14203
14204     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14205     void ondragleave([in] IHTMLEventObj* pEvtObj);
14206
14207     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14208     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14209
14210     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14211     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14212
14213     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14214     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14215
14216     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14217     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14218
14219     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14220     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14221
14222     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14223     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14224
14225     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14226     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14227
14228     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14229     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14230
14231     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14232     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14233
14234     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14235     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14236
14237     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14238     void oncellchange([in] IHTMLEventObj* pEvtObj);
14239
14240     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14241     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14242
14243     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14244     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14245
14246     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14247     void onpage([in] IHTMLEventObj* pEvtObj);
14248
14249     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14250     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14251
14252     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14253     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14254
14255     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14256     void onactivate([in] IHTMLEventObj* pEvtObj);
14257
14258     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14259     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14260
14261     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14262     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14263
14264     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14265     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14266
14267     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14268     void onfocusin([in] IHTMLEventObj* pEvtObj);
14269
14270     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14271     void onfocusout([in] IHTMLEventObj* pEvtObj);
14272
14273     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14274     void onmove([in] IHTMLEventObj* pEvtObj);
14275
14276     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14277     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14278
14279     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14280     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14281
14282     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14283     void onmoveend([in] IHTMLEventObj* pEvtObj);
14284
14285     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14286     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14287
14288     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14289     void onresizeend([in] IHTMLEventObj* pEvtObj);
14290
14291     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14292     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14293 }
14294
14295 /*****************************************************************************
14296  *    IHTMLTableCaption interface
14297  */
14298 [
14299     odl,
14300     oleautomation,
14301     dual,
14302     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
14303 ]
14304 interface IHTMLTableCaption : IDispatch
14305 {
14306     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
14307     HRESULT align([in] BSTR v);
14308
14309     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
14310     HRESULT align([retval, out] BSTR *p);
14311
14312     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
14313     HRESULT vAlign([in] BSTR v);
14314
14315     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
14316     HRESULT vAlign([retval, out] BSTR *p);
14317 }
14318
14319 interface IHTMLTableSection;
14320
14321 /*****************************************************************************
14322  *    IHTMLTable interface
14323  */
14324 [
14325     odl,
14326     oleautomation,
14327     dual,
14328     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
14329 ]
14330 interface IHTMLTable : IDispatch
14331 {
14332     [propput, id(DISPID_IHTMLTABLE_COLS)]
14333     HRESULT cols([in] LONG v);
14334
14335     [propget, id(DISPID_IHTMLTABLE_COLS)]
14336     HRESULT cols([retval, out] LONG *p);
14337
14338     [propput, id(DISPID_IHTMLTABLE_BORDER)]
14339     HRESULT border([in] VARIANT v);
14340
14341     [propget, id(DISPID_IHTMLTABLE_BORDER)]
14342     HRESULT border([retval, out] VARIANT *p);
14343
14344     [propput, id(DISPID_IHTMLTABLE_FRAME)]
14345     HRESULT frame([in] BSTR v);
14346
14347     [propget, id(DISPID_IHTMLTABLE_FRAME)]
14348     HRESULT frame([retval, out] BSTR *p);
14349
14350     [propput, id(DISPID_IHTMLTABLE_RULES)]
14351     HRESULT rules([in] BSTR v);
14352
14353     [propget, id(DISPID_IHTMLTABLE_RULES)]
14354     HRESULT rules([retval, out] BSTR *p);
14355
14356     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
14357     HRESULT cellSpacing([in] VARIANT v);
14358
14359     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
14360     HRESULT cellSpacing([retval, out] VARIANT *p);
14361
14362     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
14363     HRESULT cellPadding([in] VARIANT v);
14364
14365     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
14366     HRESULT cellPadding([retval, out] VARIANT *p);
14367
14368     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
14369     HRESULT background([in] BSTR v);
14370
14371     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
14372     HRESULT background([retval, out] BSTR *p);
14373
14374     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
14375     HRESULT bgColor([in] VARIANT v);
14376
14377     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
14378     HRESULT bgColor([retval, out] VARIANT *p);
14379
14380     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14381     HRESULT borderColor([in] VARIANT v);
14382
14383     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14384     HRESULT borderColor([retval, out] VARIANT *p);
14385
14386     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14387     HRESULT borderColorLight([in] VARIANT v);
14388
14389     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14390     HRESULT borderColorLight([retval, out] VARIANT *p);
14391
14392     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14393     HRESULT borderColorDark([in] VARIANT v);
14394
14395     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14396     HRESULT borderColorDark([retval, out] VARIANT *p);
14397
14398     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
14399     HRESULT align([in] BSTR v);
14400
14401     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
14402     HRESULT align([retval, out] BSTR * p);
14403
14404     [id(DISPID_IHTMLTABLE_REFRESH)]
14405     HRESULT refresh();
14406
14407     [propget, id(DISPID_IHTMLTABLE_ROWS)]
14408     HRESULT rows([retval, out] IHTMLElementCollection **p);
14409
14410     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
14411     HRESULT width([in] VARIANT v);
14412
14413     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
14414     HRESULT width([retval, out] VARIANT *p);
14415
14416     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
14417     HRESULT height([in] VARIANT v);
14418
14419     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
14420     HRESULT height([retval, out] VARIANT *p);
14421
14422     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14423     HRESULT dataPageSize([in] LONG v);
14424
14425     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14426     HRESULT dataPageSize([retval, out] LONG *p);
14427
14428     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
14429     HRESULT nextPage();
14430
14431     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
14432     HRESULT previousPage();
14433
14434     [propget, id(DISPID_IHTMLTABLE_THEAD)]
14435     HRESULT tHead([retval, out] IHTMLTableSection **p);
14436
14437     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
14438     HRESULT tFoot([retval, out] IHTMLTableSection **p);
14439
14440     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
14441     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
14442
14443     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
14444     HRESULT caption([retval, out] IHTMLTableCaption **p);
14445
14446     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
14447     HRESULT createTHead([retval, out] IDispatch **head);
14448
14449     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
14450     HRESULT deleteTHead();
14451
14452     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
14453     HRESULT createTFoot([retval, out] IDispatch **foot);
14454
14455     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
14456     HRESULT deleteTFoot();
14457
14458     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
14459     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
14460
14461     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
14462     HRESULT deleteCaption();
14463
14464     [id(DISPID_IHTMLTABLE_INSERTROW)]
14465     HRESULT insertRow(
14466             [defaultvalue(-1), in] LONG index,
14467             [retval, out] IDispatch **row);
14468
14469     [id(DISPID_IHTMLTABLE_DELETEROW)]
14470     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
14471
14472     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
14473     HRESULT readyState([retval, out] BSTR *p);
14474
14475     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
14476     HRESULT onreadystatechange([in] VARIANT v);
14477
14478     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
14479     HRESULT onreadystatechange([retval, out] VARIANT *p);
14480 }
14481
14482 [
14483     odl,
14484     oleautomation,
14485     dual,
14486     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
14487 ]
14488 interface IHTMLTable2 : IDispatch
14489 {
14490     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
14491     HRESULT firstPage();
14492
14493     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
14494     HRESULT lastPage();
14495
14496     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
14497     HRESULT cells([retval, out] IHTMLElementCollection* * p);
14498
14499     [id(DISPID_IHTMLTABLE2_MOVEROW)]
14500     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
14501         [defaultvalue(-1), in] LONG indexTo,
14502         [retval, out] IDispatch** row);
14503 }
14504
14505 [
14506     odl,
14507     oleautomation,
14508     dual,
14509     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
14510 ]
14511 interface IHTMLTable3 : IDispatch
14512 {
14513     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
14514     HRESULT summary([in] BSTR v);
14515
14516     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
14517     HRESULT summary([retval, out] BSTR * p);
14518 }
14519
14520 [
14521     noncreatable,
14522     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
14523 ]
14524 coclass HTMLTable
14525 {
14526     [default]           dispinterface DispHTMLTable;
14527     [source, default]   dispinterface HTMLTableEvents;
14528     [source]            dispinterface HTMLTableEvents2;
14529                         interface IHTMLElement;
14530                         interface IHTMLElement2;
14531                         interface IHTMLElement3;
14532                         interface IHTMLElement4;
14533                         interface IHTMLUniqueName;
14534                         interface IHTMLDOMNode;
14535                         interface IHTMLDOMNode2;
14536                         interface IHTMLDatabinding;
14537                         interface IHTMLControlElement;
14538                         interface IHTMLTable;
14539                         interface IHTMLTable2;
14540                         interface IHTMLTable3;
14541 }
14542
14543 [
14544     odl,
14545     oleautomation,
14546     dual,
14547     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
14548 ]
14549 interface IHTMLTableSection : IDispatch
14550 {
14551     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
14552     HRESULT align([in] BSTR v);
14553
14554     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
14555     HRESULT align([retval, out] BSTR *p);
14556
14557     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
14558     HRESULT vAlign([in] BSTR v);
14559
14560     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
14561     HRESULT vAlign([retval, out] BSTR *p);
14562
14563     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
14564     HRESULT bgColor([in] VARIANT v);
14565
14566     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
14567     HRESULT bgColor([retval, out] VARIANT *p);
14568
14569     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
14570     HRESULT rows([retval, out] IHTMLElementCollection **p);
14571
14572     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
14573     HRESULT insertRow(
14574             [defaultvalue(-1), in] LONG index,
14575             [retval, out] IDispatch **row);
14576
14577     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
14578     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
14579 }
14580
14581 /*****************************************************************************
14582  *    IHTMLTableRow interface
14583  */
14584 [
14585     odl,
14586     oleautomation,
14587     dual,
14588     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
14589 ]
14590 interface IHTMLTableRow : IDispatch
14591 {
14592     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
14593     HRESULT align([in] BSTR v);
14594
14595     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
14596     HRESULT align([out, retval] BSTR *p);
14597
14598     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
14599     HRESULT vAlign([in] BSTR v);
14600
14601     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
14602     HRESULT vAlign([out, retval] BSTR *p);
14603
14604     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
14605     HRESULT bgColor([in] VARIANT v);
14606
14607     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
14608     HRESULT bgColor([out, retval] VARIANT *p);
14609
14610     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
14611     HRESULT borderColor([in] VARIANT v);
14612
14613     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
14614     HRESULT borderColor([out, retval] VARIANT *p);
14615
14616     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
14617     HRESULT borderColorLight([in] VARIANT v);
14618
14619     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
14620     HRESULT borderColorLight([out, retval] VARIANT *p);
14621
14622     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
14623     HRESULT borderColorDark([in] VARIANT v);
14624
14625     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
14626     HRESULT borderColorDark([out, retval] VARIANT *p);
14627
14628     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
14629     HRESULT rowIndex([out, retval] LONG *p);
14630
14631     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
14632     HRESULT sectionRowIndex([out, retval] LONG *p);
14633
14634     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
14635     HRESULT cells([out, retval] IHTMLElementCollection **p);
14636
14637     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
14638     HRESULT insertCell(
14639             [in, defaultvalue(-1)] LONG index,
14640             [out, retval] IDispatch **row);
14641
14642     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
14643     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
14644 }
14645
14646 /*****************************************************************************
14647  *    DispHTMLTable interface
14648  */
14649 [
14650     hidden,
14651     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
14652 ]
14653 dispinterface DispHTMLTable
14654 {
14655 properties:
14656 methods:
14657     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
14658
14659     [propput, id(DISPID_IHTMLTABLE_COLS)]
14660     void cols(LONG v);
14661
14662     [propget, id(DISPID_IHTMLTABLE_COLS)]
14663     LONG cols();
14664
14665     [propput, id(DISPID_IHTMLTABLE_BORDER)]
14666     void border(VARIANT v);
14667
14668     [propget, id(DISPID_IHTMLTABLE_BORDER)]
14669     VARIANT border();
14670
14671     [propput, id(DISPID_IHTMLTABLE_FRAME)]
14672     void frame(BSTR v);
14673
14674     [propget, id(DISPID_IHTMLTABLE_FRAME)]
14675     BSTR frame();
14676
14677     [propput, id(DISPID_IHTMLTABLE_RULES)]
14678     void rules(BSTR v);
14679
14680     [propget, id(DISPID_IHTMLTABLE_RULES)]
14681     BSTR rules();
14682
14683     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
14684     void cellSpacing(VARIANT v);
14685
14686     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
14687     VARIANT cellSpacing();
14688
14689     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
14690     void cellPadding(VARIANT v);
14691
14692     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
14693     VARIANT cellPadding();
14694
14695     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
14696     void background(BSTR v);
14697
14698     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
14699     BSTR background();
14700
14701     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
14702     void bgColor(VARIANT v);
14703
14704     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
14705     VARIANT bgColor();
14706
14707     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14708     void borderColor(VARIANT v);
14709
14710     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14711     VARIANT borderColor();
14712
14713     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14714     void borderColorLight(VARIANT v);
14715
14716     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14717     VARIANT borderColorLight();
14718
14719     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14720     void borderColorDark(VARIANT v);
14721
14722     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14723     VARIANT borderColorDark();
14724
14725     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
14726     void align(BSTR v);
14727
14728     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
14729     BSTR align();
14730
14731     [id(DISPID_IHTMLTABLE_REFRESH)]
14732     void refresh();
14733
14734     [propget, id(DISPID_IHTMLTABLE_ROWS)]
14735     IHTMLElementCollection *rows();
14736
14737     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
14738     void width(VARIANT v);
14739
14740     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
14741     VARIANT width();
14742
14743     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
14744     void height(VARIANT v);
14745
14746     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
14747     VARIANT height();
14748
14749     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14750     void dataPageSize(LONG v);
14751
14752     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14753     LONG dataPageSize();
14754
14755     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
14756     void nextPage();
14757
14758     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
14759     void previousPage();
14760
14761     [propget, id(DISPID_IHTMLTABLE_THEAD)]
14762     IHTMLTableSection *tHead();
14763
14764     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
14765     IHTMLTableSection *tFoot();
14766
14767     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
14768     IHTMLElementCollection *tBodies();
14769
14770     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
14771     IHTMLTableCaption *caption();
14772
14773     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
14774     IDispatch *createTHead();
14775
14776     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
14777     void deleteTHead();
14778
14779     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
14780     IDispatch *createTFoot();
14781
14782     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
14783     void deleteTFoot();
14784
14785     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
14786     IHTMLTableCaption *createCaption();
14787
14788     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
14789     void deleteCaption();
14790
14791     [id(DISPID_IHTMLTABLE_INSERTROW)]
14792     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
14793
14794     [id(DISPID_IHTMLTABLE_DELETEROW)]
14795     void deleteRow([in, defaultvalue(-1)] LONG index);
14796
14797     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
14798     void firstPage();
14799
14800     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
14801     void lastPage();
14802
14803     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
14804     IHTMLElementCollection *cells();
14805
14806     [id(DISPID_IHTMLTABLE2_MOVEROW)]
14807     IDispatch *moveRow(
14808             [in, defaultvalue(-1)] LONG indexFrom,
14809             [in, defaultvalue(-1)] LONG indexTo);
14810
14811     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
14812     void summary(BSTR v);
14813
14814     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
14815     BSTR summary();
14816 }
14817
14818 /*****************************************************************************
14819  *    DispHTMLTableRow dispinterface
14820  */
14821 [
14822     hidden,
14823     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
14824 ]
14825 dispinterface DispHTMLTableRow
14826 {
14827 properties:
14828 methods:
14829     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14830
14831     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
14832     void align(BSTR v);
14833
14834     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
14835     BSTR align();
14836
14837     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
14838     void vAlign(BSTR v);
14839
14840     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
14841     BSTR vAlign();
14842
14843     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
14844     void bgColor(VARIANT v);
14845
14846     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
14847     VARIANT bgColor();
14848
14849     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
14850     void borderColor(VARIANT v);
14851
14852     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
14853     VARIANT borderColor();
14854
14855     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
14856     void borderColorLight(VARIANT v);
14857
14858     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
14859     VARIANT borderColorLight();
14860
14861     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
14862     void borderColorDark(VARIANT v);
14863
14864     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
14865     VARIANT borderColorDark();
14866
14867     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
14868     LONG rowIndex();
14869
14870     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
14871     LONG sectionRowIndex();
14872
14873     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
14874     IHTMLElementCollection *cells();
14875
14876     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
14877     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
14878
14879     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
14880     void deleteCell([in, defaultvalue(-1)] LONG index);
14881
14882     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
14883     void height(VARIANT v);
14884
14885     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
14886     VARIANT height();
14887
14888     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
14889     void ch(BSTR v);
14890
14891     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
14892     BSTR ch();
14893
14894     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
14895     void chOff(BSTR v);
14896
14897     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
14898     BSTR chOff();
14899 }
14900
14901 /*****************************************************************************
14902  *    IHTMLScriptElement interface
14903  */
14904 [
14905     odl,
14906     oleautomation,
14907     dual,
14908     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
14909 ]
14910 interface IHTMLScriptElement : IDispatch
14911 {
14912     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
14913     HRESULT src([in] BSTR v);
14914
14915     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
14916     HRESULT src([retval, out] BSTR *p);
14917
14918     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
14919     HRESULT htmlFor([in] BSTR v);
14920
14921     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
14922     HRESULT htmlFor([retval, out] BSTR *p);
14923
14924     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
14925     HRESULT event([in] BSTR v);
14926
14927     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
14928     HRESULT event([retval, out] BSTR *p);
14929
14930     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
14931     HRESULT text([in] BSTR v);
14932
14933     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
14934     HRESULT text([retval, out] BSTR *p);
14935
14936     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
14937     HRESULT defer([in] VARIANT_BOOL v);
14938
14939     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
14940     HRESULT defer([retval, out] VARIANT_BOOL *p);
14941
14942     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
14943     HRESULT readyState([retval, out] BSTR *p);
14944
14945     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
14946     HRESULT onerror([in] VARIANT v);
14947
14948     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
14949     HRESULT onerror([retval, out] VARIANT *p);
14950
14951     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
14952     HRESULT type([in] BSTR v);
14953
14954     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
14955     HRESULT type([retval, out] BSTR *p);
14956 }
14957
14958 /*****************************************************************************
14959  *    IHTMLScriptElement2 interface
14960  */
14961 [
14962     odl,
14963     oleautomation,
14964     dual,
14965     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
14966 ]
14967 interface IHTMLScriptElement2 : IDispatch
14968 {
14969     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
14970     HRESULT charset([in] BSTR v);
14971
14972     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
14973     HRESULT charset([retval, out] BSTR *p);
14974 }
14975
14976 /*****************************************************************************
14977  *    DispHTMLScriptElement dispinterface
14978  */
14979 [
14980     hidden,
14981     uuid(3050f530-98b5-11cf-bb82-00aa00bdce0b)
14982 ]
14983 dispinterface DispHTMLScriptElement
14984 {
14985 properties:
14986 methods:
14987     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14988
14989     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
14990     void src(BSTR v);
14991
14992     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
14993     BSTR src();
14994
14995     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
14996     void htmlFor(BSTR v);
14997
14998     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
14999     BSTR htmlFor();
15000
15001     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15002     void event(BSTR v);
15003
15004     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15005     BSTR event();
15006
15007     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15008     void text(BSTR v);
15009
15010     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15011     BSTR text();
15012
15013     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15014     void defer(VARIANT_BOOL v);
15015
15016     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15017     VARIANT_BOOL defer();
15018
15019     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15020     void onerror(VARIANT v);
15021
15022     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15023     VARIANT onerror();
15024
15025     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15026     void type(BSTR v);
15027
15028     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15029     BSTR type();
15030
15031     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15032     void charset(BSTR v);
15033
15034     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15035     BSTR charset();
15036
15037     [propput, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
15038     void ie8_src(BSTR v);
15039
15040     [propget, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
15041     BSTR ie8_src();
15042 }
15043
15044 /*****************************************************************************
15045  *    IHTMLObjectElement interface
15046  */
15047 [
15048     odl,
15049     oleautomation,
15050     dual,
15051     uuid(3050f24f-98b5-11cf-bb82-00aa00bdce0b)
15052 ]
15053 interface IHTMLObjectElement : IDispatch
15054 {
15055     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
15056     HRESULT object([retval, out] IDispatch **p);
15057
15058     [propget, id(DISPID_IHTMLOBJECTELEMENT_CLASSID), hidden]
15059     HRESULT classid([retval, out] BSTR *p);
15060
15061     [propget, id(DISPID_IHTMLOBJECTELEMENT_DATA), hidden]
15062     HRESULT data([retval, out] BSTR *p);
15063
15064     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15065     HRESULT recordset([in] IDispatch *v);
15066
15067     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15068     HRESULT recordset([retval, out] IDispatch **p);
15069
15070     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15071     HRESULT align([in] BSTR v);
15072
15073     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15074     HRESULT align([retval, out] BSTR *p);
15075
15076     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15077     HRESULT name([in] BSTR v);
15078
15079     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15080     HRESULT name([retval, out] BSTR *p);
15081
15082     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15083     HRESULT codeBase([in] BSTR v);
15084
15085     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15086     HRESULT codeBase([retval, out] BSTR *p);
15087
15088     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15089     HRESULT codeType([in] BSTR v);
15090
15091     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15092     HRESULT codeType([retval, out] BSTR *p);
15093
15094     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15095     HRESULT code([in] BSTR v);
15096
15097     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15098     HRESULT code([retval, out] BSTR *p);
15099
15100     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
15101     HRESULT BaseHref([retval, out] BSTR *p);
15102
15103     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15104     HRESULT type([in] BSTR v);
15105
15106     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15107     HRESULT type([retval, out] BSTR *p);
15108
15109     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
15110     HRESULT form([retval, out] IHTMLFormElement **p);
15111
15112     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15113     HRESULT width([in] VARIANT v);
15114
15115     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15116     HRESULT width([retval, out] VARIANT *p);
15117
15118     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15119     HRESULT height([in] VARIANT v);
15120
15121     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15122     HRESULT height([retval, out] VARIANT *p);
15123
15124     [propget, id(DISPID_IHTMLOBJECTELEMENT_READYSTATE), hidden]
15125     HRESULT readyState([retval, out] long *p);
15126
15127     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
15128     HRESULT onreadystatechange([in] VARIANT v);
15129
15130     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
15131     HRESULT onreadystatechange([retval, out] VARIANT *p);
15132
15133     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15134     HRESULT onerror([in] VARIANT v);
15135
15136     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15137     HRESULT onerror([retval, out] VARIANT *p);
15138
15139     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15140     HRESULT altHtml([in] BSTR v);
15141
15142     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15143     HRESULT altHtml([retval, out] BSTR *p);
15144
15145     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15146     HRESULT vspace([in] long v);
15147
15148     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15149     HRESULT vspace([retval, out] long *p);
15150
15151     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15152     HRESULT hspace([in] long v);
15153
15154     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15155     HRESULT hspace([retval, out] long *p);
15156 }
15157
15158 /*****************************************************************************
15159  *    IHTMLParamElement interface
15160  */
15161 [
15162     odl,
15163     oleautomation,
15164     dual,
15165     uuid(3050f83d-98b5-11cf-bb82-00aa00bdce0b)
15166 ]
15167 interface IHTMLParamElement : IDispatch
15168 {
15169     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15170     HRESULT name([in] BSTR v);
15171
15172     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15173     HRESULT name([retval, out] BSTR *p);
15174
15175     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15176     HRESULT value([in] BSTR v);
15177
15178     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15179     HRESULT value([retval, out] BSTR *p);
15180
15181     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15182     HRESULT type([in] BSTR v);
15183
15184     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15185     HRESULT type([retval, out] BSTR *p);
15186
15187     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15188     HRESULT valueType([in] BSTR v);
15189
15190     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15191     HRESULT valueType([retval, out] BSTR *p);
15192 }
15193
15194 /*****************************************************************************
15195  *    IHTMLParamElement2 interface
15196  */
15197 [
15198     odl,
15199     oleautomation,
15200     dual,
15201     uuid(30510444-98b5-11cf-bb82-00aa00bdce0b)
15202 ]
15203 interface IHTMLParamElement2 : IDispatch
15204 {
15205     [propput, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
15206     HRESULT name([in] BSTR v);
15207
15208     [propget, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
15209     HRESULT name([retval, out] BSTR *p);
15210
15211     [propput, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
15212     HRESULT type([in] BSTR v);
15213
15214     [propget, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
15215     HRESULT type([retval, out] BSTR *p);
15216
15217     [propput, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
15218     HRESULT value([in] BSTR v);
15219
15220     [propget, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
15221     HRESULT value([retval, out] BSTR *p);
15222
15223     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15224     HRESULT valueType([in] BSTR v);
15225
15226     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15227     HRESULT valueType([retval, out] BSTR *p);
15228 }
15229
15230 /*****************************************************************************
15231  *    DispHTMLObjectElement dispinterface
15232  */
15233 [
15234     hidden,
15235     uuid(3050f529-98b5-11cf-bb82-00aa00bdce0b)
15236 ]
15237 dispinterface DispHTMLObjectElement
15238 {
15239 properties:
15240 methods:
15241     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15242
15243     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
15244     IDispatch *object();
15245
15246     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15247     void recordset(IDispatch *v);
15248
15249     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15250     IDispatch *recordset();
15251
15252     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15253     void align(BSTR v);
15254
15255     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15256     BSTR align();
15257
15258     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15259     void name(BSTR v);
15260
15261     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15262     BSTR name();
15263
15264     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15265     void codeBase(BSTR v);
15266
15267     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15268     BSTR codeBase();
15269
15270     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15271     void codeType(BSTR v);
15272
15273     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15274     BSTR codeType();
15275
15276     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15277     void code(BSTR v);
15278
15279     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15280     BSTR code();
15281
15282     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
15283     BSTR BaseHref();
15284
15285     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15286     void type(BSTR v);
15287
15288     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15289     BSTR type();
15290
15291     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
15292     IHTMLFormElement *form();
15293
15294     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15295     void width(VARIANT v);
15296
15297     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15298     VARIANT width();
15299
15300     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15301     void height(VARIANT v);
15302
15303     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15304     VARIANT height();
15305
15306     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15307     void onerror(VARIANT v);
15308
15309     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15310     VARIANT onerror();
15311
15312     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15313     void altHtml(BSTR v);
15314
15315     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15316     BSTR altHtml();
15317
15318     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15319     void vspace(long v);
15320
15321     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15322     long vspace();
15323
15324     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15325     void hspace(long v);
15326
15327     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15328     long hspace();
15329
15330     [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
15331     IDispatch *namedRecordset(
15332             [in] BSTR dataMember,
15333             [optional, in] VARIANT *hierarchy);
15334
15335     [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
15336     void classid(BSTR v);
15337
15338     [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
15339     BSTR classid();
15340
15341     [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
15342     void data(BSTR v);
15343
15344     [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
15345     BSTR data();
15346
15347     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
15348     void archive(BSTR v);
15349
15350     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
15351     BSTR archive();
15352
15353     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
15354     void alt(BSTR v);
15355
15356     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
15357     BSTR alt();
15358
15359     [propput, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
15360     void declare(VARIANT_BOOL v);
15361
15362     [propget, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
15363     VARIANT_BOOL declare();
15364
15365     [propput, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
15366     void standby(BSTR v);
15367
15368     [propget, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
15369     BSTR standby();
15370
15371     [propput, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
15372     void border(VARIANT v);
15373
15374     [propget, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
15375     VARIANT border();
15376
15377     [propput, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
15378     void useMap(BSTR v);
15379
15380     [propget, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
15381     BSTR useMap();
15382
15383     [propget, id(DISPID_IHTMLOBJECTELEMENT4_CONTENTDOCUMENT)]
15384     IDispatch *contentDocument();
15385
15386     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
15387     void ie8_codeBase(BSTR v);
15388
15389     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
15390     BSTR ie8_codeBase();
15391
15392     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
15393     void ie8_data(BSTR v);
15394
15395     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
15396     BSTR ie8_data();
15397 }
15398
15399 /*****************************************************************************
15400  *    DispHTMLParamElement dispinterface
15401  */
15402 [
15403     hidden,
15404     uuid(3050f590-98b5-11cf-bb82-00aa00bdce0b)
15405 ]
15406 dispinterface DispHTMLParamElement
15407 {
15408 properties:
15409 methods:
15410     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15411
15412     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15413     void name(BSTR v);
15414
15415     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15416     BSTR name();
15417
15418     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15419     void value(BSTR v);
15420
15421     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15422     BSTR value();
15423
15424     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15425     void type(BSTR v);
15426
15427     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15428     BSTR type();
15429
15430     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15431     void valueType(BSTR v);
15432
15433     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15434     BSTR valueType();
15435
15436     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15437     void ie8_valueType(BSTR v);
15438
15439     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15440     BSTR ie8_valueType();
15441 }
15442
15443 /*****************************************************************************
15444  *    IHTMLFrameBase interface
15445  */
15446 [
15447     odl,
15448     oleautomation,
15449     dual,
15450     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
15451 ]
15452 interface IHTMLFrameBase : IDispatch
15453 {
15454     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
15455     HRESULT src([in] BSTR v);
15456
15457     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
15458     HRESULT src([out, retval] BSTR *p);
15459
15460     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
15461     HRESULT name([in] BSTR v);
15462
15463     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
15464     HRESULT name([out, retval] BSTR *p);
15465
15466     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
15467     HRESULT border([in] VARIANT v);
15468
15469     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
15470     HRESULT border([out, retval] VARIANT *p);
15471
15472     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
15473     HRESULT frameBorder([in] BSTR v);
15474
15475     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
15476     HRESULT frameBorder([out, retval] BSTR *p);
15477
15478     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
15479     HRESULT frameSpacing([in] VARIANT v);
15480
15481     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
15482     HRESULT frameSpacing([out, retval] VARIANT *p);
15483
15484     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
15485     HRESULT marginWidth([in] VARIANT v);
15486
15487     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
15488     HRESULT marginWidth([out, retval] VARIANT *p);
15489
15490     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
15491     HRESULT marginHeight([in] VARIANT v);
15492
15493     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
15494     HRESULT marginHeight([out, retval] VARIANT *p);
15495
15496     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
15497     HRESULT noResize([in] VARIANT_BOOL v);
15498
15499     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
15500     HRESULT noResize([out, retval] VARIANT_BOOL *p);
15501
15502     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
15503     HRESULT scrolling([in] BSTR v);
15504
15505     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
15506     HRESULT scrolling([out, retval] BSTR *p);
15507 }
15508
15509 #define WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL          \
15510     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
15511     void src(BSTR v);                                   \
15512                                                         \
15513     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
15514     BSTR src();                                         \
15515                                                         \
15516     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
15517     void name(BSTR v);                                  \
15518                                                         \
15519     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
15520     BSTR name();                                        \
15521                                                         \
15522     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
15523     void border(VARIANT v);                             \
15524                                                         \
15525     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
15526     VARIANT border();                                   \
15527                                                         \
15528     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
15529     void frameBorder(BSTR v);                           \
15530                                                         \
15531     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
15532     BSTR frameBorder();                                 \
15533                                                         \
15534     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
15535     void frameSpacing(VARIANT v);                       \
15536                                                         \
15537     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
15538     VARIANT frameSpacing();                             \
15539                                                         \
15540     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
15541     void marginWidth(VARIANT v);                        \
15542                                                         \
15543     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
15544     VARIANT marginWidth();                              \
15545                                                         \
15546     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
15547     void marginHeight(VARIANT v);                       \
15548                                                         \
15549     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
15550     VARIANT marginHeight();                             \
15551                                                         \
15552     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
15553     void noResize(VARIANT_BOOL v);                      \
15554                                                         \
15555     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
15556     VARIANT_BOOL noResize();                            \
15557                                                         \
15558     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
15559     void scrolling(BSTR v);                             \
15560                                                         \
15561     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
15562     BSTR scrolling()
15563
15564 /*****************************************************************************
15565  *    IHTMLFrameBase2 interface
15566  */
15567 [
15568     odl,
15569     oleautomation,
15570     dual,
15571     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
15572 ]
15573 interface IHTMLFrameBase2 : IDispatch
15574 {
15575     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
15576     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
15577
15578     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
15579     HRESULT onload([in] VARIANT v);
15580
15581     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
15582     HRESULT onload([retval, out] VARIANT *p);
15583
15584     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
15585     HRESULT onreadystatechange([in] VARIANT v);
15586
15587     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
15588     HRESULT onreadystatechange([retval, out] VARIANT *p);
15589
15590     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
15591     HRESULT readyState([retval, out] BSTR *p);
15592
15593     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
15594     HRESULT allowTransparency([in] VARIANT_BOOL v);
15595
15596     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
15597     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
15598 }
15599
15600 #define WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL                         \
15601     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]                 \
15602     IHTMLWindow2 *contentWindow();                                      \
15603                                                                         \
15604     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
15605     void onload(VARIANT v);                                             \
15606                                                                         \
15607     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
15608     VARIANT onload();                                                   \
15609                                                                         \
15610     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
15611     void allowTransparency(VARIANT_BOOL v);                             \
15612                                                                         \
15613     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
15614     VARIANT_BOOL allowTransparency()
15615
15616 #define WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL                           \
15617     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
15618     void longDesc(BSTR v);                                                \
15619                                                                           \
15620     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
15621     BSTR longDesc()
15622
15623
15624 #define WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL \
15625     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;  \
15626     WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL;   \
15627     WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL;  \
15628     WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL
15629
15630 /*****************************************************************************
15631  *    IHTMLFrameElement3 interface
15632  */
15633 [
15634     odl,
15635     oleautomation,
15636     dual,
15637     uuid(3051042d-98b5-11cf-bb82-00aa00bdce0b)
15638 ]
15639 interface IHTMLFrameElement3 : IDispatch
15640 {
15641     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
15642     HRESULT contentDocument([out, retval] IDispatch **p);
15643
15644     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
15645     HRESULT src([in] BSTR v);
15646
15647     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
15648     HRESULT src([out, retval] BSTR *p);
15649
15650     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
15651     HRESULT longDesc([in] BSTR v);
15652
15653     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
15654     HRESULT longDesc([out, retval] BSTR *p);
15655
15656     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
15657     HRESULT frameBorder([in] BSTR v);
15658
15659     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
15660     HRESULT frameBorder([out, retval] BSTR * p);
15661 }
15662
15663 /*****************************************************************************
15664  *    DispHTMLFrameElement dispinterface
15665  */
15666 [
15667     hidden,
15668     uuid(3050f513-98b5-11cf-bb82-00aa00bdce0b)
15669 ]
15670 dispinterface DispHTMLFrameElement
15671 {
15672 properties:
15673 methods:
15674     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
15675
15676     [propput, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
15677     void borderColor(VARIANT v);
15678
15679     [propget, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
15680     VARIANT borderColor();
15681
15682     [propput, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
15683     void height(VARIANT v);
15684
15685     [propget, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
15686     VARIANT height();
15687
15688     [propput, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
15689     void width(VARIANT v);
15690
15691     [propget, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
15692     VARIANT width();
15693
15694     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
15695     IDispatch *contentDocument();
15696
15697     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
15698     void ie8_src(BSTR v);
15699
15700     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
15701     BSTR ie8_src();
15702
15703     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
15704     void ie8_longDesc(BSTR v);
15705
15706     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
15707     BSTR ie8_longDesc();
15708
15709     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
15710     void ie8_frameBorder(BSTR v);
15711
15712     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
15713     BSTR ie8_frameBorder();
15714 }
15715
15716 /*****************************************************************************
15717  *    IHTMLIFrameElement interface
15718  */
15719 [
15720     odl,
15721     oleautomation,
15722     dual,
15723     uuid(3050f315-98b5-11cf-bb82-00aa00bdce0b)
15724 ]
15725 interface IHTMLIFrameElement : IDispatch
15726 {
15727     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
15728     HRESULT vspace([in] LONG v);
15729
15730     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
15731     HRESULT vspace([retval, out] LONG *p);
15732
15733     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
15734     HRESULT hspace([in] LONG v);
15735
15736     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
15737     HRESULT hspace([retval, out] LONG *p);
15738
15739     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
15740     HRESULT align([in] BSTR v);
15741
15742     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
15743     HRESULT align([retval, out] BSTR *p);
15744 }
15745
15746 /*****************************************************************************
15747  *    DispHTMLIFrame dispinterface
15748  */
15749 [
15750     hidden,
15751     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
15752 ]
15753 dispinterface DispHTMLIFrame
15754 {
15755 properties:
15756 methods:
15757     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
15758
15759     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
15760     void vspace(LONG v);
15761
15762     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
15763     LONG vspace();
15764
15765     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
15766     void hspace(LONG v);
15767
15768     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
15769     LONG hspace();
15770
15771     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
15772     void align(BSTR v);
15773
15774     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
15775     BSTR align();
15776
15777     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
15778     void height(VARIANT v);
15779
15780     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
15781     VARIANT height();
15782
15783     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
15784     void width(VARIANT v);
15785
15786     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
15787     VARIANT width();
15788 }
15789
15790 /*****************************************************************************
15791  *    IHTMLStyleElement interface
15792  */
15793 [
15794     odl,
15795     oleautomation,
15796     dual,
15797     uuid(3050f375-98b5-11cf-bb82-00aa00bdce0b)
15798 ]
15799 interface IHTMLStyleElement : IDispatch
15800 {
15801     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
15802     HRESULT type([in] BSTR v);
15803
15804     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
15805     HRESULT type([retval, out] BSTR *p);
15806
15807     [propget, id(DISPID_IHTMLSTYLEELEMENT_READYSTATE)]
15808     HRESULT readyState([retval, out] BSTR *p);
15809
15810     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
15811     HRESULT onreadystatechange([in] VARIANT v);
15812
15813     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
15814     HRESULT onreadystatechange([retval, out] VARIANT *p);
15815
15816     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
15817     HRESULT onload([in] VARIANT v);
15818
15819     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
15820     HRESULT onload([retval, out] VARIANT *p);
15821
15822     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
15823     HRESULT onerror([in] VARIANT v);
15824
15825     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
15826     HRESULT onerror([retval, out] VARIANT *p);
15827
15828     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
15829     HRESULT styleSheet([retval, out] IHTMLStyleSheet **p);
15830
15831     [propput, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
15832     HRESULT disabled([in] VARIANT_BOOL v);
15833
15834     [propget, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
15835     HRESULT disabled([retval, out] VARIANT_BOOL *p);
15836
15837     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
15838     HRESULT media([in] BSTR v);
15839
15840     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
15841     HRESULT media([retval, out] BSTR *p);
15842 }
15843
15844 /*****************************************************************************
15845  *    DispHTMLStyleElement dispinterface
15846  */
15847 [
15848     hidden,
15849     uuid(3050f511-98b5-11cf-bb82-00aa00bdce0b)
15850 ]
15851 dispinterface DispHTMLStyleElement
15852 {
15853 properties:
15854 methods:
15855     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15856
15857     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
15858     void type(BSTR v);
15859
15860     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
15861     BSTR type();
15862
15863     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
15864     void onload(VARIANT v);
15865
15866     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
15867     VARIANT onload();
15868
15869     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
15870     void onerror(VARIANT v);
15871
15872     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
15873     VARIANT onerror();
15874
15875     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
15876     IHTMLStyleSheet *styleSheet();
15877
15878     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
15879     void media(BSTR v);
15880
15881     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
15882     BSTR media();
15883 }
15884
15885 /*****************************************************************************
15886  *    IMarkupContainer interface
15887  */
15888 [
15889     object,
15890     pointer_default(unique),
15891     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
15892 ]
15893 interface IMarkupContainer : IUnknown
15894 {
15895     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
15896 }
15897
15898 /*****************************************************************************
15899  *    IMarkupPointer interface
15900  */
15901 [
15902     object,
15903     pointer_default(unique),
15904     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
15905 ]
15906 interface IMarkupPointer : IUnknown
15907 {
15908     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
15909
15910     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
15911
15912     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
15913
15914     HRESULT Cling([out] BOOL *pfCling);
15915
15916     HRESULT SetCling([in] BOOL fCLing);
15917
15918     HRESULT UnPosition();
15919
15920     HRESULT IsPositioned([out] BOOL *pfPositioned);
15921
15922     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
15923
15924     HRESULT MoveAdjacentToElement(
15925         [in] IHTMLElement *pElement,
15926         [in] ELEMENT_ADJACENCY eAdj);
15927
15928     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
15929
15930     HRESULT MoveToContainer(
15931         [in] IMarkupContainer *pContainer,
15932         [in] BOOL fAtStart);
15933
15934     HRESULT Left(
15935         [in] BOOL fMove,
15936         [out] MARKUP_CONTEXT_TYPE *pContext,
15937         [out] IHTMLElement **ppElement,
15938         [in, out] LONG *pcch,
15939         [out, size_is(*pcch)] OLECHAR *pchText);
15940
15941     HRESULT Right(
15942         [in] BOOL fMove,
15943         [out] MARKUP_CONTEXT_TYPE *pContext,
15944         [out] IHTMLElement **ppElement,
15945         [in, out] LONG *pcch,
15946         [out, size_is(*pcch)] OLECHAR *pchText);
15947
15948     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
15949
15950     HRESULT IsLeftOf(
15951         [in] IMarkupPointer *pPointerThat,
15952         [out] BOOL *pfResult);
15953
15954     HRESULT IsLeftOfOrEqualTo(
15955         [in] IMarkupPointer *pPointerThat,
15956         [out] BOOL *pfResult);
15957
15958     HRESULT IsRightOf(
15959         [in] IMarkupPointer *pPointerThat,
15960         [out] BOOL *pfResult);
15961
15962     HRESULT IsRightOfOrEqualTo(
15963         [in] IMarkupPointer *pPointerThat,
15964         [out] BOOL *pfResult);
15965
15966     HRESULT IsEqualTo(
15967         [in] IMarkupPointer *pPointerThat,
15968         [out] BOOL *pfAreEqual);
15969
15970     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
15971
15972     HRESULT FindText(
15973         [in] OLECHAR *pchFindText,
15974         [in] DWORD dwFlags,
15975         [in] IMarkupPointer *pIEndMatch,
15976         [in] IMarkupPointer *pIEndSearch);
15977 }
15978
15979 /*****************************************************************************
15980  *    ISegment interface
15981  */
15982 [
15983     object,
15984     pointer_default(unique),
15985     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
15986 ]
15987 interface ISegment : IUnknown
15988 {
15989     HRESULT GetPointers(
15990         [in] IMarkupPointer *pIStart,
15991         [in] IMarkupPointer *pIEnd);
15992 }
15993
15994 /*****************************************************************************
15995  *    IElementSegment interface
15996  */
15997 [
15998     object,
15999     pointer_default(unique),
16000     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
16001 ]
16002 interface IElementSegment : ISegment
16003 {
16004     HRESULT GetElement([out] IHTMLElement **ppIElement);
16005
16006     HRESULT SetPrimary([in] BOOL fPrimary);
16007
16008     HRESULT IsPrimary([out] BOOL *pfPrimary);
16009 }
16010
16011 /*****************************************************************************
16012  *    ISelectionServicesListener interface
16013  */
16014 [
16015     object,
16016     pointer_default(unique),
16017     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
16018 ]
16019 interface ISelectionServicesListener : IUnknown
16020 {
16021     HRESULT BeginSelectionUndo();
16022
16023     HRESULT EndSelectionUndo();
16024
16025     HRESULT OnSelectedElementExit(
16026         [in] IMarkupPointer *pIElementStart,
16027         [in] IMarkupPointer *pIElementEnd,
16028         [in] IMarkupPointer *pIElementContentStart,
16029         [in] IMarkupPointer *pIElementContentEnd);
16030
16031     HRESULT OnChangeType(
16032         [in] SELECTION_TYPE eType,
16033         [in] ISelectionServicesListener *pIListener);
16034
16035     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
16036 }
16037
16038 /*****************************************************************************
16039  *    ISelectionServices interface
16040  */
16041 [
16042     object,
16043     pointer_default(unique),
16044     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
16045 ]
16046 interface ISelectionServices : IUnknown
16047 {
16048     HRESULT SetSelectionType(
16049         [in] SELECTION_TYPE eType,
16050         [in] ISelectionServicesListener *pIListener);
16051
16052     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
16053
16054     HRESULT AddSegment(
16055         [in] IMarkupPointer *pIStart,
16056         [in] IMarkupPointer *pIEnd,
16057         [out] ISegment **ppISegmentAdded);
16058
16059     HRESULT AddElementSegment(
16060         [in] IHTMLElement *pIElement,
16061         [out] IElementSegment **ppISegmentAdded);
16062
16063     HRESULT RemoveSegment([in] ISegment *pISegment);
16064
16065     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
16066 }
16067
16068 /*****************************************************************************
16069  *    IHTMLEditDesigner interface
16070  */
16071 [
16072     object,
16073     pointer_default(unique),
16074     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
16075 ]
16076 interface IHTMLEditDesigner : IUnknown
16077 {
16078     HRESULT PreHandleEvent(
16079         [in] DISPID inEvtDispId,
16080         [in] IHTMLEventObj *pIEventObj);
16081
16082     HRESULT PostHandleEvent(
16083         [in] DISPID inEvtDispId,
16084         [in] IHTMLEventObj *pIEventObj);
16085
16086     HRESULT TranslateAccelerator(
16087         [in] DISPID inEvtDispId,
16088         [in] IHTMLEventObj *pIEventObj);
16089
16090     HRESULT PostEditorEventNotify(
16091         [in] DISPID inEvtDispId,
16092         [in] IHTMLEventObj *pIEventObj);
16093 }
16094
16095 /*****************************************************************************
16096  *    IHTMLEditServices interface
16097  */
16098 [
16099     object,
16100     pointer_default(unique),
16101     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
16102 ]
16103 interface IHTMLEditServices : IUnknown
16104 {
16105     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
16106
16107     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
16108
16109     HRESULT GetSelectionServices(
16110         [in] IMarkupContainer *pIContainer,
16111         [out] ISelectionServices **ppSelSvc);
16112
16113     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
16114
16115     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
16116
16117     HRESULT SelectRange(
16118         [in] IMarkupPointer* pStart,
16119         [in] IMarkupPointer* pEnd,
16120         [in] SELECTION_TYPE eType);
16121 }
16122
16123 /*****************************************************************************
16124  *    IElementBehaviorSite interface
16125  */
16126 [
16127     odl,
16128     uuid(3050F427-98B5-11CF-BB82-00AA00BDCE0B)
16129 ]
16130 interface IElementBehaviorSite : IUnknown {
16131     HRESULT GetElement([out, retval] IHTMLElement **ppElement);
16132     HRESULT RegisterNotification([in] long lEvent);
16133 }
16134
16135 /*****************************************************************************
16136  *    IElementBehavior interface
16137  */
16138 [
16139     odl,
16140     uuid(3050F425-98B5-11CF-BB82-00AA00BDCE0B)
16141 ]
16142 interface IElementBehavior : IUnknown {
16143     HRESULT Init([in] IElementBehaviorSite *pBehaviorSite);
16144     HRESULT Notify([in] long lEvent,  [in, out] VARIANT *pVar);
16145     HRESULT Detach();
16146 }
16147
16148 /*****************************************************************************
16149  *    IElementBehaviorFactory interface
16150  */
16151 [
16152     odl,
16153     uuid(3050f429-98b5-11cf-bb82-00aa00bdce0b)
16154 ]
16155 interface IElementBehaviorFactory : IUnknown
16156 {
16157     HRESULT FindBehavior(
16158         [in] BSTR bstrBehavior,
16159         [in] BSTR bstrBehaviorUrl,
16160         [in] IElementBehaviorSite *pSite,
16161         [out] IElementBehavior **ppBehavior);
16162 }
16163
16164 } /* library MSHTML */
16165
16166 interface IOleCommandTarget;
16167
16168 /*****************************************************************************
16169  *    IHTMLPrivateWindow interface
16170  */
16171 [
16172     object,
16173     uuid(3050f6dc-98b5-11cf-bb82-00aa00bdce0b),
16174     local
16175 ]
16176 interface IHTMLPrivateWindow : IUnknown
16177 {
16178     HRESULT SuperNavigate(BSTR url, BSTR arg2, BSTR arg3, BSTR arg4, VARIANT *post_data, VARIANT *headers, ULONG flags);
16179     HRESULT GetPendingUrl(BSTR *url);
16180     HRESULT SetPICSTarget(IOleCommandTarget *cmdtrg);
16181     HRESULT PICSComplete(int arg);
16182     HRESULT FindWindowByName(LPCWSTR name, IHTMLWindow2 **ret);
16183     HRESULT GetAddressBarUrl(BSTR *url);
16184 }