shell32/tests: Add verification of known folders categories.
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004-2010 Jacek Caban for CodeWeavers
3  * Copyright 2008      Konstantin Kondratyuk (Etersoft)
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18  */
19
20 #include <mshtmdid.h>
21 #include <mshtmcid.h>
22 #include <olectl.h>
23
24 import "ocidl.idl";
25 import "dimm.idl";
26 import "shtypes.idl";
27
28 cpp_quote("#include <olectl.h>")
29
30 cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
31 cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
32 cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
33 cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
34 cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
35
36 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
37 cpp_quote("#undef FindText")
38 cpp_quote("#endif")
39
40 typedef enum {
41     POINTER_GRAVITY_Left,
42     POINTER_GRAVITY_Right,
43     POINTER_GRAVITY_Max = 2147483647
44 } POINTER_GRAVITY;
45
46 typedef enum {
47     CONTEXT_TYPE_None,
48     CONTEXT_TYPE_Text,
49     CONTEXT_TYPE_EnterScope,
50     CONTEXT_TYPE_ExitScope,
51     CONTEXT_TYPE_NoScope,
52     MARKUP_CONTEXT_TYPE_Max = 2147483647
53 } MARKUP_CONTEXT_TYPE;
54
55 typedef enum {
56     ELEM_ADJ_BeforeBegin,
57     ELEM_ADJ_AfterBegin,
58     ELEM_ADJ_BeforeEnd,
59     ELEM_ADJ_AfterEnd,
60     ELEMENT_ADJACENCY_Max = 2147483647
61 } ELEMENT_ADJACENCY;
62
63 typedef enum {
64     MOVEUNIT_PREVCHAR,
65     MOVEUNIT_NEXTCHAR,
66     MOVEUNIT_PREVCLUSTERBEG,
67     MOVEUNIT_NEXTCLUSTERBEG,
68     MOVEUNIT_PREVCLUSTEREND,
69     MOVEUNIT_NEXTCLUSTEREND,
70     MOVEUNIT_PREVWORDBEG,
71     MOVEUNIT_NEXTWORDBEG,
72     MOVEUNIT_PREVWORDEND,
73     MOVEUNIT_NEXTWORDEND,
74     MOVEUNIT_PREVPROOFWORD,
75     MOVEUNIT_NEXTPROOFWORD,
76     MOVEUNIT_NEXTURLBEG,
77     MOVEUNIT_PREVURLBEG,
78     MOVEUNIT_NEXTURLEND,
79     MOVEUNIT_PREVURLEND,
80     MOVEUNIT_PREVSENTENCE,
81     MOVEUNIT_NEXTSENTENCE,
82     MOVEUNIT_PREVBLOCK,
83     MOVEUNIT_NEXTBLOCK,
84     MOVEUNIT_ACTION_Max = 2147483647
85 } MOVEUNIT_ACTION;
86
87 typedef enum _SELECTION_TYPE {
88     SELECTION_TYPE_None,
89     SELECTION_TYPE_Caret,
90     SELECTION_TYPE_Text,
91     SELECTION_TYPE_Control,
92     SELECTION_TYPE_Max = 2147483647
93 } SELECTION_TYPE;
94
95 [
96     version(4.0),
97     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
98 ]
99 library MSHTML
100 {
101
102 importlib("stdole2.tlb");
103
104 [
105     odl,
106     oleautomation,
107     dual,
108     uuid(3051049b-98b5-11cf-bb82-00aa00bdce0b)
109 ]
110 interface IHTMLDOMConstructor : IDispatch
111 {
112     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
113     HRESULT constructor([retval, out] IDispatch* * p);
114
115     HRESULT LookupGetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
116
117     HRESULT LookupSetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
118
119     HRESULT DefineGetter([in] BSTR propname, [in] VARIANT* pdispHandler);
120
121     HRESULT DefineSetter([in] BSTR propname, [in] VARIANT* pdispHandler);
122 }
123
124 #define WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL                     \
125     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]       \
126     IDispatch *constructor()
127
128 interface IHTMLDocument2;
129 interface IHTMLElement2;
130 interface IHTMLStyleSheetsCollection;
131 interface IHTMLFrameBase;
132
133 /*****************************************************************************
134  *    IHTMLFiltersCollection interface
135  */
136 [
137     odl,
138     oleautomation,
139     dual,
140     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
141 ]
142 interface IHTMLFiltersCollection : IDispatch
143 {
144     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
145     HRESULT length([retval, out] LONG *p);
146
147     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
148     HRESULT _newEnum([retval, out] IUnknown **p);
149
150     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
151     HRESULT item(
152         [in] VARIANT *pvarIndex,
153         [retval, out] VARIANT *pvarResult);
154 }
155
156 /*****************************************************************************
157  *    IHTMLStyle interface
158  */
159 [
160     odl,
161     oleautomation,
162     dual,
163     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
164 ]
165 interface IHTMLStyle : IDispatch
166 {
167     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
168     HRESULT fontFamily([in] BSTR v);
169
170     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
171     HRESULT fontFamily([retval, out] BSTR *p);
172
173     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
174     HRESULT fontStyle([in] BSTR v);
175
176     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
177     HRESULT fontStyle([retval, out] BSTR *p);
178
179     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
180     HRESULT fontVariant([in] BSTR v);
181
182     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
183     HRESULT fontVariant([retval, out] BSTR *p);
184
185     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
186     HRESULT fontWeight([in] BSTR v);
187
188     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
189     HRESULT fontWeight([retval, out] BSTR *p);
190
191     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
192     HRESULT fontSize([in] VARIANT v);
193
194     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
195     HRESULT fontSize([retval, out] VARIANT *p);
196
197     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
198     HRESULT font([in] BSTR v);
199
200     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
201     HRESULT font([retval, out] BSTR *p);
202
203     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
204     HRESULT color([in] VARIANT v);
205
206     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
207     HRESULT color([retval, out] VARIANT *p);
208
209     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
210     HRESULT background([in] BSTR v);
211
212     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
213     HRESULT background([retval, out] BSTR *p);
214
215     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
216     HRESULT backgroundColor([in] VARIANT v);
217
218     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
219     HRESULT backgroundColor([retval, out] VARIANT *p);
220
221     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
222     HRESULT backgroundImage([in] BSTR v);
223
224     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
225     HRESULT backgroundImage([retval, out] BSTR *p);
226
227     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
228     HRESULT backgroundRepeat([in] BSTR v);
229
230     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
231     HRESULT backgroundRepeat([retval, out] BSTR *p);
232
233     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
234     HRESULT backgroundAttachment([in] BSTR v);
235
236     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
237     HRESULT backgroundAttachment([retval, out] BSTR *p);
238
239     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
240     HRESULT backgroundPosition([in] BSTR v);
241
242     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
243     HRESULT backgroundPosition([retval, out] BSTR *p);
244
245     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
246     HRESULT backgroundPositionX([in] VARIANT v);
247
248     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
249     HRESULT backgroundPositionX([retval, out] VARIANT *p);
250
251     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
252     HRESULT backgroundPositionY([in] VARIANT v);
253
254     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
255     HRESULT backgroundPositionY([retval, out] VARIANT *p);
256
257     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
258     HRESULT wordSpacing([in] VARIANT v);
259
260     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
261     HRESULT wordSpacing([retval, out] VARIANT *p);
262
263     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
264     HRESULT letterSpacing([in] VARIANT v);
265
266     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
267     HRESULT letterSpacing([retval, out] VARIANT *p);
268
269     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
270     HRESULT textDecoration([in] BSTR v);
271
272     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
273     HRESULT textDecoration([retval, out] BSTR *p);
274
275     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
276     HRESULT textDecorationNone([in] VARIANT_BOOL v);
277
278     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
279     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
280
281     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
282     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
283
284     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
285     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
286
287     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
288     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
289
290     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
291     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
292
293     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
294     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
295
296     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
297     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
298
299     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
300     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
301
302     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
303     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
304
305     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
306     HRESULT verticalAlign([in] VARIANT v);
307
308     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
309     HRESULT verticalAlign([retval, out] VARIANT *p);
310
311     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
312     HRESULT textTransform([in] BSTR v);
313
314     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
315     HRESULT textTransform([retval, out] BSTR *p);
316
317     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
318     HRESULT textAlign([in] BSTR v);
319
320     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
321     HRESULT textAlign([retval, out] BSTR *p);
322
323     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
324     HRESULT textIndent([in] VARIANT v);
325
326     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
327     HRESULT textIndent([retval, out] VARIANT *p);
328
329     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
330     HRESULT lineHeight([in] VARIANT v);
331
332     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
333     HRESULT lineHeight([retval, out] VARIANT *p);
334
335     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
336     HRESULT marginTop([in] VARIANT v);
337
338     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
339     HRESULT marginTop([retval, out] VARIANT *p);
340
341     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
342     HRESULT marginRight([in] VARIANT v);
343
344     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
345     HRESULT marginRight([retval, out] VARIANT *p);
346
347     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
348     HRESULT marginBottom([in] VARIANT v);
349
350     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
351     HRESULT marginBottom([retval, out] VARIANT *p);
352
353     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
354     HRESULT marginLeft([in] VARIANT v);
355
356     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
357     HRESULT marginLeft([retval, out] VARIANT *p);
358
359     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
360     HRESULT margin([in] BSTR v);
361
362     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
363     HRESULT margin([retval, out] BSTR *p);
364
365     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
366     HRESULT paddingTop([in] VARIANT v);
367
368     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
369     HRESULT paddingTop([retval, out] VARIANT *p);
370
371     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
372     HRESULT paddingRight([in] VARIANT v);
373
374     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
375     HRESULT paddingRight([retval, out] VARIANT *p);
376
377     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
378     HRESULT paddingBottom([in] VARIANT v);
379
380     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
381     HRESULT paddingBottom([retval, out] VARIANT *p);
382
383     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
384     HRESULT paddingLeft([in] VARIANT v);
385
386     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
387     HRESULT paddingLeft([retval, out] VARIANT *p);
388
389     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
390     HRESULT padding([in] BSTR v);
391
392     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
393     HRESULT padding([retval, out] BSTR *p);
394
395     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
396     HRESULT border([in] BSTR v);
397
398     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
399     HRESULT border([retval, out] BSTR *p);
400
401     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
402     HRESULT borderTop([in] BSTR v);
403
404     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
405     HRESULT borderTop([retval, out] BSTR *p);
406
407     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
408     HRESULT borderRight([in] BSTR v);
409
410     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
411     HRESULT borderRight([retval, out] BSTR *p);
412
413     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
414     HRESULT borderBottom([in] BSTR v);
415
416     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
417     HRESULT borderBottom([retval, out] BSTR *p);
418
419     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
420     HRESULT borderLeft([in] BSTR v);
421
422     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
423     HRESULT borderLeft([retval, out] BSTR *p);
424
425     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
426     HRESULT borderColor([in] BSTR v);
427
428     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
429     HRESULT borderColor([retval, out] BSTR *p);
430
431     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
432     HRESULT borderTopColor([in] VARIANT v);
433
434     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
435     HRESULT borderTopColor([retval, out] VARIANT *p);
436
437     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
438     HRESULT borderRightColor([in] VARIANT v);
439
440     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
441     HRESULT borderRightColor([retval, out] VARIANT *p);
442
443     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
444     HRESULT borderBottomColor([in] VARIANT v);
445
446     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
447     HRESULT borderBottomColor([retval, out] VARIANT *p);
448
449     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
450     HRESULT borderLeftColor([in] VARIANT v);
451
452     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
453     HRESULT borderLeftColor([retval, out] VARIANT *p);
454
455     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
456     HRESULT borderWidth([in] BSTR v);
457
458     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
459     HRESULT borderWidth([retval, out] BSTR *p);
460
461     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
462     HRESULT borderTopWidth([in] VARIANT v);
463
464     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
465     HRESULT borderTopWidth([retval, out] VARIANT *p);
466
467     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
468     HRESULT borderRightWidth([in] VARIANT v);
469
470     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
471     HRESULT borderRightWidth([retval, out] VARIANT *p);
472
473     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
474     HRESULT borderBottomWidth([in] VARIANT v);
475
476     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
477     HRESULT borderBottomWidth([retval, out] VARIANT *p);
478
479     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
480     HRESULT borderLeftWidth([in] VARIANT v);
481
482     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
483     HRESULT borderLeftWidth([retval, out] VARIANT *p);
484
485     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
486     HRESULT borderStyle([in] BSTR v);
487
488     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
489     HRESULT borderStyle([retval, out] BSTR *p);
490
491     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
492     HRESULT borderTopStyle([in] BSTR v);
493
494     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
495     HRESULT borderTopStyle([retval, out] BSTR *p);
496
497     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
498     HRESULT borderRightStyle([in] BSTR v);
499
500     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
501     HRESULT borderRightStyle([retval, out] BSTR *p);
502
503     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
504     HRESULT borderBottomStyle([in] BSTR v);
505
506     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
507     HRESULT borderBottomStyle([retval, out] BSTR *p);
508
509     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
510     HRESULT borderLeftStyle([in] BSTR v);
511
512     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
513     HRESULT borderLeftStyle([retval, out] BSTR *p);
514
515     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
516     HRESULT width([in] VARIANT v);
517
518     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
519     HRESULT width([retval, out] VARIANT *p);
520
521     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
522     HRESULT height([in] VARIANT v);
523
524     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
525     HRESULT height([retval, out] VARIANT *p);
526
527     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
528     HRESULT styleFloat([in] BSTR v);
529
530     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
531     HRESULT styleFloat([retval, out] BSTR *p);
532
533     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
534     HRESULT clear([in] BSTR v);
535
536     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
537     HRESULT clear([retval, out] BSTR *p);
538
539     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
540     HRESULT display([in] BSTR v);
541
542     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
543     HRESULT display([retval, out] BSTR *p);
544
545     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
546     HRESULT visibility([in] BSTR v);
547
548     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
549     HRESULT visibility([retval, out] BSTR *p);
550
551     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
552     HRESULT listStyleType([in] BSTR v);
553
554     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
555     HRESULT listStyleType([retval, out] BSTR *p);
556
557     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
558     HRESULT listStylePosition([in] BSTR v);
559
560     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
561     HRESULT listStylePosition([retval, out] BSTR *p);
562
563     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
564     HRESULT listStyleImage([in] BSTR v);
565
566     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
567     HRESULT listStyleImage([retval, out] BSTR *p);
568
569     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
570     HRESULT listStyle([in] BSTR v);
571
572     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
573     HRESULT listStyle([retval, out] BSTR *p);
574
575     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
576     HRESULT whiteSpace([in] BSTR v);
577
578     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
579     HRESULT whiteSpace([retval, out] BSTR *p);
580
581     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
582     HRESULT top([in] VARIANT v);
583
584     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
585     HRESULT top([retval, out] VARIANT *p);
586
587     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
588     HRESULT left([in] VARIANT v);
589
590     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
591     HRESULT left([retval, out] VARIANT *p);
592
593     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
594     HRESULT position([retval, out] BSTR *p);
595
596     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
597     HRESULT zIndex([in] VARIANT v);
598
599     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
600     HRESULT zIndex([retval, out] VARIANT *p);
601
602     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
603     HRESULT overflow([in] BSTR v);
604
605     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
606     HRESULT overflow([retval, out] BSTR *p);
607
608     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
609     HRESULT pageBreakBefore([in] BSTR v);
610
611     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
612     HRESULT pageBreakBefore([retval, out] BSTR *p);
613
614     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
615     HRESULT pageBreakAfter([in] BSTR v);
616
617     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
618     HRESULT pageBreakAfter([retval, out] BSTR *p);
619
620     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
621     HRESULT cssText([in] BSTR v);
622
623     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
624     HRESULT cssText([retval, out] BSTR *p);
625
626     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
627     HRESULT pixelTop([in] LONG v);
628
629     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
630     HRESULT pixelTop([retval, out] LONG *p);
631
632     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
633     HRESULT pixelLeft([in] LONG v);
634
635     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
636     HRESULT pixelLeft([retval, out] LONG *p);
637
638     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
639     HRESULT pixelWidth([in] LONG v);
640
641     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
642     HRESULT pixelWidth([retval, out] LONG *p);
643
644     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
645     HRESULT pixelHeight([in] LONG v);
646
647     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
648     HRESULT pixelHeight([retval, out] LONG *p);
649
650     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
651     HRESULT posTop([in] float v);
652
653     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
654     HRESULT posTop([retval, out] float *p);
655
656     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
657     HRESULT posLeft([in] float v);
658
659     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
660     HRESULT posLeft([retval, out] float *p);
661
662     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
663     HRESULT posWidth([in] float v);
664
665     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
666     HRESULT posWidth([retval, out] float *p);
667
668     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
669     HRESULT posHeight([in] float v);
670
671     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
672     HRESULT posHeight([retval, out] float *p);
673
674     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
675     HRESULT cursor([in] BSTR v);
676
677     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
678     HRESULT cursor([retval, out] BSTR *p);
679
680     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
681     HRESULT clip([in] BSTR v);
682
683     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
684     HRESULT clip([retval, out] BSTR *p);
685
686     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
687     HRESULT filter([in] BSTR v);
688
689     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
690     HRESULT filter([retval, out] BSTR *p);
691
692     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
693     HRESULT setAttribute(
694         [in] BSTR strAttributeName,
695         [in] VARIANT AttributeValue,
696         [defaultvalue(1), in] LONG lFlags);
697
698     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
699     HRESULT getAttribute(
700         [in] BSTR strAttributeName,
701         [defaultvalue(0), in] LONG lFlags,
702         [retval, out] VARIANT *AttributeValue);
703
704     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
705     HRESULT removeAttribute(
706         [in] BSTR strAttributeName,
707         [defaultvalue(1), in]
708         LONG lFlags,
709         [retval, out] VARIANT_BOOL *pfSuccess);
710
711     [id(DISPID_IHTMLSTYLE_TOSTRING)]
712     HRESULT toString([retval, out] BSTR *String);
713 }
714
715 /*****************************************************************************
716  *    IHTMLStyle2 interface
717  */
718 [
719     odl,
720     oleautomation,
721     dual,
722     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
723 ]
724 interface IHTMLStyle2 : IDispatch
725 {
726     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
727     HRESULT tableLayout([in] BSTR v);
728
729     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
730     HRESULT tableLayout([out, retval] BSTR *p);
731
732     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
733     HRESULT borderCollapse([in] BSTR v);
734
735     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
736     HRESULT borderCollapse([out, retval] BSTR *p);
737
738     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
739     HRESULT direction([in] BSTR v);
740
741     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
742     HRESULT direction([out, retval] BSTR *p);
743
744     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
745     HRESULT behavior([in] BSTR v);
746
747     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
748     HRESULT behavior([out, retval] BSTR *p);
749
750     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
751     HRESULT setExpression(
752             [in] BSTR propname,
753             [in] BSTR expression,
754             [in, defaultvalue("")] BSTR language);
755
756     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
757     HRESULT getExpression(
758             [in] BSTR propname,
759             [out, retval] VARIANT *expression);
760
761     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
762     HRESULT removeExpression(
763             [in] BSTR propname,
764             [out, retval] VARIANT_BOOL *pfSuccess);
765
766     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
767     HRESULT position([in] BSTR v);
768
769     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
770     HRESULT position([out, retval] BSTR *p);
771
772     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
773     HRESULT unicodeBidi([in] BSTR v);
774
775     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
776     HRESULT unicodeBidi([out, retval] BSTR *p);
777
778     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
779     HRESULT bottom([in] VARIANT v);
780
781     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
782     HRESULT bottom([out, retval] VARIANT *p);
783
784     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
785     HRESULT right([in] VARIANT v);
786
787     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
788     HRESULT right([out, retval] VARIANT *p);
789
790     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
791     HRESULT pixelBottom([in] LONG v);
792
793     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
794     HRESULT pixelBottom([out, retval] LONG *p);
795
796     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
797     HRESULT pixelRight([in] LONG v);
798
799     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
800     HRESULT pixelRight([out, retval] LONG *p);
801
802     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
803     HRESULT posBottom([in] float v);
804
805     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
806     HRESULT posBottom([out, retval] float *p);
807
808     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
809     HRESULT posRight([in] float v);
810
811     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
812     HRESULT posRight([out, retval] float *p);
813
814     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
815     HRESULT imeMode([in] BSTR v);
816
817     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
818     HRESULT imeMode([out, retval] BSTR *p);
819
820     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
821     HRESULT rubyAlign([in] BSTR v);
822
823     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
824     HRESULT rubyAlign([out, retval] BSTR *p);
825
826     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
827     HRESULT rubyPosition([in] BSTR v);
828
829     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
830     HRESULT rubyPosition([out, retval] BSTR *p);
831
832     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
833     HRESULT rubyOverhang([in] BSTR v);
834
835     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
836     HRESULT rubyOverhang([out, retval] BSTR *p);
837
838     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
839     HRESULT layoutGridChar([in] VARIANT v);
840
841     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
842     HRESULT layoutGridChar([out, retval] VARIANT *p);
843
844     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
845     HRESULT layoutGridLine([in] VARIANT v);
846
847     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
848     HRESULT layoutGridLine([out, retval] VARIANT *p);
849
850     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
851     HRESULT layoutGridMode([in] BSTR v);
852
853     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
854     HRESULT layoutGridMode([out, retval] BSTR *p);
855
856     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
857     HRESULT layoutGridType([in] BSTR v);
858
859     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
860     HRESULT layoutGridType([out, retval] BSTR *p);
861
862     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
863     HRESULT layoutGrid([in] BSTR v);
864
865     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
866     HRESULT layoutGrid([out, retval] BSTR *p);
867
868     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
869     HRESULT wordBreak([in] BSTR v);
870
871     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
872     HRESULT wordBreak([out, retval] BSTR *p);
873
874     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
875     HRESULT lineBreak([in] BSTR v);
876
877     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
878     HRESULT lineBreak([out, retval] BSTR *p);
879
880     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
881     HRESULT textJustify([in] BSTR v);
882
883     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
884     HRESULT textJustify([out, retval] BSTR *p);
885
886     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
887     HRESULT textJustifyTrim([in] BSTR v);
888
889     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
890     HRESULT textJustifyTrim([out, retval] BSTR *p);
891
892     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
893     HRESULT textKashida([in] VARIANT v);
894
895     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
896     HRESULT textKashida([out, retval] VARIANT *p);
897
898     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
899     HRESULT textAutospace([in] BSTR v);
900
901     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
902     HRESULT textAutospace([out, retval] BSTR *p);
903
904     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
905     HRESULT overflowX([in] BSTR v);
906
907     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
908     HRESULT overflowX([out, retval] BSTR *p);
909
910     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
911     HRESULT overflowY([in] BSTR v);
912
913     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
914     HRESULT overflowY([out, retval] BSTR *p);
915
916     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
917     HRESULT accelerator([in] BSTR v);
918
919     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
920     HRESULT accelerator([out, retval] BSTR *p);
921 }
922
923 /*****************************************************************************
924  *    IHTMLRuleStyle interface
925  */
926 [
927     odl,
928     oleautomation,
929     dual,
930     uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
931 ]
932 interface IHTMLRuleStyle : IDispatch
933 {
934     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
935     HRESULT fontFamily([in] BSTR v);
936
937     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
938     HRESULT fontFamily([retval, out] BSTR *p);
939
940     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
941     HRESULT fontStyle([in] BSTR v);
942
943     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
944     HRESULT fontStyle([retval, out] BSTR *p);
945
946     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
947     HRESULT fontVariant([in] BSTR v);
948
949     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
950     HRESULT fontVariant([retval, out] BSTR *p);
951
952     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
953     HRESULT fontWeight([in] BSTR v);
954
955     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
956     HRESULT fontWeight([retval, out] BSTR *p);
957
958     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
959     HRESULT fontSize([in] VARIANT v);
960
961     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
962     HRESULT fontSize([retval, out] VARIANT *p);
963
964     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
965     HRESULT font([in] BSTR v);
966
967     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
968     HRESULT font([retval, out] BSTR *p);
969
970     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
971     HRESULT color([in] VARIANT v);
972
973     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
974     HRESULT color([retval, out] VARIANT *p);
975
976     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
977     HRESULT background([in] BSTR v);
978
979     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
980     HRESULT background([retval, out] BSTR *p);
981
982     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
983     HRESULT backgroundColor([in] VARIANT v);
984
985     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
986     HRESULT backgroundColor([retval, out] VARIANT *p);
987
988     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
989     HRESULT backgroundImage([in] BSTR v);
990
991     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
992     HRESULT backgroundImage([retval, out] BSTR *p);
993
994     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
995     HRESULT backgroundRepeat([in] BSTR v);
996
997     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
998     HRESULT backgroundRepeat([retval, out] BSTR *p);
999
1000     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1001     HRESULT backgroundAttachment([in] BSTR v);
1002
1003     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1004     HRESULT backgroundAttachment([retval, out] BSTR *p);
1005
1006     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1007     HRESULT backgroundPosition([in] BSTR v);
1008
1009     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1010     HRESULT backgroundPosition([retval, out] BSTR *p);
1011
1012     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1013     HRESULT backgroundPositionX([in] VARIANT v);
1014
1015     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1016     HRESULT backgroundPositionX([retval, out] VARIANT *p);
1017
1018     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1019     HRESULT backgroundPositionY([in] VARIANT v);
1020
1021     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1022     HRESULT backgroundPositionY([retval, out] VARIANT *p);
1023
1024     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1025     HRESULT wordSpacing([in] VARIANT v);
1026
1027     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1028     HRESULT wordSpacing([retval, out] VARIANT *p);
1029
1030     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1031     HRESULT letterSpacing([in] VARIANT v);
1032
1033     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1034     HRESULT letterSpacing([retval, out] VARIANT *p);
1035
1036     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1037     HRESULT textDecoration([in] BSTR v);
1038
1039     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1040     HRESULT textDecoration([retval, out] BSTR *p);
1041
1042     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1043     HRESULT textDecorationNone([in] VARIANT_BOOL v);
1044
1045     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1046     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1047
1048     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1049     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1050
1051     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1052     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1053
1054     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1055     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1056
1057     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1058     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1059
1060     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1061     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1062
1063     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1064     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1065
1066     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1067     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1068
1069     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1070     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1071
1072     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1073     HRESULT verticalAlign([in] VARIANT v);
1074
1075     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1076     HRESULT verticalAlign([retval, out] VARIANT *p);
1077
1078     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1079     HRESULT textTransform([in] BSTR v);
1080
1081     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1082     HRESULT textTransform([retval, out] BSTR *p);
1083
1084     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1085     HRESULT textAlign([in] BSTR v);
1086
1087     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1088     HRESULT textAlign([retval, out] BSTR *p);
1089
1090     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1091     HRESULT textIndent([in] VARIANT v);
1092
1093     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1094     HRESULT textIndent([retval, out] VARIANT *p);
1095
1096     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1097     HRESULT lineHeight([in] VARIANT v);
1098
1099     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1100     HRESULT lineHeight([retval, out] VARIANT *p);
1101
1102     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1103     HRESULT marginTop([in] VARIANT v);
1104
1105     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1106     HRESULT marginTop([retval, out] VARIANT *p);
1107
1108     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1109     HRESULT marginRight([in] VARIANT v);
1110
1111     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1112     HRESULT marginRight([retval, out] VARIANT *p);
1113
1114     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1115     HRESULT marginBottom([in] VARIANT v);
1116
1117     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1118     HRESULT marginBottom([retval, out] VARIANT *p);
1119
1120     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1121     HRESULT marginLeft([in] VARIANT v);
1122
1123     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1124     HRESULT marginLeft([retval, out] VARIANT *p);
1125
1126     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1127     HRESULT margin([in] BSTR v);
1128
1129     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1130     HRESULT margin([retval, out] BSTR *p);
1131
1132     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1133     HRESULT paddingTop([in] VARIANT v);
1134
1135     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1136     HRESULT paddingTop([retval, out] VARIANT *p);
1137
1138     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1139     HRESULT paddingRight([in] VARIANT v);
1140
1141     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1142     HRESULT paddingRight([retval, out] VARIANT *p);
1143
1144     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1145     HRESULT paddingBottom([in] VARIANT v);
1146
1147     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1148     HRESULT paddingBottom([retval, out] VARIANT *p);
1149
1150     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1151     HRESULT paddingLeft([in] VARIANT v);
1152
1153     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1154     HRESULT paddingLeft([retval, out] VARIANT *p);
1155
1156     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1157     HRESULT padding([in] BSTR v);
1158
1159     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1160     HRESULT padding([retval, out] BSTR *p);
1161
1162     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1163     HRESULT border([in] BSTR v);
1164
1165     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1166     HRESULT border([retval, out] BSTR *p);
1167
1168     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1169     HRESULT borderTop([in] BSTR v);
1170
1171     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1172     HRESULT borderTop([retval, out] BSTR *p);
1173
1174     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1175     HRESULT borderRight([in] BSTR v);
1176
1177     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1178     HRESULT borderRight([retval, out] BSTR *p);
1179
1180     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1181     HRESULT borderBottom([in] BSTR v);
1182
1183     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1184     HRESULT borderBottom([retval, out] BSTR *p);
1185
1186     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1187     HRESULT borderLeft([in] BSTR v);
1188
1189     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1190     HRESULT borderLeft([retval, out] BSTR *p);
1191
1192     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1193     HRESULT borderColor([in] BSTR v);
1194
1195     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1196     HRESULT borderColor([retval, out] BSTR *p);
1197
1198     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1199     HRESULT borderTopColor([in] VARIANT v);
1200
1201     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1202     HRESULT borderTopColor([retval, out] VARIANT *p);
1203
1204     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1205     HRESULT borderRightColor([in] VARIANT v);
1206
1207     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1208     HRESULT borderRightColor([retval, out] VARIANT *p);
1209
1210     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1211     HRESULT borderBottomColor([in] VARIANT v);
1212
1213     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1214     HRESULT borderBottomColor([retval, out] VARIANT *p);
1215
1216     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1217     HRESULT borderLeftColor([in] VARIANT v);
1218
1219     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1220     HRESULT borderLeftColor([retval, out] VARIANT *p);
1221
1222     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1223     HRESULT borderWidth([in] BSTR v);
1224
1225     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1226     HRESULT borderWidth([retval, out] BSTR *p);
1227
1228     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1229     HRESULT borderTopWidth([in] VARIANT v);
1230
1231     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1232     HRESULT borderTopWidth([retval, out] VARIANT *p);
1233
1234     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1235     HRESULT borderRightWidth([in] VARIANT v);
1236
1237     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1238     HRESULT borderRightWidth([retval, out] VARIANT *p);
1239
1240     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1241     HRESULT borderBottomWidth([in] VARIANT v);
1242
1243     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1244     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1245
1246     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1247     HRESULT borderLeftWidth([in] VARIANT v);
1248
1249     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1250     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1251
1252     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1253     HRESULT borderStyle([in] BSTR v);
1254
1255     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1256     HRESULT borderStyle([retval, out] BSTR *p);
1257
1258     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1259     HRESULT borderTopStyle([in] BSTR v);
1260
1261     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1262     HRESULT borderTopStyle([retval, out] BSTR *p);
1263
1264     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1265     HRESULT borderRightStyle([in] BSTR v);
1266
1267     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1268     HRESULT borderRightStyle([retval, out] BSTR *p);
1269
1270     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1271     HRESULT borderBottomStyle([in] BSTR v);
1272
1273     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1274     HRESULT borderBottomStyle([retval, out] BSTR *p);
1275
1276     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1277     HRESULT borderLeftStyle([in] BSTR v);
1278
1279     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1280     HRESULT borderLeftStyle([retval, out] BSTR *p);
1281
1282     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1283     HRESULT width([in] VARIANT v);
1284
1285     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1286     HRESULT width([retval, out] VARIANT *p);
1287
1288     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1289     HRESULT height([in] VARIANT v);
1290
1291     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1292     HRESULT height([retval, out] VARIANT *p);
1293
1294     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1295     HRESULT styleFloat([in] BSTR v);
1296
1297     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1298     HRESULT styleFloat([retval, out] BSTR *p);
1299
1300     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1301     HRESULT clear([in] BSTR v);
1302
1303     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1304     HRESULT clear([retval, out] BSTR *p);
1305
1306     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1307     HRESULT display([in] BSTR v);
1308
1309     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1310     HRESULT display([retval, out] BSTR *p);
1311
1312     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1313     HRESULT visibility([in] BSTR v);
1314
1315     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1316     HRESULT visibility([retval, out] BSTR *p);
1317
1318     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1319     HRESULT listStyleType([in] BSTR v);
1320
1321     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1322     HRESULT listStyleType([retval, out] BSTR *p);
1323
1324     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1325     HRESULT listStylePosition([in] BSTR v);
1326
1327     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1328     HRESULT listStylePosition([retval, out] BSTR *p);
1329
1330     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1331     HRESULT listStyleImage([in] BSTR v);
1332
1333     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1334     HRESULT listStyleImage([retval, out] BSTR *p);
1335
1336     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1337     HRESULT listStyle([in] BSTR v);
1338
1339     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1340     HRESULT listStyle([retval, out] BSTR *p);
1341
1342     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1343     HRESULT whiteSpace([in] BSTR v);
1344
1345     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1346     HRESULT whiteSpace([retval, out] BSTR *p);
1347
1348     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1349     HRESULT top([in] VARIANT v);
1350
1351     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1352     HRESULT top([retval, out] VARIANT *p);
1353
1354     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1355     HRESULT left([in] VARIANT v);
1356
1357     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1358     HRESULT left([retval, out] VARIANT *p);
1359
1360     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1361     HRESULT position([retval, out] BSTR *p);
1362
1363     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1364     HRESULT zIndex([in] VARIANT v);
1365
1366     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1367     HRESULT zIndex([retval, out] VARIANT *p);
1368
1369     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1370     HRESULT overflow([in] BSTR v);
1371
1372     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1373     HRESULT overflow([retval, out] BSTR *p);
1374
1375     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1376     HRESULT pageBreakBefore([in] BSTR v);
1377
1378     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1379     HRESULT pageBreakBefore([retval, out] BSTR *p);
1380
1381     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1382     HRESULT pageBreakAfter([in] BSTR v);
1383
1384     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1385     HRESULT pageBreakAfter([retval, out] BSTR *p);
1386
1387     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1388     HRESULT cssText([in] BSTR v);
1389
1390     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1391     HRESULT cssText([retval, out] BSTR *p);
1392
1393     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1394     HRESULT cursor([in] BSTR v);
1395
1396     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1397     HRESULT cursor([retval, out] BSTR *p);
1398
1399     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1400     HRESULT clip([in] BSTR v);
1401
1402     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1403     HRESULT clip([retval, out] BSTR *p);
1404
1405     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1406     HRESULT filter([in] BSTR v);
1407
1408     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1409     HRESULT filter([retval, out] BSTR *p);
1410
1411     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1412     HRESULT setAttribute(
1413         [in] BSTR strAttributeName,
1414         [in] VARIANT AttributeValue,
1415         [defaultvalue(1), in] LONG lFlags);
1416
1417     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1418     HRESULT getAttribute(
1419         [in] BSTR strAttributeName,
1420         [defaultvalue(0), in] LONG lFlags,
1421         [retval, out] VARIANT *AttributeValue);
1422
1423     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1424     HRESULT removeAttribute(
1425         [in] BSTR strAttributeName,
1426         [defaultvalue(1), in] LONG lFlags,
1427         [retval, out] VARIANT_BOOL *pfSuccess);
1428 }
1429
1430 /*****************************************************************************
1431  *    DispHTMLStyle dispinterface
1432  */
1433 [
1434     hidden,
1435     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1436 ]
1437 dispinterface DispHTMLStyle
1438 {
1439 properties:
1440 methods:
1441     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1442     void fontFamily(BSTR v);
1443
1444     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1445     BSTR fontFamily();
1446
1447     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1448     void fontStyle(BSTR v);
1449
1450     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1451     BSTR fontStyle();
1452
1453     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1454     void fontVariant(BSTR v);
1455
1456     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1457     BSTR fontVariant();
1458
1459     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1460     void fontWeight(BSTR v);
1461
1462     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1463     BSTR fontWeight();
1464
1465     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1466     void fontSize(VARIANT v);
1467
1468     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1469     VARIANT fontSize();
1470
1471     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1472     void font(BSTR v);
1473
1474     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1475     BSTR font();
1476
1477     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1478     void color(VARIANT v);
1479
1480     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1481     VARIANT color();
1482
1483     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1484     void background(BSTR v);
1485
1486     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1487     BSTR background();
1488
1489     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1490     void backgroundColor(VARIANT v);
1491
1492     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1493     VARIANT backgroundColor();
1494
1495     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1496     void backgroundImage(BSTR v);
1497
1498     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1499     BSTR backgroundImage();
1500
1501     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1502     void backgroundRepeat(BSTR v);
1503
1504     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1505     BSTR backgroundRepeat();
1506
1507     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1508     void backgroundAttachment(BSTR v);
1509
1510     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1511     BSTR backgroundAttachment();
1512
1513     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1514     void backgroundPosition(BSTR v);
1515
1516     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1517     BSTR backgroundPosition();
1518
1519     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1520     void backgroundPositionX(VARIANT v);
1521
1522     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1523     VARIANT backgroundPositionX();
1524
1525     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1526     void backgroundPositionY(VARIANT v);
1527
1528     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1529     VARIANT backgroundPositionY();
1530
1531     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1532     void wordSpacing(VARIANT v);
1533
1534     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1535     VARIANT wordSpacing();
1536
1537     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1538     void letterSpacing(VARIANT v);
1539
1540     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1541     VARIANT letterSpacing();
1542
1543     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1544     void textDecoration(BSTR v);
1545
1546     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1547     BSTR textDecoration();
1548
1549     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1550     void textDecorationNone(VARIANT_BOOL v);
1551
1552     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1553     VARIANT_BOOL textDecorationNone();
1554
1555     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1556     void textDecorationUnderline(VARIANT_BOOL v);
1557
1558     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1559     VARIANT_BOOL textDecorationUnderline();
1560
1561     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1562     void textDecorationOverline(VARIANT_BOOL v);
1563
1564     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1565     VARIANT_BOOL textDecorationOverline();
1566
1567     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1568     void textDecorationLineThrough(VARIANT_BOOL v);
1569
1570     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1571     VARIANT_BOOL textDecorationLineThrough();
1572
1573     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1574     void textDecorationBlink(VARIANT_BOOL v);
1575
1576     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1577     VARIANT_BOOL textDecorationBlink();
1578
1579     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1580     void verticalAlign(VARIANT v);
1581
1582     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1583     VARIANT verticalAlign();
1584
1585     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1586     void textTransform(BSTR v);
1587
1588     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1589     BSTR textTransform();
1590
1591     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1592     void textAlign(BSTR v);
1593
1594     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1595     BSTR textAlign();
1596
1597     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1598     void textIndent(VARIANT v);
1599
1600     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1601     VARIANT textIndent();
1602
1603     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1604     void lineHeight(VARIANT v);
1605
1606     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1607     VARIANT lineHeight();
1608
1609     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1610     void marginTop(VARIANT v);
1611
1612     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1613     VARIANT marginTop();
1614
1615     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1616     void marginRight(VARIANT v);
1617
1618     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1619     VARIANT marginRight();
1620
1621     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1622     void marginBottom(VARIANT v);
1623
1624     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1625     VARIANT marginBottom();
1626
1627     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1628     void marginLeft(VARIANT v);
1629
1630     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1631     VARIANT marginLeft();
1632
1633     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1634     void margin(BSTR v);
1635
1636     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1637     BSTR margin();
1638
1639     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1640     void paddingTop(VARIANT v);
1641
1642     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1643     VARIANT paddingTop();
1644
1645     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1646     void paddingRight(VARIANT v);
1647
1648     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1649     VARIANT paddingRight();
1650
1651     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1652     void paddingBottom(VARIANT v);
1653
1654     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1655     VARIANT paddingBottom();
1656
1657     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1658     void paddingLeft(VARIANT v);
1659
1660     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1661     VARIANT paddingLeft();
1662
1663     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1664     void padding(BSTR v);
1665
1666     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1667     BSTR padding();
1668
1669     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1670     void border(BSTR v);
1671
1672     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1673     BSTR border();
1674
1675     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1676     void borderTop(BSTR v);
1677
1678     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1679     BSTR borderTop();
1680
1681     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1682     void borderRight(BSTR v);
1683
1684     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1685     BSTR borderRight();
1686
1687     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1688     void borderBottom(BSTR v);
1689
1690     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1691     BSTR borderBottom();
1692
1693     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1694     void borderLeft(BSTR v);
1695
1696     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1697     BSTR borderLeft();
1698
1699     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1700     void borderColor(BSTR v);
1701
1702     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1703     BSTR borderColor();
1704
1705     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1706     void borderTopColor(VARIANT v);
1707
1708     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1709     VARIANT borderTopColor();
1710
1711     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1712     void borderRightColor(VARIANT v);
1713
1714     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1715     VARIANT borderRightColor();
1716
1717     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1718     void borderBottomColor(VARIANT v);
1719
1720     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1721     VARIANT borderBottomColor();
1722
1723     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1724     void borderLeftColor(VARIANT v);
1725
1726     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1727     VARIANT borderLeftColor();
1728
1729     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1730     void borderWidth(BSTR v);
1731
1732     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1733     BSTR borderWidth();
1734
1735     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1736     void borderTopWidth(VARIANT v);
1737
1738     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1739     VARIANT borderTopWidth();
1740
1741     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1742     void borderRightWidth(VARIANT v);
1743
1744     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1745     VARIANT borderRightWidth();
1746
1747     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1748     void borderBottomWidth(VARIANT v);
1749
1750     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1751     VARIANT borderBottomWidth();
1752
1753     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1754     void borderLeftWidth(VARIANT v);
1755
1756     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1757     VARIANT borderLeftWidth();
1758
1759     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1760     void borderStyle(BSTR v);
1761
1762     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1763     BSTR borderStyle();
1764
1765     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1766     void borderTopStyle(BSTR v);
1767
1768     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1769     BSTR borderTopStyle();
1770
1771     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1772     void borderRightStyle(BSTR v);
1773
1774     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1775     BSTR borderRightStyle();
1776
1777     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1778     void borderBottomStyle(BSTR v);
1779
1780     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1781     BSTR borderBottomStyle();
1782
1783     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1784     void borderLeftStyle(BSTR v);
1785
1786     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1787     BSTR borderLeftStyle();
1788
1789     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1790     void width(VARIANT v);
1791
1792     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1793     VARIANT width();
1794
1795     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1796     void height(VARIANT v);
1797
1798     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1799     VARIANT height();
1800
1801     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1802     void styleFloat(BSTR v);
1803
1804     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1805     BSTR styleFloat();
1806
1807     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1808     void clear(BSTR v);
1809
1810     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1811     BSTR clear();
1812
1813     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1814     void display(BSTR v);
1815
1816     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1817     BSTR display();
1818
1819     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1820     void visibility(BSTR v);
1821
1822     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1823     BSTR visibility();
1824
1825     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1826     void listStyleType(BSTR v);
1827
1828     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1829     BSTR listStyleType();
1830
1831     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1832     void listStylePosition(BSTR v);
1833
1834     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1835     BSTR listStylePosition();
1836
1837     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1838     void listStyleImage(BSTR v);
1839
1840     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1841     BSTR listStyleImage();
1842
1843     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1844     void listStyle(BSTR v);
1845
1846     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1847     BSTR listStyle();
1848
1849     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1850     void whiteSpace(BSTR v);
1851
1852     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1853     BSTR whiteSpace();
1854
1855     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1856     void top(VARIANT v);
1857
1858     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1859     VARIANT top();
1860
1861     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1862     void left(VARIANT v);
1863
1864     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1865     VARIANT left();
1866
1867     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1868     void zIndex(VARIANT v);
1869
1870     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1871     VARIANT zIndex();
1872
1873     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1874     void overflow(BSTR v);
1875
1876     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1877     BSTR overflow();
1878
1879     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1880     void pageBreakBefore(BSTR v);
1881
1882     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1883     BSTR pageBreakBefore();
1884
1885     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1886     void pageBreakAfter(BSTR v);
1887
1888     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1889     BSTR pageBreakAfter();
1890
1891     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1892     void cssText(BSTR v);
1893
1894     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1895     BSTR cssText();
1896
1897     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1898     void pixelTop(LONG v);
1899
1900     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1901     LONG pixelTop();
1902
1903     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1904     void pixelLeft(LONG v);
1905
1906     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1907     LONG pixelLeft();
1908
1909     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1910     void pixelWidth(LONG v);
1911
1912     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1913     LONG pixelWidth();
1914
1915     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1916     void pixelHeight(LONG v);
1917
1918     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1919     LONG pixelHeight();
1920
1921     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1922     void posTop(float v);
1923
1924     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1925     float posTop();
1926
1927     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1928     void posLeft(float v);
1929
1930     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1931     float posLeft();
1932
1933     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1934     void posWidth(float v);
1935
1936     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1937     float posWidth();
1938
1939     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1940     void posHeight(float v);
1941
1942     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1943     float posHeight();
1944
1945     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1946     void cursor(BSTR v);
1947
1948     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1949     BSTR cursor();
1950
1951     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1952     void clip(BSTR v);
1953
1954     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1955     BSTR clip();
1956
1957     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1958     void filter(BSTR v);
1959
1960     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1961     BSTR filter();
1962
1963     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1964     void setAttribute(
1965             [in] BSTR strAttributeName,
1966             [in] VARIANT AttributeValue,
1967             [in, defaultvalue(1)] LONG lFlags);
1968
1969     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1970     VARIANT getAttribute(
1971             [in] BSTR strAttributeName,
1972             [in, defaultvalue(0)] LONG lFlags);
1973
1974     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1975     VARIANT_BOOL removeAttribute(
1976             [in] BSTR strAttributeName,
1977             [in, defaultvalue(1)] LONG lFlags);
1978
1979     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1980     BSTR toString();
1981
1982     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1983     void tableLayout(BSTR v);
1984
1985     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1986     BSTR tableLayout();
1987
1988     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1989     void borderCollapse(BSTR v);
1990
1991     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1992     BSTR borderCollapse();
1993
1994     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1995     void direction(BSTR v);
1996
1997     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1998     BSTR direction();
1999
2000     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2001     void behavior(BSTR v);
2002
2003     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2004     BSTR behavior();
2005
2006     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
2007     void setExpression(
2008             [in] BSTR propname,
2009             [in] BSTR expression,
2010             [in, defaultvalue("")] BSTR language);
2011
2012     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
2013     VARIANT getExpression([in] BSTR propname);
2014
2015     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
2016     VARIANT_BOOL removeExpression([in] BSTR propname);
2017
2018     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2019     void position(BSTR v);
2020
2021     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2022     BSTR position();
2023
2024     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2025     void unicodeBidi(BSTR v);
2026
2027     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2028     BSTR unicodeBidi();
2029
2030     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2031     void bottom(VARIANT v);
2032
2033     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2034     VARIANT bottom();
2035
2036     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2037     void right(VARIANT v);
2038
2039     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2040     VARIANT right();
2041
2042     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2043     void pixelBottom(LONG v);
2044
2045     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2046     LONG pixelBottom();
2047
2048     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2049     void pixelRight(LONG v);
2050
2051     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2052     LONG pixelRight();
2053
2054     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2055     void posBottom(float v);
2056
2057     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2058     float posBottom();
2059
2060     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2061     void posRight(float v);
2062
2063     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2064     float posRight();
2065
2066     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2067     void imeMode(BSTR v);
2068
2069     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2070     BSTR imeMode();
2071
2072     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2073     void rubyAlign(BSTR v);
2074
2075     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2076     BSTR rubyAlign();
2077
2078     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2079     void rubyPosition(BSTR v);
2080
2081     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2082     BSTR rubyPosition();
2083
2084     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2085     void rubyOverhang(BSTR v);
2086
2087     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2088     BSTR rubyOverhang();
2089
2090     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2091     void layoutGridChar(VARIANT v);
2092
2093     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2094     VARIANT layoutGridChar();
2095
2096     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2097     void layoutGridLine(VARIANT v);
2098
2099     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2100     VARIANT layoutGridLine();
2101
2102     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2103     void layoutGridMode(BSTR v);
2104
2105     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2106     BSTR layoutGridMode();
2107
2108     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2109     void layoutGridType(BSTR v);
2110
2111     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2112     BSTR layoutGridType();
2113
2114     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2115     void layoutGrid(BSTR v);
2116
2117     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2118     BSTR layoutGrid();
2119
2120     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2121     void wordBreak(BSTR v);
2122
2123     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2124     BSTR wordBreak();
2125
2126     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2127     void lineBreak(BSTR v);
2128
2129     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2130     BSTR lineBreak();
2131
2132     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2133     void textJustify(BSTR v);
2134
2135     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2136     BSTR textJustify();
2137
2138     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2139     void textJustifyTrim(BSTR v);
2140
2141     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2142     BSTR textJustifyTrim();
2143
2144     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2145     void textKashida(VARIANT v);
2146
2147     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2148     VARIANT textKashida();
2149
2150     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2151     void textAutospace(BSTR v);
2152
2153     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2154     BSTR textAutospace();
2155
2156     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2157     void overflowX(BSTR v);
2158
2159     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2160     BSTR overflowX();
2161
2162     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2163     void overflowY(BSTR v);
2164
2165     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2166     BSTR overflowY();
2167
2168     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2169     void accelerator(BSTR v);
2170
2171     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2172     BSTR accelerator();
2173
2174     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2175     void layoutFlow(BSTR v);
2176
2177     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2178     BSTR layoutFlow();
2179
2180     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2181     void zoom(VARIANT v);
2182
2183     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2184     VARIANT zoom();
2185
2186     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2187     void wordWrap(BSTR v);
2188
2189     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2190     BSTR wordWrap();
2191
2192     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2193     void textUnderlinePosition(BSTR v);
2194
2195     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2196     BSTR textUnderlinePosition();
2197
2198     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2199     void scrollbarBaseColor(VARIANT v);
2200
2201     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2202     VARIANT scrollbarBaseColor();
2203
2204     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2205     void scrollbarFaceColor(VARIANT v);
2206
2207     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2208     VARIANT scrollbarFaceColor();
2209
2210     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2211     void scrollbar3dLightColor(VARIANT v);
2212
2213     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2214     VARIANT scrollbar3dLightColor();
2215
2216     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2217     void scrollbarShadowColor(VARIANT v);
2218
2219     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2220     VARIANT scrollbarShadowColor();
2221
2222     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2223     void scrollbarHighlightColor(VARIANT v);
2224
2225     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2226     VARIANT scrollbarHighlightColor();
2227
2228     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2229     void scrollbarDarkShadowColor(VARIANT v);
2230
2231     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2232     VARIANT scrollbarDarkShadowColor();
2233
2234     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2235     void scrollbarArrowColor(VARIANT v);
2236
2237     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2238     VARIANT scrollbarArrowColor();
2239
2240     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2241     void scrollbarTrackColor(VARIANT v);
2242
2243     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2244     VARIANT scrollbarTrackColor();
2245
2246     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2247     void writingMode(BSTR v);
2248
2249     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2250     BSTR writingMode();
2251
2252     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2253     void textAlignLast(BSTR v);
2254
2255     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2256     BSTR textAlignLast();
2257
2258     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2259     void textKashidaSpace(VARIANT v);
2260
2261     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2262     VARIANT textKashidaSpace();
2263
2264     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2265     void textOverflow(BSTR v);
2266
2267     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2268     BSTR textOverflow();
2269
2270     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2271     void minHeight(VARIANT v);
2272
2273     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2274     VARIANT minHeight();
2275 }
2276
2277 [
2278     odl,
2279     oleautomation,
2280     dual,
2281     uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2282 ]
2283 interface IHTMLStyle3 : IDispatch
2284 {
2285     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2286     HRESULT layoutFlow([in] BSTR v);
2287
2288     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2289     HRESULT layoutFlow([retval, out] BSTR * p);
2290
2291     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2292     HRESULT zoom([in] VARIANT v);
2293
2294     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2295     HRESULT zoom([retval, out] VARIANT * p);
2296
2297     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2298     HRESULT wordWrap([in] BSTR v);
2299
2300     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2301     HRESULT wordWrap([retval, out] BSTR * p);
2302
2303     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2304     HRESULT textUnderlinePosition([in] BSTR v);
2305
2306     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2307     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2308
2309     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2310     HRESULT scrollbarBaseColor([in] VARIANT v);
2311
2312     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2313     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2314
2315     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2316     HRESULT scrollbarFaceColor([in] VARIANT v);
2317
2318     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2319     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2320
2321     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2322     HRESULT scrollbar3dLightColor([in] VARIANT v);
2323
2324     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2325     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2326
2327     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2328     HRESULT scrollbarShadowColor([in] VARIANT v);
2329
2330     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2331     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2332
2333     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2334     HRESULT scrollbarHighlightColor([in] VARIANT v);
2335
2336     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2337     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2338
2339     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2340     HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2341
2342     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2343     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2344
2345     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2346     HRESULT scrollbarArrowColor([in] VARIANT v);
2347
2348     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2349     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2350
2351     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2352     HRESULT scrollbarTrackColor([in] VARIANT v);
2353
2354     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2355     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2356
2357     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2358     HRESULT writingMode([in] BSTR v);
2359
2360     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2361     HRESULT writingMode([retval, out] BSTR * p);
2362
2363     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2364     HRESULT textAlignLast([in] BSTR v);
2365
2366     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2367     HRESULT textAlignLast([retval, out] BSTR * p);
2368
2369     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2370     HRESULT textKashidaSpace([in] VARIANT v);
2371
2372     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2373     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2374 }
2375
2376 /*****************************************************************************
2377  *    IHTMLSytyle4 interface
2378  */
2379 [
2380     odl,
2381     oleautomation,
2382     dual,
2383     uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2384 ]
2385 interface IHTMLStyle4 : IDispatch
2386 {
2387     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2388     HRESULT textOverflow([in] BSTR v);
2389
2390     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2391     HRESULT textOverflow([retval, out] BSTR * p);
2392
2393     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2394     HRESULT minHeight([in] VARIANT v);
2395
2396     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2397     HRESULT minHeight([retval, out] VARIANT * p);
2398 }
2399
2400 [
2401     noncreatable,
2402     uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2403 ]
2404 coclass HTMLStyle
2405 {
2406     [default] dispinterface DispHTMLStyle;
2407     interface IHTMLStyle;
2408     interface IHTMLStyle2;
2409     interface IHTMLStyle3;
2410     interface IHTMLStyle4;
2411     /* interface IHTMLStyle5; */
2412 }
2413
2414 /*****************************************************************************
2415  *    IHTMLRenderStyle interface
2416  */
2417 [
2418     odl,
2419     oleautomation,
2420     dual,
2421     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2422 ]
2423 interface IHTMLRenderStyle : IDispatch
2424 {
2425     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2426     HRESULT textLineThroughStyle([in] BSTR v);
2427
2428     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2429     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2430
2431     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2432     HRESULT textUnderlineStyle([in] BSTR v);
2433
2434     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2435     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2436
2437     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2438     HRESULT textEffect([in] BSTR v);
2439
2440     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2441     HRESULT textEffect([retval, out] BSTR *p);
2442
2443     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2444     HRESULT textColor([in] VARIANT v);
2445
2446     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2447     HRESULT textColor([retval, out] VARIANT *p);
2448
2449     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2450     HRESULT textBackgroundColor([in] VARIANT v);
2451
2452     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2453     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2454
2455     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2456     HRESULT textDecorationColor([in] VARIANT v);
2457
2458     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2459     HRESULT textDecorationColor([retval, out] VARIANT *p);
2460
2461     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2462     HRESULT renderingPriority([in] LONG v);
2463
2464     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2465     HRESULT renderingPriority([retval, out] LONG *p);
2466
2467     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2468     HRESULT defaultTextSelection([in] BSTR v);
2469
2470     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2471     HRESULT defaultTextSelection([retval, out] BSTR *p);
2472
2473     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2474     HRESULT textDecoration([in] BSTR v);
2475
2476     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2477     HRESULT textDecoration([retval, out] BSTR *p);
2478 }
2479
2480 /*****************************************************************************
2481  *    IHTMLCurrentStyle interface
2482  */
2483 [
2484     odl,
2485     oleautomation,
2486     dual,
2487     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2488 ]
2489 interface IHTMLCurrentStyle : IDispatch
2490 {
2491     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2492     HRESULT position([retval, out] BSTR *p);
2493
2494     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2495     HRESULT styleFloat([retval, out] BSTR *p);
2496
2497     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2498     HRESULT color([retval, out] VARIANT *p);
2499
2500     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2501     HRESULT backgroundColor([retval, out] VARIANT *p);
2502
2503     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2504     HRESULT fontFamily([retval, out] BSTR *p);
2505
2506     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2507     HRESULT fontStyle([retval, out] BSTR *p);
2508
2509     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2510     HRESULT fontVariant([retval, out] BSTR *p);
2511
2512     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2513     HRESULT fontWeight([retval, out] VARIANT *p);
2514
2515     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2516     HRESULT fontSize([retval, out] VARIANT *p);
2517
2518     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2519     HRESULT backgroundImage([retval, out] BSTR *p);
2520
2521     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2522     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2523
2524     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2525     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2526
2527     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2528     HRESULT backgroundRepeat([retval, out] BSTR *p);
2529
2530     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2531     HRESULT borderLeftColor([retval, out] VARIANT *p);
2532
2533     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2534     HRESULT borderTopColor([retval, out] VARIANT *p);
2535
2536     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2537     HRESULT borderRightColor([retval, out] VARIANT *p);
2538
2539     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2540     HRESULT borderBottomColor([retval, out] VARIANT *p);
2541
2542     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2543     HRESULT borderTopStyle([retval, out] BSTR *p);
2544
2545     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2546     HRESULT borderRightStyle([retval, out] BSTR *p);
2547
2548     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2549     HRESULT borderBottomStyle([retval, out] BSTR *p);
2550
2551     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2552     HRESULT borderLeftStyle([retval, out] BSTR *p);
2553
2554     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2555     HRESULT borderTopWidth([retval, out] VARIANT *p);
2556
2557     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2558     HRESULT borderRightWidth([retval, out] VARIANT *p);
2559
2560     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2561     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2562
2563     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2564     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2565
2566     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2567     HRESULT left([retval, out] VARIANT *p);
2568
2569     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2570     HRESULT top([retval, out] VARIANT *p);
2571
2572     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2573     HRESULT width([retval, out] VARIANT *p);
2574
2575     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2576     HRESULT height([retval, out] VARIANT *p);
2577
2578     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2579     HRESULT paddingLeft([retval, out] VARIANT *p);
2580
2581     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2582     HRESULT paddingTop([retval, out] VARIANT *p);
2583
2584     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2585     HRESULT paddingRight([retval, out] VARIANT *p);
2586
2587     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2588     HRESULT paddingBottom([retval, out] VARIANT *p);
2589
2590     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2591     HRESULT textAlign([retval, out] BSTR *p);
2592
2593     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2594     HRESULT textDecoration([retval, out] BSTR *p);
2595
2596     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2597     HRESULT display([retval, out] BSTR *p);
2598
2599     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2600     HRESULT visibility([retval, out] BSTR *p);
2601
2602     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2603     HRESULT zIndex([retval, out] VARIANT *p);
2604
2605     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2606     HRESULT letterSpacing([retval, out] VARIANT *p);
2607
2608     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2609     HRESULT lineHeight([retval, out] VARIANT *p);
2610
2611     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2612     HRESULT textIndent([retval, out] VARIANT *p);
2613
2614     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2615     HRESULT verticalAlign([retval, out] VARIANT *p);
2616
2617     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2618     HRESULT backgroundAttachment([retval, out] BSTR *p);
2619
2620     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2621     HRESULT marginTop([retval, out] VARIANT *p);
2622
2623     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2624     HRESULT marginRight([retval, out] VARIANT *p);
2625
2626     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2627     HRESULT marginBottom([retval, out] VARIANT *p);
2628
2629     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2630     HRESULT marginLeft([retval, out] VARIANT *p);
2631
2632     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2633     HRESULT clear([retval, out] BSTR *p);
2634
2635     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2636     HRESULT listStyleType([retval, out] BSTR *p);
2637
2638     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2639     HRESULT listStylePosition([retval, out] BSTR *p);
2640
2641     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2642     HRESULT listStyleImage([retval, out] BSTR *p);
2643
2644     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2645     HRESULT clipTop([retval, out] VARIANT *p);
2646
2647     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2648     HRESULT clipRight([retval, out] VARIANT *p);
2649
2650     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2651     HRESULT clipBottom([retval, out] VARIANT *p);
2652
2653     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2654     HRESULT clipLeft([retval, out] VARIANT *p);
2655
2656     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2657     HRESULT overflow([retval, out] BSTR *p);
2658
2659     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2660     HRESULT pageBreakBefore([retval, out] BSTR *p);
2661
2662     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2663     HRESULT pageBreakAfter([retval, out] BSTR *p);
2664
2665     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2666     HRESULT cursor([retval, out] BSTR *p);
2667
2668     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2669     HRESULT tableLayout([retval, out] BSTR *p);
2670
2671     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2672     HRESULT borderCollapse([retval, out] BSTR *p);
2673
2674     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2675     HRESULT direction([retval, out] BSTR *p);
2676
2677     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2678     HRESULT behavior([retval, out] BSTR *p);
2679
2680     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2681     HRESULT getAttribute(
2682         [in] BSTR strAttributeName,
2683         [defaultvalue(0), in] LONG lFlags,
2684         [retval, out] VARIANT *AttributeValue);
2685
2686     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2687     HRESULT unicodeBidi([retval, out] BSTR *p);
2688
2689     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2690     HRESULT right([retval, out] VARIANT *p);
2691
2692     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2693     HRESULT bottom([retval, out] VARIANT *p);
2694
2695     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2696     HRESULT imeMode([retval, out] BSTR *p);
2697
2698     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2699     HRESULT rubyAlign([retval, out] BSTR *p);
2700
2701     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2702     HRESULT rubyPosition([retval, out] BSTR *p);
2703
2704     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2705     HRESULT rubyOverhang([retval, out] BSTR *p);
2706
2707     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2708     HRESULT textAutospace([retval, out] BSTR *p);
2709
2710     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2711     HRESULT lineBreak([retval, out] BSTR *p);
2712
2713     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2714     HRESULT wordBreak([retval, out] BSTR *p);
2715
2716     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2717     HRESULT textJustify([retval, out] BSTR *p);
2718
2719     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2720     HRESULT textJustifyTrim([retval, out] BSTR *p);
2721
2722     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2723     HRESULT textKashida([retval, out] VARIANT *p);
2724
2725     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2726     HRESULT blockDirection([retval, out] BSTR *p);
2727
2728     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2729     HRESULT layoutGridChar([retval, out] VARIANT *p);
2730
2731     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
2732     HRESULT layoutGridLine([retval, out] VARIANT *p);
2733
2734     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
2735     HRESULT layoutGridMode([retval, out] BSTR *p);
2736
2737     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
2738     HRESULT layoutGridType([retval, out] BSTR *p);
2739
2740     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
2741     HRESULT borderStyle([retval, out] BSTR *p);
2742
2743     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
2744     HRESULT borderColor([retval, out] BSTR *p);
2745
2746     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
2747     HRESULT borderWidth([retval, out] BSTR *p);
2748
2749     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
2750     HRESULT padding([retval, out] BSTR *p);
2751
2752     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
2753     HRESULT margin([retval, out] BSTR *p);
2754
2755     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
2756     HRESULT accelerator([retval, out] BSTR *p);
2757
2758     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
2759     HRESULT overflowX([retval, out] BSTR *p);
2760
2761     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
2762     HRESULT overflowY([retval, out] BSTR *p);
2763
2764     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
2765     HRESULT textTransform([retval, out] BSTR *p);
2766 }
2767
2768 /*****************************************************************************
2769  *    IHTMLCurrentStyle2 interface
2770  */
2771 [
2772     odl,
2773     oleautomation,
2774     dual,
2775     uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
2776 ]
2777 interface IHTMLCurrentStyle2 : IDispatch
2778 {
2779     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
2780     HRESULT layoutFlow([retval, out] BSTR * p);
2781
2782     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
2783     HRESULT wordWrap([retval, out] BSTR * p);
2784
2785     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
2786     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2787
2788     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
2789     HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
2790
2791     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
2792     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2793
2794     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
2795     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2796
2797     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2798     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2799
2800     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2801     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2802
2803     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2804     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2805
2806     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2807     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2808
2809     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
2810     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2811
2812     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
2813     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2814
2815     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
2816     HRESULT writingMode([retval, out] BSTR * p);
2817
2818     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
2819     HRESULT zoom([retval, out] VARIANT * p);
2820
2821     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
2822     HRESULT filter([retval, out] BSTR * p);
2823
2824     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
2825     HRESULT textAlignLast([retval, out] BSTR * p);
2826
2827     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
2828     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2829
2830     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
2831     HRESULT isBlock([retval, out] VARIANT_BOOL * p);
2832 }
2833
2834 /*****************************************************************************
2835  *    IHTMLCurrentStyle3 interface
2836  */
2837 [
2838     odl,
2839     oleautomation,
2840     dual,
2841     uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
2842 ]
2843 interface IHTMLCurrentStyle3 : IDispatch
2844 {
2845     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
2846     HRESULT textOverflow([retval, out] BSTR * p);
2847
2848     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
2849     HRESULT minHeight([retval, out] VARIANT * p);
2850
2851     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
2852     HRESULT wordSpacing([retval, out] VARIANT * p);
2853
2854     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
2855     HRESULT whiteSpace([retval, out] BSTR * p);
2856 }
2857
2858 /*****************************************************************************
2859  *    IHTMLCurrentStyle4 interface
2860  */
2861 [
2862     odl,
2863     oleautomation,
2864     dual,
2865     uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
2866 ]
2867 interface IHTMLCurrentStyle4 : IDispatch
2868 {
2869     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
2870     HRESULT msInterpolationMode([retval, out] BSTR * p);
2871
2872     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
2873     HRESULT maxHeight([retval, out] VARIANT * p);
2874
2875     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
2876     HRESULT minWidth([retval, out] VARIANT * p);
2877
2878     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
2879     HRESULT maxWidth([retval, out] VARIANT * p);
2880 }
2881
2882 /*****************************************************************************
2883  *    DispHTMLCurrentStyle dispinterface
2884  */
2885 [
2886     hidden,
2887     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
2888 ]
2889 dispinterface DispHTMLCurrentStyle
2890 {
2891 properties:
2892 methods:
2893     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2894     BSTR position();
2895
2896     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2897     BSTR styleFloat();
2898
2899     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2900     VARIANT color();
2901
2902     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2903     VARIANT backgroundColor();
2904
2905     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2906     BSTR fontFamily();
2907
2908     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2909     BSTR fontStyle();
2910
2911     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2912     BSTR fontVariant();
2913
2914     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2915     VARIANT fontWeight();
2916
2917     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2918     VARIANT fontSize();
2919
2920     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2921     BSTR backgroundImage();
2922
2923     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2924     VARIANT backgroundPositionX();
2925
2926     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2927     VARIANT backgroundPositionY();
2928
2929     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2930     BSTR backgroundRepeat();
2931
2932     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2933     VARIANT borderLeftColor();
2934
2935     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2936     VARIANT borderTopColor();
2937
2938     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2939     VARIANT borderRightColor();
2940
2941     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2942     VARIANT borderBottomColor();
2943
2944     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2945     BSTR borderTopStyle();
2946
2947     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2948     BSTR borderRightStyle();
2949
2950     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2951     BSTR borderBottomStyle();
2952
2953     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2954     BSTR borderLeftStyle();
2955
2956     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2957     VARIANT borderTopWidth();
2958
2959     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2960     VARIANT borderRightWidth();
2961
2962     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2963     VARIANT borderBottomWidth();
2964
2965     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2966     VARIANT borderLeftWidth();
2967
2968     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2969     VARIANT left();
2970
2971     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2972     VARIANT top();
2973
2974     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2975     VARIANT width();
2976
2977     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2978     VARIANT height();
2979
2980     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2981     VARIANT paddingLeft();
2982
2983     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2984     VARIANT paddingTop();
2985
2986     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2987     VARIANT paddingRight();
2988
2989     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2990     VARIANT paddingBottom();
2991
2992     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2993     BSTR textAlign();
2994
2995     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2996     BSTR textDecoration();
2997
2998     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2999     BSTR display();
3000
3001     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
3002     BSTR visibility();
3003
3004     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
3005     VARIANT zIndex();
3006
3007     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
3008     VARIANT letterSpacing();
3009
3010     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
3011     VARIANT lineHeight();
3012
3013     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
3014     VARIANT textIndent();
3015
3016     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
3017     VARIANT verticalAlign();
3018
3019     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
3020     BSTR backgroundAttachment();
3021
3022     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
3023     VARIANT marginTop();
3024
3025     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3026     VARIANT marginRight();
3027
3028     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3029     VARIANT marginBottom();
3030
3031     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3032     VARIANT marginLeft();
3033
3034     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3035     BSTR clear();
3036
3037     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3038     BSTR listStyleType();
3039
3040     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3041     BSTR listStylePosition();
3042
3043     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3044     BSTR listStyleImage();
3045
3046     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3047     VARIANT clipTop();
3048
3049     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3050     VARIANT clipRight();
3051
3052     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3053     VARIANT clipBottom();
3054
3055     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3056     VARIANT clipLeft();
3057
3058     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3059     BSTR overflow();
3060
3061     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3062     BSTR pageBreakBefore();
3063
3064     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3065     BSTR pageBreakAfter();
3066
3067     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3068     BSTR cursor();
3069
3070     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3071     BSTR tableLayout();
3072
3073     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3074     BSTR borderCollapse();
3075
3076     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3077     BSTR direction();
3078
3079     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3080     BSTR behavior();
3081
3082     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3083     VARIANT getAttribute(
3084             [in] BSTR strAttributeName,
3085             [in, defaultvalue(0)] LONG lFlags);
3086
3087     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3088     BSTR unicodeBidi();
3089
3090     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3091     VARIANT right();
3092
3093     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3094     VARIANT bottom();
3095
3096     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3097     BSTR imeMode();
3098
3099     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3100     BSTR rubyAlign();
3101
3102     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3103     BSTR rubyPosition();
3104
3105     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3106     BSTR rubyOverhang();
3107
3108     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3109     BSTR textAutospace();
3110
3111     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3112     BSTR lineBreak();
3113
3114     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3115     BSTR wordBreak();
3116
3117     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3118     BSTR textJustify();
3119
3120     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3121     BSTR textJustifyTrim();
3122
3123     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3124     VARIANT textKashida();
3125
3126     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3127     BSTR blockDirection();
3128
3129     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3130     VARIANT layoutGridChar();
3131
3132     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3133     VARIANT layoutGridLine();
3134
3135     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3136     BSTR layoutGridMode();
3137
3138     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3139     BSTR layoutGridType();
3140
3141     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3142     BSTR borderStyle();
3143
3144     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3145     BSTR borderColor();
3146
3147     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3148     BSTR borderWidth();
3149
3150     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3151     BSTR padding();
3152
3153     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3154     BSTR margin();
3155
3156     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3157     BSTR accelerator();
3158
3159     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3160     BSTR overflowX();
3161
3162     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3163     BSTR overflowY();
3164
3165     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3166     BSTR textTransform();
3167
3168     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3169     BSTR layoutFlow();
3170
3171     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3172     BSTR wordWrap();
3173
3174     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3175     BSTR textUnderlinePosition();
3176
3177     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3178     VARIANT_BOOL hasLayout();
3179
3180     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3181     VARIANT scrollbarBaseColor();
3182
3183     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3184     VARIANT scrollbarFaceColor();
3185
3186     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3187     VARIANT scrollbar3dLightColor();
3188
3189     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3190     VARIANT scrollbarShadowColor();
3191
3192     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3193     VARIANT scrollbarHighlightColor();
3194
3195     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3196     VARIANT scrollbarDarkShadowColor();
3197
3198     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3199     VARIANT scrollbarArrowColor();
3200
3201     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3202     VARIANT scrollbarTrackColor();
3203
3204     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3205     BSTR writingMode();
3206
3207     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3208     VARIANT zoom();
3209
3210     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3211     BSTR filter();
3212
3213     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3214     BSTR textAlignLast();
3215
3216     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3217     VARIANT textKashidaSpace();
3218
3219     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3220     VARIANT_BOOL isBlock();
3221
3222     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3223     BSTR textOverflow();
3224
3225     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3226     VARIANT minHeight();
3227
3228     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3229     VARIANT wordSpacing();
3230
3231     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3232     BSTR whiteSpace();
3233
3234     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3235     BSTR msInterpolationMode();
3236
3237     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3238     VARIANT maxHeight();
3239
3240     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3241     VARIANT minWidth();
3242
3243     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3244     VARIANT maxWidth();
3245 }
3246
3247 [
3248     noncreatable,
3249     uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3250 ]
3251 coclass HTMLCurrentStyle
3252 {
3253     [default] dispinterface DispHTMLCurrentStyle;
3254     interface IHTMLCurrentStyle;
3255     interface IHTMLCurrentStyle2;
3256     interface IHTMLCurrentStyle3;
3257     interface IHTMLCurrentStyle4;
3258 }
3259
3260 /*****************************************************************************
3261  *    IHTMLRect interface
3262  */
3263 [
3264     odl,
3265     oleautomation,
3266     dual,
3267     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3268 ]
3269 interface IHTMLRect : IDispatch
3270 {
3271     [propput, id(DISPID_IHTMLRECT_LEFT)]
3272     HRESULT left([in] LONG v);
3273
3274     [propget, id(DISPID_IHTMLRECT_LEFT)]
3275     HRESULT left([retval, out] LONG *p);
3276
3277     [propput, id(DISPID_IHTMLRECT_TOP)]
3278     HRESULT top([in] LONG v);
3279
3280     [propget, id(DISPID_IHTMLRECT_TOP)]
3281     HRESULT top([retval, out] LONG *p);
3282
3283     [propput, id(DISPID_IHTMLRECT_RIGHT)]
3284     HRESULT right([in] LONG v);
3285
3286     [propget, id(DISPID_IHTMLRECT_RIGHT)]
3287     HRESULT right([retval, out] LONG *p);
3288
3289     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3290     HRESULT bottom([in] LONG v);
3291
3292     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3293     HRESULT bottom([retval, out] LONG *p);
3294 }
3295
3296 /*****************************************************************************
3297  *    IHTMLRectCollection interface
3298  */
3299 [
3300     odl,
3301     oleautomation,
3302     dual,
3303     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3304 ]
3305 interface IHTMLRectCollection : IDispatch
3306 {
3307     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3308     HRESULT length([retval, out] LONG *p);
3309
3310     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3311     HRESULT _newEnum([retval, out] IUnknown **p);
3312
3313     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3314     HRESULT item(
3315         [in] VARIANT *pvarIndex,
3316         [retval, out] VARIANT *pvarResult);
3317 }
3318
3319 /*****************************************************************************
3320  *    IHTMLDOMNode interface
3321  */
3322 [
3323     odl,
3324     oleautomation,
3325     dual,
3326     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3327 ]
3328 interface IHTMLDOMNode : IDispatch
3329 {
3330     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3331     HRESULT nodeType([retval, out] LONG *p);
3332
3333     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3334     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3335
3336     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3337     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3338
3339     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3340     HRESULT childNodes([retval, out] IDispatch **p);
3341
3342     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3343     HRESULT attributes([retval, out] IDispatch **p);
3344
3345     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3346     HRESULT insertBefore(
3347         [in] IHTMLDOMNode *newChild,
3348         [optional, in] VARIANT refChild,
3349         [retval, out] IHTMLDOMNode **node);
3350
3351     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3352     HRESULT removeChild(
3353         [in] IHTMLDOMNode *oldChild,
3354         [retval, out] IHTMLDOMNode **node);
3355
3356     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3357     HRESULT replaceChild(
3358         [in] IHTMLDOMNode *newChild,
3359         [in] IHTMLDOMNode *oldChild,
3360         [retval, out] IHTMLDOMNode **node);
3361
3362     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3363     HRESULT cloneNode(
3364         [in] VARIANT_BOOL fDeep,
3365         [retval, out] IHTMLDOMNode **clonedNode);
3366
3367     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3368     HRESULT removeNode(
3369         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3370         [retval, out] IHTMLDOMNode **removed);
3371
3372     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3373     HRESULT swapNode(
3374         [in] IHTMLDOMNode *otherNode,
3375         [retval, out] IHTMLDOMNode **swappedNode);
3376
3377     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3378     HRESULT replaceNode(
3379         [in] IHTMLDOMNode *replacement,
3380         [retval, out] IHTMLDOMNode **replaced);
3381
3382     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3383     HRESULT appendChild(
3384         [in] IHTMLDOMNode *newChild,
3385         [retval, out] IHTMLDOMNode **node);
3386
3387     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3388     HRESULT nodeName([retval, out] BSTR *p);
3389
3390     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3391     HRESULT nodeValue([in] VARIANT v);
3392
3393     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3394     HRESULT nodeValue([retval, out] VARIANT *p);
3395
3396     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3397     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3398
3399     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3400     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3401
3402     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3403     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3404
3405     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3406     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3407 }
3408
3409 #define WINE_IHTMLDOMNODE_DISPINTERFACE_DECL                            \
3410     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]                         \
3411     LONG nodeType();                                                    \
3412                                                                         \
3413     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]                       \
3414     IHTMLDOMNode* parentNode();                                         \
3415                                                                         \
3416     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]                             \
3417     VARIANT_BOOL hasChildNodes();                                       \
3418                                                                         \
3419     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]                       \
3420     IDispatch* childNodes();                                            \
3421                                                                         \
3422     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]                       \
3423     IDispatch* attributes();                                            \
3424                                                                         \
3425     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]                              \
3426     IHTMLDOMNode* insertBefore(                                         \
3427             [in] IHTMLDOMNode* newChild,                                \
3428             [optional, in] VARIANT refChild);                           \
3429                                                                         \
3430     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]                               \
3431     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);             \
3432                                                                         \
3433     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]                              \
3434     IHTMLDOMNode* replaceChild(                                         \
3435         [in] IHTMLDOMNode* newChild,                                    \
3436         [in] IHTMLDOMNode* oldChild);                                   \
3437                                                                         \
3438     [id(DISPID_IHTMLDOMNODE_CLONENODE)]                                 \
3439     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);                   \
3440                                                                         \
3441     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]                                \
3442     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep); \
3443                                                                         \
3444     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]                                  \
3445     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);               \
3446                                                                         \
3447     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]                               \
3448     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);          \
3449                                                                         \
3450     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]                               \
3451     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);             \
3452                                                                         \
3453     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]                         \
3454     BSTR nodeName();                                                    \
3455                                                                         \
3456     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3457     void nodeValue(VARIANT v);                                          \
3458                                                                         \
3459     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3460     VARIANT nodeValue();                                                \
3461                                                                         \
3462     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]                       \
3463     IHTMLDOMNode* firstChild();                                         \
3464                                                                         \
3465     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]                        \
3466     IHTMLDOMNode* lastChild();                                          \
3467                                                                         \
3468     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]                  \
3469     IHTMLDOMNode* previousSibling();                                    \
3470                                                                         \
3471     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]                      \
3472     IHTMLDOMNode* nextSibling()
3473
3474 /*****************************************************************************
3475  *    IHTMLDOMNode2 interface
3476  */
3477 [
3478     odl,
3479     oleautomation,
3480     dual,
3481     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3482 ]
3483 interface IHTMLDOMNode2 : IDispatch
3484 {
3485     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3486     HRESULT ownerDocument([retval, out] IDispatch **p);
3487 }
3488
3489 #define WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL           \
3490     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]   \
3491     IDispatch *ownerDocument()
3492
3493 #define WINE_HTMLDOMNODE_DISPINTERFACE_DECL     \
3494     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;       \
3495     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL
3496
3497 /*****************************************************************************
3498  *    IHTMLDOMAttribute interface
3499  */
3500 [
3501     odl,
3502     oleautomation,
3503     dual,
3504     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3505 ]
3506 interface IHTMLDOMAttribute : IDispatch
3507 {
3508     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3509     HRESULT nodeName([retval, out] BSTR *p);
3510
3511     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3512     HRESULT nodeValue([in] VARIANT v);
3513
3514     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3515     HRESULT nodeValue([retval, out] VARIANT *p);
3516
3517     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3518     HRESULT specified([retval, out] VARIANT_BOOL *p);
3519 }
3520
3521 /*****************************************************************************
3522  *    IHTMLDOMAttribute2 interface
3523  */
3524 [
3525     odl,
3526     oleautomation,
3527     dual,
3528     uuid(3050f810-98b5-11cf-bb82-00aa00bdce0b)
3529 ]
3530 interface IHTMLDOMAttribute2 : IDispatch
3531 {
3532     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3533     HRESULT name([retval, out] BSTR *p);
3534
3535     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3536     HRESULT value([in] BSTR v);
3537
3538     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3539     HRESULT value([retval, out] BSTR *p);
3540
3541     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3542     HRESULT expando([retval, out] VARIANT_BOOL *p);
3543
3544     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3545     HRESULT nodeType([retval, out] long *p);
3546
3547     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3548     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3549
3550     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
3551     HRESULT childNodes([retval, out] IDispatch **p);
3552
3553     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
3554     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3555
3556     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
3557     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3558
3559     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
3560     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3561
3562     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
3563     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3564
3565     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
3566     HRESULT attributes([retval, out] IDispatch **p);
3567
3568     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
3569     HRESULT ownerDocument([retval, out] IDispatch **p);
3570
3571     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
3572     HRESULT insertBefore(
3573             [in] IHTMLDOMNode *newChild,
3574             [optional, in] VARIANT refChild,
3575             [retval, out] IHTMLDOMNode **node);
3576
3577     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
3578     HRESULT replaceChild(
3579             [in] IHTMLDOMNode *newChild,
3580             [in] IHTMLDOMNode *oldChild,
3581             [retval, out] IHTMLDOMNode **node);
3582
3583     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
3584     HRESULT removeChild(
3585             [in] IHTMLDOMNode *oldChild,
3586             [retval, out] IHTMLDOMNode **node);
3587
3588     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
3589     HRESULT appendChild(
3590             [in] IHTMLDOMNode *newChild,
3591             [retval, out] IHTMLDOMNode **node);
3592
3593     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
3594     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3595
3596     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
3597     HRESULT cloneNode(
3598             [in] VARIANT_BOOL fDeep,
3599             [retval, out] IHTMLDOMAttribute **clonedNode);
3600 }
3601
3602 /*****************************************************************************
3603  *    IHTMLDOMTextNode interface
3604  */
3605 [
3606     odl,
3607     oleautomation,
3608     dual,
3609     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3610 ]
3611 interface IHTMLDOMTextNode : IDispatch
3612 {
3613     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3614     HRESULT data([in] BSTR v);
3615
3616     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3617     HRESULT data([out, retval] BSTR *p);
3618
3619     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3620     HRESULT toString([out, retval] BSTR *String);
3621
3622     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3623     HRESULT length([out, retval] LONG *p);
3624
3625     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3626     HRESULT splitText(
3627             [in] LONG offset,
3628             [out, retval] IHTMLDOMNode **pRetNode);
3629 }
3630
3631 /*****************************************************************************
3632  *    IHTMLDOMTextNode2 interface
3633  */
3634 [
3635     odl,
3636     oleautomation,
3637     dual,
3638     uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
3639 ]
3640 interface IHTMLDOMTextNode2 : IDispatch
3641 {
3642     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3643     HRESULT substringData([in] LONG offset,[in] LONG Count,[retval, out] BSTR* pbstrsubString);
3644
3645     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3646     HRESULT appendData([in] BSTR bstrstring);
3647
3648     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3649     HRESULT insertData([in] LONG offset,[in] BSTR bstrstring);
3650
3651     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3652     HRESULT deleteData([in] LONG offset,[in] LONG Count);
3653
3654     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3655     HRESULT replaceData([in] LONG offset,[in] LONG Count,[in] BSTR bstrstring);
3656 }
3657
3658 [
3659     noncreatable,
3660     uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
3661 ]
3662 coclass HTMLDOMTextNode
3663 {
3664     [default]           dispinterface DispHTMLDOMTextNode;
3665                         interface IHTMLDOMTextNode;
3666                         interface IHTMLDOMTextNode2;
3667                         interface IHTMLDOMNode;
3668                         interface IHTMLDOMNode2;
3669 }
3670
3671 /*****************************************************************************
3672  *    IHTMLDOMImplementation interface
3673  */
3674 [
3675     odl,
3676     oleautomation,
3677     dual,
3678     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3679 ]
3680 interface IHTMLDOMImplementation : IDispatch
3681 {
3682     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3683     HRESULT hasFeature(
3684         [in] BSTR bstrfeature,
3685         [optional, in] VARIANT version,
3686         [retval, out] VARIANT_BOOL *pfHasFeature);
3687 }
3688
3689 /*****************************************************************************
3690  *    DispHTMLDOMAttribute dispinterface
3691  */
3692 [
3693     hidden,
3694     uuid(3050f564-98b5-11cf-bb82-00aa00bdce0b)
3695 ]
3696 dispinterface DispHTMLDOMAttribute
3697 {
3698  properties:
3699     methods:
3700     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3701     BSTR nodeName();
3702
3703     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3704     void nodeValue(VARIANT v);
3705
3706     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3707     VARIANT nodeValue();
3708
3709     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3710     VARIANT_BOOL specified();
3711
3712     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3713     BSTR name();
3714
3715     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3716     void value(BSTR v);
3717
3718     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3719     BSTR value();
3720
3721     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3722     VARIANT_BOOL expando();
3723
3724     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3725     long nodeType();
3726
3727     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3728     IHTMLDOMNode *parentNode();
3729
3730     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
3731     IDispatch *childNodes();
3732
3733     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
3734     IHTMLDOMNode *firstChild();
3735
3736     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
3737     IHTMLDOMNode *lastChild();
3738
3739     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
3740     IHTMLDOMNode *previousSibling();
3741
3742     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
3743     IHTMLDOMNode *nextSibling();
3744
3745     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
3746     IDispatch *attributes();
3747
3748     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
3749     IDispatch *ownerDocument();
3750
3751     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
3752     IHTMLDOMNode *insertBefore(
3753             [in] IHTMLDOMNode *newChild,
3754             [optional, in] VARIANT refChild);
3755
3756     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
3757     IHTMLDOMNode *replaceChild(
3758             [in] IHTMLDOMNode *newChild,
3759             [in] IHTMLDOMNode *oldChild);
3760
3761     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
3762     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
3763
3764     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
3765     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
3766
3767     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
3768     VARIANT_BOOL hasChildNodes();
3769
3770     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
3771     IHTMLDOMAttribute *cloneNode([in] VARIANT_BOOL fDeep);
3772
3773     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
3774     void ie8_nodeValue(VARIANT v);
3775
3776     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
3777     VARIANT ie8_nodeValue();
3778
3779     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
3780     void ie8_value(BSTR v);
3781
3782     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
3783     BSTR ie8_value();
3784
3785     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_SPECIFIED)]
3786     VARIANT_BOOL ie8_specified();
3787
3788     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_OWNERELEMENT)]
3789     IHTMLElement2 *ownerElement();
3790
3791     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
3792 }
3793
3794 /*****************************************************************************
3795  *    IHTMLDocumentCompatibleInfo interface
3796  */
3797 [
3798     odl,
3799     oleautomation,
3800     dual,
3801     uuid(3051041a-98b5-11cf-bb82-00aa00bdce0b)
3802 ]
3803 interface IHTMLDocumentCompatibleInfo : IDispatch
3804 {
3805     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_USERAGENT)]
3806     HRESULT userAgent([retval, out] BSTR *p);
3807
3808     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_VERSION)]
3809     HRESULT version([retval, out] BSTR *p);
3810 }
3811
3812 /*****************************************************************************
3813  *    IHTMLDocumentCompatibleInfoCollection interface
3814  */
3815 [
3816     odl,
3817     oleautomation,
3818     dual,
3819     uuid(30510418-98b5-11cf-bb82-00aa00bdce0b)
3820 ]
3821 interface IHTMLDocumentCompatibleInfoCollection : IDispatch
3822 {
3823     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_LENGTH)]
3824     HRESULT length([retval, out] long *p);
3825
3826     [id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_ITEM)]
3827     HRESULT item([in] long i, [retval, out]IHTMLDocumentCompatibleInfo **p);
3828 }
3829
3830 /*****************************************************************************
3831  *    DispHTMLDOMTextNode dispinterface
3832  */
3833 [
3834     hidden,
3835     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
3836 ]
3837 dispinterface DispHTMLDOMTextNode
3838 {
3839 properties:
3840 methods:
3841     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3842     void data(BSTR v);
3843
3844     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3845     BSTR data();
3846
3847     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3848     BSTR toString();
3849
3850     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3851     LONG length();
3852
3853     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3854     IHTMLDOMNode *splitText([in] LONG offset);
3855
3856     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3857     BSTR substringData(
3858             [in] LONG offset,
3859             [in] LONG Count);
3860
3861     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3862     void appendData([in] BSTR bstrstring);
3863
3864     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3865     void insertData(
3866             [in] LONG offset,
3867             [in] BSTR bstrstring);
3868
3869     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3870     void deleteData(
3871             [in] LONG offset,
3872             [in] LONG Count);
3873
3874     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3875     void replaceData(
3876             [in] LONG offset,
3877             [in] LONG Count,
3878             [in] BSTR bstrstring);
3879
3880     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
3881 }
3882
3883 /*****************************************************************************
3884  *    IHTMLAttributeCollection3 interface
3885  */
3886 [
3887     odl,
3888     oleautomation,
3889     dual,
3890     uuid(30510469-98b5-11cf-bb82-00aa00bdce0b)
3891 ]
3892 interface IHTMLAttributeCollection3 : IDispatch
3893 {
3894     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
3895     HRESULT getNamedItem(
3896             [in] BSTR bstrName,
3897             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3898
3899     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
3900     HRESULT setNamedItem(
3901             [in] IHTMLDOMAttribute *pNodeIn,
3902             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3903
3904     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
3905     HRESULT removeNamedItem(
3906             [in] BSTR bstrName,
3907             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3908
3909     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
3910     HRESULT item(
3911             [in] long index,
3912             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3913
3914     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
3915     HRESULT length([retval, out] long *p);
3916 }
3917
3918 /*****************************************************************************
3919  *    IHTMLDOMChildrenCollection interface
3920  */
3921 [
3922     odl,
3923     oleautomation,
3924     dual,
3925     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
3926 ]
3927 interface IHTMLDOMChildrenCollection : IDispatch
3928 {
3929     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3930     HRESULT length([out, retval] LONG *p);
3931
3932     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3933     HRESULT _newEnum([out, retval] IUnknown **p);
3934
3935     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3936     HRESULT item(
3937             [in] LONG index,
3938             [out, retval] IDispatch **ppItem);
3939 }
3940
3941 /*****************************************************************************
3942  *    DispDOMChildrenCollection dispinterface
3943  */
3944 [
3945     hidden,
3946     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
3947 ]
3948 dispinterface DispDOMChildrenCollection
3949 {
3950 properties:
3951 methods:
3952     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3953     LONG length();
3954
3955     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3956     IUnknown *_newEnum();
3957
3958     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3959     IDispatch *item([in] LONG index);
3960 }
3961
3962 interface IHTMLElementCollection;
3963
3964 /*****************************************************************************
3965  *    IHTMLElement interface
3966  */
3967 [
3968     odl,
3969     dual,
3970     oleautomation,
3971     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
3972 ]
3973 interface IHTMLElement : IDispatch
3974 {
3975     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3976     HRESULT setAttribute(
3977         [in] BSTR strAttributeName,
3978         [in] VARIANT AttributeValue,
3979         [defaultvalue(1), in] LONG lFlags);
3980
3981     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3982     HRESULT getAttribute(
3983         [in] BSTR strAttributeName,
3984         [defaultvalue(0), in] LONG lFlags,
3985         [retval, out] VARIANT *AttributeValue);
3986
3987     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3988     HRESULT removeAttribute(
3989         [in] BSTR strAttributeName,
3990         [defaultvalue(1), in] LONG lFlags,
3991         [retval, out] VARIANT_BOOL *pfSuccess);
3992
3993     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3994     HRESULT className([in] BSTR v);
3995
3996     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3997     HRESULT className([retval, out] BSTR *p);
3998
3999     [propput, id(DISPID_IHTMLELEMENT_ID)]
4000     HRESULT id([in] BSTR v);
4001
4002     [propget, id(DISPID_IHTMLELEMENT_ID)]
4003     HRESULT id([retval, out] BSTR *p);
4004
4005     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4006     HRESULT tagName([retval, out] BSTR *p);
4007
4008     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4009     HRESULT parentElement([retval, out] IHTMLElement **p);
4010
4011     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
4012     HRESULT style([retval, out] IHTMLStyle **p);
4013
4014     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
4015     HRESULT onhelp([in] VARIANT v);
4016
4017     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
4018     HRESULT onhelp([retval, out] VARIANT *p);
4019
4020     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
4021     HRESULT onclick([in] VARIANT v);
4022
4023     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
4024     HRESULT onclick([retval, out] VARIANT *p);
4025
4026     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4027     HRESULT ondblclick([in] VARIANT v);
4028
4029     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4030     HRESULT ondblclick([retval, out] VARIANT *p);
4031
4032     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4033     HRESULT onkeydown([in] VARIANT v);
4034
4035     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4036     HRESULT onkeydown([retval, out] VARIANT *p);
4037
4038     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4039     HRESULT onkeyup([in] VARIANT v);
4040
4041     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4042     HRESULT onkeyup([retval, out] VARIANT *p);
4043
4044     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4045     HRESULT onkeypress([in] VARIANT v);
4046
4047     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4048     HRESULT onkeypress([retval, out] VARIANT *p);
4049
4050     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4051     HRESULT onmouseout([in] VARIANT v);
4052
4053     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4054     HRESULT onmouseout([retval, out] VARIANT *p);
4055
4056     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4057     HRESULT onmouseover([in] VARIANT v);
4058
4059     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4060     HRESULT onmouseover([retval, out] VARIANT *p);
4061
4062     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4063     HRESULT onmousemove([in] VARIANT v);
4064
4065     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4066     HRESULT onmousemove([retval, out] VARIANT *p);
4067
4068     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4069     HRESULT onmousedown([in] VARIANT v);
4070
4071     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4072     HRESULT onmousedown([retval, out] VARIANT *p);
4073
4074     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4075     HRESULT onmouseup([in] VARIANT v);
4076
4077     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4078     HRESULT onmouseup([retval, out] VARIANT *p);
4079
4080     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4081     HRESULT document([retval, out] IDispatch **p);
4082
4083     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
4084     HRESULT title([in] BSTR v);
4085
4086     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
4087     HRESULT title([retval, out] BSTR *p);
4088
4089     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4090     HRESULT language([in] BSTR v);
4091
4092     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4093     HRESULT language([retval, out] BSTR *p);
4094
4095     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4096     HRESULT onselectstart([in] VARIANT v);
4097
4098     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4099     HRESULT onselectstart([retval, out] VARIANT *p);
4100
4101     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4102     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
4103
4104     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4105     HRESULT contains(
4106         [in] IHTMLElement *pChild,
4107         [retval, out] VARIANT_BOOL *pfResult);
4108
4109     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
4110     HRESULT sourceIndex([retval, out] LONG *p);
4111
4112     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4113     HRESULT recordNumber([retval, out] VARIANT *p);
4114
4115     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4116     HRESULT lang([in] BSTR v);
4117
4118     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4119     HRESULT lang([retval, out] BSTR *p);
4120
4121     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4122     HRESULT offsetLeft([retval, out] LONG *p);
4123
4124     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4125     HRESULT offsetTop([retval, out] LONG *p);
4126
4127     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4128     HRESULT offsetWidth([retval, out] LONG *p);
4129
4130     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4131     HRESULT offsetHeight([retval, out] LONG *p);
4132
4133     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4134     HRESULT offsetParent([retval, out] IHTMLElement **p);
4135
4136     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4137     HRESULT innerHTML([in] BSTR v);
4138
4139     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4140     HRESULT innerHTML([retval, out] BSTR *p);
4141
4142     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4143     HRESULT innerText([in] BSTR v);
4144
4145     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4146     HRESULT innerText([retval, out] BSTR *p);
4147
4148     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4149     HRESULT outerHTML([in] BSTR v);
4150
4151     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4152     HRESULT outerHTML([retval, out] BSTR *p);
4153
4154     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4155     HRESULT outerText([in] BSTR v);
4156
4157     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4158     HRESULT outerText([retval, out] BSTR *p);
4159
4160     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4161     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
4162
4163     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4164     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
4165
4166     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4167     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
4168
4169     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4170     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
4171
4172     [id(DISPID_IHTMLELEMENT_CLICK)]
4173     HRESULT click();
4174
4175     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4176     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
4177
4178     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4179     HRESULT ondragstart([in] VARIANT v);
4180
4181     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4182     HRESULT ondragstart([retval, out] VARIANT *p);
4183
4184     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4185     HRESULT toString([retval, out] BSTR *String);
4186
4187     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4188     HRESULT onbeforeupdate([in] VARIANT v);
4189
4190     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4191     HRESULT onbeforeupdate([retval, out] VARIANT *p);
4192
4193     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4194     HRESULT onafterupdate([in] VARIANT v);
4195
4196     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4197     HRESULT onafterupdate([retval, out] VARIANT *p);
4198
4199     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4200     HRESULT onerrorupdate([in] VARIANT v);
4201
4202     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4203     HRESULT onerrorupdate([retval, out] VARIANT *p);
4204
4205     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4206     HRESULT onrowexit([in] VARIANT v);
4207
4208     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4209     HRESULT onrowexit([retval, out] VARIANT *p);
4210
4211     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4212     HRESULT onrowenter([in] VARIANT v);
4213
4214     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4215     HRESULT onrowenter([retval, out] VARIANT *p);
4216
4217     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4218     HRESULT ondatasetchanged([in] VARIANT v);
4219
4220     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4221     HRESULT ondatasetchanged([retval, out] VARIANT *p);
4222
4223     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4224     HRESULT ondataavailable([in] VARIANT v);
4225
4226     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4227     HRESULT ondataavailable([retval, out] VARIANT *p);
4228
4229     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4230     HRESULT ondatasetcomplete([in] VARIANT v);
4231
4232     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4233     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
4234
4235     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4236     HRESULT onfilterchange([in] VARIANT v);
4237
4238     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4239     HRESULT onfilterchange([retval, out] VARIANT *p);
4240
4241     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4242     HRESULT children([retval, out] IDispatch **p);
4243
4244     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4245     HRESULT all([retval, out] IDispatch **p);
4246 }
4247
4248 #define WINE_IHTMLELEMENT_DISPINTERFACE_DECL                            \
4249     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]                              \
4250     void setAttribute(                                                  \
4251         [in] BSTR strAttributeName,                                     \
4252         [in] VARIANT AttValue,                                          \
4253         [defaultvalue(1), in] LONG lFlags);                             \
4254                                                                         \
4255     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]                              \
4256     VARIANT getAttribute(                                               \
4257         [in] BSTR strAttributeName,                                     \
4258         [defaultvalue(0), in] LONG lFlags);                             \
4259                                                                         \
4260     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]                           \
4261     VARIANT_BOOL removeAttribute(                                       \
4262         [in] BSTR strAttributeName,                                     \
4263         [defaultvalue(1), in] LONG lFlags);                             \
4264                                                                         \
4265     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4266     void className(BSTR v);                                             \
4267                                                                         \
4268     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4269     BSTR className();                                                   \
4270                                                                         \
4271     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4272     void id(BSTR v);                                                    \
4273                                                                         \
4274     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4275     BSTR id();                                                          \
4276                                                                         \
4277     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]                          \
4278     BSTR tagName();                                                     \
4279                                                                         \
4280     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]                    \
4281     IHTMLElement *parentElement();                                      \
4282                                                                         \
4283     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]              \
4284     IHTMLStyle *style();                                                \
4285                                                                         \
4286     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4287     void onhelp(VARIANT v);                                             \
4288                                                                         \
4289     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4290     VARIANT onhelp();                                                   \
4291                                                                         \
4292     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4293     void onclick(VARIANT v);                                            \
4294                                                                         \
4295     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4296     VARIANT onclick();                                                  \
4297                                                                         \
4298     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4299     void ondblclick(VARIANT v);                                         \
4300                                                                         \
4301     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4302     VARIANT ondblclick();                                               \
4303                                                                         \
4304     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4305     void onkeydown(VARIANT v);                                          \
4306                                                                         \
4307     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4308     VARIANT onkeydown();                                                \
4309                                                                         \
4310     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4311     void onkeyup(VARIANT v);                                            \
4312                                                                         \
4313     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4314     VARIANT onkeyup();                                                  \
4315                                                                         \
4316     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4317     void onkeypress(VARIANT v);                                         \
4318                                                                         \
4319     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4320     VARIANT onkeypress();                                               \
4321                                                                         \
4322     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4323     void onmouseout(VARIANT v);                                         \
4324                                                                         \
4325     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4326     VARIANT onmouseout();                                               \
4327                                                                         \
4328     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4329     void onmouseover(VARIANT v);                                        \
4330                                                                         \
4331     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4332     VARIANT onmouseover();                                              \
4333                                                                         \
4334     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4335     void onmousemove(VARIANT v);                                        \
4336                                                                         \
4337     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4338     VARIANT onmousemove();                                              \
4339                                                                         \
4340     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4341     void onmousedown(VARIANT v);                                        \
4342                                                                         \
4343     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4344     VARIANT onmousedown();                                              \
4345                                                                         \
4346     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4347     void onmouseup(VARIANT v);                                          \
4348                                                                         \
4349     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4350     VARIANT onmouseup();                                                \
4351                                                                         \
4352     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();  \
4353                                                                         \
4354     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4355     void title(BSTR v);                                                 \
4356                                                                         \
4357     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4358     BSTR title();                                                       \
4359                                                                         \
4360     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4361     void language(BSTR v);                                              \
4362                                                                         \
4363     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4364     BSTR language();                                                    \
4365                                                                         \
4366     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4367     void onselectstart(VARIANT v);                                      \
4368                                                                         \
4369     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4370     VARIANT onselectstart();                                            \
4371                                                                         \
4372     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]                            \
4373     void scrollIntoView([optional, in] VARIANT varargStart);            \
4374                                                                         \
4375     [id(DISPID_IHTMLELEMENT_CONTAINS)]                                  \
4376     VARIANT_BOOL contains([in] IHTMLElement* pChild);                   \
4377                                                                         \
4378     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]            \
4379     LONG sourceIndex();                                                 \
4380                                                                         \
4381     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]                     \
4382     VARIANT recordNumber();                                             \
4383                                                                         \
4384     [propput, id(DISPID_IHTMLELEMENT_LANG)]                             \
4385     void lang(BSTR v);                                                  \
4386                                                                         \
4387     [propget, id(DISPID_IHTMLELEMENT_LANG)]                             \
4388     BSTR lang();                                                        \
4389                                                                         \
4390     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]                       \
4391     LONG offsetLeft();                                                  \
4392                                                                         \
4393     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]                        \
4394     LONG offsetTop();                                                   \
4395                                                                         \
4396     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]                      \
4397     LONG offsetWidth();                                                 \
4398                                                                         \
4399     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]                     \
4400     LONG offsetHeight();                                                \
4401                                                                         \
4402     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]                     \
4403     IHTMLElement* offsetParent();                                       \
4404                                                                         \
4405     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4406     void innerHTML(BSTR v);                                             \
4407                                                                         \
4408     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4409     BSTR innerHTML();                                                   \
4410                                                                         \
4411     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4412     void innerText(BSTR v);                                             \
4413                                                                         \
4414     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4415     BSTR innerText();                                                   \
4416                                                                         \
4417     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4418     void outerHTML(BSTR v);                                             \
4419                                                                         \
4420     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4421     BSTR outerHTML();                                                   \
4422                                                                         \
4423     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4424     void outerText(BSTR v);                                             \
4425                                                                         \
4426     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4427     BSTR outerText();                                                   \
4428                                                                         \
4429     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]                        \
4430     void insertAdjacentHTML(                                            \
4431         [in] BSTR where,                                                \
4432         [in] BSTR html);                                                \
4433                                                                         \
4434     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]                        \
4435     void insertAdjacentText(                                            \
4436         [in] BSTR where,                                                \
4437         [in] BSTR text);                                                \
4438                                                                         \
4439     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]                   \
4440     IHTMLElement* parentTextEdit();                                     \
4441                                                                         \
4442     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]                       \
4443     VARIANT_BOOL isTextEdit();                                          \
4444                                                                         \
4445     [id(DISPID_IHTMLELEMENT_CLICK)]                                     \
4446     void click();                                                       \
4447                                                                         \
4448     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]                          \
4449     IHTMLFiltersCollection* filters();                                  \
4450                                                                         \
4451     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4452     void ondragstart(VARIANT v);                                        \
4453                                                                         \
4454     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4455     VARIANT ondragstart();                                              \
4456                                                                         \
4457     [id(DISPID_IHTMLELEMENT_TOSTRING)]                                  \
4458     BSTR toString();                                                    \
4459                                                                         \
4460     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4461     void onbeforeupdate(VARIANT v);                                     \
4462                                                                         \
4463     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4464     VARIANT onbeforeupdate();                                           \
4465                                                                         \
4466     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4467     void onafterupdate(VARIANT v);                                      \
4468                                                                         \
4469     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4470     VARIANT onafterupdate();                                            \
4471                                                                         \
4472     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4473     void onerrorupdate(VARIANT v);                                      \
4474                                                                         \
4475     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4476     VARIANT onerrorupdate();                                            \
4477                                                                         \
4478     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4479     void onrowexit(VARIANT v);                                          \
4480                                                                         \
4481     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4482     VARIANT onrowexit();                                                \
4483                                                                         \
4484     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4485     void onrowenter(VARIANT v);                                         \
4486                                                                         \
4487     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4488     VARIANT onrowenter();                                               \
4489                                                                         \
4490     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4491     void ondatasetchanged(VARIANT v);                                   \
4492                                                                         \
4493     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4494     VARIANT ondatasetchanged();                                         \
4495                                                                         \
4496     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4497     void ondataavailable(VARIANT v);                                    \
4498                                                                         \
4499     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4500     VARIANT ondataavailable();                                          \
4501                                                                         \
4502     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4503     void ondatasetcomplete(VARIANT v);                                  \
4504                                                                         \
4505     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4506     VARIANT ondatasetcomplete();                                        \
4507                                                                         \
4508     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4509     void onfilterchange(VARIANT v);                                     \
4510                                                                         \
4511     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4512     VARIANT onfilterchange();                                           \
4513                                                                         \
4514     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]                         \
4515     IDispatch* children();                                              \
4516                                                                         \
4517     [propget, id(DISPID_IHTMLELEMENT_ALL)]                              \
4518     IDispatch* all()
4519
4520 /*****************************************************************************
4521  *    IHTMLElement2 interface
4522  */
4523 [
4524     odl,
4525     oleautomation,
4526     dual,
4527     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
4528 ]
4529 interface IHTMLElement2 : IDispatch
4530 {
4531     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4532     HRESULT scopeName([retval, out] BSTR *p);
4533
4534     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4535     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
4536
4537     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4538     HRESULT releaseCapture();
4539
4540     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4541     HRESULT onlosecapture([in] VARIANT v);
4542
4543     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4544     HRESULT onlosecapture([retval, out] VARIANT *p);
4545
4546     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4547     HRESULT componentFromPoint(
4548         [in] LONG x,
4549         [in] LONG y,
4550         [retval, out] BSTR *component);
4551
4552     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4553     HRESULT doScroll([optional, in] VARIANT component);
4554
4555     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4556     HRESULT onscroll([in] VARIANT v);
4557
4558     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4559     HRESULT onscroll([retval, out] VARIANT *p);
4560
4561     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4562     HRESULT ondrag([in] VARIANT v);
4563
4564     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4565     HRESULT ondrag([retval, out] VARIANT *p);
4566
4567     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4568     HRESULT ondragend([in] VARIANT v);
4569
4570     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4571     HRESULT ondragend([retval, out] VARIANT *p);
4572
4573     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4574     HRESULT ondragenter([in] VARIANT v);
4575
4576     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4577     HRESULT ondragenter([retval, out] VARIANT *p);
4578
4579     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4580     HRESULT ondragover([in] VARIANT v);
4581
4582     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4583     HRESULT ondragover([retval, out] VARIANT *p);
4584
4585     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4586     HRESULT ondragleave([in] VARIANT v);
4587
4588     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4589     HRESULT ondragleave([retval, out] VARIANT *p);
4590
4591     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4592     HRESULT ondrop([in] VARIANT v);
4593
4594     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4595     HRESULT ondrop([retval, out] VARIANT *p);
4596
4597     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4598     HRESULT onbeforecut([in] VARIANT v);
4599
4600     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4601     HRESULT onbeforecut([retval, out] VARIANT *p);
4602
4603     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4604     HRESULT oncut([in] VARIANT v);
4605
4606     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4607     HRESULT oncut([retval, out] VARIANT *p);
4608
4609     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4610     HRESULT onbeforecopy([in] VARIANT v);
4611
4612     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4613     HRESULT onbeforecopy([retval, out] VARIANT *p);
4614
4615     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4616     HRESULT oncopy([in] VARIANT v);
4617
4618     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4619     HRESULT oncopy([retval, out] VARIANT *p);
4620
4621     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4622     HRESULT onbeforepaste([in] VARIANT v);
4623
4624     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4625     HRESULT onbeforepaste([retval, out] VARIANT *p);
4626
4627     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4628     HRESULT onpaste([in] VARIANT v);
4629
4630     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4631     HRESULT onpaste([retval, out] VARIANT *p);
4632
4633     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4634     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
4635
4636     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4637     HRESULT onpropertychange([in] VARIANT v);
4638
4639     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4640     HRESULT onpropertychange([retval, out] VARIANT *p);
4641
4642     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4643     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
4644
4645     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4646     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
4647
4648     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4649     HRESULT setExpression(
4650         [in] BSTR propname,
4651         [in] BSTR expression,
4652         [defaultvalue(""), in] BSTR language);
4653
4654     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4655     HRESULT getExpression(
4656         [in] BSTR propname,
4657         [retval, out] VARIANT *expression);
4658
4659     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4660     HRESULT removeExpression(
4661         [in] BSTR propname,
4662         [retval, out] VARIANT_BOOL *pfSuccess);
4663
4664     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4665     HRESULT tabIndex([in] short v);
4666
4667     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4668     HRESULT tabIndex([retval, out] short *p);
4669
4670     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4671     HRESULT focus();
4672
4673     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4674     HRESULT accessKey([in] BSTR v);
4675
4676     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4677     HRESULT accessKey([retval, out] BSTR *p);
4678
4679     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4680     HRESULT onblur([in] VARIANT v);
4681
4682     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4683     HRESULT onblur([retval, out] VARIANT *p);
4684
4685     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4686     HRESULT onfocus([in] VARIANT v);
4687
4688     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4689     HRESULT onfocus([retval, out] VARIANT *p);
4690
4691     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4692     HRESULT onresize([in] VARIANT v);
4693
4694     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4695     HRESULT onresize([retval, out] VARIANT *p);
4696
4697     [id(DISPID_IHTMLELEMENT2_BLUR)]
4698     HRESULT blur();
4699
4700     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4701     HRESULT addFilter([in] IUnknown *pUnk);
4702
4703     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4704     HRESULT removeFilter([in] IUnknown *pUnk);
4705
4706     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4707     HRESULT clientHeight([retval, out] LONG *p);
4708
4709     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4710     HRESULT clientWidth([retval, out] LONG *p);
4711
4712     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4713     HRESULT clientTop([retval, out] LONG *p);
4714
4715     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4716     HRESULT clientLeft([retval, out] LONG *p);
4717
4718     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4719     HRESULT attachEvent(
4720         [in] BSTR event,
4721         [in] IDispatch *pDisp,
4722         [retval, out] VARIANT_BOOL *pfResult);
4723
4724     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4725     HRESULT detachEvent(
4726         [in] BSTR event,
4727         [in] IDispatch *pDisp);
4728
4729     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4730     HRESULT readyState([retval, out] VARIANT *p);
4731
4732     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4733     HRESULT onreadystatechange([in] VARIANT v);
4734
4735     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4736     HRESULT onreadystatechange([retval, out] VARIANT *p);
4737
4738     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4739     HRESULT onrowsdelete([in] VARIANT v);
4740
4741     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4742     HRESULT onrowsdelete([retval, out] VARIANT *p);
4743
4744     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4745     HRESULT onrowsinserted([in] VARIANT v);
4746
4747     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4748     HRESULT onrowsinserted([retval, out] VARIANT *p);
4749
4750     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4751     HRESULT oncellchange([in] VARIANT v);
4752
4753     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4754     HRESULT oncellchange([retval, out] VARIANT *p);
4755
4756     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4757     HRESULT dir([in] BSTR v);
4758
4759     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4760     HRESULT dir([retval, out] BSTR *p);
4761
4762     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
4763     HRESULT createControlRange([retval, out] IDispatch **range);
4764
4765     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
4766     HRESULT scrollHeight([retval, out] LONG *p);
4767
4768     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
4769     HRESULT scrollWidth([retval, out] LONG *p);
4770
4771     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4772     HRESULT scrollTop([in] LONG v);
4773
4774     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4775     HRESULT scrollTop([retval, out] LONG *p);
4776
4777     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4778     HRESULT scrollLeft([in] LONG v);
4779
4780     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4781     HRESULT scrollLeft([retval, out] LONG *p);
4782
4783     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
4784     HRESULT clearAttributes();
4785
4786     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
4787     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
4788
4789     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4790     HRESULT oncontextmenu([in] VARIANT v);
4791
4792     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4793     HRESULT oncontextmenu([retval, out] VARIANT *p);
4794
4795     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
4796     HRESULT insertAdjacentElement(
4797         [in] BSTR where,
4798         [in] IHTMLElement *insertedElement,
4799         [retval, out] IHTMLElement **inserted);
4800
4801     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
4802     HRESULT applyElement(
4803         [in] IHTMLElement *apply,
4804         [in] BSTR where,
4805         [retval, out] IHTMLElement **applied);
4806
4807     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
4808     HRESULT getAdjacentText(
4809         [in] BSTR where,
4810         [retval, out] BSTR *text);
4811
4812     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
4813     HRESULT replaceAdjacentText(
4814         [in] BSTR where,
4815         [in] BSTR newText,
4816         [retval, out] BSTR *oldText);
4817
4818     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
4819     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
4820
4821     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
4822     HRESULT addBehavior(
4823         [in] BSTR bstrUrl,
4824         [optional, in] VARIANT *pvarFactory,
4825         [retval, out] LONG *pCookie);
4826
4827     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
4828     HRESULT removeBehavior(
4829         [in] LONG cookie,
4830         [retval, out] VARIANT_BOOL *pfResult);
4831
4832     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
4833     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
4834
4835     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
4836     HRESULT behaviorUrns([retval, out] IDispatch **p);
4837
4838     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
4839     HRESULT tagUrn([in] BSTR v);
4840
4841     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
4842     HRESULT tagUrn([retval, out] BSTR *p);
4843
4844     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4845     HRESULT onbeforeeditfocus([in] VARIANT v);
4846
4847     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4848     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
4849
4850     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
4851     HRESULT readyStateValue([retval, out] LONG *p);
4852
4853     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
4854     HRESULT getElementsByTagName(
4855         [in] BSTR v,
4856         [retval, out] IHTMLElementCollection **pelColl);
4857 }
4858
4859 #define WINE_IHTMLELEMENT2_DISPINTERFACE_DECL                           \
4860     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]                       \
4861     BSTR scopeName();                                                   \
4862                                                                         \
4863     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]                               \
4864     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture); \
4865                                                                         \
4866     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]                           \
4867     void releaseCapture();                                              \
4868                                                                         \
4869     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
4870     void onlosecapture(VARIANT v);                                      \
4871                                                                         \
4872     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
4873     VARIANT onlosecapture();                                            \
4874                                                                         \
4875     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]                       \
4876     BSTR componentFromPoint([in] LONG x,[in] LONG y);                   \
4877                                                                         \
4878     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]                                 \
4879     void doScroll([optional, in] VARIANT component);                    \
4880                                                                         \
4881     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
4882     void onscroll(VARIANT v);                                           \
4883                                                                         \
4884     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
4885     VARIANT onscroll();                                                 \
4886                                                                         \
4887     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
4888     void ondrag(VARIANT v);                                             \
4889                                                                         \
4890     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
4891     VARIANT ondrag();                                                   \
4892                                                                         \
4893     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
4894     void ondragend(VARIANT v);                                          \
4895                                                                         \
4896     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
4897     VARIANT ondragend();                                                \
4898                                                                         \
4899     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
4900     void ondragenter(VARIANT v);                                        \
4901                                                                         \
4902     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
4903     VARIANT ondragenter();                                              \
4904                                                                         \
4905     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
4906     void ondragover(VARIANT v);                                         \
4907                                                                         \
4908     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
4909     VARIANT ondragover();                                               \
4910                                                                         \
4911     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
4912     void ondragleave(VARIANT v);                                        \
4913                                                                         \
4914     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
4915     VARIANT ondragleave();                                              \
4916                                                                         \
4917     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
4918     void ondrop(VARIANT v);                                             \
4919                                                                         \
4920     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
4921     VARIANT ondrop();                                                   \
4922                                                                         \
4923     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
4924     void onbeforecut(VARIANT v);                                        \
4925                                                                         \
4926     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
4927     VARIANT onbeforecut();                                              \
4928                                                                         \
4929     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
4930     void oncut(VARIANT v);                                              \
4931                                                                         \
4932     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
4933     VARIANT oncut();                                                    \
4934                                                                         \
4935     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
4936     void onbeforecopy(VARIANT v);                                       \
4937                                                                         \
4938     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
4939     VARIANT onbeforecopy();                                             \
4940                                                                         \
4941     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
4942     void oncopy(VARIANT v);                                             \
4943                                                                         \
4944     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
4945     VARIANT oncopy();                                                   \
4946                                                                         \
4947     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
4948     void onbeforepaste(VARIANT v);                                      \
4949                                                                         \
4950     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
4951     VARIANT onbeforepaste();                                            \
4952                                                                         \
4953     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
4954     void onpaste(VARIANT v);                                            \
4955                                                                         \
4956     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
4957     VARIANT onpaste();                                                  \
4958                                                                         \
4959     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]      \
4960     IHTMLCurrentStyle* currentStyle();                                  \
4961                                                                         \
4962     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
4963     void onpropertychange(VARIANT v);                                   \
4964                                                                         \
4965     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
4966     VARIANT onpropertychange();                                         \
4967                                                                         \
4968     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]                           \
4969     IHTMLRectCollection* getClientRects();                              \
4970                                                                         \
4971     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]                    \
4972     IHTMLRect* getBoundingClientRect();                                 \
4973                                                                         \
4974     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]                            \
4975     void setExpression(                                                 \
4976         [in] BSTR propname,                                             \
4977         [in] BSTR expr,                                                 \
4978         [defaultvalue(""), in] BSTR lang);                              \
4979                                                                         \
4980     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]                            \
4981     VARIANT getExpression([in] BSTR propname);                          \
4982                                                                         \
4983     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]                         \
4984     VARIANT_BOOL removeExpression([in] BSTR propname);                  \
4985                                                                         \
4986     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
4987     void tabIndex(short v);                                             \
4988                                                                         \
4989     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
4990     short tabIndex();                                                   \
4991                                                                         \
4992     [id(DISPID_IHTMLELEMENT2_FOCUS)]                                    \
4993     void focus();                                                       \
4994                                                                         \
4995     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
4996     void accessKey(BSTR v);                                             \
4997                                                                         \
4998     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
4999     BSTR accessKey();                                                   \
5000                                                                         \
5001     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5002     void onblur(VARIANT v);                                             \
5003                                                                         \
5004     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5005     VARIANT onblur();                                                   \
5006                                                                         \
5007     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5008     void onfocus(VARIANT v);                                            \
5009                                                                         \
5010     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5011     VARIANT onfocus();                                                  \
5012                                                                         \
5013     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5014     void onresize(VARIANT v);                                           \
5015                                                                         \
5016     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5017     VARIANT onresize();                                                 \
5018                                                                         \
5019     [id(DISPID_IHTMLELEMENT2_BLUR)]                                     \
5020     void blur();                                                        \
5021                                                                         \
5022     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]                                \
5023     void addFilter([in] IUnknown* pUnk);                                \
5024                                                                         \
5025     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]                             \
5026     void removeFilter([in] IUnknown* pUnk);                             \
5027                                                                         \
5028     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] \
5029     LONG clientHeight();                                                \
5030                                                                         \
5031     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] \
5032     LONG clientWidth();                                                 \
5033                                                                         \
5034     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] \
5035     LONG clientTop();                                                   \
5036                                                                         \
5037     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] \
5038     LONG clientLeft();                                                  \
5039                                                                         \
5040     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]                              \
5041     VARIANT_BOOL attachEvent(                                           \
5042             [in] BSTR event,                                            \
5043             [in] IDispatch* pDisp);                                     \
5044                                                                         \
5045     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]                              \
5046     void detachEvent(                                                   \
5047             [in] BSTR event,                                            \
5048             [in] IDispatch* pDisp);                                     \
5049                                                                         \
5050     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState(); \
5051                                                                         \
5052     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5053     void onreadystatechange(VARIANT v);                                 \
5054                                                                         \
5055     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5056     VARIANT onreadystatechange();                                       \
5057                                                                         \
5058     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5059     void onrowsdelete(VARIANT v);                                       \
5060                                                                         \
5061     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5062     VARIANT onrowsdelete();                                             \
5063                                                                         \
5064     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5065     void onrowsinserted(VARIANT v);                                     \
5066                                                                         \
5067     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5068     VARIANT onrowsinserted();                                           \
5069                                                                         \
5070     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5071     void oncellchange(VARIANT v);                                       \
5072                                                                         \
5073     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5074     VARIANT oncellchange();                                             \
5075                                                                         \
5076     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5077     void dir(BSTR v);                                                   \
5078                                                                         \
5079     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5080     BSTR dir();                                                         \
5081                                                                         \
5082     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]                       \
5083     IDispatch* createControlRange();                                    \
5084                                                                         \
5085     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] \
5086     LONG scrollHeight();                                                \
5087                                                                         \
5088     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] \
5089     LONG scrollWidth();                                                 \
5090                                                                         \
5091     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5092     void scrollTop(LONG v);                                             \
5093                                                                         \
5094     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5095     LONG scrollTop();                                                   \
5096                                                                         \
5097     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5098     void scrollLeft(LONG v);                                            \
5099                                                                         \
5100     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5101     LONG scrollLeft();                                                  \
5102                                                                         \
5103     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]                          \
5104     void clearAttributes();                                             \
5105                                                                         \
5106     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5107     void oncontextmenu(VARIANT v);                                      \
5108                                                                         \
5109     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5110     VARIANT oncontextmenu();                                            \
5111                                                                         \
5112     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]                    \
5113     IHTMLElement* insertAdjacentElement(                                \
5114         [in] BSTR where,                                                \
5115         [in] IHTMLElement* insertedElement);                            \
5116                                                                         \
5117     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]                             \
5118     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where); \
5119                                                                         \
5120     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]                          \
5121     BSTR getAdjacentText([in] BSTR where);                              \
5122                                                                         \
5123     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]                      \
5124     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);        \
5125                                                                         \
5126     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]                 \
5127     VARIANT_BOOL canHaveChildren();                                     \
5128                                                                         \
5129     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]                              \
5130     LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory); \
5131                                                                         \
5132     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]                           \
5133     VARIANT_BOOL removeBehavior([in] LONG cookie);                      \
5134                                                                         \
5135     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]      \
5136     IHTMLStyle* runtimeStyle();                                         \
5137                                                                         \
5138     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]                    \
5139     IDispatch* behaviorUrns();                                          \
5140                                                                         \
5141     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5142     void tagUrn(BSTR v);                                                \
5143                                                                         \
5144     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5145     BSTR tagUrn();                                                      \
5146                                                                         \
5147     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5148     void onbeforeeditfocus(VARIANT v);                                  \
5149                                                                         \
5150     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5151     VARIANT onbeforeeditfocus();                                        \
5152                                                                         \
5153     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] \
5154     LONG readyStateValue();                                             \
5155                                                                         \
5156     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]                     \
5157     IHTMLElementCollection* getElementsByTagName([in] BSTR v)
5158
5159 /*****************************************************************************
5160  *    IHTMLElement3 interface
5161  */
5162 [
5163     odl,
5164     oleautomation,
5165     dual,
5166     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
5167 ]
5168 interface IHTMLElement3 : IDispatch
5169 {
5170     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
5171     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
5172
5173     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5174     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
5175
5176     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5177     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
5178
5179     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5180     HRESULT onlayoutcomplete([in] VARIANT v);
5181
5182     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5183     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
5184
5185     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5186     HRESULT onpage([in] VARIANT v);
5187
5188     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5189     HRESULT onpage([retval, out] VARIANT * p);
5190
5191     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5192     HRESULT inflateBlock([in] VARIANT_BOOL v);
5193
5194     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5195     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
5196
5197     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5198     HRESULT onbeforedeactivate([in] VARIANT v);
5199
5200     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5201     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
5202
5203     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
5204
5205     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5206     HRESULT contentEditable([in] BSTR v);
5207
5208     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5209     HRESULT contentEditable([retval, out] BSTR * p);
5210
5211     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5212     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
5213
5214     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5215     HRESULT hideFocus([in] VARIANT_BOOL v);
5216
5217     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5218     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
5219
5220     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5221     HRESULT disabled([in] VARIANT_BOOL v);
5222
5223     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5224     HRESULT disabled([retval, out] VARIANT_BOOL * p);
5225
5226     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5227     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
5228
5229     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5230     HRESULT onmove([in] VARIANT v);
5231
5232     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5233     HRESULT onmove([retval, out] VARIANT * p);
5234
5235     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5236     HRESULT oncontrolselect([in] VARIANT v);
5237
5238     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5239     HRESULT oncontrolselect([retval, out] VARIANT * p);
5240
5241     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5242     HRESULT fireEvent(
5243         [in] BSTR bstrEventName,
5244         [optional, in] VARIANT* pvarEventObject,
5245         [retval, out] VARIANT_BOOL* pfCancelled);
5246
5247     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5248     HRESULT onresizestart([in] VARIANT v);
5249
5250     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5251     HRESULT onresizestart([retval, out] VARIANT * p);
5252
5253     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5254     HRESULT onresizeend([in] VARIANT v);
5255
5256     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5257     HRESULT onresizeend([retval, out] VARIANT * p);
5258
5259     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5260     HRESULT onmovestart([in] VARIANT v);
5261
5262     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5263     HRESULT onmovestart([retval, out] VARIANT * p);
5264
5265     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5266     HRESULT onmoveend([in] VARIANT v);
5267
5268     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5269     HRESULT onmoveend([retval, out] VARIANT * p);
5270
5271     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5272     HRESULT onmouseenter([in] VARIANT v);
5273
5274     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5275     HRESULT onmouseenter([retval, out] VARIANT * p);
5276
5277     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5278     HRESULT onmouseleave([in] VARIANT v);
5279
5280     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5281     HRESULT onmouseleave([retval, out] VARIANT * p);
5282
5283     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5284     HRESULT onactivate([in] VARIANT v);
5285
5286     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5287     HRESULT onactivate([retval, out] VARIANT * p);
5288
5289     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5290     HRESULT ondeactivate([in] VARIANT v);
5291
5292     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5293     HRESULT ondeactivate([retval, out] VARIANT * p);
5294
5295     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
5296     VARIANT_BOOL* pfRet);
5297
5298     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5299     HRESULT glyphMode([retval, out] LONG * p);
5300 }
5301
5302 #define WINE_IHTMLELEMENT3_DISPINTERFACE_DECL                           \
5303                                                                         \
5304     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]                          \
5305     void mergeAttributes(                                               \
5306             [in] IHTMLElement* mergeThis,                               \
5307             [optional, in] VARIANT* pvarFlags);                         \
5308                                                                         \
5309     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]                     \
5310     VARIANT_BOOL isMultiLine();                                         \
5311                                                                         \
5312     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]                     \
5313     VARIANT_BOOL canHaveHTML();                                         \
5314                                                                         \
5315     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5316     void onlayoutcomplete(VARIANT v);                                   \
5317                                                                         \
5318     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5319     VARIANT onlayoutcomplete();                                         \
5320                                                                         \
5321     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5322     void onpage(VARIANT v);                                             \
5323                                                                         \
5324     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5325     VARIANT onpage();                                                   \
5326                                                                         \
5327     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5328     void inflateBlock(VARIANT_BOOL v);                                  \
5329                                                                         \
5330     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5331     VARIANT_BOOL inflateBlock();                                        \
5332                                                                         \
5333     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5334     void onbeforedeactivate(VARIANT v);                                 \
5335                                                                         \
5336     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5337     VARIANT onbeforedeactivate();                                       \
5338                                                                         \
5339     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]                                \
5340     void setActive();                                                   \
5341                                                                         \
5342     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5343     void contentEditable(BSTR v);                                       \
5344                                                                         \
5345     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5346     BSTR contentEditable();                                             \
5347                                                                         \
5348     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]               \
5349     VARIANT_BOOL isContentEditable();                                   \
5350                                                                         \
5351     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5352     void hideFocus(VARIANT_BOOL v);                                     \
5353                                                                         \
5354     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5355     VARIANT_BOOL hideFocus();                                           \
5356                                                                         \
5357     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5358     void disabled(VARIANT_BOOL v);                                      \
5359                                                                         \
5360     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5361     VARIANT_BOOL disabled();                                            \
5362                                                                         \
5363     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]                      \
5364     VARIANT_BOOL isDisabled();                                          \
5365                                                                         \
5366     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5367     void onmove(VARIANT v);                                             \
5368                                                                         \
5369     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5370     VARIANT onmove();                                                   \
5371                                                                         \
5372     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5373     void oncontrolselect(VARIANT v);                                    \
5374                                                                         \
5375     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5376     VARIANT oncontrolselect();                                          \
5377                                                                         \
5378     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]                                \
5379     VARIANT_BOOL fireEvent(                                             \
5380         [in] BSTR bstrEventName,                                        \
5381         [optional, in] VARIANT* pvarEventObject);                       \
5382                                                                         \
5383     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5384     void onresizestart(VARIANT v);                                      \
5385                                                                         \
5386     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5387     VARIANT onresizestart();                                            \
5388                                                                         \
5389     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5390     void onresizeend(VARIANT v);                                        \
5391                                                                         \
5392     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5393     VARIANT onresizeend();                                              \
5394                                                                         \
5395     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5396     void onmovestart(VARIANT v);                                        \
5397                                                                         \
5398     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5399     VARIANT onmovestart();                                              \
5400                                                                         \
5401     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5402     void onmoveend(VARIANT v);                                          \
5403                                                                         \
5404     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5405     VARIANT onmoveend();                                                \
5406                                                                         \
5407     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5408     void onmouseenter(VARIANT v);                                       \
5409                                                                         \
5410     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5411     VARIANT onmouseenter();                                             \
5412                                                                         \
5413     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5414     void onmouseleave(VARIANT v);                                       \
5415                                                                         \
5416     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5417     VARIANT onmouseleave();                                             \
5418                                                                         \
5419     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5420     void onactivate(VARIANT v);                                         \
5421                                                                         \
5422     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5423     VARIANT onactivate();                                               \
5424                                                                         \
5425     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5426     void ondeactivate(VARIANT v);                                       \
5427                                                                         \
5428     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5429     VARIANT ondeactivate();                                             \
5430                                                                         \
5431     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]                                 \
5432     VARIANT_BOOL dragDrop();                                            \
5433                                                                         \
5434     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] \
5435     LONG glyphMode()
5436
5437 /*****************************************************************************
5438  *    IHTMLElement4 interface
5439  */
5440 [
5441     odl,
5442     oleautomation,
5443     dual,
5444     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
5445 ]
5446 interface IHTMLElement4 : IDispatch
5447 {
5448     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5449     HRESULT onmousewheel([in] VARIANT v);
5450
5451     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5452     HRESULT onmousewheel([retval, out] VARIANT * p);
5453
5454     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5455     HRESULT normalize();
5456
5457     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5458     HRESULT getAttributeNode([in] BSTR bstrname,
5459         [retval, out] IHTMLDOMAttribute** ppAttribute);
5460
5461     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5462     HRESULT setAttributeNode(
5463         [in] IHTMLDOMAttribute* pattr,
5464         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5465
5466     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5467     HRESULT removeAttributeNode(
5468         [in] IHTMLDOMAttribute* pattr,
5469         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5470
5471     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5472     HRESULT onbeforeactivate([in] VARIANT v);
5473
5474     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5475     HRESULT onbeforeactivate([retval, out] VARIANT * p);
5476
5477     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5478     HRESULT onfocusin([in] VARIANT v);
5479
5480     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5481     HRESULT onfocusin([retval, out] VARIANT * p);
5482
5483     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5484     HRESULT onfocusout([in] VARIANT v);
5485
5486     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5487     HRESULT onfocusout([retval, out] VARIANT * p);
5488 }
5489
5490 #define WINE_IHTMLELEMENT4_DISPINTERFACE_DECL                           \
5491     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5492     void onmousewheel(VARIANT v);                                       \
5493                                                                         \
5494     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5495     VARIANT onmousewheel();                                             \
5496                                                                         \
5497     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]                                \
5498     void normalize();                                                   \
5499                                                                         \
5500     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]                         \
5501     IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);            \
5502                                                                         \
5503     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]                         \
5504     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr); \
5505                                                                         \
5506     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]                      \
5507     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr); \
5508                                                                         \
5509     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5510     void onbeforeactivate(VARIANT v);                                   \
5511                                                                         \
5512     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5513     VARIANT onbeforeactivate();                                         \
5514                                                                         \
5515     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5516     void onfocusin(VARIANT v);                                          \
5517                                                                         \
5518     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5519     VARIANT onfocusin();                                                \
5520                                                                         \
5521     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5522     void onfocusout(VARIANT v);                                         \
5523                                                                         \
5524     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5525     VARIANT onfocusout()
5526
5527 #define WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL                \
5528     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)]                 \
5529     IHTMLElement *querySelector([in] BSTR v);                   \
5530                                                                 \
5531     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)]              \
5532     IHTMLDOMChildrenCollection *querySelectorAll([in] BSTR v)
5533
5534 /*****************************************************************************
5535  *    IHTMLUniqueName interface
5536  */
5537 [
5538     odl,
5539     oleautomation,
5540     dual,
5541     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
5542 ]
5543 interface IHTMLUniqueName : IDispatch
5544 {
5545     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5546     HRESULT uniqueNumber([retval, out] LONG * p);
5547
5548     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5549     HRESULT uniqueID([retval, out] BSTR * p);
5550 }
5551
5552 #define WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL                 \
5553     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]  \
5554     LONG uniqueNumber();                                        \
5555                                                                 \
5556     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]      \
5557     BSTR uniqueID()
5558
5559 #define WINE_IHTMLELEMENT5_DISPINTERFACE_DECL                           \
5560     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)]                     \
5561     IHTMLDOMAttribute2 *ie8_getAttributeNode([in] BSTR bstrname);       \
5562                                                                         \
5563     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)]                     \
5564     IHTMLDOMAttribute2 *ie8_setAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5565                                                                         \
5566     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)]                  \
5567     IHTMLDOMAttribute2 *ie8_removeAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5568                                                                         \
5569     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)]                             \
5570     VARIANT_BOOL hasAttribute([in] BSTR name);                          \
5571                                                                         \
5572     [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5573     void role(BSTR v);                                                  \
5574                                                                         \
5575     [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5576     BSTR role();                                                        \
5577                                                                         \
5578     [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5579     void ariaBusy(BSTR v);                                              \
5580                                                                         \
5581     [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5582     BSTR ariaBusy();                                                    \
5583                                                                         \
5584     [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5585     void ariaChecked(BSTR v);                                           \
5586                                                                         \
5587     [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5588     BSTR ariaChecked();                                                 \
5589                                                                         \
5590     [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5591     void ariaDisabled(BSTR v);                                          \
5592                                                                         \
5593     [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5594     BSTR ariaDisabled();                                                \
5595                                                                         \
5596     [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5597     void ariaExpanded(BSTR v);                                          \
5598                                                                         \
5599     [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5600     BSTR ariaExpanded();                                                \
5601                                                                         \
5602     [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable]\
5603     void ariaHaspopup(BSTR v);                                          \
5604                                                                         \
5605     [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] \
5606     BSTR ariaHaspopup();                                                \
5607                                                                         \
5608     [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5609     void ariaHidden(BSTR v);                                            \
5610                                                                         \
5611     [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5612     BSTR ariaHidden();                                                  \
5613                                                                         \
5614     [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5615     void ariaInvalid(BSTR v);                                           \
5616                                                                         \
5617     [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5618     BSTR ariaInvalid();                                                 \
5619                                                                         \
5620     [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5621     void ariaMultiselectable(BSTR v);                                   \
5622                                                                         \
5623     [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5624     BSTR ariaMultiselectable();                                         \
5625                                                                         \
5626     [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5627     void ariaPressed(BSTR v);                                           \
5628                                                                         \
5629     [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5630     BSTR ariaPressed();                                                 \
5631                                                                         \
5632     [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
5633     void ariaReadonly(BSTR v);                                          \
5634                                                                         \
5635     [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
5636     BSTR ariaReadonly();                                                \
5637                                                                         \
5638     [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
5639     void ariaRequired(BSTR v);                                          \
5640                                                                         \
5641     [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
5642     BSTR ariaRequired();                                                \
5643                                                                         \
5644     [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
5645     void ariaSecret(BSTR v);                                            \
5646                                                                         \
5647     [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
5648     BSTR ariaSecret();                                                  \
5649                                                                         \
5650     [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
5651     void ariaSelected(BSTR v);                                          \
5652                                                                         \
5653     [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
5654     BSTR ariaSelected();                                                \
5655                                                                         \
5656     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)]                         \
5657     VARIANT ie8_getAttribute([in] BSTR strAttributeName);               \
5658                                                                         \
5659     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)]                         \
5660     void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue); \
5661                                                                         \
5662     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)]                      \
5663     VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);       \
5664                                                                         \
5665     [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)]                  \
5666     IHTMLAttributeCollection3 *ie8_attributes();                        \
5667                                                                         \
5668     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
5669     void ariaValuenow(BSTR v);                                          \
5670                                                                         \
5671     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
5672     BSTR ariaValuenow();                                                \
5673                                                                         \
5674     [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
5675     void ariaPosinset(short v);                                         \
5676                                                                         \
5677     [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
5678     short ariaPosinset();                                               \
5679                                                                         \
5680     [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
5681     void ariaSetsize(short v);                                          \
5682                                                                         \
5683     [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
5684     short ariaSetsize();                                                \
5685                                                                         \
5686     [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
5687     void ariaLevel(short v);                                            \
5688                                                                         \
5689     [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
5690     short ariaLevel();                                                  \
5691                                                                         \
5692     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
5693     void ariaValuemin(BSTR v);                                          \
5694                                                                         \
5695     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
5696     BSTR ariaValuemin();                                                \
5697                                                                         \
5698     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
5699     void ariaValuemax(BSTR v);                                          \
5700                                                                         \
5701     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
5702     BSTR ariaValuemax();                                                \
5703                                                                         \
5704     [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
5705     void ariaControls(BSTR v);                                          \
5706                                                                         \
5707     [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
5708     BSTR ariaControls();                                                \
5709                                                                         \
5710     [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
5711     void ariaDescribedby(BSTR v);                                       \
5712                                                                         \
5713     [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
5714     BSTR ariaDescribedby();                                             \
5715                                                                         \
5716     [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
5717     void ariaFlowto(BSTR v);                                            \
5718                                                                         \
5719     [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
5720     BSTR ariaFlowto();                                                  \
5721                                                                         \
5722     [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
5723     void ariaLabelledby(BSTR v);                                        \
5724                                                                         \
5725     [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
5726     BSTR ariaLabelledby();                                              \
5727                                                                         \
5728     [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
5729     void ariaActivedescendant(BSTR v);                                  \
5730                                                                         \
5731     [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
5732     BSTR ariaActivedescendant();                                        \
5733                                                                         \
5734     [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
5735     void ariaOwns(BSTR v);                                              \
5736                                                                         \
5737     [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
5738     BSTR ariaOwns();                                                    \
5739                                                                         \
5740     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)]                            \
5741     VARIANT_BOOL hasAttributes();                                       \
5742                                                                         \
5743     [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
5744     void ariaLive(BSTR v);                                              \
5745                                                                         \
5746     [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
5747     BSTR ariaLive();                                                    \
5748                                                                         \
5749     [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
5750     void ariaRelevant(BSTR v);                                          \
5751                                                                         \
5752     [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
5753     BSTR ariaRelevant()
5754
5755 [
5756     odl,
5757     oleautomation,
5758     dual,
5759     uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
5760 ]
5761 interface IHTMLDatabinding : IDispatch
5762 {
5763     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
5764     HRESULT dataFld([in] BSTR v);
5765
5766     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
5767     HRESULT dataFld([retval, out] BSTR * p);
5768
5769     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
5770     HRESULT dataSrc([in] BSTR v);
5771
5772     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
5773     HRESULT dataSrc([retval, out] BSTR * p);
5774
5775     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
5776     HRESULT dataFormatAs([in] BSTR v);
5777
5778     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
5779     HRESULT dataFormatAs([retval, out] BSTR * p);
5780 }
5781
5782 #define WINE_IHTMLDATABINDING_DISPINTERFACE_DECL        \
5783     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
5784     void dataFld(BSTR v);                               \
5785                                                         \
5786     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
5787     BSTR dataFld();                                     \
5788                                                         \
5789     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
5790     void dataSrc(BSTR v);                               \
5791                                                         \
5792     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
5793     BSTR dataSrc();                                     \
5794                                                         \
5795     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
5796     void dataFormatAs(BSTR v);                          \
5797                                                         \
5798     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
5799     BSTR dataFormatAs()
5800
5801 #define WINE_HTMLELEMENT_DISPINTERFACE_DECL     \
5802     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
5803     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
5804     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
5805     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
5806     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
5807     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
5808     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
5809     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
5810
5811 #define WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL \
5812     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
5813     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
5814     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
5815     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
5816     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
5817     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
5818     WINE_IHTMLDATABINDING_DISPINTERFACE_DECL;   \
5819     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
5820     WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL;   \
5821     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
5822
5823 /*****************************************************************************
5824  *    IHTMLGenericElement interface
5825  */
5826 [
5827     odl,
5828     oleautomation,
5829     dual,
5830     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
5831 ]
5832 interface IHTMLGenericElement : IDispatch
5833 {
5834     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5835     HRESULT recordset([out, retval] IDispatch **p);
5836
5837     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5838     HRESULT namedRecordset(
5839             [in] BSTR dataMember,
5840             [in, optional] VARIANT *hierarchy,
5841             [out, retval] IDispatch **ppRecordset);
5842 }
5843
5844 /*****************************************************************************
5845  *    DispHTMLGenericElement dispinterface
5846  */
5847 [
5848     hidden,
5849     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
5850 ]
5851 dispinterface DispHTMLGenericElement
5852 {
5853 properties:
5854 methods:
5855     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
5856
5857     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5858     IDispatch *recordset();
5859
5860     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5861     IDispatch *namedRecordset(
5862             [in] BSTR dataMember,
5863             [in, optional] VARIANT *hierarchy);
5864 }
5865
5866 /*****************************************************************************
5867  *    IHTMLStyleSheetRule interface
5868  */
5869 [
5870     odl,
5871     oleautomation,
5872     dual,
5873     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
5874 ]
5875 interface IHTMLStyleSheetRule : IDispatch
5876 {
5877     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5878     HRESULT selectorText([in] BSTR v);
5879
5880     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5881     HRESULT selectorText([retval, out] BSTR *p);
5882
5883     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
5884     HRESULT style([retval, out] IHTMLRuleStyle **p);
5885
5886     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5887     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5888 }
5889
5890 [
5891     hidden,
5892     uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b)
5893 ]
5894 dispinterface DispHTMLStyleSheetRule
5895 {
5896 properties:
5897 methods:
5898     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5899     void selectorText(BSTR v);
5900
5901     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5902     BSTR selectorText();
5903
5904     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable]
5905     IHTMLRuleStyle* style();
5906
5907     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5908     VARIANT_BOOL readOnly();
5909
5910     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
5911 }
5912
5913 [
5914     noncreatable,
5915     uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b)
5916 ]
5917 coclass HTMLStyleSheetRule
5918 {
5919     [default]           dispinterface DispHTMLStyleSheetRule;
5920                         interface IHTMLStyleSheetRule;
5921                         interface IHTMLDOMConstructor;
5922 }
5923
5924 /*****************************************************************************
5925  *    IHTMLStyleSheetRulesCollection interface
5926  */
5927 [
5928     odl,
5929     oleautomation,
5930     dual,
5931     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
5932 ]
5933 interface IHTMLStyleSheetRulesCollection : IDispatch
5934 {
5935     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5936     HRESULT length([retval, out] LONG *p);
5937
5938     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5939     HRESULT item(
5940         [in] LONG index,
5941         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
5942 }
5943
5944 [
5945     hidden,
5946     uuid(3050f52f-98b5-11cf-bb82-00aa00bdce0b)
5947 ]
5948 dispinterface DispHTMLStyleSheetRulesCollection
5949 {
5950 properties:
5951 methods:
5952     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5953     long length();
5954
5955     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5956     IHTMLStyleSheetRule* item([in] long index);
5957
5958     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
5959 }
5960
5961 [
5962     noncreatable,
5963     uuid(3050f3cd-98b5-11cf-bb82-00aa00bdce0b)
5964 ]
5965 coclass HTMLStyleSheetRulesCollection
5966 {
5967     [default]           dispinterface DispHTMLStyleSheetRulesCollection;
5968                         interface IHTMLStyleSheetRulesCollection;
5969                         interface IHTMLDOMConstructor;
5970 }
5971
5972 [
5973     odl,
5974     oleautomation,
5975     dual,
5976     uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
5977 ]
5978 interface IHTMLStyleSheetPage : IDispatch
5979 {
5980     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
5981     HRESULT selector([retval, out] BSTR *p);
5982
5983     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
5984     HRESULT pseudoClass([retval, out] BSTR *p);
5985 }
5986
5987 [
5988     hidden,
5989     uuid(3050f540-98b5-11cf-bb82-00aa00bdce0b)
5990 ]
5991 dispinterface DispHTMLStyleSheetPage
5992 {
5993 properties:
5994 methods:
5995     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
5996     BSTR selector();
5997
5998     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
5999     BSTR pseudoClass();
6000
6001     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6002 }
6003 [
6004     noncreatable,
6005     uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b)
6006 ]
6007 coclass HTMLStyleSheetPage
6008 {
6009     [default]           dispinterface DispHTMLStyleSheetPage;
6010                         interface IHTMLStyleSheetPage;
6011                         interface IHTMLDOMConstructor;
6012 }
6013
6014 [
6015     odl,
6016     oleautomation,
6017     dual,
6018     uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
6019 ]
6020 interface IHTMLStyleSheetPagesCollection : IDispatch
6021 {
6022     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6023     HRESULT length([retval, out] LONG *p);
6024
6025     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6026     HRESULT item(
6027         [in] LONG index,
6028         [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
6029 }
6030
6031 [
6032     hidden,
6033     uuid(3050f543-98b5-11cf-bb82-00aa00bdce0b)
6034 ]
6035 dispinterface DispHTMLStyleSheetPagesCollection
6036 {
6037 properties:
6038 methods:
6039     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6040     long length();
6041
6042     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6043     IHTMLStyleSheetPage* item([in] long index);
6044
6045     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6046 }
6047
6048 [
6049     noncreatable,
6050     uuid(3050f7f1-98b5-11cf-bb82-00aa00bdce0b)
6051 ]
6052 coclass HTMLStyleSheetPagesCollection
6053 {
6054     [default]           dispinterface DispHTMLStyleSheetPagesCollection;
6055                         interface IHTMLStyleSheetPagesCollection;
6056                         interface IHTMLDOMConstructor;
6057 }
6058
6059 /*****************************************************************************
6060  *    IHTMLStyleSheet interface
6061  */
6062 [
6063     odl,
6064     oleautomation,
6065     dual,
6066     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
6067 ]
6068 interface IHTMLStyleSheet : IDispatch
6069 {
6070     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6071     HRESULT title([in] BSTR v);
6072
6073     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6074     HRESULT title([retval, out] BSTR *p);
6075
6076     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6077     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
6078
6079     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6080     HRESULT owningElement([retval, out] IHTMLElement **p);
6081
6082     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6083     HRESULT disabled([in] VARIANT_BOOL v);
6084
6085     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6086     HRESULT disabled([retval, out] VARIANT_BOOL *p);
6087
6088     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6089     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6090
6091     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6092     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
6093
6094     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6095     HRESULT href([in] BSTR v);
6096
6097     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6098     HRESULT href([retval, out] BSTR *p);
6099
6100     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6101     HRESULT type([retval, out] BSTR *p);
6102
6103     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6104     HRESULT id([retval, out] BSTR *p);
6105
6106     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6107     HRESULT addImport(
6108         [in] BSTR bstrURL,
6109         [defaultvalue(-1), in] LONG lIndex,
6110         [retval, out] LONG *plIndex);
6111
6112     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6113     HRESULT addRule(
6114         [in] BSTR bstrSelector,
6115         [in] BSTR bstrStyle,
6116         [defaultvalue(-1), in] LONG lIndex,
6117         [retval, out] LONG *plNewIndex);
6118
6119     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6120     HRESULT removeImport([in] LONG lIndex);
6121
6122     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6123     HRESULT removeRule([in] LONG lIndex);
6124
6125     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6126     HRESULT media([in] BSTR v);
6127
6128     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6129     HRESULT media([retval, out] BSTR *p);
6130
6131     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6132     HRESULT cssText([in] BSTR v);
6133
6134     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6135     HRESULT cssText([retval, out] BSTR *p);
6136
6137     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6138     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
6139 }
6140
6141 /*****************************************************************************
6142  *    IHTMLStyleSheet2 interface
6143  */
6144 [
6145     odl,
6146     oleautomation,
6147     dual,
6148     uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
6149 ]
6150 interface IHTMLStyleSheet2 : IDispatch
6151 {
6152     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6153     HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
6154
6155     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6156     HRESULT addPageRule(
6157         [in] BSTR bstrSelector,
6158         [in] BSTR bstrStyle,
6159         [defaultvalue(-1), in] LONG lIndex,
6160         [retval, out] LONG *plNewIndex);
6161 }
6162
6163 [
6164     hidden,
6165     uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
6166 ]
6167 dispinterface DispHTMLStyleSheet
6168 {
6169 properties:
6170 methods:
6171     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6172     void title(BSTR v);
6173
6174     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6175     BSTR title();
6176
6177     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6178     IHTMLStyleSheet* parentStyleSheet();
6179
6180     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6181     IHTMLElement* owningElement();
6182
6183     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6184     void disabled(VARIANT_BOOL v);
6185
6186     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6187     VARIANT_BOOL disabled();
6188
6189     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6190     VARIANT_BOOL readOnly();
6191
6192     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6193     IHTMLStyleSheetsCollection* imports();
6194
6195     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6196     void href(BSTR v);
6197
6198     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6199     BSTR href();
6200
6201     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6202     BSTR type();
6203
6204     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6205     BSTR id();
6206
6207     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6208     LONG addImport(
6209         [in] BSTR bstrURL,
6210         [defaultvalue(-1), in] LONG lIndex);
6211
6212     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6213     LONG addRule(
6214         [in] BSTR bstrSelector,
6215         [in] BSTR bstrStyle,
6216         [defaultvalue(-1), in] LONG lIndex);
6217
6218     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6219     void removeImport([in] LONG lIndex);
6220
6221     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6222     void removeRule([in] LONG lIndex);
6223
6224     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6225     void media(BSTR v);
6226
6227     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6228     BSTR media();
6229
6230     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6231     void cssText(BSTR v);
6232
6233     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6234     BSTR cssText();
6235
6236     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6237     IHTMLStyleSheetRulesCollection* rules();
6238
6239     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6240     IHTMLStyleSheetPagesCollection* pages();
6241
6242     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6243     LONG addPageRule(
6244         [in] BSTR bstrSelector,
6245         [in] BSTR bstrStyle,
6246         [defaultvalue(-1), in] LONG lIndex);
6247 }
6248
6249 [
6250     noncreatable,
6251     uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
6252 ]
6253 coclass HTMLStyleSheet
6254 {
6255     [default]           dispinterface DispHTMLStyleSheet;
6256                         interface IHTMLStyleSheet;
6257                         interface IHTMLStyleSheet2;
6258 }
6259
6260 /*****************************************************************************
6261  *    IHTMLStyleSheetsCollection interface
6262  */
6263 [
6264     odl,
6265     oleautomation,
6266     dual,
6267     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
6268 ]
6269 interface IHTMLStyleSheetsCollection : IDispatch
6270 {
6271     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6272     HRESULT length([retval, out] LONG *p);
6273
6274     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
6275     HRESULT _newEnum([retval, out] IUnknown **p);
6276
6277     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6278     HRESULT item(
6279         [in] VARIANT *pvarIndex,
6280         [retval, out] VARIANT *pvarResult);
6281 }
6282
6283 /*****************************************************************************
6284  *    DispHTMLStyleSheetsCollection dispinterface
6285  */
6286 [
6287     hidden,
6288     uuid(3050f547-98b5-11cf-bb82-00aa00bdce0b)
6289 ]
6290 dispinterface DispHTMLStyleSheetsCollection
6291 {
6292 properties:
6293 methods:
6294     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6295     long length();
6296
6297     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM), hidden, restricted]
6298     IUnknown *_newEnum();
6299
6300     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6301     VARIANT item([in] VARIANT *pvarIndex);
6302
6303     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
6304     IDispatch *constructor();
6305 }
6306
6307 /*****************************************************************************
6308  *    IHTMLTxtRange interface
6309  */
6310 [
6311     odl,
6312     oleautomation,
6313     dual,
6314     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
6315 ]
6316 interface IHTMLTxtRange : IDispatch
6317 {
6318     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
6319     HRESULT htmlText([retval, out] BSTR *p);
6320
6321     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
6322     HRESULT text([in] BSTR v);
6323
6324     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
6325     HRESULT text([retval, out] BSTR *p);
6326
6327     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
6328     HRESULT parentElement([retval, out] IHTMLElement **parent);
6329
6330     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
6331     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
6332
6333     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
6334     HRESULT inRange(
6335         [in] IHTMLTxtRange *Range,
6336         [retval, out] VARIANT_BOOL *InRange);
6337
6338     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
6339     HRESULT isEqual(
6340         [in] IHTMLTxtRange *Range,
6341         [retval, out] VARIANT_BOOL *IsEqual);
6342
6343     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
6344     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
6345
6346     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
6347     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
6348
6349     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
6350     HRESULT expand(
6351         [in] BSTR Unit,
6352         [retval, out] VARIANT_BOOL *Success);
6353
6354     [id(DISPID_IHTMLTXTRANGE_MOVE)]
6355     HRESULT move(
6356         [in] BSTR Unit,
6357         [defaultvalue(1), in] LONG Count,
6358         [retval, out] LONG *ActualCount);
6359
6360     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
6361     HRESULT moveStart(
6362         [in] BSTR Unit,
6363         [defaultvalue(1), in] LONG Count,
6364         [retval, out] LONG *ActualCount);
6365
6366     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
6367     HRESULT moveEnd(
6368         [in] BSTR Unit,
6369         [defaultvalue(1), in] LONG Count,
6370         [retval, out] LONG *ActualCount);
6371
6372     [id(DISPID_IHTMLTXTRANGE_SELECT)]
6373     HRESULT select();
6374
6375     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
6376     HRESULT pasteHTML([in] BSTR html);
6377
6378     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
6379     HRESULT moveToElementText([in] IHTMLElement *element);
6380
6381     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
6382     HRESULT setEndPoint(
6383         [in] BSTR how,
6384         [in] IHTMLTxtRange *SourceRange);
6385
6386     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
6387     HRESULT compareEndPoints(
6388         [in] BSTR how,
6389         [in] IHTMLTxtRange *SourceRange,
6390         [retval, out] LONG *ret);
6391
6392     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
6393     HRESULT findText(
6394         [in] BSTR String,
6395         [defaultvalue(1073741823), in] LONG count,
6396         [defaultvalue(0), in] LONG Flags,
6397         [retval, out] VARIANT_BOOL *Success);
6398
6399     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
6400     HRESULT moveToPoint(
6401         [in] LONG x,
6402         [in] LONG y);
6403
6404     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
6405     HRESULT getBookmark([retval, out] BSTR *Boolmark);
6406
6407     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
6408     HRESULT moveToBookmark(
6409         [in] BSTR Bookmark,
6410         [retval, out] VARIANT_BOOL *Success);
6411
6412     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
6413     HRESULT queryCommandSupported(
6414         [in] BSTR cmdID,
6415         [retval, out] VARIANT_BOOL *pfRet);
6416
6417     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
6418     HRESULT queryCommandEnabled(
6419         [in] BSTR cmdID,
6420         [retval, out] VARIANT_BOOL *pfRet);
6421
6422     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
6423     HRESULT queryCommandState(
6424         [in] BSTR cmdID,
6425         [retval, out] VARIANT_BOOL *pfRet);
6426
6427     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
6428     HRESULT queryCommandIndeterm(
6429         [in] BSTR cmdID,
6430         [retval, out] VARIANT_BOOL *pfRet);
6431
6432     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
6433     HRESULT queryCommandText(
6434         [in] BSTR cmdID,
6435         [retval, out] BSTR *pcmdText);
6436
6437     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
6438     HRESULT queryCommandValue(
6439         [in] BSTR cmdID,
6440         [retval, out] VARIANT *pcmdValue);
6441
6442     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
6443     HRESULT execCommand(
6444         [in] BSTR cmdID,
6445         [defaultvalue(0), in] VARIANT_BOOL showUI,
6446         [optional, in] VARIANT value,
6447         [retval, out] VARIANT_BOOL *pfRet);
6448
6449     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
6450     HRESULT execCommandShowHelp(
6451         [in] BSTR cmdID,
6452         [retval, out] VARIANT_BOOL *pfRet);
6453 }
6454
6455 [
6456     noncreatable,
6457     uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
6458 ]
6459 coclass HTMLStyleSheetsCollection
6460 {
6461     [default]           interface IHTMLStyleSheetsCollection;
6462 }
6463
6464 /*****************************************************************************
6465  *    IHTMLFormElement interface
6466  */
6467 [
6468     odl,
6469     oleautomation,
6470     dual,
6471     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
6472 ]
6473 interface IHTMLFormElement : IDispatch
6474 {
6475     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6476     HRESULT action([in] BSTR v);
6477
6478     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6479     HRESULT action([retval, out] BSTR *p);
6480
6481     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
6482     HRESULT dir([in] BSTR v);
6483
6484     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
6485     HRESULT dir([retval, out] BSTR *p);
6486
6487     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6488     HRESULT encoding([in] BSTR v);
6489
6490     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6491     HRESULT encoding([retval, out] BSTR *p);
6492
6493     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6494     HRESULT method([in] BSTR v);
6495
6496     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6497     HRESULT method([retval, out] BSTR *p);
6498
6499     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6500     HRESULT elements([retval, out] IDispatch **p);
6501
6502     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6503     HRESULT target([in] BSTR v);
6504
6505     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6506     HRESULT target([retval, out] BSTR *p);
6507
6508     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6509     HRESULT name([in] BSTR v);
6510
6511     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6512     HRESULT name([retval, out] BSTR *p);
6513
6514     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6515     HRESULT onsubmit([in] VARIANT v);
6516
6517     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6518     HRESULT onsubmit([retval, out] VARIANT *p);
6519
6520     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6521     HRESULT onreset([in] VARIANT v);
6522
6523     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6524     HRESULT onreset([retval, out] VARIANT *p);
6525
6526     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6527     HRESULT submit();
6528
6529     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6530     HRESULT reset();
6531
6532     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6533     HRESULT length([in] LONG v);
6534
6535     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6536     HRESULT length([retval, out] LONG *p);
6537
6538     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
6539     HRESULT _newEnum([retval, out] IUnknown **p);
6540
6541     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6542     HRESULT item(
6543         [optional, in] VARIANT name,
6544         [optional, in] VARIANT index,
6545         [retval, out] IDispatch **pdisp);
6546
6547     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6548     HRESULT tags(
6549         [in] VARIANT tagName,
6550         [retval, out] IDispatch **pdisp);
6551 }
6552
6553 /*****************************************************************************
6554  *    DispHTMLFormElement dispinterface
6555  */
6556 [
6557     hidden,
6558     uuid(3050F510-98B5-11CF-BB82-00AA00BDCE0B)
6559 ]
6560 dispinterface DispHTMLFormElement
6561 {
6562 properties:
6563 methods:
6564     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6565
6566     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6567     void action(BSTR v);
6568
6569     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6570     BSTR action();
6571
6572     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6573     void encoding(BSTR v);
6574
6575     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6576     BSTR encoding();
6577
6578     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6579     void method(BSTR v);
6580
6581     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6582     BSTR method();
6583
6584     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6585     IDispatch *elements();
6586
6587     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6588     void target(BSTR v);
6589
6590     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6591     BSTR target();
6592
6593     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6594     void name(BSTR v);
6595
6596     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6597     BSTR name();
6598
6599     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6600     void onsubmit(VARIANT v);
6601
6602     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6603     VARIANT onsubmit();
6604
6605     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6606     void onreset(VARIANT v);
6607
6608     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6609     VARIANT onreset();
6610
6611     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6612     void submit();
6613
6614     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6615     void reset();
6616
6617     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6618     void length(long v);
6619
6620     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6621     long length();
6622
6623     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM), hidden, restricted]
6624     IUnknown *_newEnum();
6625
6626     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6627     IDispatch *item(VARIANT name, VARIANT index);
6628
6629     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6630     IDispatch *tags(VARIANT tagName);
6631 }
6632
6633 [
6634     hidden,
6635     uuid(3050F364-98B5-11CF-BB82-00AA00BDCE0B)
6636 ]
6637 dispinterface HTMLFormElementEvents
6638 {
6639 properties:
6640 methods:
6641     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
6642     VARIANT_BOOL onhelp();
6643
6644     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
6645     VARIANT_BOOL onclick();
6646
6647     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
6648     VARIANT_BOOL ondblclick();
6649
6650     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
6651     VARIANT_BOOL onkeypress();
6652
6653     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
6654     void onkeydown();
6655
6656     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
6657     void onkeyup();
6658
6659     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
6660     void onmouseout();
6661
6662     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
6663     void onmouseover();
6664
6665     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
6666     void onmousemove();
6667
6668     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
6669     void onmousedown();
6670
6671     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
6672     void onmouseup();
6673
6674     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
6675     VARIANT_BOOL onselectstart();
6676
6677     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
6678     void onfilterchange();
6679
6680     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
6681     VARIANT_BOOL ondragstart();
6682
6683     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
6684     VARIANT_BOOL onbeforeupdate();
6685
6686     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
6687     void onafterupdate();
6688
6689     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
6690     VARIANT_BOOL onerrorupdate();
6691
6692     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
6693     VARIANT_BOOL onrowexit();
6694
6695     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
6696     void onrowenter();
6697
6698     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
6699     void ondatasetchanged();
6700
6701     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
6702     void ondataavailable();
6703
6704     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
6705     void ondatasetcomplete();
6706
6707     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
6708     void onlosecapture();
6709
6710     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
6711     void onpropertychange();
6712
6713     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
6714     void onscroll();
6715
6716     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
6717     void onfocus();
6718
6719     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
6720     void onblur();
6721
6722     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
6723     void onresize();
6724
6725     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
6726     VARIANT_BOOL ondrag();
6727
6728     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
6729     void ondragend();
6730
6731     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
6732     VARIANT_BOOL ondragenter();
6733
6734     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
6735     VARIANT_BOOL ondragover();
6736
6737     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
6738     void ondragleave();
6739
6740     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
6741     VARIANT_BOOL ondrop();
6742
6743     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
6744     VARIANT_BOOL onbeforecut();
6745
6746     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
6747     VARIANT_BOOL oncut();
6748
6749     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
6750     VARIANT_BOOL onbeforecopy();
6751
6752     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
6753     VARIANT_BOOL oncopy();
6754
6755     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
6756     VARIANT_BOOL onbeforepaste();
6757
6758     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
6759     VARIANT_BOOL onpaste();
6760
6761     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
6762     VARIANT_BOOL oncontextmenu();
6763
6764     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
6765     void onrowsdelete();
6766
6767     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
6768     void onrowsinserted();
6769
6770     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
6771     void oncellchange();
6772
6773     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
6774     void onreadystatechange();
6775
6776     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
6777     void onbeforeeditfocus();
6778
6779     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
6780     void onlayoutcomplete();
6781
6782     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
6783     void onpage();
6784
6785     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
6786     VARIANT_BOOL onbeforedeactivate();
6787
6788     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
6789     VARIANT_BOOL onbeforeactivate();
6790
6791     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
6792     void onmove();
6793
6794     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
6795     VARIANT_BOOL oncontrolselect();
6796
6797     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
6798     VARIANT_BOOL onmovestart();
6799
6800     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
6801     void onmoveend();
6802
6803     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
6804     VARIANT_BOOL onresizestart();
6805
6806     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
6807     void onresizeend();
6808
6809     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
6810     void onmouseenter();
6811
6812     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
6813     void onmouseleave();
6814
6815     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
6816     VARIANT_BOOL onmousewheel();
6817
6818     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
6819     void onactivate();
6820
6821     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
6822     void ondeactivate();
6823
6824     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
6825     void onfocusin();
6826
6827     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
6828     void onfocusout();
6829
6830     [id(DISPID_HTMLFORMELEMENTEVENTS_ONSUBMIT)]
6831     VARIANT_BOOL onsubmit();
6832
6833     [id(DISPID_HTMLFORMELEMENTEVENTS_ONRESET)]
6834     VARIANT_BOOL onreset();
6835 }
6836
6837 interface IHTMLEventObj;
6838
6839 [
6840     hidden,
6841     uuid(3050F614-98B5-11CF-BB82-00AA00BDCE0B)
6842 ]
6843 dispinterface HTMLFormElementEvents2
6844 {
6845 properties:
6846 methods:
6847     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
6848     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
6849
6850     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
6851     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
6852
6853     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
6854     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
6855
6856     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
6857     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
6858
6859     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
6860     void onkeydown([in] IHTMLEventObj* pEvtObj);
6861
6862     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
6863     void onkeyup([in] IHTMLEventObj* pEvtObj);
6864
6865     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
6866     void onmouseout([in] IHTMLEventObj* pEvtObj);
6867
6868     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
6869     void onmouseover([in] IHTMLEventObj* pEvtObj);
6870
6871     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
6872     void onmousemove([in] IHTMLEventObj* pEvtObj);
6873
6874     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
6875     void onmousedown([in] IHTMLEventObj* pEvtObj);
6876
6877     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
6878     void onmouseup([in] IHTMLEventObj* pEvtObj);
6879
6880     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
6881     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
6882
6883     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
6884     void onfilterchange([in] IHTMLEventObj* pEvtObj);
6885
6886     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
6887     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
6888
6889     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
6890     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
6891
6892     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
6893     void onafterupdate([in] IHTMLEventObj* pEvtObj);
6894
6895     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
6896     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
6897
6898     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
6899     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
6900
6901     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
6902     void onrowenter([in] IHTMLEventObj* pEvtObj);
6903
6904     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
6905     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
6906
6907     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
6908     void ondataavailable([in] IHTMLEventObj* pEvtObj);
6909
6910     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
6911     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
6912
6913     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
6914     void onlosecapture([in] IHTMLEventObj* pEvtObj);
6915
6916     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
6917     void onpropertychange([in] IHTMLEventObj* pEvtObj);
6918
6919     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
6920     void onscroll([in] IHTMLEventObj* pEvtObj);
6921
6922     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
6923     void onfocus([in] IHTMLEventObj* pEvtObj);
6924
6925     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
6926     void onblur([in] IHTMLEventObj* pEvtObj);
6927
6928     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
6929     void onresize([in] IHTMLEventObj* pEvtObj);
6930
6931     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
6932     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
6933
6934     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
6935     void ondragend([in] IHTMLEventObj* pEvtObj);
6936
6937     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
6938     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
6939
6940     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
6941     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
6942
6943     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
6944     void ondragleave([in] IHTMLEventObj* pEvtObj);
6945
6946     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
6947     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
6948
6949     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
6950     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
6951
6952     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
6953     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
6954
6955     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
6956     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
6957
6958     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
6959     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
6960
6961     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
6962     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
6963
6964     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
6965     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
6966
6967     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
6968     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
6969
6970     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
6971     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
6972
6973     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
6974     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
6975
6976     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
6977     void oncellchange([in] IHTMLEventObj* pEvtObj);
6978
6979     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
6980     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
6981
6982     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
6983     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
6984
6985     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
6986     void onpage([in] IHTMLEventObj* pEvtObj);
6987
6988     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
6989     void onmouseenter([in] IHTMLEventObj* pEvtObj);
6990
6991     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
6992     void onmouseleave([in] IHTMLEventObj* pEvtObj);
6993
6994     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
6995     void onactivate([in] IHTMLEventObj* pEvtObj);
6996
6997     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
6998     void ondeactivate([in] IHTMLEventObj* pEvtObj);
6999
7000     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
7001     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
7002
7003     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
7004     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
7005
7006     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
7007     void onfocusin([in] IHTMLEventObj* pEvtObj);
7008
7009     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
7010     void onfocusout([in] IHTMLEventObj* pEvtObj);
7011
7012     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
7013     void onmove([in] IHTMLEventObj* pEvtObj);
7014
7015     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
7016     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
7017
7018     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
7019     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
7020
7021     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
7022     void onmoveend([in] IHTMLEventObj* pEvtObj);
7023
7024     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
7025     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
7026
7027     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
7028     void onresizeend([in] IHTMLEventObj* pEvtObj);
7029
7030     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
7031     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
7032
7033     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONSUBMIT)]
7034     VARIANT_BOOL onsubmit([in] IHTMLEventObj* pEvtObj);
7035
7036     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONRESET)]
7037     VARIANT_BOOL onreset([in] IHTMLEventObj* pEvtObj);
7038 }
7039
7040 [
7041     noncreatable,
7042     uuid(3050F24D-98B5-11CF-BB82-00AA00BDCE0B)
7043 ]
7044 coclass HTMLFormElement
7045 {
7046     [default]           dispinterface DispHTMLFormElement;
7047     [source, default]   dispinterface HTMLFormElementEvents;
7048     [source]            dispinterface HTMLFormElementEvents2;
7049                         interface IHTMLElement;
7050                         interface IHTMLElement2;
7051                         interface IHTMLElement3;
7052                         interface IHTMLElement4;
7053                         interface IHTMLUniqueName;
7054                         interface IHTMLDOMNode;
7055                         interface IHTMLDOMNode2;
7056                         interface IHTMLDOMConstructor;
7057                         interface IHTMLFormElement;
7058 }
7059
7060 /*****************************************************************************
7061  *    IHTMLTextContainer interface
7062  */
7063 [
7064     odl,
7065     oleautomation,
7066     dual,
7067     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
7068 ]
7069 interface IHTMLTextContainer : IDispatch
7070 {
7071     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
7072     HRESULT createControlRange([retval, out] IDispatch **range);
7073
7074     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
7075     HRESULT scrollHeight([retval, out] LONG *p);
7076
7077     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
7078     HRESULT scrollWidth([retval, out] LONG *p);
7079
7080     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7081     HRESULT scrollTop([in] LONG v);
7082
7083     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7084     HRESULT scrollTop([retval, out] LONG *p);
7085
7086     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7087     HRESULT scrollLeft([in] LONG v);
7088
7089     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7090     HRESULT scrollLeft([retval, out] LONG *p);
7091
7092     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7093     HRESULT onscroll([in] VARIANT v);
7094
7095     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7096     HRESULT onscroll([retval, out] VARIANT *p);
7097 }
7098
7099 /*****************************************************************************
7100  *    IHTMLImgElement interface
7101  */
7102 [
7103     odl,
7104     oleautomation,
7105     dual,
7106     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
7107 ]
7108 interface IHTMLImgElement : IDispatch
7109 {
7110     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7111     HRESULT isMap([in] VARIANT_BOOL v);
7112
7113     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7114     HRESULT isMap([retval, out] VARIANT_BOOL *p);
7115
7116     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7117     HRESULT useMap([in] BSTR v);
7118
7119     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7120     HRESULT useMap([retval, out] BSTR *p);
7121
7122     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7123     HRESULT mimeType([retval, out] BSTR *p);
7124
7125     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7126     HRESULT fileSize([retval, out] BSTR *p);
7127
7128     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7129     HRESULT fileCreatedDate([retval, out] BSTR *p);
7130
7131     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7132     HRESULT fileModifiedDate([retval, out] BSTR *p);
7133
7134     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7135     HRESULT fileUpdatedDate([retval, out] BSTR *p);
7136
7137     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7138     HRESULT protocol([retval, out] BSTR *p);
7139
7140     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7141     HRESULT href([retval, out] BSTR *p);
7142
7143     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7144     HRESULT nameProp([retval, out] BSTR *p);
7145
7146     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7147     HRESULT border([in] VARIANT v);
7148
7149     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7150     HRESULT border([retval, out] VARIANT *p);
7151
7152     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7153     HRESULT vspace([in] LONG v);
7154
7155     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7156     HRESULT vspace([retval, out] LONG *p);
7157
7158     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7159     HRESULT hspace([in] LONG v);
7160
7161     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7162     HRESULT hspace([retval, out] LONG *p);
7163
7164     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
7165     HRESULT alt([in] BSTR v);
7166
7167     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
7168     HRESULT alt([retval, out] BSTR *p);
7169
7170     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
7171     HRESULT src([in] BSTR v);
7172
7173     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
7174     HRESULT src([retval, out] BSTR *p);
7175
7176     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7177     HRESULT lowsrc([in] BSTR v);
7178
7179     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7180     HRESULT lowsrc([retval, out] BSTR *p);
7181
7182     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
7183     HRESULT vrml([in] BSTR v);
7184
7185     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
7186     HRESULT vrml([retval, out] BSTR *p);
7187
7188     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7189     HRESULT dynsrc([in] BSTR v);
7190
7191     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7192     HRESULT dynsrc([retval, out] BSTR *p);
7193
7194     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
7195     HRESULT readyState([retval, out] BSTR *p);
7196
7197     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7198     HRESULT complete([retval, out] VARIANT_BOOL *p);
7199
7200     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7201     HRESULT loop([in] VARIANT v);
7202
7203     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7204     HRESULT loop([retval, out] VARIANT *p);
7205
7206     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7207     HRESULT align([in] BSTR v);
7208
7209     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7210     HRESULT align([retval, out] BSTR *p);
7211
7212     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7213     HRESULT onload([in] VARIANT v);
7214
7215     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7216     HRESULT onload([retval, out] VARIANT *p);
7217
7218     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7219     HRESULT onerror([in] VARIANT v);
7220
7221     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7222     HRESULT onerror([retval, out] VARIANT *p);
7223
7224     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7225     HRESULT onabort([in] VARIANT v);
7226
7227     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7228     HRESULT onabort([retval, out] VARIANT *p);
7229
7230     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
7231     HRESULT name([in] BSTR v);
7232
7233     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
7234     HRESULT name([retval, out] BSTR *p);
7235
7236     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7237     HRESULT width([in] LONG v);
7238
7239     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7240     HRESULT width([retval, out] LONG *p);
7241
7242     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7243     HRESULT height([in] LONG v);
7244
7245     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7246     HRESULT height([retval, out] LONG *p);
7247
7248     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
7249     HRESULT start([in] BSTR v);
7250
7251     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
7252     HRESULT start([retval, out] BSTR *p);
7253 }
7254
7255 /*****************************************************************************
7256  *    IHTMLImageElementFactory interface
7257  */
7258 [
7259     odl,
7260     oleautomation,
7261     dual,
7262     uuid(3050F38E-98B5-11CF-BB82-00AA00BDCE0B)
7263 ]
7264 interface IHTMLImageElementFactory : IDispatch
7265 {
7266     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
7267     HRESULT create(
7268         [optional, in] VARIANT width,
7269         [optional, in] VARIANT height,
7270         [retval, out]  IHTMLImgElement **elem);
7271 }
7272
7273 /*****************************************************************************
7274  *    DispHTMLImg interface
7275  */
7276 [
7277     hidden,
7278     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
7279 ]
7280 dispinterface DispHTMLImg
7281 {
7282 properties:
7283 methods:
7284     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7285
7286     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7287     void isMap(VARIANT_BOOL v);
7288
7289     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7290     VARIANT_BOOL isMap();
7291
7292     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7293     void useMap(BSTR v);
7294
7295     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7296     BSTR useMap();
7297
7298     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7299     BSTR mimeType();
7300
7301     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7302     BSTR fileSize();
7303
7304     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7305     BSTR fileCreatedDate();
7306
7307     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7308     BSTR fileModifiedDate();
7309
7310     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7311     BSTR fileUpdatedDate();
7312
7313     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7314     BSTR protocol();
7315
7316     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7317     BSTR href();
7318
7319     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7320     BSTR nameProp();
7321
7322     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7323     void border(VARIANT v);
7324
7325     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7326     VARIANT border();
7327
7328     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7329     void vspace(LONG v);
7330
7331     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7332     LONG vspace();
7333
7334     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7335     void hspace(LONG v);
7336
7337     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7338     LONG hspace();
7339
7340     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7341     void alt(BSTR v);
7342
7343     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7344     BSTR alt();
7345
7346     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7347     void src(BSTR v);
7348
7349     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7350     BSTR src();
7351
7352     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7353     void lowsrc(BSTR v);
7354
7355     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7356     BSTR lowsrc();
7357
7358     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7359     void vrml(BSTR v);
7360
7361     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7362     BSTR vrml();
7363
7364     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7365     void dynsrc(BSTR v);
7366
7367     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7368     BSTR dynsrc();
7369
7370     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7371     VARIANT_BOOL complete();
7372
7373     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7374     void loop(VARIANT v);
7375
7376     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7377     VARIANT loop();
7378
7379     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7380     void align(BSTR v);
7381
7382     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7383     BSTR align();
7384
7385     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7386     void onload(VARIANT v);
7387
7388     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7389     VARIANT onload();
7390
7391     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7392     void onerror(VARIANT v);
7393
7394     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7395     VARIANT onerror();
7396
7397     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7398     void onabort(VARIANT v);
7399
7400     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7401     VARIANT onabort();
7402
7403     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7404     void name(BSTR v);
7405
7406     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7407     BSTR name();
7408
7409     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7410     void width(LONG v);
7411
7412     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7413     LONG width();
7414
7415     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7416     void height(LONG v);
7417
7418     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7419     LONG height();
7420
7421     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7422     void start(BSTR v);
7423
7424     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7425     BSTR start();
7426
7427     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7428     void longDesc(BSTR v);
7429
7430     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7431     BSTR longDesc();
7432 }
7433
7434 /*****************************************************************************
7435  *    IHTMLControlElement interface
7436  */
7437 [
7438     odl,
7439     oleautomation,
7440     dual,
7441     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
7442 ]
7443 interface IHTMLControlElement : IDispatch
7444 {
7445     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7446     HRESULT tabIndex([in] short v);
7447
7448     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7449     HRESULT tabIndex([retval, out] short * p);
7450
7451     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
7452     HRESULT focus();
7453
7454     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7455     HRESULT accessKey([in] BSTR v);
7456
7457     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7458     HRESULT accessKey([retval, out] BSTR * p);
7459
7460     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7461     HRESULT onblur([in] VARIANT v);
7462
7463     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7464     HRESULT onblur([retval, out] VARIANT * p);
7465
7466     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7467     HRESULT onfocus([in] VARIANT v);
7468
7469     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7470     HRESULT onfocus([retval, out] VARIANT * p);
7471
7472     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7473     HRESULT onresize([in] VARIANT v);
7474
7475     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7476     HRESULT onresize([retval, out] VARIANT * p);
7477
7478     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
7479     HRESULT blur();
7480
7481     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
7482     HRESULT addFilter([in] IUnknown* pUnk);
7483
7484     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
7485     HRESULT removeFilter([in] IUnknown* pUnk);
7486
7487     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
7488     HRESULT clientHeight([retval, out] LONG * p);
7489
7490     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
7491     HRESULT clientWidth([retval, out] LONG * p);
7492
7493     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
7494     HRESULT clientTop([retval, out] LONG * p);
7495
7496     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
7497     HRESULT clientLeft([retval, out] LONG * p);
7498 }
7499
7500 /*****************************************************************************
7501  *    IHTMLBodyElement interface
7502  */
7503 [
7504     odl,
7505     oleautomation,
7506     dual,
7507     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
7508 ]
7509 interface IHTMLBodyElement : IDispatch
7510 {
7511     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7512     HRESULT background([in] BSTR v);
7513
7514     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7515     HRESULT background([retval, out] BSTR *p);
7516
7517     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7518     HRESULT bgProperties([in] BSTR v);
7519
7520     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7521     HRESULT bgProperties([retval, out] BSTR *p);
7522
7523     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7524     HRESULT leftMargin([in] VARIANT v);
7525
7526     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7527     HRESULT leftMargin([retval, out] VARIANT *p);
7528
7529     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7530     HRESULT topMargin([in] VARIANT v);
7531
7532     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7533     HRESULT topMargin([retval, out] VARIANT *p);
7534
7535     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7536     HRESULT rightMargin([in] VARIANT v);
7537
7538     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7539     HRESULT rightMargin([retval, out] VARIANT *p);
7540
7541     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7542     HRESULT bottomMargin([in] VARIANT v);
7543
7544     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7545     HRESULT bottomMargin([retval, out] VARIANT *p);
7546
7547     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7548     HRESULT noWrap([in] VARIANT_BOOL v);
7549
7550     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7551     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
7552
7553     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7554     HRESULT bgColor([in] VARIANT v);
7555
7556     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7557     HRESULT bgColor([retval, out] VARIANT *p);
7558
7559     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7560     HRESULT text([in] VARIANT v);
7561
7562     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7563     HRESULT text([retval, out] VARIANT *p);
7564
7565     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7566     HRESULT link([in] VARIANT v);
7567
7568     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7569     HRESULT link([retval, out] VARIANT *p);
7570
7571     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7572     HRESULT vLink([in] VARIANT v);
7573
7574     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7575     HRESULT vLink([retval, out] VARIANT *p);
7576
7577     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7578     HRESULT aLink([in] VARIANT v);
7579
7580     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7581     HRESULT aLink([retval, out] VARIANT *p);
7582
7583     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7584     HRESULT onload([in] VARIANT v);
7585
7586     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7587     HRESULT onload([retval, out] VARIANT *p);
7588
7589     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7590     HRESULT onunload([in] VARIANT v);
7591
7592     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7593     HRESULT onunload([retval, out] VARIANT *p);
7594
7595     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7596     HRESULT scroll([in] BSTR v);
7597
7598     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7599     HRESULT scroll([retval, out] BSTR *p);
7600
7601     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7602     HRESULT onselect([in] VARIANT v);
7603
7604     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7605     HRESULT onselect([retval, out] VARIANT *p);
7606
7607     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7608     HRESULT onbeforeunload([in] VARIANT v);
7609
7610     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7611     HRESULT onbeforeunload([retval, out] VARIANT *p);
7612
7613     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7614     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7615 }
7616
7617 /*****************************************************************************
7618  *    IHTMLBodyElement2 interface
7619  */
7620 [
7621     odl,
7622     oleautomation,
7623     dual,
7624     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
7625 ]
7626 interface IHTMLBodyElement2 : IDispatch
7627 {
7628     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7629     HRESULT onbeforeprint([in] VARIANT v);
7630
7631     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7632     HRESULT onbeforeprint([retval, out] VARIANT *p);
7633
7634     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7635     HRESULT onafterprint([in] VARIANT v);
7636
7637     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7638     HRESULT onafterprint([retval, out] VARIANT *p);
7639 }
7640
7641 [
7642     hidden,
7643     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
7644 ]
7645 dispinterface DispHTMLBody
7646 {
7647 properties:
7648 methods:
7649     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7650
7651     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7652     void background(BSTR v);
7653
7654     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7655     BSTR background();
7656
7657     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7658     void bgProperties(BSTR v);
7659
7660     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7661     BSTR bgProperties();
7662
7663     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7664     void leftMargin(VARIANT v);
7665
7666     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7667     VARIANT leftMargin();
7668
7669     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7670     void topMargin(VARIANT v);
7671
7672     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7673     VARIANT topMargin();
7674
7675     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7676     void rightMargin(VARIANT v);
7677
7678     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7679     VARIANT rightMargin();
7680
7681     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7682     void bottomMargin(VARIANT v);
7683
7684     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7685     VARIANT bottomMargin();
7686
7687     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7688     void noWrap(VARIANT_BOOL v);
7689
7690     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7691     VARIANT_BOOL noWrap();
7692
7693     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7694     void bgColor(VARIANT v);
7695
7696     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7697     VARIANT bgColor();
7698
7699     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7700     void text(VARIANT v);
7701
7702     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7703     VARIANT text();
7704
7705     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7706     void link(VARIANT v);
7707
7708     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7709     VARIANT link();
7710
7711     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7712     void vLink(VARIANT v);
7713
7714     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7715     VARIANT vLink();
7716
7717     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7718     void aLink(VARIANT v);
7719
7720     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7721     VARIANT aLink();
7722
7723     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7724     void onload(VARIANT v);
7725
7726     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7727     VARIANT onload();
7728
7729     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7730     void onunload(VARIANT v);
7731
7732     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7733     VARIANT onunload();
7734
7735     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7736     void scroll(BSTR v);
7737
7738     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7739     BSTR scroll();
7740
7741     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7742     void onselect(VARIANT v);
7743
7744     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7745     VARIANT onselect();
7746
7747     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7748     void onbeforeunload(VARIANT v);
7749
7750     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7751     VARIANT onbeforeunload();
7752
7753     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7754     IHTMLTxtRange* createTextRange();
7755
7756     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7757     void onbeforeprint(VARIANT v);
7758
7759     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7760     VARIANT onbeforeprint();
7761
7762     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7763     void onafterprint(VARIANT v);
7764
7765     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7766     VARIANT onafterprint();
7767 }
7768
7769 [
7770     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
7771 ]
7772 coclass HTMLBody
7773 {
7774     [default]           dispinterface DispHTMLBody;
7775     [source, default]   dispinterface HTMLTextContainerEvents;
7776     [source]            dispinterface HTMLTextContainerEvents2;
7777                         interface IHTMLElement;
7778                         interface IHTMLElement2;
7779                         interface IHTMLElement3;
7780                         interface IHTMLElement4;
7781                         interface IHTMLUniqueName;
7782                         interface IHTMLDOMNode;
7783                         interface IHTMLDOMNode2;
7784                         interface IHTMLControlElement;
7785                         interface IHTMLTextContainer;
7786                         interface IHTMLBodyElement;
7787                         interface IHTMLBodyElement2;
7788 }
7789
7790 /*****************************************************************************
7791  *    IHTMLAnchorElement interface
7792  */
7793 [
7794     odl,
7795     oleautomation,
7796     dual,
7797     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
7798 ]
7799 interface IHTMLAnchorElement : IDispatch
7800 {
7801     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7802     HRESULT href([in] BSTR v);
7803
7804     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7805     HRESULT href([retval, out] BSTR *p);
7806
7807     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7808     HRESULT target([in] BSTR v);
7809
7810     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7811     HRESULT target([retval, out] BSTR *p);
7812
7813     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7814     HRESULT rel([in] BSTR v);
7815
7816     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7817     HRESULT rel([retval, out] BSTR *p);
7818
7819     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7820     HRESULT rev([in] BSTR v);
7821
7822     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7823     HRESULT rev([retval, out] BSTR *p);
7824
7825     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7826     HRESULT urn([in] BSTR v);
7827
7828     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7829     HRESULT urn([retval, out] BSTR *p);
7830
7831     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7832     HRESULT Methods([in] BSTR v);
7833
7834     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7835     HRESULT Methods([retval, out] BSTR *p);
7836
7837     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7838     HRESULT name([in] BSTR v);
7839
7840     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7841     HRESULT name([retval, out] BSTR *p);
7842
7843     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7844     HRESULT host([in] BSTR v);
7845
7846     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7847     HRESULT host([retval, out] BSTR *p);
7848
7849     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7850     HRESULT hostname([in] BSTR v);
7851
7852     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7853     HRESULT hostname([retval, out] BSTR *p);
7854
7855     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7856     HRESULT pathname([in] BSTR v);
7857
7858     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7859     HRESULT pathname([retval, out] BSTR *p);
7860
7861     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7862     HRESULT port([in] BSTR v);
7863
7864     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7865     HRESULT port([retval, out] BSTR *p);
7866
7867     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7868     HRESULT protocol([in] BSTR v);
7869
7870     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7871     HRESULT protocol([retval, out] BSTR *p);
7872
7873     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7874     HRESULT search([in] BSTR v);
7875
7876     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7877     HRESULT search([retval, out] BSTR *p);
7878
7879     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7880     HRESULT hash([in] BSTR v);
7881
7882     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7883     HRESULT hash([retval, out] BSTR *p);
7884
7885     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7886     HRESULT onblur([in] VARIANT v);
7887
7888     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7889     HRESULT onblur([retval, out] VARIANT *p);
7890
7891     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7892     HRESULT onfocus([in] VARIANT v);
7893
7894     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7895     HRESULT onfocus([retval, out] VARIANT *p);
7896
7897     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7898     HRESULT accessKey([in] BSTR v);
7899
7900     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7901     HRESULT accessKey([retval, out] BSTR *p);
7902
7903     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
7904     HRESULT protocolLong([retval, out] BSTR *p);
7905
7906     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
7907     HRESULT mimeType([retval, out] BSTR *p);
7908
7909     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
7910     HRESULT nameProp([retval, out] BSTR *p);
7911
7912     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7913     HRESULT tabIndex([in] short v);
7914
7915     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7916     HRESULT tabIndex([retval, out] short *p);
7917
7918     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
7919     HRESULT focus();
7920
7921     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
7922     HRESULT blur();
7923 }
7924
7925 /*****************************************************************************
7926  *    DispHTMLAnchorElement dispinterface
7927  */
7928 [
7929     hidden,
7930     uuid(3050f502-98b5-11cf-bb82-00aa00bdce0b)
7931 ]
7932 dispinterface DispHTMLAnchorElement
7933 {
7934 properties:
7935 methods:
7936     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7937
7938     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7939     void href(BSTR v);
7940
7941     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7942     BSTR href();
7943
7944     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7945     void target(BSTR v);
7946
7947     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7948     BSTR target();
7949
7950     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7951     void rel(BSTR v);
7952
7953     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7954     BSTR rel();
7955
7956     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7957     void rev(BSTR v);
7958
7959     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7960     BSTR rev();
7961
7962     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7963     void urn(BSTR v);
7964
7965     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7966     BSTR urn();
7967
7968     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7969     void Methods(BSTR v);
7970
7971     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7972     BSTR Methods();
7973
7974     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7975     void name(BSTR v);
7976
7977     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7978     BSTR name();
7979
7980     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7981     void host(BSTR v);
7982
7983     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7984     BSTR host();
7985
7986     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7987     void hostname(BSTR v);
7988
7989     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7990     BSTR hostname();
7991
7992     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7993     void pathname(BSTR v);
7994
7995     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7996     BSTR pathname();
7997
7998     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7999     void port(BSTR v);
8000
8001     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8002     BSTR port();
8003
8004     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8005     void protocol(BSTR v);
8006
8007     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8008     BSTR protocol();
8009
8010     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8011     void search(BSTR v);
8012
8013     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8014     BSTR search();
8015
8016     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8017     void hash(BSTR v);
8018
8019     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8020     BSTR hash();
8021
8022     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8023     BSTR protocolLong();
8024
8025     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8026     BSTR mimeType();
8027
8028     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8029     BSTR nameProp();
8030
8031     [propput, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8032     void charset(BSTR v);
8033
8034     [propget, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8035     BSTR charset();
8036
8037     [propput, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8038     void coords(BSTR v);
8039
8040     [propget, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8041     BSTR coords();
8042
8043     [propput, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8044     void hreflang(BSTR v);
8045
8046     [propget, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8047     BSTR hreflang();
8048
8049     [propput, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8050     void shape(BSTR v);
8051
8052     [propget, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8053     BSTR shape();
8054
8055     [propput, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8056     void type(BSTR v);
8057
8058     [propget, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8059     BSTR type();
8060
8061     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8062     void ie8_shape(BSTR v);
8063
8064     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8065     BSTR ie8_shape();
8066
8067     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8068     void ie8_coords(BSTR v);
8069
8070     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8071     BSTR ie8_coords();
8072
8073     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8074     void ie8_href(BSTR v);
8075
8076     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8077     BSTR ie8_href();
8078 }
8079
8080 /*****************************************************************************
8081  *    IHTMLElementCollection interface
8082  */
8083 [
8084     odl,
8085     oleautomation,
8086     dual,
8087     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
8088 ]
8089 interface IHTMLElementCollection : IDispatch
8090 {
8091     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8092     HRESULT toString([retval, out] BSTR *String);
8093
8094     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8095     HRESULT length([in] LONG v);
8096
8097     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8098     HRESULT length([retval, out] LONG *p);
8099
8100     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
8101     HRESULT _newEnum([retval, out] IUnknown **p);
8102
8103     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8104     HRESULT item(
8105         [optional, in] VARIANT name,
8106         [optional, in] VARIANT index,
8107         [retval,  out] IDispatch **pdisp);
8108
8109     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8110     HRESULT tags(
8111         [in] VARIANT tagName,
8112         [retval, out] IDispatch **pdisp);
8113 }
8114
8115 /*****************************************************************************
8116  *    DispHTMLElementCollection dispinterface
8117  */
8118 [
8119     hidden,
8120     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
8121 ]
8122 dispinterface DispHTMLElementCollection
8123 {
8124 properties:
8125 methods:
8126     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8127     BSTR toString();
8128
8129     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8130     void length(LONG v);
8131
8132     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8133     LONG length();
8134
8135     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
8136     IUnknown *_newEnum();
8137
8138     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8139     IDispatch *item(
8140             [in, optional] VARIANT name,
8141             [in, optional] VARIANT index);
8142
8143     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8144     IDispatch *tags(
8145             [in] VARIANT tagName);
8146
8147     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
8148     IDispatch *urns([in] VARIANT urn);
8149
8150     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
8151     IDispatch *namedItem([in] BSTR name);
8152 }
8153
8154 /*****************************************************************************
8155  *    IHTMLSelectElement interface
8156  */
8157 [
8158     odl,
8159     oleautomation,
8160     dual,
8161     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
8162 ]
8163 interface IHTMLSelectElement : IDispatch
8164 {
8165     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8166     HRESULT size([in] LONG v);
8167
8168     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8169     HRESULT size([retval, out] LONG *p);
8170
8171     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8172     HRESULT multiple([in] VARIANT_BOOL v);
8173
8174     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8175     HRESULT multiple([retval, out] VARIANT_BOOL *p);
8176
8177     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8178     HRESULT name([in] BSTR v);
8179
8180     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8181     HRESULT name([retval, out] BSTR *p);
8182
8183     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8184     HRESULT options([retval, out] IDispatch **p);
8185
8186     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8187     HRESULT onchange([in] VARIANT v);
8188
8189     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8190     HRESULT onchange([retval, out] VARIANT *p);
8191
8192     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8193     HRESULT selectedIndex([in] LONG v);
8194
8195     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8196     HRESULT selectedIndex([retval, out] LONG *p);
8197
8198     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8199     HRESULT type([retval, out] BSTR *p);
8200
8201     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8202     HRESULT value([in] BSTR v);
8203
8204     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8205     HRESULT value([retval, out] BSTR *p);
8206
8207     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8208     HRESULT disabled([in] VARIANT_BOOL v);
8209
8210     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8211     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8212
8213     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8214     HRESULT form([retval, out] IHTMLFormElement **p);
8215
8216     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8217     HRESULT add(
8218         [in] IHTMLElement *element,
8219         [optional, in] VARIANT before);
8220
8221     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8222     HRESULT remove([defaultvalue(-1), in] LONG index);
8223
8224     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8225     HRESULT length([in] LONG v);
8226
8227     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8228     HRESULT length([retval, out] LONG *p);
8229
8230     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8231     HRESULT _newEnum([retval, out] IUnknown **p);
8232
8233     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8234     HRESULT item(
8235         [optional, in] VARIANT name,
8236         [optional, in] VARIANT index,
8237         [retval, out] IDispatch **pdisp);
8238
8239     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8240     HRESULT tags(
8241         [in] VARIANT tagName,
8242         [retval, out] IDispatch **pdisp);
8243 }
8244
8245 /*****************************************************************************
8246  *    DispHTMLSelectElement dispinterface
8247  */
8248 [
8249     hidden,
8250     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8251 ]
8252 dispinterface DispHTMLSelectElement
8253 {
8254 properties:
8255 methods:
8256     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8257
8258     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8259     void size(LONG v);
8260
8261     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8262     LONG size();
8263
8264     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8265     void multiple(VARIANT_BOOL v);
8266
8267     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8268     VARIANT_BOOL multiple();
8269
8270     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8271     void name(BSTR v);
8272
8273     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8274     BSTR name();
8275
8276     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8277     IDispatch *options();
8278
8279     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8280     void onchange(VARIANT v);
8281
8282     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8283     VARIANT onchange();
8284
8285     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8286     void selectedIndex(LONG v);
8287
8288     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8289     LONG selectedIndex();
8290
8291     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8292     BSTR type();
8293
8294     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8295     void value(BSTR v);
8296
8297     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8298     BSTR value();
8299
8300     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8301     IHTMLFormElement *form();
8302
8303     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8304     void add(
8305             [in] IHTMLElement *element,
8306             [in, optional] VARIANT before);
8307
8308     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8309     void remove([in, defaultvalue(-1)] LONG index);
8310
8311     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8312     void length(LONG v);
8313
8314     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8315     LONG length();
8316
8317     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8318     IUnknown *_newEnum();
8319
8320     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8321     IDispatch *item(
8322             [in, optional] VARIANT name,
8323             [in, optional] VARIANT index);
8324
8325     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8326     IDispatch *tags([in] VARIANT tagName);
8327
8328     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
8329     IDispatch *urns([in] VARIANT urn);
8330
8331     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
8332     IDispatch *namedItem([in] BSTR name);
8333 }
8334
8335 /*****************************************************************************
8336  *    IHTMLSelectionObject interface
8337  */
8338 [
8339     odl,
8340     oleautomation,
8341     dual,
8342     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
8343 ]
8344 interface IHTMLSelectionObject : IDispatch
8345 {
8346     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
8347     HRESULT createRange([retval, out] IDispatch **range);
8348
8349     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
8350     HRESULT empty();
8351
8352     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
8353     HRESULT clear();
8354
8355     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
8356     HRESULT type([retval, out] BSTR *p);
8357 }
8358
8359 /*****************************************************************************
8360  *    IHTMLOptionElement interface
8361  */
8362 [
8363     odl,
8364     oleautomation,
8365     dual,
8366     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
8367 ]
8368 interface IHTMLOptionElement : IDispatch
8369 {
8370     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8371     HRESULT selected([in] VARIANT_BOOL v);
8372
8373     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8374     HRESULT selected([retval, out] VARIANT_BOOL *p);
8375
8376     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8377     HRESULT value([in] BSTR v);
8378
8379     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8380     HRESULT value([retval, out] BSTR *p);
8381
8382     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8383     HRESULT defaultSelected([in] VARIANT_BOOL v);
8384
8385     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8386     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
8387
8388     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8389     HRESULT index([in] LONG v);
8390
8391     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8392     HRESULT index([retval, out] LONG *p);
8393
8394     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8395     HRESULT text([in] BSTR v);
8396
8397     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8398     HRESULT text([retval, out] BSTR *p);
8399
8400     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8401     HRESULT form([retval, out] IHTMLFormElement **p);
8402 }
8403
8404 [
8405     odl,
8406     oleautomation,
8407     dual,
8408     uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
8409 ]
8410 interface IHTMLOptionElement3 : IDispatch
8411 {
8412     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8413     HRESULT label([in] BSTR v);
8414
8415     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8416     HRESULT label([retval, out] BSTR * p);
8417 }
8418
8419 /*****************************************************************************
8420  *    IHTMLOptionElementFactory interface
8421  */
8422 [
8423     odl,
8424     oleautomation,
8425     dual,
8426     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
8427 ]
8428 interface IHTMLOptionElementFactory : IDispatch
8429 {
8430     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
8431     HRESULT create(
8432         [optional, in] VARIANT text,
8433         [optional, in] VARIANT value,
8434         [optional, in] VARIANT defaultselected,
8435         [optional, in] VARIANT selected,
8436         [retval, out] IHTMLOptionElement **optelem);
8437 }
8438
8439 /*****************************************************************************
8440  *    DispHTMLOptionElement dispinterface
8441  */
8442 [
8443     hidden,
8444     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
8445 ]
8446 dispinterface DispHTMLOptionElement
8447 {
8448 properties:
8449 methods:
8450     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8451
8452     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8453     void selected(VARIANT_BOOL v);
8454
8455     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8456     VARIANT_BOOL selected();
8457
8458     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8459     void value(BSTR v);
8460
8461     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8462     BSTR value();
8463
8464     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8465     void defaultSelected(VARIANT_BOOL v);
8466
8467     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8468     VARIANT_BOOL defaultSelected();
8469
8470     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8471     void index(LONG v);
8472
8473     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8474     LONG index();
8475
8476     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8477     void text(BSTR v);
8478
8479     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8480     BSTR text();
8481
8482     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8483     IHTMLFormElement *form();
8484
8485     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8486     void label(BSTR v);
8487
8488     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8489     BSTR label();
8490 }
8491
8492 [
8493     noncreatable,
8494     uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
8495 ]
8496 coclass HTMLOptionElement
8497 {
8498     [default]           dispinterface DispHTMLOptionElement;
8499     [source, default]   dispinterface HTMLElementEvents;
8500     [source]            dispinterface HTMLElementEvents2;
8501                         interface IHTMLElement;
8502                         interface IHTMLElement2;
8503                         interface IHTMLElement3;
8504                         interface IHTMLElement4;
8505                         interface IHTMLUniqueName;
8506                         interface IHTMLDOMNode;
8507                         interface IHTMLDOMNode2;
8508                         interface IHTMLDatabinding;
8509                         interface IHTMLOptionElement;
8510                         interface IHTMLOptionElement3;
8511 }
8512
8513 /*****************************************************************************
8514  *    IHTMLInputElement interface
8515  */
8516 [
8517     odl,
8518     oleautomation,
8519     dual,
8520     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
8521 ]
8522 interface IHTMLInputElement : IDispatch
8523 {
8524     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8525     HRESULT type([in] BSTR v);
8526
8527     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8528     HRESULT type([retval, out] BSTR *p);
8529
8530     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8531     HRESULT value([in] BSTR v);
8532
8533     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8534     HRESULT value([retval, out] BSTR *p);
8535
8536     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8537     HRESULT name([in] BSTR v);
8538
8539     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8540     HRESULT name([retval, out] BSTR *p);
8541
8542     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8543     HRESULT status([in] VARIANT_BOOL v);
8544
8545     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8546     HRESULT status([retval, out] VARIANT_BOOL *p);
8547
8548     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8549     HRESULT disabled([in] VARIANT_BOOL v);
8550
8551     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8552     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8553
8554     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8555     HRESULT form([retval, out] IHTMLFormElement **p);
8556
8557     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8558     HRESULT size([in] LONG v);
8559
8560     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8561     HRESULT size([retval, out] LONG *p);
8562
8563     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8564     HRESULT maxLength([in] LONG v);
8565
8566     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8567     HRESULT maxLength([retval, out] LONG *p);
8568
8569     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8570     HRESULT select();
8571
8572     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8573     HRESULT onchange([in] VARIANT v);
8574
8575     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8576     HRESULT onchange([retval, out] VARIANT *p);
8577
8578     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8579     HRESULT onselect([in] VARIANT v);
8580
8581     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8582     HRESULT onselect([retval, out] VARIANT *p);
8583
8584     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8585     HRESULT defaultValue([in] BSTR v);
8586
8587     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8588     HRESULT defaultValue([retval, out] BSTR *p);
8589
8590     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8591     HRESULT readOnly([in] VARIANT_BOOL v);
8592
8593     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8594     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8595
8596     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8597     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8598
8599     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8600     HRESULT indeterminate([in] VARIANT_BOOL v);
8601
8602     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8603     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
8604
8605     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8606     HRESULT defaultChecked([in] VARIANT_BOOL v);
8607
8608     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8609     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
8610
8611     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8612     HRESULT checked([in] VARIANT_BOOL v);
8613
8614     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8615     HRESULT checked([retval, out] VARIANT_BOOL *p);
8616
8617     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8618     HRESULT border([in] VARIANT v);
8619
8620     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8621     HRESULT border([retval, out] VARIANT *p);
8622
8623     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8624     HRESULT vspace([in] LONG v);
8625
8626     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8627     HRESULT vspace([retval, out] LONG *p);
8628
8629     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8630     HRESULT hspace([in] LONG v);
8631
8632     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8633     HRESULT hspace([retval, out] LONG *p);
8634
8635     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8636     HRESULT alt([in] BSTR v);
8637
8638     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8639     HRESULT alt([retval, out] BSTR *p);
8640
8641     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8642     HRESULT src([in] BSTR v);
8643
8644     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8645     HRESULT src([retval, out] BSTR *p);
8646
8647     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8648     HRESULT lowsrc([in] BSTR v);
8649
8650     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8651     HRESULT lowsrc([retval, out] BSTR *p);
8652
8653     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8654     HRESULT vrml([in] BSTR v);
8655
8656     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8657     HRESULT vrml([retval, out] BSTR *p);
8658
8659     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8660     HRESULT dynsrc([in] BSTR v);
8661
8662     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8663     HRESULT dynsrc([retval, out] BSTR *p);
8664
8665     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
8666     HRESULT readyState([retval, out] BSTR *p);
8667
8668     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
8669     HRESULT complete([retval, out] VARIANT_BOOL *p);
8670
8671     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8672     HRESULT loop([in] VARIANT v);
8673
8674     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8675     HRESULT loop([retval, out] VARIANT *p);
8676
8677     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8678     HRESULT align([in] BSTR v);
8679
8680     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8681     HRESULT align([retval, out] BSTR *p);
8682
8683     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8684     HRESULT onload([in] VARIANT v);
8685
8686     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8687     HRESULT onload([retval, out] VARIANT *p);
8688
8689     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8690     HRESULT onerror([in] VARIANT v);
8691
8692     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8693     HRESULT onerror([retval, out] VARIANT *p);
8694
8695     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8696     HRESULT onabort([in] VARIANT v);
8697
8698     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8699     HRESULT onabort([retval, out] VARIANT *p);
8700
8701     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8702     HRESULT width([in] LONG v);
8703
8704     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8705     HRESULT width([retval, out] LONG *p);
8706
8707     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8708     HRESULT height([in] LONG v);
8709
8710     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8711     HRESULT height([retval, out] LONG *p);
8712
8713     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8714     HRESULT start([in] BSTR v);
8715
8716     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8717     HRESULT start([retval, out] BSTR *p);
8718 }
8719
8720 /*****************************************************************************
8721  *    IHTMLInputTextElement interface
8722  */
8723 [
8724     odl,
8725     oleautomation,
8726     dual,
8727     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
8728 ]
8729 interface IHTMLInputTextElement : IDispatch
8730 {
8731     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
8732     HRESULT type([retval, out] BSTR *p);
8733
8734     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
8735     HRESULT value([in] BSTR v);
8736
8737     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
8738     HRESULT value([retval, out] BSTR *p);
8739
8740     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
8741     HRESULT name([in] BSTR v);
8742
8743     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
8744     HRESULT name([retval, out] BSTR *p);
8745
8746     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
8747     HRESULT status([in] VARIANT v);
8748
8749     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
8750     HRESULT status([retval, out] VARIANT *p);
8751
8752     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
8753     HRESULT disabled([in] VARIANT_BOOL v);
8754
8755     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
8756     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8757
8758     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
8759     HRESULT form([retval, out] IHTMLFormElement **p);
8760
8761     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8762     HRESULT defaultValue([in] BSTR v);
8763
8764     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8765     HRESULT defaultValue([retval, out] BSTR *p);
8766
8767     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
8768     HRESULT size([in] LONG v);
8769
8770     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
8771     HRESULT size([retval, out] LONG *p);
8772
8773     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
8774     HRESULT maxLength([in] LONG v);
8775
8776     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
8777     HRESULT maxLength([retval, out] LONG *p);
8778
8779     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
8780     HRESULT select();
8781
8782     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
8783     HRESULT onchange([in] VARIANT v);
8784
8785     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
8786     HRESULT onchange([retval, out] VARIANT *p);
8787
8788     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
8789     HRESULT onselect([in] VARIANT v);
8790
8791     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
8792     HRESULT onselect([retval, out] VARIANT *p);
8793
8794     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
8795     HRESULT readOnly([in] VARIANT_BOOL v);
8796
8797     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
8798     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8799
8800     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
8801     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8802 }
8803
8804 [
8805     hidden,
8806     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
8807 ]
8808 dispinterface DispHTMLInputElement
8809 {
8810 properties:
8811 methods:
8812     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8813
8814     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8815     void type(BSTR v);
8816
8817     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8818     BSTR type();
8819
8820     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8821     void value(BSTR v);
8822
8823     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8824     BSTR value();
8825
8826     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8827     void name(BSTR v);
8828
8829     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8830     BSTR name();
8831
8832     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8833     void status(VARIANT_BOOL v);
8834
8835     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8836     VARIANT_BOOL status();
8837
8838     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8839     IHTMLFormElement *form();
8840
8841     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8842     void size(LONG v);
8843
8844     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8845     LONG size();
8846
8847     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8848     void maxLength(LONG v);
8849
8850     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8851     LONG maxLength();
8852
8853     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8854     void select();
8855
8856     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8857     void onchange(VARIANT v);
8858
8859     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8860     VARIANT onchange();
8861
8862     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8863     void onselect(VARIANT v);
8864
8865     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8866     VARIANT onselect();
8867
8868     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8869     void defaultValue(BSTR v);
8870
8871     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8872     BSTR defaultValue();
8873
8874     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8875     void readOnly(VARIANT_BOOL v);
8876
8877     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8878     VARIANT_BOOL readOnly();
8879
8880     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8881     IHTMLTxtRange *createTextRange();
8882
8883     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8884     void indeterminate(VARIANT_BOOL v);
8885
8886     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8887     VARIANT_BOOL indeterminate();
8888
8889     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8890     void defaultChecked(VARIANT_BOOL v);
8891
8892     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8893     VARIANT_BOOL defaultChecked();
8894
8895     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8896     void checked(VARIANT_BOOL v);
8897
8898     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8899     VARIANT_BOOL checked();
8900
8901     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8902     void border(VARIANT v);
8903
8904     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8905     VARIANT border();
8906
8907     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8908     void vspace(LONG v);
8909
8910     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8911     LONG vspace();
8912
8913     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8914     void hspace(LONG v);
8915
8916     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8917     LONG hspace();
8918
8919     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8920     void alt(BSTR v);
8921
8922     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8923     BSTR alt();
8924
8925     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8926     void src(BSTR v);
8927
8928     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8929     BSTR src();
8930
8931     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8932     void lowsrc(BSTR v);
8933
8934     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8935     BSTR lowsrc();
8936
8937     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8938     void vrml(BSTR v);
8939
8940     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8941     BSTR vrml();
8942
8943     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8944     void dynsrc(BSTR v);
8945
8946     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8947     BSTR dynsrc();
8948
8949     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
8950     VARIANT_BOOL complete();
8951
8952     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8953     void loop(VARIANT v);
8954
8955     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8956     VARIANT loop();
8957
8958     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8959     void align(BSTR v);
8960
8961     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8962     BSTR align();
8963
8964     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8965     void onload(VARIANT v);
8966
8967     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8968     VARIANT onload();
8969
8970     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8971     void onerror(VARIANT v);
8972
8973     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8974     VARIANT onerror();
8975
8976     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8977     void onabort(VARIANT v);
8978
8979     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8980     VARIANT onabort();
8981
8982     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8983     void width(LONG v);
8984
8985     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8986     LONG width();
8987
8988     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8989     void height(LONG v);
8990
8991     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8992     LONG height();
8993
8994     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8995     void start(BSTR v);
8996
8997     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8998     BSTR start();
8999
9000     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9001     void accept(BSTR v);
9002
9003     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9004     BSTR accept();
9005
9006     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9007     void useMap(BSTR v);
9008
9009     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9010     BSTR useMap();
9011 }
9012
9013 /*****************************************************************************
9014  *    IHTMLTextAreaElement interface
9015  */
9016 [
9017     odl,
9018     oleautomation,
9019     dual,
9020     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
9021 ]
9022 interface IHTMLTextAreaElement : IDispatch
9023 {
9024     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9025     HRESULT type([retval, out] BSTR *p);
9026
9027     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9028     HRESULT value([in] BSTR v);
9029
9030     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9031     HRESULT value([retval, out] BSTR *p);
9032
9033     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9034     HRESULT name([in] BSTR v);
9035
9036     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9037     HRESULT name([retval, out] BSTR *p);
9038
9039     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9040     HRESULT status([in] VARIANT v);
9041
9042     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9043     HRESULT status([retval, out] VARIANT *p);
9044
9045     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9046     HRESULT disabled([in] VARIANT_BOOL v);
9047
9048     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9049     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9050
9051     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9052     HRESULT form([retval, out] IHTMLFormElement **p);
9053
9054     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9055     HRESULT defaultValue([in] BSTR v);
9056
9057     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9058     HRESULT defaultValue([retval, out] BSTR *p);
9059
9060     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9061     HRESULT select();
9062
9063     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9064     HRESULT onchange([in] VARIANT v);
9065
9066     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9067     HRESULT onchange([retval, out] VARIANT *p);
9068
9069     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9070     HRESULT onselect([in] VARIANT v);
9071
9072     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9073     HRESULT onselect([retval, out] VARIANT *p);
9074
9075     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9076     HRESULT readOnly([in] VARIANT_BOOL v);
9077
9078     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9079     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9080
9081     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9082     HRESULT rows([in] LONG v);
9083
9084     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9085     HRESULT rows([retval, out] LONG *p);
9086
9087     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9088     HRESULT cols([in] LONG v);
9089
9090     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9091     HRESULT cols([retval, out] LONG *p);
9092
9093     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9094     HRESULT wrap([in] BSTR v);
9095
9096     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9097     HRESULT wrap([retval, out] BSTR *p);
9098
9099     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9100     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9101 }
9102
9103 /*****************************************************************************
9104  *    DispHTMLTextAreaElement dispinterface
9105  */
9106 [
9107     hidden,
9108     uuid(3050f521-98b5-11cf-bb82-00aa00bdce0b)
9109 ]
9110 dispinterface DispHTMLTextAreaElement
9111 {
9112 properties:
9113 methods:
9114     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9115
9116     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9117     BSTR type();
9118
9119     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9120     void value(BSTR v);
9121
9122     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9123     BSTR value();
9124
9125     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9126     void name(BSTR v);
9127
9128     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9129     BSTR name();
9130
9131     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9132     void status(VARIANT v);
9133
9134     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9135     VARIANT status();
9136
9137     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9138     IHTMLFormElement *form();
9139
9140     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9141     void defaultValue(BSTR v);
9142
9143     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9144     BSTR defaultValue();
9145
9146     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9147     void select();
9148
9149     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9150     void onchange(VARIANT v);
9151
9152     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9153     VARIANT onchange();
9154
9155     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9156     void onselect(VARIANT v);
9157
9158     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9159     VARIANT onselect();
9160
9161     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9162     void readOnly(VARIANT_BOOL v);
9163
9164     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9165     VARIANT_BOOL readOnly();
9166
9167     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9168     void rows(LONG v);
9169
9170     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9171     LONG rows();
9172
9173     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9174     void cols(LONG v);
9175
9176     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9177     LONG cols();
9178
9179     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9180     void wrap(BSTR v);
9181
9182     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9183     BSTR wrap();
9184
9185     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9186     IHTMLTxtRange *createTextRange();
9187 }
9188
9189 /*****************************************************************************
9190  *    IHTMLHeadElement interface
9191  */
9192 [
9193     odl,
9194     oleautomation,
9195     dual,
9196     uuid(3050f81d-98b5-11cf-bb82-00aa00bdce0b)
9197 ]
9198 interface IHTMLHeadElement : IDispatch
9199 {
9200     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9201     HRESULT profile([in] BSTR v);
9202
9203     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9204     HRESULT profile([retval, out] BSTR *p);
9205 }
9206
9207 /*****************************************************************************
9208  *    IHTMLHeadElement2 interface
9209  */
9210 [
9211     odl,
9212     oleautomation,
9213     dual,
9214     uuid(3051042f-98b5-11cf-bb82-00aa00bdce0b)
9215 ]
9216 interface IHTMLHeadElement2 : IDispatch
9217 {
9218     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9219     HRESULT profile([in] BSTR v);
9220
9221     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9222     HRESULT profile([retval, out] BSTR *p);
9223 }
9224
9225 /*****************************************************************************
9226  *    IHTMLTitleElement interface
9227  */
9228 [
9229     odl,
9230     oleautomation,
9231     dual,
9232     uuid(3050f322-98b5-11cf-bb82-00aa00bdce0b)
9233 ]
9234 interface IHTMLTitleElement : IDispatch
9235 {
9236     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9237     HRESULT text([in] BSTR v);
9238
9239     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9240     HRESULT text([retval, out] BSTR *p);
9241 }
9242
9243 /*****************************************************************************
9244  *    DispHTMLHeadElement interface
9245  */
9246 [
9247     hidden,
9248     uuid(3050f561-98b5-11cf-bb82-00aa00bdce0b)
9249 ]
9250 dispinterface DispHTMLHeadElement
9251 {
9252 properties:
9253 methods:
9254     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9255
9256     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9257     void profile(BSTR v);
9258
9259     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9260     BSTR profile();
9261
9262     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9263     void ie8_profile(BSTR v);
9264
9265     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9266     BSTR ie8_profile();
9267 }
9268
9269 /*****************************************************************************
9270  *    DispHTMLTitleElement interface
9271  */
9272 [
9273     hidden,
9274     uuid(3050f516-98b5-11cf-bb82-00aa00bdce0b)
9275 ]
9276 dispinterface DispHTMLTitleElement
9277 {
9278 properties:
9279 methods:
9280     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9281
9282     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9283     void text(BSTR v);
9284
9285     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9286     BSTR text();
9287 }
9288
9289 /*****************************************************************************
9290  *    DispHTMLUnknownElement interface
9291  */
9292 [
9293     hidden,
9294     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
9295 ]
9296 dispinterface DispHTMLUnknownElement
9297 {
9298 properties:
9299 methods:
9300     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9301 }
9302
9303 /*****************************************************************************
9304  *    IOmHistory interface
9305  */
9306 [
9307     odl,
9308     oleautomation,
9309     dual,
9310     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
9311 ]
9312 interface IOmHistory : IDispatch
9313 {
9314     [propget, id(DISPID_IOMHISTORY_LENGTH)]
9315     HRESULT length([retval, out] short *p);
9316
9317     [id(DISPID_IOMHISTORY_BACK)]
9318     HRESULT back([optional, in] VARIANT *pvargdistance);
9319
9320     [id(DISPID_IOMHISTORY_FORWARD)]
9321     HRESULT forward([optional, in] VARIANT *pvargdistance);
9322
9323     [id(DISPID_IOMHISTORY_GO)]
9324     HRESULT go([optional, in] VARIANT *pvargdistance);
9325 }
9326
9327 [
9328     noncreatable,
9329     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
9330 ]
9331 coclass HTMLHistory
9332 {
9333     [default]           interface IOmHistory;
9334 }
9335
9336 /*****************************************************************************
9337  *    IHTMLMimeTypesCollection interface
9338  */
9339 [
9340     odl,
9341     oleautomation,
9342     dual,
9343     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
9344 ]
9345 interface IHTMLMimeTypesCollection : IDispatch
9346 {
9347     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
9348     HRESULT length([retval, out] LONG *p);
9349 }
9350
9351 [
9352     noncreatable,
9353     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
9354 ]
9355 coclass CMimeTypes
9356 {
9357     [default]           interface IHTMLMimeTypesCollection;
9358 }
9359
9360 /*****************************************************************************
9361  *    IHTMLPluginsCollection interface
9362  */
9363 [
9364     odl,
9365     oleautomation,
9366     dual,
9367     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
9368 ]
9369 interface IHTMLPluginsCollection : IDispatch
9370 {
9371     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9372     HRESULT length([retval, out] LONG *p);
9373
9374     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9375     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9376 }
9377
9378 [
9379     hidden,
9380     uuid(3050f54a-98b5-11cf-bb82-00aa00bdce0b)
9381 ]
9382 dispinterface DispCPlugins
9383 {
9384  properties:
9385 methods:
9386     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9387     long length();
9388
9389     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9390     void refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9391
9392     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
9393     IDispatch *constructor();
9394 }
9395
9396 [
9397     noncreatable,
9398     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
9399 ]
9400 coclass CPlugins
9401 {
9402     [default]  dispinterface DispCPlugins;
9403                interface IHTMLPluginsCollection;
9404                interface IHTMLDOMConstructor;
9405 }
9406
9407 /*****************************************************************************
9408  *    IHTMLOpsProfile interface
9409  */
9410 [
9411     odl,
9412     oleautomation,
9413     dual,
9414     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
9415 ]
9416 interface IHTMLOpsProfile : IDispatch
9417 {
9418     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
9419     HRESULT addRequest(
9420         [in] BSTR name,
9421         [optional, in] VARIANT reserved,
9422         [retval, out] VARIANT_BOOL *success);
9423
9424     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
9425     HRESULT clearRequest();
9426
9427     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
9428     HRESULT doRequest(
9429         [in] VARIANT usage,
9430         [optional, in] VARIANT fname,
9431         [optional, in] VARIANT domain,
9432         [optional, in] VARIANT path,
9433         [optional, in] VARIANT expire,
9434         [optional, in] VARIANT reserved);
9435
9436     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
9437     HRESULT getAttribute(
9438         [in] BSTR name,
9439         [retval, out] BSTR *value);
9440
9441     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
9442     HRESULT setAttribute(
9443         [in] BSTR name,
9444         [in] BSTR value,
9445         [optional, in] VARIANT prefs,
9446         [retval, out] VARIANT_BOOL *success);
9447
9448     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
9449     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
9450
9451     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
9452     HRESULT addReadRequest(
9453         [in] BSTR name,
9454         [optional, in] VARIANT reserved,
9455         [retval, out] VARIANT_BOOL *success);
9456
9457     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
9458     HRESULT doReadRequest(
9459         [in] VARIANT usage,
9460         [optional, in] VARIANT fname,
9461         [optional, in] VARIANT domain,
9462         [optional, in] VARIANT path,
9463         [optional, in] VARIANT expire,
9464         [optional, in] VARIANT reserved);
9465
9466     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
9467     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
9468 }
9469
9470 [
9471     noncreatable,
9472     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
9473 ]
9474 coclass COpsProfile
9475 {
9476     [default]           interface IHTMLOpsProfile;
9477 }
9478
9479 /*****************************************************************************
9480  *    IOmNavigator interface
9481  */
9482 [
9483     odl,
9484     oleautomation,
9485     dual,
9486     uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
9487 ]
9488 interface IOmNavigator : IDispatch
9489 {
9490     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9491     HRESULT appCodeName([retval, out] BSTR *p);
9492
9493     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9494     HRESULT appName([retval, out] BSTR *p);
9495
9496     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
9497     HRESULT appVersion([retval, out] BSTR *p);
9498
9499     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
9500     HRESULT userAgent([retval, out] BSTR *p);
9501
9502     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
9503     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
9504
9505     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
9506     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
9507
9508     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
9509     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
9510
9511     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
9512     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
9513
9514     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
9515     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
9516
9517     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
9518     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
9519
9520     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
9521     HRESULT toString([retval, out] BSTR *String);
9522
9523     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
9524     HRESULT cpuClass([retval, out] BSTR *p);
9525
9526     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
9527     HRESULT systemLanguage([retval, out] BSTR *p);
9528
9529     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
9530     HRESULT browserLanguage([retval, out] BSTR *p);
9531
9532     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
9533     HRESULT userLanguage([retval, out] BSTR *p);
9534
9535     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
9536     HRESULT platform([retval, out] BSTR *p);
9537
9538     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
9539     HRESULT appMinorVersion([retval, out] BSTR *p);
9540
9541     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
9542     HRESULT connectionSpeed([retval, out] LONG *p);
9543
9544     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
9545     HRESULT onLine([retval, out] VARIANT_BOOL *p);
9546
9547     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
9548     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
9549 }
9550
9551 /*****************************************************************************
9552  *    DispHTMLNavigator dispinterface
9553  */
9554 [
9555     hidden,
9556     uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
9557 ]
9558 dispinterface DispHTMLNavigator
9559 {
9560 properties:
9561 methods:
9562     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9563     BSTR appCodeName();
9564
9565     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9566     BSTR appName();
9567
9568     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
9569     BSTR appVersion();
9570
9571     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
9572     BSTR userAgent();
9573
9574     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
9575     VARIANT_BOOL javaEnabled();
9576
9577     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
9578     VARIANT_BOOL taintEnabled();
9579
9580     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
9581     IHTMLMimeTypesCollection *mimeTypes();
9582
9583     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
9584     IHTMLPluginsCollection *plugins();
9585
9586     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
9587     VARIANT_BOOL cookieEnabled();
9588
9589     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
9590     IHTMLOpsProfile *opsProfile();
9591
9592     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
9593     BSTR toString();
9594
9595     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
9596     BSTR cpuClass();
9597
9598     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
9599     BSTR systemLanguage();
9600
9601     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
9602     BSTR browserLanguage();
9603
9604     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
9605     BSTR userLanguage();
9606
9607     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
9608     BSTR platform();
9609
9610     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
9611     BSTR appMinorVersion();
9612
9613     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
9614     LONG connectionSpeed();
9615
9616     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
9617     VARIANT_BOOL onLine();
9618
9619     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
9620     IHTMLOpsProfile *userProfile();
9621
9622     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
9623 }
9624
9625 [
9626     noncreatable,
9627     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
9628 ]
9629 coclass HTMLNavigator
9630 {
9631     [default]  dispinterface DispHTMLNavigator;
9632                interface IOmNavigator;
9633 }
9634
9635 /*****************************************************************************
9636  *    IHTMLLocation interface
9637  */
9638 [
9639     odl,
9640     oleautomation,
9641     dual,
9642     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
9643 ]
9644 interface IHTMLLocation : IDispatch
9645 {
9646     [propput, id(DISPID_IHTMLLOCATION_HREF)]
9647     HRESULT href([in] BSTR v);
9648
9649     [propget, id(DISPID_IHTMLLOCATION_HREF)]
9650     HRESULT href([retval, out] BSTR *p);
9651
9652     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9653     HRESULT protocol([in] BSTR v);
9654
9655     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9656     HRESULT protocol([retval, out] BSTR *p);
9657
9658     [propput, id(DISPID_IHTMLLOCATION_HOST)]
9659     HRESULT host([in] BSTR v);
9660
9661     [propget, id(DISPID_IHTMLLOCATION_HOST)]
9662     HRESULT host([retval, out] BSTR *p);
9663
9664     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9665     HRESULT hostname([in] BSTR v);
9666
9667     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9668     HRESULT hostname([retval, out] BSTR *p);
9669
9670     [propput, id(DISPID_IHTMLLOCATION_PORT)]
9671     HRESULT port([in] BSTR v);
9672
9673     [propget, id(DISPID_IHTMLLOCATION_PORT)]
9674     HRESULT port([retval, out] BSTR *p);
9675
9676     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
9677     HRESULT pathname([in] BSTR v);
9678
9679     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
9680     HRESULT pathname([retval, out] BSTR *p);
9681
9682     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
9683     HRESULT search([in] BSTR v);
9684
9685     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
9686     HRESULT search([retval, out] BSTR *p);
9687
9688     [propput, id(DISPID_IHTMLLOCATION_HASH)]
9689     HRESULT hash([in] BSTR v);
9690
9691     [propget, id(DISPID_IHTMLLOCATION_HASH)]
9692     HRESULT hash([retval, out] BSTR *p);
9693
9694     [id(DISPID_IHTMLLOCATION_RELOAD)]
9695     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
9696
9697     [id(DISPID_IHTMLLOCATION_REPLACE)]
9698     HRESULT replace([in] BSTR bstr);
9699
9700     [id(DISPID_IHTMLLOCATION_ASSIGN)]
9701     HRESULT assign([in] BSTR bstr);
9702
9703     [id(DISPID_IHTMLLOCATION_TOSTRING)]
9704     HRESULT toString([retval, out] BSTR *String);
9705 }
9706
9707 /*****************************************************************************
9708  *    DispHTMLLocation dispinterface
9709  */
9710 [
9711     hidden,
9712     uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
9713 ]
9714 dispinterface DispHTMLLocation
9715 {
9716 properties:
9717 methods:
9718     [propput, id(DISPID_IHTMLLOCATION_HREF)]
9719     void href(BSTR v);
9720
9721     [propget, id(DISPID_IHTMLLOCATION_HREF)]
9722     BSTR href();
9723
9724     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9725     void protocol(BSTR v);
9726
9727     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9728     BSTR protocol();
9729
9730     [propput, id(DISPID_IHTMLLOCATION_HOST)]
9731     void host(BSTR v);
9732
9733     [propget, id(DISPID_IHTMLLOCATION_HOST)]
9734     BSTR host();
9735
9736     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9737     void hostname(BSTR v);
9738
9739     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9740     BSTR hostname();
9741
9742     [propput, id(DISPID_IHTMLLOCATION_PORT)]
9743     void port(BSTR v);
9744
9745     [propget, id(DISPID_IHTMLLOCATION_PORT)]
9746     BSTR port();
9747
9748     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
9749     void pathname(BSTR v);
9750
9751     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
9752     BSTR pathname();
9753
9754     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
9755     void search(BSTR v);
9756
9757     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
9758     BSTR search();
9759
9760     [propput, id(DISPID_IHTMLLOCATION_HASH)]
9761     void hash(BSTR v);
9762
9763     [propget, id(DISPID_IHTMLLOCATION_HASH)]
9764     BSTR hash();
9765
9766     [id(DISPID_IHTMLLOCATION_RELOAD)]
9767     void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
9768
9769     [id(DISPID_IHTMLLOCATION_REPLACE)]
9770     void replace([in] BSTR bstr);
9771
9772     [id(DISPID_IHTMLLOCATION_ASSIGN)]
9773     void assign([in] BSTR bstr);
9774
9775     [id(DISPID_IHTMLLOCATION_TOSTRING)]
9776     BSTR toString();
9777
9778     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
9779 }
9780
9781 [
9782     noncreatable,
9783     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
9784 ]
9785 coclass HTMLLocation
9786 {
9787     [default]  dispinterface DispHTMLLocation;
9788                interface IHTMLLocation;
9789 }
9790
9791 [
9792     odl,
9793     oleautomation,
9794     dual,
9795     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
9796 ]
9797 interface IHTMLBookmarkCollection : IDispatch
9798 {
9799     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
9800     HRESULT length([out, retval] LONG *p);
9801
9802     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
9803     HRESULT _newEnum([out, retval] IUnknown **p);
9804
9805     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
9806     HRESULT item(
9807             [in] LONG index,
9808             [out, retval] VARIANT *pVarBookmark);
9809 }
9810
9811 /*****************************************************************************
9812  *    IHTMLDataTransfer interface
9813  */
9814 [
9815     odl,
9816     oleautomation,
9817     dual,
9818     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
9819 ]
9820 interface IHTMLDataTransfer : IDispatch
9821 {
9822     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
9823     HRESULT setData(
9824             [in] BSTR format,
9825             [in] VARIANT *data,
9826             [out, retval] VARIANT_BOOL *pret);
9827
9828     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
9829     HRESULT getData(
9830             [in] BSTR format,
9831             [out, retval] VARIANT *pvarRet);
9832
9833     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
9834     HRESULT clearData(
9835             [in] BSTR format,
9836             [out, retval] VARIANT_BOOL *pret);
9837
9838     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
9839     HRESULT dropEffect([in] BSTR v);
9840
9841     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
9842     HRESULT dropEffect([out, retval] BSTR *p);
9843
9844     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
9845     HRESULT effectAllowed([in] BSTR v);
9846
9847     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
9848     HRESULT effectAllowed([out, retval] BSTR *p);
9849 }
9850
9851 /*****************************************************************************
9852  *    IHTMLEventObj interface
9853  */
9854 [
9855     odl,
9856     oleautomation,
9857     dual,
9858     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
9859 ]
9860 interface IHTMLEventObj : IDispatch
9861 {
9862     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
9863     HRESULT srcElement([retval, out] IHTMLElement **p);
9864
9865     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
9866     HRESULT altKey([retval, out] VARIANT_BOOL *p);
9867
9868     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
9869     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
9870
9871     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
9872     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
9873
9874     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9875     HRESULT returnValue([in] VARIANT v);
9876
9877     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9878     HRESULT returnValue([retval, out] VARIANT *p);
9879
9880     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9881     HRESULT cancelBubble([in] VARIANT_BOOL v);
9882
9883     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9884     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
9885
9886     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
9887     HRESULT fromElement([retval, out] IHTMLElement **p);
9888
9889     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
9890     HRESULT toElement([retval, out] IHTMLElement **p);
9891
9892     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9893     HRESULT keyCode([in] LONG v);
9894
9895     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9896     HRESULT keyCode([retval, out] LONG *p);
9897
9898     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
9899     HRESULT button([retval, out] LONG *p);
9900
9901     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
9902     HRESULT type([retval, out] BSTR *p);
9903
9904     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
9905     HRESULT qualifier([retval, out] BSTR *p);
9906
9907     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
9908     HRESULT reason([retval, out] LONG *p);
9909
9910     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
9911     HRESULT x([retval, out] LONG *p);
9912
9913     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
9914     HRESULT y([retval, out] LONG *p);
9915
9916     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
9917     HRESULT clientX([retval, out] LONG *p);
9918
9919     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
9920     HRESULT clientY([retval, out] LONG *p);
9921
9922     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
9923     HRESULT offsetX([retval, out] LONG *p);
9924
9925     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
9926     HRESULT offsetY([retval, out] LONG *p);
9927
9928     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
9929     HRESULT screenX([retval, out] LONG *p);
9930
9931     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
9932     HRESULT screenY([retval, out] LONG *p);
9933
9934     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
9935     HRESULT srcFilter([retval, out] IDispatch **p);
9936 }
9937
9938 /*****************************************************************************
9939  *    DispCEventObj dispinterface
9940  */
9941 [
9942     hidden,
9943     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
9944 ]
9945 dispinterface DispCEventObj
9946 {
9947 properties:
9948 methods:
9949     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9950     void returnValue(VARIANT v);
9951
9952     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9953     VARIANT returnValue();
9954
9955     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9956     void cancelBubble(VARIANT_BOOL v);
9957
9958     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9959     VARIANT_BOOL cancelBubble();
9960
9961     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9962     void keyCode(LONG v);
9963
9964     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9965     LONG keyCode();
9966
9967     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
9968     void setAttribute(
9969             [in] BSTR strAttributeName,
9970             [in] VARIANT AttributeValue,
9971             [in, defaultvalue(1)] LONG lFlags);
9972
9973     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
9974     VARIANT getAttribute(
9975             [in] BSTR strAttributeName,
9976             [in, defaultvalue(0)] LONG lFlags);
9977
9978     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
9979     VARIANT_BOOL removeAttribute(
9980             [in] BSTR strAttributeName,
9981             [in, defaultvalue(1)] LONG lFlags);
9982
9983     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
9984     void propertyName(BSTR v);
9985
9986     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
9987     BSTR propertyName();
9988
9989     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
9990     void bookmarks(IHTMLBookmarkCollection *v);
9991
9992     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
9993     IHTMLBookmarkCollection *bookmarks();
9994
9995     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
9996     void recordset(IDispatch *v);
9997
9998     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
9999     IDispatch *recordset();
10000
10001     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
10002     void dataFld(BSTR v);
10003
10004     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
10005     BSTR dataFld();
10006
10007     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
10008     void boundElements(IHTMLElementCollection *v);
10009
10010     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
10011     IHTMLElementCollection *boundElements();
10012
10013     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
10014     void repeat(VARIANT_BOOL v);
10015
10016     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
10017     VARIANT_BOOL repeat();
10018
10019     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
10020     void srcUrn(BSTR v);
10021
10022     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
10023     BSTR srcUrn();
10024
10025     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
10026     void srcElement(IHTMLElement *v);
10027
10028     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
10029     IHTMLElement *srcElement();
10030
10031     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
10032     void altKey(VARIANT_BOOL v);
10033
10034     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
10035     VARIANT_BOOL altKey();
10036
10037     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
10038     void ctrlKey(VARIANT_BOOL v);
10039
10040     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
10041     VARIANT_BOOL ctrlKey();
10042
10043     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
10044     void shiftKey(VARIANT_BOOL v);
10045
10046     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
10047     VARIANT_BOOL shiftKey();
10048
10049     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
10050     void fromElement(IHTMLElement *v);
10051
10052     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
10053     IHTMLElement *fromElement();
10054
10055     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
10056     void toElement(IHTMLElement *v);
10057
10058     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
10059     IHTMLElement *toElement();
10060
10061     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
10062     void button(LONG v);
10063
10064     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
10065     LONG button();
10066
10067     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
10068     void type(BSTR v);
10069
10070     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
10071     BSTR type();
10072
10073     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
10074     void qualifier(BSTR v);
10075
10076     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
10077     BSTR qualifier();
10078
10079     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
10080     void reason(LONG v);
10081
10082     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
10083     LONG reason();
10084
10085     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
10086     void x(LONG v);
10087
10088     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
10089     LONG x();
10090
10091     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
10092     void y(LONG v);
10093
10094     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
10095     LONG y();
10096
10097     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
10098     void clientX(LONG v);
10099
10100     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
10101     LONG clientX();
10102
10103     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
10104     void clientY(LONG v);
10105
10106     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
10107     LONG clientY();
10108     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
10109     void offsetX(LONG v);
10110
10111     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
10112     LONG offsetX();
10113
10114     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
10115     void offsetY(LONG v);
10116
10117     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
10118     LONG offsetY();
10119
10120     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
10121     void screenX(LONG v);
10122
10123     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
10124     LONG screenX();
10125
10126     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
10127     void screenY(LONG v);
10128
10129     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
10130     LONG screenY();
10131
10132     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
10133     void srcFilter(IDispatch *v);
10134
10135     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
10136     IDispatch *srcFilter();
10137
10138     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
10139     IHTMLDataTransfer *dataTransfer();
10140
10141     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
10142     VARIANT_BOOL contentOverflow();
10143
10144     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
10145     void shiftLeft(VARIANT_BOOL v);
10146
10147     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
10148     VARIANT_BOOL shiftLeft();
10149
10150     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
10151     void altLeft(VARIANT_BOOL v);
10152
10153     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
10154     VARIANT_BOOL altLeft();
10155
10156     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
10157     void ctrlLeft(VARIANT_BOOL v);
10158
10159     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
10160     VARIANT_BOOL ctrlLeft();
10161
10162     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
10163     LONG_PTR imeCompositionChange();
10164
10165     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
10166     LONG_PTR imeNotifyCommand();
10167
10168     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
10169     LONG_PTR imeNotifyData();
10170
10171     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
10172     LONG_PTR imeRequest();
10173
10174     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
10175     LONG_PTR imeRequestData();
10176
10177     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
10178     LONG_PTR keyboardLayout();
10179
10180     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
10181     LONG behaviorCookie();
10182
10183     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
10184     LONG behaviorPart();
10185
10186     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
10187     BSTR nextPage();
10188
10189     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
10190     LONG wheelDelta();
10191 }
10192
10193 /*****************************************************************************
10194  *    IHTMLFramesCollection2 interface
10195  */
10196 [
10197     odl,
10198     oleautomation,
10199     dual,
10200     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
10201 ]
10202 interface IHTMLFramesCollection2 : IDispatch
10203 {
10204     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10205     HRESULT item(
10206         [in] VARIANT *pvarIndex,
10207         [retval, out] VARIANT *pvarResult);
10208
10209     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10210     HRESULT length([retval, out] LONG *p);
10211 }
10212
10213 /*****************************************************************************
10214  *    IHTMLScreen interface
10215  */
10216 [
10217     odl,
10218     oleautomation,
10219     dual,
10220     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
10221 ]
10222 interface IHTMLScreen : IDispatch
10223 {
10224     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
10225     HRESULT colorDepth([retval, out] LONG *p);
10226
10227     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10228     HRESULT bufferDepth([in] LONG v);
10229
10230     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10231     HRESULT bufferDepth([retval, out] LONG *p);
10232
10233     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10234     HRESULT width([retval, out] LONG *p);
10235
10236     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10237     HRESULT height([retval, out] LONG *p);
10238
10239     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10240     HRESULT updateInterval([in] LONG v);
10241
10242     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10243     HRESULT updateInterval([retval, out] LONG *p);
10244
10245     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
10246     HRESULT availHeight([retval, out] LONG *p);
10247
10248     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
10249     HRESULT availWidth([retval, out] LONG *p);
10250
10251     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10252     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
10253 }
10254
10255 /*****************************************************************************
10256  *    IHTMLWindow2 interface
10257  */
10258 [
10259     odl,
10260     oleautomation,
10261     dual,
10262     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
10263 ]
10264 interface IHTMLWindow2 : IHTMLFramesCollection2
10265 {
10266     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10267     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
10268
10269     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10270     HRESULT defaultStatus([in] BSTR v);
10271
10272     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10273     HRESULT defaultStatus([retval, out] BSTR *p);
10274
10275     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10276     HRESULT status([in] BSTR v);
10277
10278     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10279     HRESULT status([retval, out] BSTR *p);
10280
10281     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
10282     HRESULT setTimeout(
10283         [in] BSTR expression,
10284         [in] LONG msec,
10285         [optional, in] VARIANT *language,
10286         [retval, out] LONG *timerID);
10287
10288     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10289     HRESULT clearTimeout([in] LONG timerID);
10290
10291     [id(DISPID_IHTMLWINDOW2_ALERT)]
10292     HRESULT alert([defaultvalue(""), in] BSTR message);
10293
10294     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10295     HRESULT confirm(
10296         [defaultvalue(""), in] BSTR message,
10297         [retval, out] VARIANT_BOOL *confirmed);
10298
10299     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10300     HRESULT prompt(
10301         [defaultvalue(""), in] BSTR message,
10302         [defaultvalue("undefined"), in] BSTR defstr,
10303         [retval, out] VARIANT *textdata);
10304
10305     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10306     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
10307
10308     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10309     HRESULT location([retval, out] IHTMLLocation **p);
10310
10311     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10312     HRESULT history([retval, out] IOmHistory **p);
10313
10314     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10315     HRESULT close();
10316
10317     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10318     HRESULT opener([in] VARIANT v);
10319
10320     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10321     HRESULT opener([retval, out] VARIANT *p);
10322
10323     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10324     HRESULT navigator([retval, out] IOmNavigator **p);
10325
10326     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10327     HRESULT name([in] BSTR v);
10328
10329     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10330     HRESULT name([retval, out] BSTR *p);
10331
10332     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10333     HRESULT parent([retval, out] IHTMLWindow2 **p);
10334
10335     [id(DISPID_IHTMLWINDOW2_OPEN)]
10336     HRESULT open(
10337         [defaultvalue(""), in] BSTR url,
10338         [defaultvalue(""), in] BSTR name,
10339         [defaultvalue(""), in] BSTR features,
10340         [defaultvalue(0), in] VARIANT_BOOL replace,
10341         [retval, out] IHTMLWindow2 **pomWindowResult);
10342
10343     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10344     HRESULT self([retval, out] IHTMLWindow2 **p);
10345
10346     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10347     HRESULT top([retval, out] IHTMLWindow2 **p);
10348
10349     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10350     HRESULT window([retval, out] IHTMLWindow2 **p);
10351
10352     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10353     HRESULT navigate([in] BSTR url);
10354
10355     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10356     HRESULT onfocus([in] VARIANT v);
10357
10358     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10359     HRESULT onfocus([retval, out] VARIANT *p);
10360
10361     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10362     HRESULT onblur([in] VARIANT v);
10363
10364     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10365     HRESULT onblur([retval, out] VARIANT *p);
10366
10367     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10368     HRESULT onload([in] VARIANT v);
10369
10370     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10371     HRESULT onload([retval, out] VARIANT *p);
10372
10373     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10374     HRESULT onbeforeunload([in] VARIANT v);
10375
10376     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10377     HRESULT onbeforeunload([retval, out] VARIANT *p);
10378
10379     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10380     HRESULT onunload([in] VARIANT v);
10381
10382     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10383     HRESULT onunload([retval, out] VARIANT *p);
10384
10385     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
10386     HRESULT onhelp([in] VARIANT v);
10387
10388     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
10389     HRESULT onhelp([retval, out] VARIANT *p);
10390
10391     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
10392     HRESULT onerror([in] VARIANT v);
10393
10394     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
10395     HRESULT onerror([retval, out] VARIANT *p);
10396
10397     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10398     HRESULT onresize([in] VARIANT v);
10399
10400     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10401     HRESULT onresize([retval, out] VARIANT *p);
10402
10403     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10404     HRESULT onscroll([in] VARIANT v);
10405
10406     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10407     HRESULT onscroll([retval, out] VARIANT *p);
10408
10409     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
10410     HRESULT document([retval, out] IHTMLDocument2 **p);
10411
10412     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10413     HRESULT event([retval, out] IHTMLEventObj **p);
10414
10415     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
10416     HRESULT _newEnum([retval, out] IUnknown **p);
10417
10418     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10419     HRESULT showModalDialog(
10420         [in] BSTR dialog,
10421         [optional, in] VARIANT *varArgIn,
10422         [optional, in] VARIANT *varOptions,
10423         [retval, out] VARIANT *varArgOut);
10424
10425     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10426     HRESULT showHelp(
10427         [in] BSTR helpURL,
10428         [optional, in] VARIANT helpArg,
10429         [defaultvalue(""), in] BSTR features);
10430
10431     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10432     HRESULT screen([retval, out] IHTMLScreen **p);
10433
10434     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10435     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
10436
10437     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10438     HRESULT focus();
10439
10440     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10441     HRESULT closed([retval, out] VARIANT_BOOL *p);
10442
10443     [id(DISPID_IHTMLWINDOW2_BLUR)]
10444     HRESULT blur();
10445
10446     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10447     HRESULT scroll([in] LONG x, [in] LONG y);
10448
10449     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10450     HRESULT clientInformation([retval, out] IOmNavigator **p);
10451
10452     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
10453     HRESULT setInterval([
10454         in] BSTR expression,
10455         [in] LONG msec,
10456         [optional, in] VARIANT *language,
10457         [retval, out] LONG *timerID);
10458
10459     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10460     HRESULT clearInterval([in] LONG timerID);
10461
10462     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10463     HRESULT offscreenBuffering([in] VARIANT v);
10464
10465     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10466     HRESULT offscreenBuffering([retval, out] VARIANT *p);
10467
10468     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10469     HRESULT execScript(
10470         [in] BSTR scode,
10471         [defaultvalue("JScript"), in] BSTR language,
10472         [retval, out] VARIANT *pvarRet);
10473
10474     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10475     HRESULT toString([retval, out] BSTR *String);
10476
10477     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10478     HRESULT scrollBy([in] LONG x, [in] LONG y);
10479
10480     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10481     HRESULT scrollTo([in] LONG x, [in] LONG y);
10482
10483     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10484     HRESULT moveTo([in] LONG x, [in] LONG y);
10485
10486     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10487     HRESULT moveBy([in] LONG x, [in] LONG y);
10488
10489     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10490     HRESULT resizeTo([in] LONG x, [in] LONG y);
10491
10492     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10493     HRESULT resizeBy([in] LONG x, [in] LONG y);
10494
10495     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10496     HRESULT external([retval, out] IDispatch **p);
10497 }
10498
10499 /*****************************************************************************
10500  *    IHTMLWindow3 interface
10501  */
10502 [
10503     odl,
10504     oleautomation,
10505     dual,
10506     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
10507 ]
10508 interface IHTMLWindow3 : IDispatch
10509 {
10510     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10511     HRESULT screenLeft([out, retval] LONG *p);
10512
10513     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10514     HRESULT screenTop([out, retval] LONG *p);
10515
10516     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10517     HRESULT attachEvent(
10518             [in] BSTR event,
10519             [in] IDispatch *pDisp,
10520             [out, retval] VARIANT_BOOL *pfResult);
10521
10522     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10523     HRESULT detachEvent(
10524             [in] BSTR event,
10525             [in] IDispatch *pDisp);
10526
10527     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10528     HRESULT setTimeout(
10529             [in] VARIANT *expression,
10530             [in] LONG msec,
10531             [in, optional] VARIANT *language,
10532             [out, retval] LONG *timerID);
10533
10534     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10535     HRESULT setInterval(
10536             [in] VARIANT *expression,
10537             [in] LONG msec,
10538             [in, optional] VARIANT *language,
10539             [out, retval] LONG *timerID);
10540
10541     [id(DISPID_IHTMLWINDOW3_PRINT)]
10542     HRESULT print();
10543
10544     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10545     HRESULT onbeforeprint([in] VARIANT v);
10546
10547     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10548     HRESULT onbeforeprint([out, retval] VARIANT *p);
10549
10550     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10551     HRESULT onafterprint([in] VARIANT v);
10552
10553     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10554     HRESULT onafterprint([out, retval] VARIANT *p);
10555
10556     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10557     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
10558
10559     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10560     HRESULT showModelessDialog(
10561             [in, defaultvalue("")] BSTR url,
10562             [in, optional] VARIANT *varArgIn,
10563             [in, optional] VARIANT *options,
10564             [out, retval] IHTMLWindow2 **pDialog);
10565 }
10566
10567 /*****************************************************************************
10568  *    IHTMLWindow4 interface
10569  */
10570 [
10571     odl,
10572     oleautomation,
10573     dual,
10574     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
10575 ]
10576 interface IHTMLWindow4 : IDispatch
10577 {
10578     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10579     HRESULT createPopup([optional, in] VARIANT* varArgIn,
10580                         [retval, out] IDispatch** ppPopup);
10581
10582     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10583     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
10584 }
10585
10586 /*****************************************************************************
10587  *    IHTMLWindow5 interface
10588  */
10589 [
10590     odl,
10591     oleautomation,
10592     dual,
10593     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
10594 ]
10595 interface IHTMLWindow5 : IDispatch
10596 {
10597     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10598     HRESULT XMLHttpRequest([in] VARIANT v);
10599
10600     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10601     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
10602 }
10603
10604 /*****************************************************************************
10605  *    DispHTMLScreen dispinterface
10606  */
10607 [
10608     hidden,
10609     uuid(3050f591-98b5-11cf-bb82-00aa00bdce0b)
10610 ]
10611 dispinterface DispHTMLScreen
10612 {
10613 properties:
10614 methods:
10615     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
10616     long colorDepth();
10617
10618     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10619     void bufferDepth(long v);
10620
10621     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10622     long bufferDepth();
10623
10624     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10625     long width();
10626
10627     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10628     long height();
10629
10630     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10631     void updateInterval(long v);
10632
10633     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10634     long updateInterval();
10635
10636     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
10637     long availHeight();
10638
10639     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
10640     long availWidth();
10641
10642     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10643     VARIANT_BOOL fontSmoothingEnabled();
10644
10645     [propget, id(DISPID_IHTMLSCREEN2_LOGICALXDPI)]
10646     long logicalXDPI();
10647
10648     [propget, id(DISPID_IHTMLSCREEN2_LOGICALYDPI)]
10649     long logicalYDPI();
10650
10651     [propget, id(DISPID_IHTMLSCREEN2_DEVICEXDPI)]
10652     long deviceXDPI();
10653
10654     [propget, id(DISPID_IHTMLSCREEN2_DEVICEYDPI)]
10655     long deviceYDPI();
10656
10657     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMXDPI)]
10658     long systemXDPI();
10659
10660     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMYDPI)]
10661     long systemYDPI();
10662
10663     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
10664     IDispatch *constructor();
10665 }
10666
10667 /*****************************************************************************
10668  *    DispHTMLWindow2 dispinterface
10669  */
10670 [
10671     hidden,
10672     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
10673 ]
10674 dispinterface DispHTMLWindow2
10675 {
10676 properties:
10677 methods:
10678     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10679     VARIANT item([in] VARIANT *pvarIndex);
10680
10681     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10682     LONG length();
10683
10684     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10685     IHTMLFramesCollection2 *frames();
10686
10687     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10688     void defaultStatus(BSTR v);
10689
10690     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10691     BSTR defaultStatus();
10692
10693     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10694     void status(BSTR v);
10695
10696     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10697     BSTR status();
10698
10699     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10700     void clearTimeout([in] LONG timerID);
10701
10702     [id(DISPID_IHTMLWINDOW2_ALERT)]
10703     void alert([in, defaultvalue("")] BSTR message);
10704
10705     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10706     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
10707
10708     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10709     VARIANT prompt(
10710             [in, defaultvalue("")] BSTR message,
10711             [in, defaultvalue("undefined")] BSTR defstr);
10712
10713     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10714     IHTMLImageElementFactory *Image();
10715
10716     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10717     IHTMLLocation *location();
10718
10719     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10720     IOmHistory *history();
10721
10722     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10723     void close();
10724
10725     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10726     void opener(VARIANT v);
10727
10728     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10729     VARIANT opener();
10730
10731     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10732     IOmNavigator *navigator();
10733
10734     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10735     void name(BSTR v);
10736
10737     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10738     BSTR name();
10739
10740     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10741     IHTMLWindow2 *parent();
10742
10743     [id(DISPID_IHTMLWINDOW2_OPEN)]
10744     IHTMLWindow2 *open(
10745             [in, defaultvalue("")] BSTR url,
10746             [in, defaultvalue("")] BSTR name,
10747             [in, defaultvalue("")] BSTR features,
10748             [in, defaultvalue(0)]  VARIANT_BOOL replace);
10749
10750     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10751     IHTMLWindow2 *self();
10752
10753     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10754     IHTMLWindow2 *top();
10755
10756     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10757     IHTMLWindow2 *window();
10758
10759     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10760     void navigate([in] BSTR url);
10761
10762     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10763     void onfocus(VARIANT v);
10764
10765     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10766     VARIANT onfocus();
10767
10768     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10769     void onblur(VARIANT v);
10770
10771     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10772     VARIANT onblur();
10773
10774     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
10775     VARIANT onload();
10776
10777     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10778     void onbeforeunload(VARIANT v);
10779
10780     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10781     VARIANT onbeforeunload();
10782
10783     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10784     void onunload(VARIANT v);
10785
10786     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10787     VARIANT onunload();
10788
10789     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10790     void onhelp(VARIANT v);
10791
10792     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10793     VARIANT onhelp();
10794
10795     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10796     void onerror(VARIANT v);
10797
10798     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10799     VARIANT onerror();
10800
10801     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10802     void onresize(VARIANT v);
10803
10804     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10805     VARIANT onresize();
10806
10807     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10808     void onscroll(VARIANT v);
10809
10810     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10811     VARIANT onscroll();
10812
10813     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
10814     IHTMLDocument2 *document();
10815
10816     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10817     IHTMLEventObj *event();
10818
10819     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
10820     IUnknown *_newEnum();
10821
10822     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10823     VARIANT showModalDialog(
10824             [in] BSTR dialog,
10825             [in, optional] VARIANT *varArgIn,
10826             [in, optional] VARIANT *varOptions);
10827
10828     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10829     void showHelp(
10830             [in] BSTR helpURL,
10831             [in, optional] VARIANT helpArg,
10832             [in, defaultvalue("")] BSTR features);
10833
10834     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10835     IHTMLScreen *screen();
10836
10837     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10838     IHTMLOptionElementFactory *Option();
10839
10840     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10841     void focus();
10842
10843     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10844     VARIANT_BOOL closed();
10845
10846     [id(DISPID_IHTMLWINDOW2_BLUR)]
10847     void blur();
10848
10849     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10850     void scroll([in] LONG x, [in] LONG y);
10851
10852     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10853     IOmNavigator *clientInformation();
10854
10855     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10856     void clearInterval([in] LONG timerID);
10857
10858     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10859     void offscreenBuffering(VARIANT v);
10860
10861     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10862     VARIANT offscreenBuffering();
10863
10864     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10865     VARIANT execScript(
10866             [in] BSTR _code,
10867             [in, defaultvalue("JScript")] BSTR language);
10868
10869     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10870     BSTR toString();
10871
10872     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10873     void scrollBy([in] LONG x, [in] LONG y);
10874
10875     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10876     void scrollTo([in] LONG x, [in] LONG y);
10877
10878     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10879     void moveTo([in] LONG x, [in] LONG y);
10880
10881     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10882     void moveBy([in] LONG x, [in] LONG y);
10883
10884     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10885     void resizeTo([in] LONG x, [in] LONG y);
10886
10887     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10888     void resizeBy([in] LONG x, [in] LONG y);
10889
10890     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10891     IDispatch *external();
10892
10893     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10894     LONG screenLeft();
10895
10896     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10897     LONG screenTop();
10898
10899     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10900     VARIANT_BOOL attachEvent(
10901              [in] BSTR event,
10902              [in] IDispatch *pDisp);
10903
10904     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10905     void detachEvent(
10906             [in] BSTR event,
10907             [in] IDispatch *pDisp);
10908
10909     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10910     LONG setTimeout(
10911             [in] VARIANT *expression,
10912             [in] LONG msec,
10913             [in, optional] VARIANT *language);
10914
10915     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10916     LONG setInterval(
10917             [in] VARIANT *expression,
10918             [in] LONG msec,
10919             [in, optional] VARIANT *language);
10920
10921     [id(DISPID_IHTMLWINDOW3_PRINT)]
10922     void print();
10923
10924     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10925     void onbeforeprint(VARIANT v);
10926
10927     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10928     VARIANT onbeforeprint();
10929
10930     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10931     void onafterprint(VARIANT v);
10932
10933     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10934     VARIANT onafterprint();
10935
10936     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10937     IHTMLDataTransfer *clipboardData();
10938
10939     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10940     IHTMLWindow2 *showModelessDialog(
10941             [in, defaultvalue("")] BSTR url,
10942             [in, optional] VARIANT *varArgIn,
10943             [in, optional] VARIANT *options);
10944
10945     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10946     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
10947
10948     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10949     IHTMLFrameBase *frameElement();
10950 }
10951
10952 /*****************************************************************************
10953  *    DispHTMLWindowProxy dispinterface
10954  */
10955 [
10956     hidden,
10957     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
10958 ]
10959 dispinterface DispHTMLWindowProxy
10960 {
10961 properties:
10962 methods:
10963     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10964     VARIANT item([in] VARIANT* pvarIndex);
10965
10966     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10967     LONG length();
10968
10969     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10970     IHTMLFramesCollection2* frames();
10971
10972     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10973     void defaultStatus(BSTR v);
10974
10975     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10976     BSTR defaultStatus();
10977
10978     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10979     void status(BSTR v);
10980
10981     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10982     BSTR status();
10983
10984     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10985     void clearTimeout([in] LONG timerID);
10986
10987     [id(DISPID_IHTMLWINDOW2_ALERT)]
10988     void alert([defaultvalue(""), in] BSTR message);
10989
10990     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10991     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
10992
10993     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10994     VARIANT prompt([defaultvalue(""), in] BSTR message,
10995                    [defaultvalue("undefined"), in] BSTR defstr);
10996
10997     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10998     IHTMLImageElementFactory* Image();
10999
11000     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11001     IHTMLLocation* location();
11002
11003     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11004     IOmHistory* history();
11005
11006     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11007     void close();
11008
11009     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11010     void opener(VARIANT v);
11011
11012     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11013     VARIANT opener();
11014
11015     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11016     IOmNavigator* navigator();
11017
11018     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11019     void name(BSTR v);
11020
11021     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11022     BSTR name();
11023
11024     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11025     IHTMLWindow2* parent();
11026
11027     [id(DISPID_IHTMLWINDOW2_OPEN)]
11028     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
11029                        [defaultvalue(""), in] BSTR name,
11030                        [defaultvalue(""), in] BSTR features,
11031                        [defaultvalue(0), in] VARIANT_BOOL replace);
11032
11033     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11034     IHTMLWindow2* self();
11035
11036     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11037     IHTMLWindow2* top();
11038
11039     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11040     IHTMLWindow2* window();
11041
11042     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11043     void navigate([in] BSTR url);
11044
11045     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11046     void onfocus(VARIANT v);
11047
11048     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11049     VARIANT onfocus();
11050
11051     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11052     void onblur(VARIANT v);
11053
11054     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11055     VARIANT onblur();
11056
11057     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11058     void onload(VARIANT v);
11059
11060     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11061     VARIANT onload();
11062
11063     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11064     void onbeforeunload(VARIANT v);
11065
11066     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11067     VARIANT onbeforeunload();
11068
11069     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11070     void onunload(VARIANT v);
11071
11072     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11073     VARIANT onunload();
11074
11075     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11076     void onhelp(VARIANT v);
11077
11078     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11079     VARIANT onhelp();
11080
11081     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11082     void onerror(VARIANT v);
11083
11084     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11085     VARIANT onerror();
11086
11087     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11088     void onresize(VARIANT v);
11089
11090     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11091     VARIANT onresize();
11092
11093     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11094     void onscroll(VARIANT v);
11095
11096     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11097     VARIANT onscroll();
11098
11099     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11100     IHTMLDocument2* document();
11101
11102     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11103     IHTMLEventObj* event();
11104
11105     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11106     IUnknown* _newEnum();
11107
11108     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11109     VARIANT showModalDialog([in] BSTR dialog,
11110                             [optional, in] VARIANT* varArgIn,
11111                             [optional, in] VARIANT* varOptions);
11112
11113     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11114     void showHelp([in] BSTR helpURL,
11115                   [optional, in] VARIANT helpArg,
11116                   [defaultvalue(""), in] BSTR features);
11117
11118     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11119     IHTMLScreen* screen();
11120
11121     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11122     IHTMLOptionElementFactory* Option();
11123
11124     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11125     void focus();
11126
11127     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11128     VARIANT_BOOL closed();
11129
11130     [id(DISPID_IHTMLWINDOW2_BLUR)]
11131     void blur();
11132
11133     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11134     void scroll([in] LONG x,
11135                 [in] LONG y);
11136
11137     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11138     IOmNavigator* clientInformation();
11139
11140     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11141     void clearInterval([in] LONG timerID);
11142
11143     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11144     void offscreenBuffering(VARIANT v);
11145
11146     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11147     VARIANT offscreenBuffering();
11148
11149     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11150     VARIANT execScript([in] BSTR code,
11151                        [defaultvalue("JScript"), in] BSTR language);
11152
11153     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11154     BSTR toString();
11155
11156     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11157     void scrollBy([in] LONG x,
11158                   [in] LONG y);
11159
11160     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11161     void scrollTo([in] LONG x,
11162                   [in] LONG y);
11163
11164     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11165     void moveTo([in] LONG x,
11166                 [in] LONG y);
11167
11168     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11169     void moveBy([in] LONG x,
11170                 [in] LONG y);
11171
11172     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11173     void resizeTo([in] LONG x,
11174                   [in] LONG y);
11175
11176     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11177     void resizeBy([in] LONG x,
11178                   [in] LONG y);
11179
11180     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11181     IDispatch* external();
11182
11183     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11184     LONG screenLeft();
11185
11186     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11187     LONG screenTop();
11188
11189     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11190     VARIANT_BOOL attachEvent([in] BSTR event,
11191                              [in] IDispatch* pDisp);
11192
11193     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11194     void detachEvent([in] BSTR event,
11195                      [in] IDispatch* pDisp);
11196
11197     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11198     LONG setTimeout([in] VARIANT* expression,
11199                     [in] LONG msec,
11200                     [optional, in] VARIANT* language);
11201
11202     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11203     LONG setInterval([in] VARIANT* expression,
11204                      [in] LONG msec,
11205                      [optional, in] VARIANT* language);
11206
11207     [id(DISPID_IHTMLWINDOW3_PRINT)]
11208     void print();
11209
11210     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11211     void onbeforeprint(VARIANT v);
11212
11213     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11214     VARIANT onbeforeprint();
11215
11216     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11217     void onafterprint(VARIANT v);
11218
11219     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11220     VARIANT onafterprint();
11221
11222     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11223     IHTMLDataTransfer* clipboardData();
11224
11225     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11226     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
11227                                      [optional, in] VARIANT* varArgIn,
11228                                      [optional, in] VARIANT* options);
11229
11230     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11231     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
11232
11233     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11234     IHTMLFrameBase* frameElement();
11235
11236     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11237     void XMLHttpRequest(VARIANT v);
11238
11239     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11240     VARIANT XMLHttpRequest();
11241 }
11242
11243 /*****************************************************************************
11244  *    HTMLWindowEvents interface
11245  */
11246 [
11247     hidden,
11248     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
11249 ]
11250 dispinterface HTMLWindowEvents
11251 {
11252 properties:
11253 methods:
11254     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
11255     void onload();
11256
11257     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
11258     void onunload();
11259
11260     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
11261     VARIANT_BOOL onhelp();
11262
11263     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
11264     void onfocus();
11265
11266     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
11267     void onblur();
11268
11269     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
11270     void onerror([in] BSTR description,
11271                  [in] BSTR url,
11272                  [in] LONG line);
11273
11274     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
11275     void onresize();
11276
11277     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
11278     void onscroll();
11279
11280     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
11281     void onbeforeunload();
11282
11283     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
11284     void onbeforeprint();
11285
11286     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
11287     void onafterprint();
11288 }
11289
11290 /*****************************************************************************
11291  *    HTMLWindowEvents2 interface
11292  */
11293 [
11294     hidden,
11295     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
11296 ]
11297 dispinterface HTMLWindowEvents2
11298 {
11299 properties:
11300 methods:
11301     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
11302     void onload([in] IHTMLEventObj* pEvtObj);
11303
11304     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
11305     void onunload([in] IHTMLEventObj* pEvtObj);
11306
11307     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
11308     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
11309
11310     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
11311     void onfocus([in] IHTMLEventObj* pEvtObj);
11312
11313     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
11314     void onblur([in] IHTMLEventObj* pEvtObj);
11315
11316     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
11317     void onerror([in] BSTR description,
11318                  [in] BSTR url,
11319                  [in] LONG line);
11320
11321     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
11322     void onresize([in] IHTMLEventObj* pEvtObj);
11323
11324     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
11325     void onscroll([in] IHTMLEventObj* pEvtObj);
11326
11327     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
11328     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
11329
11330     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
11331     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
11332
11333     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
11334     void onafterprint([in] IHTMLEventObj* pEvtObj);
11335 }
11336
11337 /*****************************************************************************
11338  *    HTMLWindowProxy class
11339  */
11340 [
11341     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
11342 ]
11343 coclass HTMLWindowProxy
11344 {
11345     [default]           dispinterface DispHTMLWindowProxy;
11346     [source, default]   dispinterface HTMLWindowEvents;
11347     [source]            dispinterface HTMLWindowEvents2;
11348                         interface IHTMLWindow2;
11349                         interface IHTMLWindow3;
11350                         interface IHTMLWindow4;
11351                         interface IHTMLWindow5;
11352 }
11353
11354 /*****************************************************************************
11355  *    HTMLDocumentEvents2 interface
11356  */
11357 [
11358     hidden,
11359     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
11360 ]
11361 dispinterface HTMLDocumentEvents2
11362 {
11363     properties:
11364     methods:
11365     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
11366     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
11367
11368     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
11369     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
11370
11371     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
11372     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
11373
11374     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
11375     void onkeydown([in] IHTMLEventObj *pEvtObj);
11376
11377     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
11378     void onkeyup([in] IHTMLEventObj *pEvtObj);
11379
11380     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
11381     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
11382
11383     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
11384     void onmousedown([in] IHTMLEventObj *pEvtObj);
11385
11386     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
11387     void onmousemove([in] IHTMLEventObj *pEvtObj);
11388
11389     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
11390     void onmouseup([in] IHTMLEventObj *pEvtObj);
11391
11392     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
11393     void onmouseout([in] IHTMLEventObj *pEvtObj);
11394
11395     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
11396     void onmouseover([in] IHTMLEventObj *pEvtObj);
11397
11398     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
11399     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
11400
11401     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
11402     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
11403
11404     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
11405     void onafterupdate([in] IHTMLEventObj *pEvtObj);
11406
11407     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
11408     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
11409
11410     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
11411     void onrowenter([in] IHTMLEventObj *pEvtObj);
11412
11413     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
11414     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
11415
11416     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
11417     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
11418
11419     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
11420     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
11421
11422     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
11423     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
11424
11425     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
11426     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
11427
11428     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
11429     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
11430
11431     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
11432     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
11433
11434     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
11435     void oncellchange([in] IHTMLEventObj *pEvtObj);
11436
11437     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
11438     void onpropertychange([in] IHTMLEventObj *pEvtObj);
11439
11440     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
11441     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
11442
11443     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
11444     void ondataavailable([in] IHTMLEventObj *pEvtObj);
11445
11446     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
11447     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
11448
11449     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
11450     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
11451
11452     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
11453     void onselectionchange([in] IHTMLEventObj *pEvtObj);
11454
11455     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
11456     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
11457
11458     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
11459     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
11460
11461     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
11462     void onfocusin([in] IHTMLEventObj *pEvtObj);
11463
11464     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
11465     void onfocusout([in] IHTMLEventObj *pEvtObj);
11466
11467     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
11468     void onactivate([in] IHTMLEventObj *pEvtObj);
11469
11470     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
11471     void ondeactivate([in] IHTMLEventObj *pEvtObj);
11472
11473     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
11474     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
11475
11476     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
11477     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
11478 }
11479
11480 /*****************************************************************************
11481  *    HTMLDocumentEvents interface
11482  */
11483 [
11484     hidden,
11485     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
11486 ]
11487 dispinterface HTMLDocumentEvents
11488 {
11489     properties:
11490     methods:
11491     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
11492     VARIANT_BOOL onhelp();
11493
11494     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
11495     VARIANT_BOOL onclick();
11496
11497     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
11498     VARIANT_BOOL ondblclick();
11499
11500     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
11501     void onkeydown();
11502
11503     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
11504     void onkeyup();
11505
11506     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
11507     VARIANT_BOOL onkeypress();
11508
11509     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
11510     void onmousedown();
11511
11512     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
11513     void onmousemove();
11514
11515     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
11516     void onmouseup();
11517
11518     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
11519     void onmouseout();
11520
11521     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
11522     void onmouseover();
11523
11524     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
11525     void onreadystatechange();
11526
11527     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
11528     VARIANT_BOOL onbeforeupdate();
11529
11530     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
11531     void onafterupdate();
11532
11533     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
11534     VARIANT_BOOL onrowexit();
11535
11536     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
11537     void onrowenter();
11538
11539     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
11540     VARIANT_BOOL ondragstart();
11541
11542     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
11543     VARIANT_BOOL onselectstart();
11544
11545     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
11546     VARIANT_BOOL onerrorupdate();
11547
11548     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
11549     VARIANT_BOOL oncontextmenu();
11550
11551     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
11552     VARIANT_BOOL onstop();
11553
11554     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
11555     void onrowsdelete();
11556
11557     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
11558     void onrowsinserted();
11559
11560     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
11561     void oncellchange();
11562
11563     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
11564     void onpropertychange();
11565
11566     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
11567     void ondatasetchanged();
11568
11569     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
11570     void ondataavailable();
11571
11572     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
11573     void ondatasetcomplete();
11574
11575     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
11576     void onbeforeeditfocus();
11577
11578     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
11579     void onselectionchange();
11580
11581     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
11582     VARIANT_BOOL oncontrolselect();
11583
11584     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
11585     VARIANT_BOOL onmousewheel();
11586
11587     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
11588     void onfocusin();
11589
11590     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
11591     void onfocusout();
11592
11593     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
11594     void onactivate();
11595
11596     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
11597     void ondeactivate();
11598
11599     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
11600     VARIANT_BOOL onbeforeactivate();
11601
11602     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
11603     VARIANT_BOOL onbeforedeactivate();
11604 }
11605
11606 /*****************************************************************************
11607  *    HTMLTextContainerEvents interface
11608  */
11609 [
11610     hidden,
11611     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
11612 ]
11613 dispinterface HTMLTextContainerEvents
11614 {
11615 properties:
11616
11617 methods:
11618     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
11619     VARIANT_BOOL onhelp();
11620
11621     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
11622     VARIANT_BOOL onclick();
11623
11624     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
11625     VARIANT_BOOL ondblclick();
11626
11627     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
11628     VARIANT_BOOL onkeypress();
11629
11630     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
11631     void onkeydown();
11632
11633     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
11634     void onkeyup();
11635
11636     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
11637     void onmouseout();
11638
11639     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
11640     void onmouseover();
11641
11642     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
11643     void onmousemove();
11644
11645     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
11646     void onmousedown();
11647
11648     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
11649     void onmouseup();
11650
11651     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
11652     VARIANT_BOOL onselectstart();
11653
11654     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
11655     void onfilterchange();
11656
11657     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
11658     VARIANT_BOOL ondragstart();
11659
11660     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
11661     VARIANT_BOOL onbeforeupdate();
11662
11663     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
11664     void onafterupdate();
11665
11666     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
11667     VARIANT_BOOL onerrorupdate();
11668
11669     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
11670     VARIANT_BOOL onrowexit();
11671
11672     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
11673     void onrowenter();
11674
11675     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
11676     void ondatasetchanged();
11677
11678     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
11679     void ondataavailable();
11680
11681     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
11682     void ondatasetcomplete();
11683
11684     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
11685     void onlosecapture();
11686
11687     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
11688     void onpropertychange();
11689
11690     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
11691     void onscroll();
11692
11693     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
11694     void onfocus();
11695
11696     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
11697     void onblur();
11698
11699     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
11700     void onresize();
11701
11702     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
11703     VARIANT_BOOL ondrag();
11704
11705     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
11706     void ondragend();
11707
11708     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
11709     VARIANT_BOOL ondragenter();
11710
11711     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
11712     VARIANT_BOOL ondragover();
11713
11714     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
11715     void ondragleave();
11716
11717     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
11718     VARIANT_BOOL ondrop();
11719
11720     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
11721     VARIANT_BOOL onbeforecut();
11722
11723     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
11724     VARIANT_BOOL oncut();
11725
11726     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
11727     VARIANT_BOOL onbeforecopy();
11728
11729     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
11730     VARIANT_BOOL oncopy();
11731
11732     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
11733     VARIANT_BOOL onbeforepaste();
11734
11735     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
11736     VARIANT_BOOL onpaste();
11737
11738     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
11739     VARIANT_BOOL oncontextmenu();
11740
11741     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
11742     void onrowsdelete();
11743
11744     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
11745     void onrowsinserted();
11746
11747     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
11748     void oncellchange();
11749
11750     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
11751     void onreadystatechange();
11752
11753     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
11754     void onbeforeeditfocus();
11755
11756     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
11757     void onlayoutcomplete();
11758
11759     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
11760     void onpage();
11761
11762     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
11763     VARIANT_BOOL onbeforedeactivate();
11764
11765     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
11766     VARIANT_BOOL onbeforeactivate();
11767
11768     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
11769     void onmove();
11770
11771     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
11772     VARIANT_BOOL oncontrolselect();
11773
11774     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
11775     VARIANT_BOOL onmovestart();
11776
11777     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
11778     void onmoveend();
11779
11780     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
11781     VARIANT_BOOL onresizestart();
11782
11783     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
11784     void onresizeend();
11785
11786     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
11787     void onmouseenter();
11788
11789     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
11790     void onmouseleave();
11791
11792     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
11793     VARIANT_BOOL onmousewheel();
11794
11795     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
11796     void onactivate();
11797
11798     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
11799     void ondeactivate();
11800
11801     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
11802     void onfocusin();
11803
11804     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
11805     void onfocusout();
11806
11807     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
11808     void onchange();
11809
11810     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
11811     void onselect();
11812 }
11813
11814 /*****************************************************************************
11815  *    HTMLTextContainerEvents2 interface
11816  */
11817 [
11818     hidden,
11819     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
11820 ]
11821 dispinterface HTMLTextContainerEvents2
11822 {
11823 properties:
11824 methods:
11825     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
11826     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
11827
11828     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
11829     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
11830
11831     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
11832     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
11833
11834     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
11835     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
11836
11837     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
11838     void onkeydown([in] IHTMLEventObj* pEvtObj);
11839
11840     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
11841     void onkeyup([in] IHTMLEventObj* pEvtObj);
11842
11843     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
11844     void onmouseout([in] IHTMLEventObj* pEvtObj);
11845
11846     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
11847     void onmouseover([in] IHTMLEventObj* pEvtObj);
11848
11849     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
11850     void onmousemove([in] IHTMLEventObj* pEvtObj);
11851
11852     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
11853     void onmousedown([in] IHTMLEventObj* pEvtObj);
11854
11855     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
11856     void onmouseup([in] IHTMLEventObj* pEvtObj);
11857
11858     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
11859     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
11860
11861     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
11862     void onfilterchange([in] IHTMLEventObj* pEvtObj);
11863
11864     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
11865     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
11866
11867     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
11868     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
11869
11870     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
11871     void onafterupdate([in] IHTMLEventObj* pEvtObj);
11872
11873     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
11874     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
11875
11876     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
11877     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
11878
11879     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
11880     void onrowenter([in] IHTMLEventObj* pEvtObj);
11881
11882     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
11883     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
11884
11885     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
11886     void ondataavailable([in] IHTMLEventObj* pEvtObj);
11887
11888     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
11889     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
11890
11891     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
11892     void onlosecapture([in] IHTMLEventObj* pEvtObj);
11893
11894     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
11895     void onpropertychange([in] IHTMLEventObj* pEvtObj);
11896
11897     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
11898     void onscroll([in] IHTMLEventObj* pEvtObj);
11899
11900     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
11901     void onfocus([in] IHTMLEventObj* pEvtObj);
11902
11903     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
11904     void onblur([in] IHTMLEventObj* pEvtObj);
11905
11906     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
11907     void onresize([in] IHTMLEventObj* pEvtObj);
11908
11909     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
11910     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
11911
11912     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
11913     void ondragend([in] IHTMLEventObj* pEvtObj);
11914
11915     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
11916     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
11917
11918     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
11919     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
11920
11921     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
11922     void ondragleave([in] IHTMLEventObj* pEvtObj);
11923
11924     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
11925     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
11926
11927     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
11928     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
11929
11930     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
11931     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
11932
11933     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
11934     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
11935
11936     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
11937     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
11938
11939     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
11940     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
11941
11942     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
11943     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
11944
11945     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
11946     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
11947
11948     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
11949     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
11950
11951     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
11952     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
11953
11954     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
11955     void oncellchange([in] IHTMLEventObj* pEvtObj);
11956
11957     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
11958     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
11959
11960     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
11961     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
11962
11963     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
11964     void onpage([in] IHTMLEventObj* pEvtObj);
11965
11966     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
11967     void onmouseenter([in] IHTMLEventObj* pEvtObj);
11968
11969     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
11970     void onmouseleave([in] IHTMLEventObj* pEvtObj);
11971
11972     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
11973     void onactivate([in] IHTMLEventObj* pEvtObj);
11974
11975     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
11976     void ondeactivate([in] IHTMLEventObj* pEvtObj);
11977
11978     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
11979     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
11980
11981     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
11982     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
11983
11984     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
11985     void onfocusin([in] IHTMLEventObj* pEvtObj);
11986
11987     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
11988     void onfocusout([in] IHTMLEventObj* pEvtObj);
11989
11990     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
11991     void onmove([in] IHTMLEventObj* pEvtObj);
11992
11993     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
11994     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
11995
11996     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
11997     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
11998
11999     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
12000     void onmoveend([in] IHTMLEventObj* pEvtObj);
12001
12002     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
12003     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
12004
12005     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
12006     void onresizeend([in] IHTMLEventObj* pEvtObj);
12007
12008     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
12009     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
12010
12011     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
12012     void onchange([in] IHTMLEventObj* pEvtObj);
12013
12014     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
12015     void onselect([in] IHTMLEventObj* pEvtObj);
12016 }
12017
12018 /*****************************************************************************
12019  *    IHTMLDocument interface
12020  */
12021 [
12022     odl,
12023     oleautomation,
12024     dual,
12025     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
12026 ]
12027 interface IHTMLDocument : IDispatch
12028 {
12029     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
12030     HRESULT Script([retval, out] IDispatch **p);
12031 }
12032
12033 /*****************************************************************************
12034  *    IHTMLDocument2 interface
12035  */
12036 [
12037     odl,
12038     oleautomation,
12039     dual,
12040     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
12041 ]
12042 interface IHTMLDocument2 : IHTMLDocument
12043 {
12044     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
12045     HRESULT all([retval, out] IHTMLElementCollection **p);
12046
12047     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
12048     HRESULT body([retval, out] IHTMLElement **p);
12049
12050     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
12051     HRESULT activeElement([retval, out] IHTMLElement **p);
12052
12053     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
12054     HRESULT images([retval, out] IHTMLElementCollection **p);
12055
12056     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
12057     HRESULT applets([retval, out] IHTMLElementCollection **p);
12058
12059     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
12060     HRESULT links([retval, out] IHTMLElementCollection **p);
12061
12062     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
12063     HRESULT forms([retval, out] IHTMLElementCollection **p);
12064
12065     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
12066     HRESULT anchors([retval, out] IHTMLElementCollection **p);
12067
12068     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12069     HRESULT title([in] BSTR v);
12070
12071     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12072     HRESULT title([retval, out] BSTR *p);
12073
12074     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
12075     HRESULT scripts([retval, out] IHTMLElementCollection **p);
12076
12077     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
12078     HRESULT designMode([in] BSTR v);
12079
12080     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
12081     HRESULT designMode([retval, out] BSTR *p);
12082
12083     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
12084     HRESULT selection([retval, out] IHTMLSelectionObject **p);
12085
12086     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
12087      HRESULT readyState([retval, out] BSTR *p);
12088
12089     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
12090     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
12091
12092     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
12093     HRESULT embeds([retval, out] IHTMLElementCollection **p);
12094
12095     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
12096     HRESULT plugins([retval, out] IHTMLElementCollection **p);
12097
12098     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12099     HRESULT alinkColor([in] VARIANT v);
12100
12101     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12102     HRESULT alinkColor([retval, out] VARIANT *p);
12103
12104     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12105     HRESULT bgColor([in] VARIANT v);
12106
12107     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12108     HRESULT bgColor([retval, out] VARIANT *p);
12109
12110     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12111     HRESULT fgColor([in] VARIANT v);
12112
12113     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12114     HRESULT fgColor([retval, out] VARIANT *p);
12115
12116     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12117     HRESULT linkColor([in] VARIANT v);
12118
12119     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12120     HRESULT linkColor([retval, out] VARIANT *p);
12121
12122     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12123     HRESULT vlinkColor([in] VARIANT v);
12124
12125     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12126     HRESULT vlinkColor([retval, out] VARIANT *p);
12127
12128     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
12129     HRESULT referrer([retval, out] BSTR *p);
12130
12131     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
12132     HRESULT location([retval, out] IHTMLLocation **p);
12133
12134     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
12135     HRESULT lastModified([retval, out] BSTR *p);
12136
12137     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
12138     HRESULT URL([in] BSTR v);
12139
12140     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
12141     HRESULT URL([retval, out] BSTR *p);
12142
12143     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12144     HRESULT domain([in] BSTR v);
12145
12146     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12147     HRESULT domain([retval, out] BSTR *p);
12148
12149     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12150     HRESULT cookie([in] BSTR v);
12151
12152     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12153     HRESULT cookie([retval, out] BSTR *p);
12154
12155     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12156     HRESULT expando([in] VARIANT_BOOL v);
12157
12158     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12159     HRESULT expando([retval, out] VARIANT_BOOL *p);
12160
12161     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12162      HRESULT charset([in] BSTR v);
12163
12164     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12165     HRESULT charset([retval, out] BSTR *p);
12166
12167     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12168     HRESULT defaultCharset([in] BSTR v);
12169
12170     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12171     HRESULT defaultCharset([retval, out] BSTR *p);
12172
12173     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
12174     HRESULT mimeType([retval, out] BSTR *p);
12175
12176     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
12177     HRESULT fileSize([retval, out] BSTR *p);
12178
12179     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
12180     HRESULT fileCreatedDate([retval, out] BSTR *p);
12181
12182     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
12183     HRESULT fileModifiedDate([retval, out] BSTR *p);
12184
12185     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
12186     HRESULT fileUpdatedDate([retval, out] BSTR *p);
12187
12188     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
12189     HRESULT security([retval, out] BSTR *p);
12190
12191     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
12192     HRESULT protocol([retval, out] BSTR *p);
12193
12194     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
12195      HRESULT nameProp([retval, out] BSTR *p);
12196
12197     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
12198     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
12199
12200     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
12201     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
12202
12203     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
12204     HRESULT open(
12205         [defaultvalue("text/html"), in] BSTR url,
12206         [optional, in] VARIANT name,
12207         [optional, in] VARIANT features,
12208         [optional, in] VARIANT replace,
12209         [retval, out]  IDispatch **pomWindowResult);
12210
12211     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
12212     HRESULT close();
12213
12214     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
12215     HRESULT clear();
12216
12217     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
12218     HRESULT queryCommandSupported(
12219         [in] BSTR cmdID,
12220         [retval, out] VARIANT_BOOL *pfRet);
12221
12222     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
12223     HRESULT queryCommandEnabled(
12224         [in] BSTR cmdID,
12225         [retval, out] VARIANT_BOOL *pfRet);
12226
12227     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
12228     HRESULT queryCommandState(
12229         [in] BSTR cmdID,
12230         [retval, out] VARIANT_BOOL *pfRet);
12231
12232     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
12233     HRESULT queryCommandIndeterm(
12234         [in] BSTR cmdID,
12235         [retval, out] VARIANT_BOOL *pfRet);
12236
12237     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
12238     HRESULT queryCommandText(
12239         [in] BSTR cmdID,
12240         [retval, out] BSTR *pcmdText);
12241
12242     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
12243     HRESULT queryCommandValue(
12244         [in] BSTR cmdID,
12245         [retval, out] VARIANT *pcmdValue);
12246
12247     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
12248     HRESULT execCommand(
12249         [in] BSTR cmdID,
12250         [defaultvalue(0), in] VARIANT_BOOL showUI,
12251         [optional, in] VARIANT value,
12252         [retval, out] VARIANT_BOOL *pfRet);
12253
12254     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12255     HRESULT execCommandShowHelp(
12256         [in] BSTR cmdID,
12257         [retval, out] VARIANT_BOOL *pfRet);
12258
12259     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12260      HRESULT createElement(
12261         [in] BSTR eTag,
12262         [retval, out] IHTMLElement **newElem);
12263
12264     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12265     HRESULT onhelp([in] VARIANT v);
12266
12267     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12268     HRESULT onhelp([retval, out] VARIANT *p);
12269
12270     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12271     HRESULT onclick([in] VARIANT v);
12272
12273     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12274     HRESULT onclick([retval, out] VARIANT *p);
12275
12276     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12277     HRESULT ondblclick([in] VARIANT v);
12278
12279     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12280     HRESULT ondblclick([retval, out] VARIANT *p);
12281
12282     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12283     HRESULT onkeyup([in] VARIANT v);
12284
12285     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12286     HRESULT onkeyup([retval, out] VARIANT *p);
12287
12288     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12289     HRESULT onkeydown([in] VARIANT v);
12290
12291     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12292     HRESULT onkeydown([retval, out] VARIANT *p);
12293
12294     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12295      HRESULT onkeypress([in] VARIANT v);
12296
12297     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12298     HRESULT onkeypress([retval, out] VARIANT *p);
12299
12300     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12301     HRESULT onmouseup([in] VARIANT v);
12302
12303     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12304     HRESULT onmouseup([retval, out] VARIANT *p);
12305
12306     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12307     HRESULT onmousedown([in] VARIANT v);
12308
12309     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12310     HRESULT onmousedown([retval, out] VARIANT *p);
12311
12312     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12313     HRESULT onmousemove([in] VARIANT v);
12314
12315     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12316     HRESULT onmousemove([retval, out] VARIANT *p);
12317
12318     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12319     HRESULT onmouseout([in] VARIANT v);
12320
12321     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12322     HRESULT onmouseout([retval, out] VARIANT *p);
12323
12324     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12325     HRESULT onmouseover([in] VARIANT v);
12326
12327     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12328     HRESULT onmouseover([retval, out] VARIANT *p);
12329
12330     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12331     HRESULT onreadystatechange([in] VARIANT v);
12332
12333     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12334     HRESULT onreadystatechange([retval, out] VARIANT *p);
12335
12336     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12337     HRESULT onafterupdate([in] VARIANT v);
12338
12339     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12340     HRESULT onafterupdate([retval, out] VARIANT *p);
12341
12342     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12343     HRESULT onrowexit([in] VARIANT v);
12344
12345     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12346     HRESULT onrowexit([retval, out] VARIANT *p);
12347
12348     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12349     HRESULT onrowenter([in] VARIANT v);
12350
12351     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12352     HRESULT onrowenter([retval, out] VARIANT *p);
12353
12354     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12355     HRESULT ondragstart([in] VARIANT v);
12356
12357     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12358     HRESULT ondragstart([retval, out] VARIANT *p);
12359
12360     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12361     HRESULT onselectstart([in] VARIANT v);
12362
12363     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12364     HRESULT onselectstart([retval, out] VARIANT *p);
12365
12366     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12367     HRESULT elementFromPoint(
12368         [in] LONG x,
12369         [in] LONG y,
12370         [retval, out] IHTMLElement **elementHit);
12371
12372     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12373     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
12374
12375     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12376     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
12377
12378     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12379     HRESULT onbeforeupdate([in] VARIANT v);
12380
12381     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12382     HRESULT onbeforeupdate([retval, out] VARIANT *p);
12383
12384     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12385     HRESULT onerrorupdate([in] VARIANT v);
12386
12387     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12388     HRESULT onerrorupdate([retval, out] VARIANT *p);
12389
12390     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12391     HRESULT toString([retval, out] BSTR *String);
12392
12393     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12394     HRESULT createStyleSheet(
12395         [defaultvalue(""), in] BSTR bstrHref,
12396         [defaultvalue(-1), in] LONG lIndex,
12397         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
12398 }
12399
12400 /*****************************************************************************
12401  *    IHTMLDocument3 interface
12402  */
12403 [
12404     odl,
12405     oleautomation,
12406     dual,
12407     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
12408 ]
12409 interface IHTMLDocument3 : IDispatch
12410 {
12411     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12412     HRESULT releaseCapture();
12413
12414     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12415     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12416
12417     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12418     HRESULT createTextNode(
12419         [in] BSTR text,
12420         [retval, out] IHTMLDOMNode **newTextNode);
12421
12422     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12423     HRESULT documentElement([retval, out] IHTMLElement **p);
12424
12425     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12426     HRESULT uniqueID([retval, out] BSTR *p);
12427
12428     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12429     HRESULT attachEvent(
12430         [in] BSTR event,
12431         [in] IDispatch* pDisp,
12432         [retval, out] VARIANT_BOOL *pfResult);
12433
12434     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12435     HRESULT detachEvent(
12436         [in] BSTR event,
12437         [in] IDispatch *pDisp);
12438
12439     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12440     HRESULT onrowsdelete([in] VARIANT v);
12441
12442     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12443     HRESULT onrowsdelete([retval, out] VARIANT *p);
12444
12445     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12446     HRESULT onrowsinserted([in] VARIANT v);
12447
12448     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12449     HRESULT onrowsinserted([retval, out] VARIANT *p);
12450
12451     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12452     HRESULT oncellchange([in] VARIANT v);
12453
12454     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12455     HRESULT oncellchange([retval, out] VARIANT *p);
12456
12457     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12458     HRESULT ondatasetchanged([in] VARIANT v);
12459
12460     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12461     HRESULT ondatasetchanged([retval, out] VARIANT *p);
12462
12463     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12464     HRESULT ondataavailable([in] VARIANT v);
12465
12466     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12467     HRESULT ondataavailable([retval, out] VARIANT * p);
12468
12469     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12470     HRESULT ondatasetcomplete([in] VARIANT v);
12471
12472     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12473     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
12474
12475     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12476     HRESULT onpropertychange([in] VARIANT v);
12477
12478     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12479     HRESULT onpropertychange([retval, out] VARIANT *p);
12480
12481     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
12482     HRESULT dir([in] BSTR v);
12483
12484     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
12485     HRESULT dir([retval, out] BSTR *p);
12486
12487     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12488     HRESULT oncontextmenu([in] VARIANT v);
12489
12490     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12491     HRESULT oncontextmenu([retval, out] VARIANT *p);
12492
12493     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12494     HRESULT onstop([in] VARIANT v);
12495
12496     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12497     HRESULT onstop([retval, out] VARIANT *p);
12498
12499     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
12500     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
12501
12502     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
12503     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
12504
12505     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12506     HRESULT enableDownload([in] VARIANT_BOOL v);
12507
12508     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12509     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
12510
12511     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12512     HRESULT baseUrl([in] BSTR v);
12513
12514     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12515     HRESULT baseUrl([retval, out] BSTR *p);
12516
12517     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
12518     HRESULT childNodes([retval, out] IDispatch **p);
12519
12520     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12521     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
12522
12523     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12524     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
12525
12526     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12527     HRESULT onbeforeeditfocus([in] VARIANT v);
12528
12529     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12530     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
12531
12532     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
12533     HRESULT getElementsByName(
12534         [in] BSTR v,
12535         [retval, out] IHTMLElementCollection **pelColl);
12536
12537     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
12538     HRESULT getElementById(
12539         [in] BSTR v,
12540         [retval, out] IHTMLElement **pel);
12541
12542     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
12543     HRESULT getElementsByTagName(
12544         [in] BSTR v,
12545         [retval, out] IHTMLElementCollection **pelColl);
12546 }
12547
12548 /*****************************************************************************
12549  *    IHTMLDocument4 interface
12550  */
12551 [
12552     odl,
12553     oleautomation,
12554     dual,
12555     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
12556 ]
12557 interface IHTMLDocument4 : IDispatch
12558 {
12559     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
12560     HRESULT focus();
12561
12562     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
12563     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
12564
12565     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12566     HRESULT onselectionchange([in] VARIANT v);
12567
12568     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12569     HRESULT onselectionchange([retval, out] VARIANT *p);
12570
12571     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
12572     HRESULT namespaces([retval, out] IDispatch **p);
12573
12574     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
12575     HRESULT createDocumentFromUrl(
12576         [in] BSTR bstrUrl,
12577         [in] BSTR bstrOptions,
12578         [retval, out] IHTMLDocument2 **newDoc);
12579
12580     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12581     HRESULT media([in] BSTR v);
12582
12583     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12584     HRESULT media([retval, out] BSTR *p);
12585
12586     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
12587     HRESULT createEventObject(
12588         [optional, in] VARIANT *pvarEventObject,
12589         [retval, out] IHTMLEventObj **ppEventObj);
12590
12591     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
12592     HRESULT fireEvent(
12593         [in] BSTR bstrEventName,
12594         [optional, in] VARIANT *pvarEventObject,
12595         [retval, out] VARIANT_BOOL *pfCancelled);
12596
12597     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
12598     HRESULT createRenderStyle(
12599         [in] BSTR v,
12600         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
12601
12602     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12603     HRESULT oncontrolselect([in] VARIANT v);
12604
12605     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12606     HRESULT oncontrolselect([retval, out] VARIANT *p);
12607
12608     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
12609     HRESULT URLUnencoded([retval, out] BSTR *p);
12610 }
12611
12612 /*****************************************************************************
12613  *    IHTMLDocument5 interface
12614  */
12615 [
12616     odl,
12617     oleautomation,
12618     dual,
12619     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
12620 ]
12621 interface IHTMLDocument5 : IDispatch
12622 {
12623     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12624     HRESULT onmousewheel([in] VARIANT v);
12625
12626     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12627     HRESULT onmousewheel([retval, out] VARIANT *p);
12628
12629     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
12630     HRESULT doctype([retval, out] IHTMLDOMNode **p);
12631
12632     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
12633     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
12634
12635     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
12636     HRESULT createAttribute(
12637         [in] BSTR bstrattrName,
12638         [retval, out] IHTMLDOMAttribute **ppattribute);
12639
12640     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
12641     HRESULT createComment(
12642         [in] BSTR bstrdata,
12643         [retval, out] IHTMLDOMNode **ppRetNode);
12644
12645     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12646     HRESULT onfocusin([in] VARIANT v);
12647
12648     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12649     HRESULT onfocusin([retval, out] VARIANT *p);
12650
12651     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12652     HRESULT onfocusout([in] VARIANT v);
12653
12654     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12655     HRESULT onfocusout([retval, out] VARIANT *p);
12656
12657     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12658     HRESULT onactivate([in] VARIANT v);
12659
12660     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12661     HRESULT onactivate([retval, out] VARIANT *p);
12662
12663     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12664     HRESULT ondeactivate([in] VARIANT v);
12665
12666     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12667     HRESULT ondeactivate([retval, out] VARIANT *p);
12668
12669     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12670     HRESULT onbeforeactivate([in] VARIANT v);
12671
12672     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12673     HRESULT onbeforeactivate([retval, out] VARIANT *p);
12674
12675     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12676     HRESULT onbeforedeactivate([in] VARIANT v);
12677
12678     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12679     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
12680
12681     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
12682     HRESULT compatMode([retval, out] BSTR *p);
12683 }
12684
12685 /*****************************************************************************
12686  *    IHTMLDocument6 interface
12687  */
12688 [
12689     odl,
12690     oleautomation,
12691     dual,
12692     uuid(30510417-98b5-11cf-bb82-00aa00bdce0b)
12693 ]
12694 interface IHTMLDocument6 : IDispatch
12695 {
12696     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
12697     HRESULT compatible([retval, out] IHTMLDocumentCompatibleInfoCollection **p);
12698
12699     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
12700     HRESULT documentMode([retval, out] VARIANT *p);
12701
12702     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
12703     HRESULT onstorage([in] VARIANT v);
12704
12705     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
12706     HRESULT onstorage([out] VARIANT *p);
12707
12708     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
12709     HRESULT onstoragecommit([in] VARIANT v);
12710
12711     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
12712     HRESULT onstoragecommit([out] VARIANT *p);
12713
12714     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
12715     HRESULT getElementById(
12716         [in] BSTR bstrId,
12717         [retval, out] IHTMLElement2 **p);
12718
12719     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
12720     HRESULT updateSettings();
12721 }
12722
12723 /*****************************************************************************
12724  *    DispHTMLDocument dispinterface
12725  */
12726 [
12727     hidden,
12728     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
12729 ]
12730 dispinterface DispHTMLDocument
12731 {
12732 properties:
12733 methods:
12734     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
12735     IDispatch *Script();
12736
12737     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
12738     IHTMLElementCollection *all();
12739
12740     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
12741     IHTMLElement *body();
12742
12743     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
12744     IHTMLElement *activeElement();
12745
12746     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
12747     IHTMLElementCollection *images();
12748
12749     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
12750     IHTMLElementCollection *applets();
12751
12752     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
12753     IHTMLElementCollection *links();
12754
12755     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
12756     IHTMLElementCollection *forms();
12757
12758     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
12759     IHTMLElementCollection *anchors();
12760
12761     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12762     void title(BSTR v);
12763
12764     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12765     BSTR title();
12766
12767     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
12768     IHTMLElementCollection *scripts();
12769
12770     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
12771     void designMode(BSTR v);
12772
12773     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
12774     BSTR designMode();
12775
12776     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
12777     IHTMLSelectionObject *selection();
12778
12779     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
12780     BSTR readyState();
12781
12782     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
12783     IHTMLFramesCollection2 *frames();
12784
12785     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
12786     IHTMLElementCollection *embeds();
12787
12788     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
12789     IHTMLElementCollection *plugins();
12790
12791     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12792     void alinkColor(VARIANT v);
12793
12794     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12795     VARIANT alinkColor();
12796
12797     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12798     void bgColor(VARIANT v);
12799
12800     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12801     VARIANT bgColor();
12802
12803     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12804     void fgColor(VARIANT v);
12805
12806     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12807     VARIANT fgColor();
12808
12809     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12810     void linkColor(VARIANT v);
12811
12812     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12813     VARIANT linkColor();
12814
12815     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12816     void vlinkColor(VARIANT v);
12817
12818     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12819     VARIANT vlinkColor();
12820
12821     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
12822     BSTR referrer();
12823
12824     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
12825     IHTMLLocation *location();
12826
12827     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
12828     BSTR lastModified();
12829
12830     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
12831     void URL(BSTR v);
12832
12833     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
12834     BSTR URL();
12835
12836     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12837     void domain(BSTR v);
12838
12839     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12840     BSTR domain();
12841
12842     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12843     void cookie(BSTR v);
12844
12845     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12846     BSTR cookie();
12847
12848     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
12849     void expando(VARIANT_BOOL v);
12850
12851     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
12852     VARIANT_BOOL expando();
12853
12854     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
12855     void charset(BSTR v);
12856
12857     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
12858     BSTR charset();
12859
12860     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12861     void defaultCharset(BSTR v);
12862
12863     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12864     BSTR defaultCharset();
12865
12866     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
12867     BSTR mimeType();
12868
12869     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
12870     BSTR fileSize();
12871
12872     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
12873     BSTR fileCreatedDate();
12874
12875     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
12876     BSTR fileModifiedDate();
12877
12878     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
12879     BSTR fileUpdatedDate();
12880
12881     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
12882     BSTR security();
12883
12884     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
12885     BSTR protocol();
12886
12887     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
12888     BSTR nameProp();
12889
12890     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
12891     void write([in] SAFEARRAY(VARIANT) psarray);
12892
12893     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
12894     void writeln([in] SAFEARRAY(VARIANT) psarray);
12895
12896     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
12897     IDispatch *open(
12898         [defaultvalue("text/html"), in] BSTR url,
12899         [optional, in] VARIANT name,
12900         [optional, in] VARIANT features,
12901         [optional, in] VARIANT replace);
12902
12903     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
12904     void close();
12905
12906     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
12907     void clear();
12908
12909     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
12910     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
12911
12912     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
12913     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
12914
12915     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
12916     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
12917
12918     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
12919     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
12920
12921     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
12922     BSTR queryCommandText([in] BSTR cmdID);
12923
12924     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
12925     VARIANT queryCommandValue([in] BSTR cmdID);
12926
12927     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
12928     VARIANT_BOOL execCommand(
12929         [in] BSTR cmdID,
12930         [defaultvalue(0), in] VARIANT_BOOL showUI,
12931         [optional, in] VARIANT value);
12932
12933     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12934     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
12935
12936     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12937     IHTMLElement *createElement([in] BSTR eTag);
12938
12939     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
12940     void onhelp(VARIANT v);
12941
12942     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
12943     VARIANT onhelp();
12944
12945     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
12946     void onclick(VARIANT v);
12947
12948     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
12949     VARIANT onclick();
12950
12951     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
12952     void ondblclick(VARIANT v);
12953
12954     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
12955     VARIANT ondblclick();
12956
12957     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
12958     void onkeyup(VARIANT v);
12959
12960     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
12961     VARIANT onkeyup();
12962
12963     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
12964     void onkeydown(VARIANT v);
12965
12966     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
12967     VARIANT onkeydown();
12968
12969     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
12970     void onkeypress(VARIANT v);
12971
12972     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
12973     VARIANT onkeypress();
12974
12975     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
12976     void onmouseup(VARIANT v);
12977
12978     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
12979     VARIANT onmouseup();
12980
12981     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12982     void onmousedown(VARIANT v);
12983
12984     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12985     VARIANT onmousedown();
12986
12987     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12988     void onmousemove(VARIANT v);
12989
12990     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12991     VARIANT onmousemove();
12992
12993     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12994     void onmouseout(VARIANT v);
12995
12996     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12997     VARIANT onmouseout();
12998
12999     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
13000     void onmouseover(VARIANT v);
13001
13002     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
13003     VARIANT onmouseover();
13004
13005     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13006     void onreadystatechange(VARIANT v);
13007
13008     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13009     VARIANT onreadystatechange();
13010
13011     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
13012     void onafterupdate(VARIANT v);
13013
13014     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
13015     VARIANT onafterupdate();
13016
13017     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
13018     void onrowexit(VARIANT v);
13019
13020     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
13021     VARIANT onrowexit();
13022
13023     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
13024     void onrowenter(VARIANT v);
13025
13026     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
13027     VARIANT onrowenter();
13028
13029     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
13030     void ondragstart(VARIANT v);
13031
13032     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
13033     VARIANT ondragstart();
13034
13035     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
13036     void onselectstart(VARIANT v);
13037
13038     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
13039     VARIANT onselectstart();
13040
13041     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
13042     IHTMLElement *elementFromPoint(
13043         [in] LONG x,
13044         [in] LONG y);
13045
13046     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
13047     IHTMLWindow2 *parentWindow();
13048
13049     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
13050     IHTMLStyleSheetsCollection *styleSheets();
13051
13052     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
13053     void onbeforeupdate(VARIANT v);
13054
13055     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
13056     VARIANT onbeforeupdate();
13057
13058     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
13059     void onerrorupdate(VARIANT v);
13060
13061     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
13062     VARIANT onerrorupdate();
13063
13064     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
13065     BSTR toString();
13066
13067     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
13068     IHTMLStyleSheet *createStyleSheet(
13069         [defaultvalue(""), in] BSTR bstrHref,
13070         [defaultvalue(-1), in] LONG lIndex);
13071
13072     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
13073     void releaseCapture();
13074
13075     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
13076     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
13077
13078     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
13079     IHTMLDOMNode *createTextNode([in] BSTR text);
13080
13081     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
13082     IHTMLElement *documentElement();
13083
13084     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
13085     BSTR uniqueID();
13086
13087     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
13088     VARIANT_BOOL attachEvent(
13089         [in] BSTR event,
13090         [in] IDispatch *pDisp);
13091
13092     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
13093     void detachEvent(
13094         [in] BSTR event,
13095         [in] IDispatch *pDisp);
13096
13097     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13098     void onrowsdelete(VARIANT v);
13099
13100     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13101     VARIANT onrowsdelete();
13102
13103     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13104     void onrowsinserted(VARIANT v);
13105
13106     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13107     VARIANT onrowsinserted();
13108
13109     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13110     void oncellchange(VARIANT v);
13111
13112     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13113     VARIANT oncellchange();
13114
13115     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13116     void ondatasetchanged(VARIANT v);
13117
13118     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13119     VARIANT ondatasetchanged();
13120
13121     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13122     void ondataavailable(VARIANT v);
13123
13124     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13125     VARIANT ondataavailable();
13126
13127     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13128     void ondatasetcomplete(VARIANT v);
13129
13130     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13131     VARIANT ondatasetcomplete();
13132
13133     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13134     void onpropertychange(VARIANT v);
13135
13136     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13137     VARIANT onpropertychange();
13138
13139     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
13140     void dir(BSTR v);
13141
13142     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
13143     BSTR dir();
13144
13145     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13146     void oncontextmenu(VARIANT v);
13147
13148     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13149     VARIANT oncontextmenu();
13150
13151     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13152     void onstop(VARIANT v);
13153
13154     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13155     VARIANT onstop();
13156
13157     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
13158     IHTMLDocument2 *createDocumentFragment();
13159
13160     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
13161     IHTMLDocument2 *parentDocument();
13162
13163     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13164     void enableDownload(VARIANT_BOOL v);
13165
13166     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13167     VARIANT_BOOL enableDownload();
13168
13169     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13170     void baseUrl(BSTR v);
13171
13172     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13173     BSTR baseUrl();
13174
13175     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13176     void inheritStyleSheets(VARIANT_BOOL v);
13177
13178     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13179     VARIANT_BOOL inheritStyleSheets();
13180
13181     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13182     void onbeforeeditfocus(VARIANT v);
13183
13184     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13185     VARIANT onbeforeeditfocus();
13186
13187     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
13188     IHTMLElementCollection *getElementsByName([in] BSTR v);
13189
13190     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
13191     IHTMLElement *getElementById([in] BSTR v);
13192
13193     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
13194     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
13195
13196     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
13197     void focus();
13198
13199     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
13200     VARIANT_BOOL hasFocus();
13201
13202     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13203     void onselectionchange(VARIANT v);
13204
13205     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13206     VARIANT onselectionchange();
13207
13208     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
13209     IDispatch *namespaces();
13210
13211     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
13212     IHTMLDocument2 *createDocumentFromUrl(
13213         [in] BSTR bstrUrl,
13214         [in] BSTR bstrOptions);
13215
13216     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13217     void media(BSTR v);
13218
13219     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13220     BSTR media();
13221
13222     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
13223     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
13224
13225     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
13226     VARIANT_BOOL fireEvent(
13227         [in] BSTR bstrEventName,
13228         [optional, in] VARIANT *pvarEventObject);
13229
13230     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
13231     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
13232
13233     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13234     void oncontrolselect(VARIANT v);
13235
13236     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13237     VARIANT oncontrolselect();
13238
13239     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
13240     BSTR URLUnencoded();
13241
13242     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13243     void onmousewheel(VARIANT v);
13244
13245     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13246     VARIANT onmousewheel();
13247
13248     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
13249     IHTMLDOMNode *doctype();
13250
13251     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13252     IHTMLDOMImplementation *implementation();
13253
13254     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13255     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
13256
13257     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13258     IHTMLDOMNode *createComment([in] BSTR bstrdata);
13259
13260     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13261     void onfocusin(VARIANT v);
13262
13263     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13264     VARIANT onfocusin();
13265
13266     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13267     void onfocusout(VARIANT v);
13268
13269     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13270     VARIANT onfocusout();
13271
13272     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13273     void onactivate(VARIANT v);
13274
13275     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13276     VARIANT onactivate();
13277
13278     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13279     void ondeactivate(VARIANT v);
13280
13281     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13282     VARIANT ondeactivate();
13283
13284     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13285     void onbeforeactivate(VARIANT v);
13286
13287     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13288     VARIANT onbeforeactivate();
13289
13290     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13291     void onbeforedeactivate(VARIANT v);
13292
13293     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13294     VARIANT onbeforedeactivate();
13295
13296     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
13297     BSTR compatMode();
13298
13299     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
13300     IHTMLDocumentCompatibleInfoCollection *compatible();
13301
13302     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
13303     VARIANT documentMode();
13304
13305     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13306     void onstorage(VARIANT v);
13307
13308     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13309     VARIANT onstorage();
13310
13311     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13312     void onstoragecommit(VARIANT v);
13313
13314     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13315     VARIANT onstoragecommit();
13316
13317     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
13318     IHTMLElement2 *ie8_getElementById([in] BSTR bstrId);
13319
13320     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
13321     void updateSettings();
13322
13323     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
13324 }
13325
13326 /*****************************************************************************
13327  *    HTMLDocument coclass
13328  */
13329 [
13330     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
13331 ]
13332 coclass HTMLDocument
13333 {
13334     [default]         dispinterface DispHTMLDocument;
13335     [source, default] dispinterface HTMLDocumentEvents;
13336     [source]          dispinterface HTMLDocumentEvents2;
13337                       interface IHTMLDocument2;
13338                       interface IHTMLDocument3;
13339                       interface IHTMLDocument4;
13340                       interface IHTMLDocument5;
13341                       interface IHTMLDocument6;
13342                       interface IHTMLDOMNode;
13343                       interface IHTMLDOMNode2;
13344 }
13345
13346 /*****************************************************************************
13347  *    DWebBridgeEvents dispinterface
13348  */
13349 [
13350     hidden,
13351     uuid(a6d897ff-0a95-11d1-b0ba-006008166e11)
13352 ]
13353 dispinterface DWebBridgeEvents
13354 {
13355 properties:
13356 methods:
13357     [id(DISPID_DWEBBRIDGEEVENTS_ONSCRIPTLETEVENT)]
13358     void onscriptletevent([in] BSTR name,[in] VARIANT eventData);
13359
13360     [id(DISPID_DWEBBRIDGEEVENTS_ONREADYSTATECHANGE)]
13361     void onreadystatechange();
13362
13363     [id(DISPID_DWEBBRIDGEEVENTS_ONCLICK)]
13364     VARIANT_BOOL onclick();
13365
13366     [id(DISPID_DWEBBRIDGEEVENTS_ONDBLCLICK)]
13367     VARIANT_BOOL ondblclick();
13368
13369     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYDOWN)]
13370     void onkeydown();
13371
13372     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYUP)]
13373     void onkeyup();
13374
13375     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYPRESS)]
13376     VARIANT_BOOL onkeypress();
13377
13378     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEDOWN)]
13379     void onmousedown();
13380
13381     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEMOVE)]
13382     void onmousemove();
13383
13384     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEUP)]
13385     void onmouseup();
13386 }
13387
13388 /*****************************************************************************
13389  *    IWebBridge interface
13390  */
13391 [
13392     odl,
13393     oleautomation,
13394     dual,
13395     uuid(ae24fdad-03c6-11d1-8b76-0080c744f389)
13396 ]
13397 interface IWebBridge : IDispatch
13398 {
13399     [propput, id(DISPID_IWEBBRIDGE_URL)]
13400     HRESULT URL([in] BSTR v);
13401
13402     [propget, id(DISPID_IWEBBRIDGE_URL)]
13403     HRESULT URL([retval, out] BSTR * p);
13404
13405     [propput, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
13406     HRESULT Scrollbar([in] VARIANT_BOOL v);
13407
13408     [propget, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
13409     HRESULT Scrollbar([retval, out] VARIANT_BOOL * p);
13410
13411     [propput, id(DISPID_IWEBBRIDGE_EMBED)]
13412     HRESULT embed([in] VARIANT_BOOL v);
13413
13414     [propget, id(DISPID_IWEBBRIDGE_EMBED)]
13415     HRESULT embed([retval, out] VARIANT_BOOL * p);
13416
13417     [propget, id(DISPID_IWEBBRIDGE_EVENT)]
13418     HRESULT event([retval, out] IDispatch* * p);
13419
13420     [propget, id(DISPID_IWEBBRIDGE_READYSTATE)]
13421     HRESULT readyState([retval, out] long * p);
13422
13423     [id(DISPID_IWEBBRIDGE_ABOUTBOX)]
13424     HRESULT AboutBox();
13425 }
13426
13427 /*****************************************************************************
13428  *    Scriptlet coclass
13429  */
13430 [
13431     control,
13432     helpstring("Microsoft Scriptlet Component"),
13433     progid("ScriptBridge.ScriptBridge.1"),
13434     vi_progid("ScriptBridge.ScriptBridge"),
13435     threading(apartment),
13436     uuid(ae24fdae-03c6-11d1-8b76-0080c744f389)
13437 ]
13438 coclass Scriptlet
13439 {
13440     [default]           interface IWebBridge;
13441     [source, default]   dispinterface DWebBridgeEvents;
13442 }
13443
13444 /*****************************************************************************
13445  *    IHTMLEmbedElement interface
13446  */
13447 [
13448     odl,
13449     oleautomation,
13450     dual,
13451     uuid(3050f25f-98b5-11cf-bb82-00aa00bdce0b)
13452 ]
13453 interface IHTMLEmbedElement : IDispatch
13454 {
13455     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13456     HRESULT hidden([in] BSTR v);
13457
13458     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13459     HRESULT hidden([retval, out] BSTR *p);
13460
13461     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
13462     HRESULT palette([retval, out] BSTR *p);
13463
13464     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
13465     HRESULT pluginspage([retval, out] BSTR *p);
13466
13467     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13468     HRESULT src([in] BSTR v);
13469
13470     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13471     HRESULT src([retval, out] BSTR *p);
13472
13473     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13474     HRESULT units([in] BSTR v);
13475
13476     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13477     HRESULT units([retval, out] BSTR *p);
13478
13479     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13480     HRESULT name([in] BSTR v);
13481
13482     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13483     HRESULT name([retval, out] BSTR *p);
13484
13485     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13486     HRESULT width([in] VARIANT v);
13487
13488     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13489     HRESULT width([retval, out] VARIANT *p);
13490
13491     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13492     HRESULT height([in] VARIANT v);
13493
13494     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13495     HRESULT height([retval, out] VARIANT *p);
13496 }
13497
13498 /*****************************************************************************
13499  *    DispHTMLEmbedElement dispinterface
13500  */
13501 [
13502     hidden,
13503     uuid(3050f52e-98b5-11cf-bb82-00aa00bdce0b)
13504 ]
13505 dispinterface DispHTMLEmbed
13506 {
13507 properties:
13508 methods:
13509     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
13510
13511     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13512     void hidden(BSTR v);
13513
13514     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13515     BSTR hidden();
13516
13517     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
13518     BSTR palette();
13519
13520     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
13521     BSTR pluginspage();
13522
13523     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13524     void src(BSTR v);
13525
13526     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13527     BSTR src();
13528
13529     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13530     void units(BSTR v);
13531
13532     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13533     BSTR units();
13534
13535     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13536     void name(BSTR v);
13537
13538     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13539     BSTR name();
13540
13541     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13542     void width(VARIANT v);
13543
13544     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13545     VARIANT width();
13546
13547     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13548     void height(VARIANT v);
13549
13550     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13551     VARIANT height();
13552
13553     [propput, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
13554     void ie8_src(BSTR v);
13555
13556     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
13557     BSTR ie8_src();
13558
13559     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_PLUGINSPAGE)]
13560     BSTR ie8_pluginspage();
13561 }
13562
13563 /*****************************************************************************
13564  *    IHTMLCommentElement interface
13565  */
13566 [
13567     odl,
13568     oleautomation,
13569     dual,
13570     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
13571 ]
13572 interface IHTMLCommentElement : IDispatch
13573 {
13574     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13575     HRESULT text([in] BSTR v);
13576
13577     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13578     HRESULT text([out, retval] BSTR *p);
13579
13580     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13581     HRESULT atomic([in] LONG v);
13582
13583     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13584     HRESULT atomic([out, retval] LONG *p);
13585 }
13586
13587 /*****************************************************************************
13588  *    IHTMLCommentElement2 interface
13589  */
13590 [
13591     odl,
13592     oleautomation,
13593     dual,
13594     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
13595 ]
13596 interface IHTMLCommentElement2 : IDispatch
13597 {
13598     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13599     HRESULT data([in] BSTR v);
13600
13601     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13602     HRESULT data([out, retval] BSTR *p);
13603
13604     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
13605     HRESULT length([out, retval] LONG *p);
13606
13607     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
13608     HRESULT substringData(
13609             [in] LONG offset,
13610             [in] LONG Count,
13611             [out, retval] BSTR *pbstrsubString);
13612
13613     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
13614     HRESULT appendData([in] BSTR bstrstring);
13615
13616     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
13617     HRESULT insertData(
13618             [in] LONG offset,
13619             [in] BSTR bstrstring);
13620
13621     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
13622     HRESULT deleteData(
13623             [in] LONG offset,
13624             [in] LONG Count);
13625
13626     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
13627     HRESULT replaceData(
13628             [in] LONG offset,
13629             [in] LONG Count,
13630             [in] BSTR bstrstring);
13631 }
13632
13633 /*****************************************************************************
13634  *    DispHTMLCommentElement dispinterface
13635  */
13636 [
13637     hidden,
13638     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
13639 ]
13640 dispinterface DispHTMLCommentElement
13641 {
13642 properties:
13643 methods:
13644     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
13645
13646     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13647     void text(BSTR v);
13648
13649     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13650     BSTR text();
13651
13652     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13653     void atomic(LONG v);
13654
13655     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13656     LONG atomic();
13657
13658     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13659     void data(BSTR v);
13660
13661     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13662     BSTR data();
13663
13664     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
13665     LONG length();
13666
13667     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
13668     BSTR substringData(
13669             [in] LONG offset,
13670             [in] LONG Count);
13671
13672     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
13673     void appendData([in] BSTR bstrstring);
13674
13675     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
13676      void insertData(
13677             [in] LONG offset,
13678             [in] BSTR bstrstring);
13679
13680     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
13681     void deleteData(
13682             [in] LONG offset,
13683             [in] LONG Count);
13684
13685     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
13686     void replaceData(
13687             [in] LONG offset,
13688             [in] LONG Count,
13689             [in] BSTR bstrstring);
13690 }
13691
13692 [
13693     hidden,
13694     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
13695 ]
13696 dispinterface HTMLElementEvents2
13697 {
13698 properties:
13699 methods:
13700     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
13701     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
13702
13703     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
13704     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
13705
13706     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
13707     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
13708
13709     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
13710     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
13711
13712     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
13713     void onkeydown([in] IHTMLEventObj* pEvtObj);
13714
13715     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
13716     void onkeyup([in] IHTMLEventObj* pEvtObj);
13717
13718     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
13719     void onmouseout([in] IHTMLEventObj* pEvtObj);
13720
13721     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
13722     void onmouseover([in] IHTMLEventObj* pEvtObj);
13723
13724     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
13725     void onmousemove([in] IHTMLEventObj* pEvtObj);
13726
13727     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
13728     void onmousedown([in] IHTMLEventObj* pEvtObj);
13729
13730     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
13731     void onmouseup([in] IHTMLEventObj* pEvtObj);
13732
13733     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
13734     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
13735
13736     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
13737     void onfilterchange([in] IHTMLEventObj* pEvtObj);
13738
13739     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
13740     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
13741
13742     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
13743     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
13744
13745     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
13746     void onafterupdate([in] IHTMLEventObj* pEvtObj);
13747
13748     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
13749     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
13750
13751     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
13752     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
13753
13754     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
13755     void onrowenter([in] IHTMLEventObj* pEvtObj);
13756
13757     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
13758     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
13759
13760     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
13761     void ondataavailable([in] IHTMLEventObj* pEvtObj);
13762
13763     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
13764     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
13765
13766     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
13767     void onlosecapture([in] IHTMLEventObj* pEvtObj);
13768
13769     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
13770     void onpropertychange([in] IHTMLEventObj* pEvtObj);
13771
13772     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
13773     void onscroll([in] IHTMLEventObj* pEvtObj);
13774
13775     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
13776     void onfocus([in] IHTMLEventObj* pEvtObj);
13777
13778     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
13779     void onblur([in] IHTMLEventObj* pEvtObj);
13780
13781     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
13782     void onresize([in] IHTMLEventObj* pEvtObj);
13783
13784     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
13785     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
13786
13787     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
13788     void ondragend([in] IHTMLEventObj* pEvtObj);
13789
13790     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
13791     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
13792
13793     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
13794     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
13795
13796     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
13797     void ondragleave([in] IHTMLEventObj* pEvtObj);
13798
13799     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
13800     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
13801
13802     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
13803     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
13804
13805     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
13806     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
13807
13808     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
13809     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
13810
13811     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
13812     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
13813
13814     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
13815     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
13816
13817     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
13818     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
13819
13820     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
13821     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
13822
13823     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
13824     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
13825
13826     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
13827     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
13828
13829     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
13830     void oncellchange([in] IHTMLEventObj* pEvtObj);
13831
13832     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
13833     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
13834
13835     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
13836     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
13837
13838     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
13839     void onpage([in] IHTMLEventObj* pEvtObj);
13840
13841     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
13842     void onmouseenter([in] IHTMLEventObj* pEvtObj);
13843
13844     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
13845     void onmouseleave([in] IHTMLEventObj* pEvtObj);
13846
13847     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
13848     void onactivate([in] IHTMLEventObj* pEvtObj);
13849
13850     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
13851     void ondeactivate([in] IHTMLEventObj* pEvtObj);
13852
13853     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
13854     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
13855
13856     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
13857     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
13858
13859     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
13860     void onfocusin([in] IHTMLEventObj* pEvtObj);
13861
13862     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
13863     void onfocusout([in] IHTMLEventObj* pEvtObj);
13864
13865     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
13866     void onmove([in] IHTMLEventObj* pEvtObj);
13867
13868     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
13869     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
13870
13871     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
13872     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
13873
13874     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
13875     void onmoveend([in] IHTMLEventObj* pEvtObj);
13876
13877     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
13878     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
13879
13880     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
13881     void onresizeend([in] IHTMLEventObj* pEvtObj);
13882
13883     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
13884     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
13885 }
13886
13887 [
13888     hidden,
13889     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
13890 ]
13891 dispinterface HTMLElementEvents
13892 {
13893 properties:
13894 methods:
13895     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
13896     VARIANT_BOOL onhelp();
13897
13898     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
13899     VARIANT_BOOL onclick();
13900
13901     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
13902     VARIANT_BOOL ondblclick();
13903
13904     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
13905     VARIANT_BOOL onkeypress();
13906
13907     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
13908     void onkeydown();
13909
13910     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
13911     void onkeyup();
13912
13913     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
13914     void onmouseout();
13915
13916     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
13917     void onmouseover();
13918
13919     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
13920     void onmousemove();
13921
13922     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
13923     void onmousedown();
13924
13925     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
13926     void onmouseup();
13927
13928     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
13929     VARIANT_BOOL onselectstart();
13930
13931     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
13932     void onfilterchange();
13933
13934     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
13935     VARIANT_BOOL ondragstart();
13936
13937     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
13938     VARIANT_BOOL onbeforeupdate();
13939
13940     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
13941     void onafterupdate();
13942
13943     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
13944     VARIANT_BOOL onerrorupdate();
13945
13946     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
13947     VARIANT_BOOL onrowexit();
13948
13949     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
13950     void onrowenter();
13951
13952     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
13953     void ondatasetchanged();
13954
13955     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
13956     void ondataavailable();
13957
13958     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
13959     void ondatasetcomplete();
13960
13961     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
13962     void onlosecapture();
13963
13964     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
13965     void onpropertychange();
13966
13967     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
13968     void onscroll();
13969
13970     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
13971     void onfocus();
13972
13973     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
13974     void onblur();
13975
13976     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
13977     void onresize();
13978
13979     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
13980     VARIANT_BOOL ondrag();
13981
13982     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
13983     void ondragend();
13984
13985     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
13986     VARIANT_BOOL ondragenter();
13987
13988     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
13989     VARIANT_BOOL ondragover();
13990
13991     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
13992     void ondragleave();
13993
13994     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
13995     VARIANT_BOOL ondrop();
13996
13997     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
13998     VARIANT_BOOL onbeforecut();
13999
14000     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14001     VARIANT_BOOL oncut();
14002
14003     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14004     VARIANT_BOOL onbeforecopy();
14005
14006     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14007     VARIANT_BOOL oncopy();
14008
14009     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14010     VARIANT_BOOL onbeforepaste();
14011
14012     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14013     VARIANT_BOOL onpaste();
14014
14015     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14016     VARIANT_BOOL oncontextmenu();
14017
14018     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14019     void onrowsdelete();
14020
14021     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14022     void onrowsinserted();
14023
14024     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14025     void oncellchange();
14026
14027     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14028     void onreadystatechange();
14029
14030     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14031     void onbeforeeditfocus();
14032
14033     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14034     void onlayoutcomplete();
14035
14036     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14037     void onpage();
14038
14039     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14040     VARIANT_BOOL onbeforedeactivate();
14041
14042     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14043     VARIANT_BOOL onbeforeactivate();
14044
14045     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14046     void onmove();
14047
14048     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14049     VARIANT_BOOL oncontrolselect();
14050
14051     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14052     VARIANT_BOOL onmovestart();
14053
14054     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14055     void onmoveend();
14056
14057     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14058     VARIANT_BOOL onresizestart();
14059
14060     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14061     void onresizeend();
14062
14063     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14064     void onmouseenter();
14065
14066     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14067     void onmouseleave();
14068
14069     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14070     VARIANT_BOOL onmousewheel();
14071
14072     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14073     void onactivate();
14074
14075     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14076     void ondeactivate();
14077
14078     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14079     void onfocusin();
14080
14081     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14082     void onfocusout();
14083 }
14084
14085 [
14086     noncreatable,
14087     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
14088 ]
14089 coclass HTMLCommentElement
14090 {
14091     [default]           dispinterface DispHTMLCommentElement;
14092     [source, default]   dispinterface HTMLElementEvents;
14093     [source]            dispinterface HTMLElementEvents2;
14094                         interface IHTMLElement;
14095                         interface IHTMLElement2;
14096                         interface IHTMLElement3;
14097                         interface IHTMLElement4;
14098                         interface IHTMLUniqueName;
14099                         interface IHTMLDOMNode;
14100                         interface IHTMLDOMNode2;
14101                         interface IHTMLCommentElement;
14102                         interface IHTMLCommentElement2;
14103 }
14104
14105 /*****************************************************************************
14106  *    HTMLTableEvents dispinterface
14107  */
14108 [
14109     hidden,
14110     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
14111 ]
14112 dispinterface HTMLTableEvents
14113 {
14114 properties:
14115 methods:
14116     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14117     VARIANT_BOOL onhelp();
14118
14119     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14120     VARIANT_BOOL onclick();
14121
14122     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14123     VARIANT_BOOL ondblclick();
14124
14125     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14126     VARIANT_BOOL onkeypress();
14127
14128     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14129     void onkeydown();
14130
14131     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14132     void onkeyup();
14133
14134     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14135     void onmouseout();
14136
14137     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14138     void onmouseover();
14139
14140     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14141     void onmousemove();
14142
14143     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14144     void onmousedown();
14145
14146     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14147     void onmouseup();
14148
14149     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14150     VARIANT_BOOL onselectstart();
14151
14152     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14153     void onfilterchange();
14154
14155     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14156     VARIANT_BOOL ondragstart();
14157
14158     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14159     VARIANT_BOOL onbeforeupdate();
14160
14161     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14162     void onafterupdate();
14163
14164     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14165     VARIANT_BOOL onerrorupdate();
14166
14167     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14168     VARIANT_BOOL onrowexit();
14169
14170     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14171     void onrowenter();
14172
14173     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14174     void ondatasetchanged();
14175
14176     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14177     void ondataavailable();
14178
14179     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14180     void ondatasetcomplete();
14181
14182     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14183     void onlosecapture();
14184
14185     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14186     void onpropertychange();
14187
14188     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14189     void onscroll();
14190
14191     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14192     void onfocus();
14193
14194     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14195     void onblur();
14196
14197     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14198     void onresize();
14199
14200     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14201     VARIANT_BOOL ondrag();
14202
14203     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14204     void ondragend();
14205
14206     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14207     VARIANT_BOOL ondragenter();
14208
14209     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14210     VARIANT_BOOL ondragover();
14211
14212     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14213     void ondragleave();
14214
14215     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14216     VARIANT_BOOL ondrop();
14217
14218     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14219     VARIANT_BOOL onbeforecut();
14220
14221     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14222     VARIANT_BOOL oncut();
14223
14224     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14225     VARIANT_BOOL onbeforecopy();
14226
14227     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14228     VARIANT_BOOL oncopy();
14229
14230     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14231     VARIANT_BOOL onbeforepaste();
14232
14233     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14234     VARIANT_BOOL onpaste();
14235
14236     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14237     VARIANT_BOOL oncontextmenu();
14238
14239     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14240     void onrowsdelete();
14241
14242     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14243     void onrowsinserted();
14244
14245     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14246     void oncellchange();
14247
14248     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14249     void onreadystatechange();
14250
14251     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14252     void onbeforeeditfocus();
14253
14254     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14255     void onlayoutcomplete();
14256
14257     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14258     void onpage();
14259
14260     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14261     VARIANT_BOOL onbeforedeactivate();
14262
14263     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14264     VARIANT_BOOL onbeforeactivate();
14265
14266     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14267     void onmove();
14268
14269     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14270     VARIANT_BOOL oncontrolselect();
14271
14272     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14273     VARIANT_BOOL onmovestart();
14274
14275     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14276     void onmoveend();
14277
14278     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14279     VARIANT_BOOL onresizestart();
14280
14281     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14282     void onresizeend();
14283
14284     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14285     void onmouseenter();
14286
14287     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14288     void onmouseleave();
14289
14290     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14291     VARIANT_BOOL onmousewheel();
14292
14293     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14294     void onactivate();
14295
14296     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14297     void ondeactivate();
14298
14299     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14300     void onfocusin();
14301
14302     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14303     void onfocusout();
14304 }
14305
14306 [
14307     hidden,
14308     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
14309 ]
14310 dispinterface HTMLTableEvents2
14311 {
14312 properties:
14313 methods:
14314     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14315     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14316
14317     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14318     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14319
14320     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14321     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14322
14323     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14324     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14325
14326     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14327     void onkeydown([in] IHTMLEventObj* pEvtObj);
14328
14329     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14330     void onkeyup([in] IHTMLEventObj* pEvtObj);
14331
14332     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14333     void onmouseout([in] IHTMLEventObj* pEvtObj);
14334
14335     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14336     void onmouseover([in] IHTMLEventObj* pEvtObj);
14337
14338     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14339     void onmousemove([in] IHTMLEventObj* pEvtObj);
14340
14341     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14342     void onmousedown([in] IHTMLEventObj* pEvtObj);
14343
14344     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14345     void onmouseup([in] IHTMLEventObj* pEvtObj);
14346
14347     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14348     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14349
14350     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14351     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14352
14353     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14354     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14355
14356     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14357     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14358
14359     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14360     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14361
14362     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14363     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14364
14365     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14366     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14367
14368     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14369     void onrowenter([in] IHTMLEventObj* pEvtObj);
14370
14371     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14372     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14373
14374     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14375     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14376
14377     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14378     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14379
14380     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14381     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14382
14383     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14384     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14385
14386     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14387     void onscroll([in] IHTMLEventObj* pEvtObj);
14388
14389     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14390     void onfocus([in] IHTMLEventObj* pEvtObj);
14391
14392     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14393     void onblur([in] IHTMLEventObj* pEvtObj);
14394
14395     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14396     void onresize([in] IHTMLEventObj* pEvtObj);
14397
14398     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14399     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14400
14401     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14402     void ondragend([in] IHTMLEventObj* pEvtObj);
14403
14404     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14405     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14406
14407     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14408     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14409
14410     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14411     void ondragleave([in] IHTMLEventObj* pEvtObj);
14412
14413     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14414     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14415
14416     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14417     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14418
14419     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14420     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14421
14422     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14423     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14424
14425     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14426     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14427
14428     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14429     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14430
14431     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14432     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14433
14434     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14435     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14436
14437     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14438     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14439
14440     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14441     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14442
14443     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14444     void oncellchange([in] IHTMLEventObj* pEvtObj);
14445
14446     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14447     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14448
14449     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14450     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14451
14452     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14453     void onpage([in] IHTMLEventObj* pEvtObj);
14454
14455     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14456     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14457
14458     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14459     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14460
14461     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14462     void onactivate([in] IHTMLEventObj* pEvtObj);
14463
14464     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14465     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14466
14467     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14468     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14469
14470     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14471     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14472
14473     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14474     void onfocusin([in] IHTMLEventObj* pEvtObj);
14475
14476     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14477     void onfocusout([in] IHTMLEventObj* pEvtObj);
14478
14479     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14480     void onmove([in] IHTMLEventObj* pEvtObj);
14481
14482     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14483     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14484
14485     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14486     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14487
14488     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14489     void onmoveend([in] IHTMLEventObj* pEvtObj);
14490
14491     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14492     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14493
14494     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14495     void onresizeend([in] IHTMLEventObj* pEvtObj);
14496
14497     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14498     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14499 }
14500
14501 /*****************************************************************************
14502  *    IHTMLTableCaption interface
14503  */
14504 [
14505     odl,
14506     oleautomation,
14507     dual,
14508     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
14509 ]
14510 interface IHTMLTableCaption : IDispatch
14511 {
14512     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
14513     HRESULT align([in] BSTR v);
14514
14515     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
14516     HRESULT align([retval, out] BSTR *p);
14517
14518     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
14519     HRESULT vAlign([in] BSTR v);
14520
14521     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
14522     HRESULT vAlign([retval, out] BSTR *p);
14523 }
14524
14525 interface IHTMLTableSection;
14526
14527 /*****************************************************************************
14528  *    IHTMLTable interface
14529  */
14530 [
14531     odl,
14532     oleautomation,
14533     dual,
14534     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
14535 ]
14536 interface IHTMLTable : IDispatch
14537 {
14538     [propput, id(DISPID_IHTMLTABLE_COLS)]
14539     HRESULT cols([in] LONG v);
14540
14541     [propget, id(DISPID_IHTMLTABLE_COLS)]
14542     HRESULT cols([retval, out] LONG *p);
14543
14544     [propput, id(DISPID_IHTMLTABLE_BORDER)]
14545     HRESULT border([in] VARIANT v);
14546
14547     [propget, id(DISPID_IHTMLTABLE_BORDER)]
14548     HRESULT border([retval, out] VARIANT *p);
14549
14550     [propput, id(DISPID_IHTMLTABLE_FRAME)]
14551     HRESULT frame([in] BSTR v);
14552
14553     [propget, id(DISPID_IHTMLTABLE_FRAME)]
14554     HRESULT frame([retval, out] BSTR *p);
14555
14556     [propput, id(DISPID_IHTMLTABLE_RULES)]
14557     HRESULT rules([in] BSTR v);
14558
14559     [propget, id(DISPID_IHTMLTABLE_RULES)]
14560     HRESULT rules([retval, out] BSTR *p);
14561
14562     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
14563     HRESULT cellSpacing([in] VARIANT v);
14564
14565     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
14566     HRESULT cellSpacing([retval, out] VARIANT *p);
14567
14568     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
14569     HRESULT cellPadding([in] VARIANT v);
14570
14571     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
14572     HRESULT cellPadding([retval, out] VARIANT *p);
14573
14574     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
14575     HRESULT background([in] BSTR v);
14576
14577     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
14578     HRESULT background([retval, out] BSTR *p);
14579
14580     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
14581     HRESULT bgColor([in] VARIANT v);
14582
14583     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
14584     HRESULT bgColor([retval, out] VARIANT *p);
14585
14586     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14587     HRESULT borderColor([in] VARIANT v);
14588
14589     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14590     HRESULT borderColor([retval, out] VARIANT *p);
14591
14592     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14593     HRESULT borderColorLight([in] VARIANT v);
14594
14595     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14596     HRESULT borderColorLight([retval, out] VARIANT *p);
14597
14598     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14599     HRESULT borderColorDark([in] VARIANT v);
14600
14601     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14602     HRESULT borderColorDark([retval, out] VARIANT *p);
14603
14604     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
14605     HRESULT align([in] BSTR v);
14606
14607     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
14608     HRESULT align([retval, out] BSTR * p);
14609
14610     [id(DISPID_IHTMLTABLE_REFRESH)]
14611     HRESULT refresh();
14612
14613     [propget, id(DISPID_IHTMLTABLE_ROWS)]
14614     HRESULT rows([retval, out] IHTMLElementCollection **p);
14615
14616     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
14617     HRESULT width([in] VARIANT v);
14618
14619     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
14620     HRESULT width([retval, out] VARIANT *p);
14621
14622     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
14623     HRESULT height([in] VARIANT v);
14624
14625     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
14626     HRESULT height([retval, out] VARIANT *p);
14627
14628     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14629     HRESULT dataPageSize([in] LONG v);
14630
14631     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14632     HRESULT dataPageSize([retval, out] LONG *p);
14633
14634     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
14635     HRESULT nextPage();
14636
14637     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
14638     HRESULT previousPage();
14639
14640     [propget, id(DISPID_IHTMLTABLE_THEAD)]
14641     HRESULT tHead([retval, out] IHTMLTableSection **p);
14642
14643     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
14644     HRESULT tFoot([retval, out] IHTMLTableSection **p);
14645
14646     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
14647     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
14648
14649     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
14650     HRESULT caption([retval, out] IHTMLTableCaption **p);
14651
14652     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
14653     HRESULT createTHead([retval, out] IDispatch **head);
14654
14655     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
14656     HRESULT deleteTHead();
14657
14658     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
14659     HRESULT createTFoot([retval, out] IDispatch **foot);
14660
14661     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
14662     HRESULT deleteTFoot();
14663
14664     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
14665     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
14666
14667     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
14668     HRESULT deleteCaption();
14669
14670     [id(DISPID_IHTMLTABLE_INSERTROW)]
14671     HRESULT insertRow(
14672             [defaultvalue(-1), in] LONG index,
14673             [retval, out] IDispatch **row);
14674
14675     [id(DISPID_IHTMLTABLE_DELETEROW)]
14676     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
14677
14678     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
14679     HRESULT readyState([retval, out] BSTR *p);
14680
14681     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
14682     HRESULT onreadystatechange([in] VARIANT v);
14683
14684     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
14685     HRESULT onreadystatechange([retval, out] VARIANT *p);
14686 }
14687
14688 [
14689     odl,
14690     oleautomation,
14691     dual,
14692     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
14693 ]
14694 interface IHTMLTable2 : IDispatch
14695 {
14696     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
14697     HRESULT firstPage();
14698
14699     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
14700     HRESULT lastPage();
14701
14702     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
14703     HRESULT cells([retval, out] IHTMLElementCollection* * p);
14704
14705     [id(DISPID_IHTMLTABLE2_MOVEROW)]
14706     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
14707         [defaultvalue(-1), in] LONG indexTo,
14708         [retval, out] IDispatch** row);
14709 }
14710
14711 [
14712     odl,
14713     oleautomation,
14714     dual,
14715     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
14716 ]
14717 interface IHTMLTable3 : IDispatch
14718 {
14719     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
14720     HRESULT summary([in] BSTR v);
14721
14722     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
14723     HRESULT summary([retval, out] BSTR * p);
14724 }
14725
14726 [
14727     noncreatable,
14728     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
14729 ]
14730 coclass HTMLTable
14731 {
14732     [default]           dispinterface DispHTMLTable;
14733     [source, default]   dispinterface HTMLTableEvents;
14734     [source]            dispinterface HTMLTableEvents2;
14735                         interface IHTMLElement;
14736                         interface IHTMLElement2;
14737                         interface IHTMLElement3;
14738                         interface IHTMLElement4;
14739                         interface IHTMLUniqueName;
14740                         interface IHTMLDOMNode;
14741                         interface IHTMLDOMNode2;
14742                         interface IHTMLDatabinding;
14743                         interface IHTMLControlElement;
14744                         interface IHTMLTable;
14745                         interface IHTMLTable2;
14746                         interface IHTMLTable3;
14747 }
14748
14749 [
14750     odl,
14751     oleautomation,
14752     dual,
14753     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
14754 ]
14755 interface IHTMLTableSection : IDispatch
14756 {
14757     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
14758     HRESULT align([in] BSTR v);
14759
14760     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
14761     HRESULT align([retval, out] BSTR *p);
14762
14763     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
14764     HRESULT vAlign([in] BSTR v);
14765
14766     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
14767     HRESULT vAlign([retval, out] BSTR *p);
14768
14769     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
14770     HRESULT bgColor([in] VARIANT v);
14771
14772     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
14773     HRESULT bgColor([retval, out] VARIANT *p);
14774
14775     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
14776     HRESULT rows([retval, out] IHTMLElementCollection **p);
14777
14778     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
14779     HRESULT insertRow(
14780             [defaultvalue(-1), in] LONG index,
14781             [retval, out] IDispatch **row);
14782
14783     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
14784     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
14785 }
14786
14787 /*****************************************************************************
14788  *    IHTMLTableRow interface
14789  */
14790 [
14791     odl,
14792     oleautomation,
14793     dual,
14794     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
14795 ]
14796 interface IHTMLTableRow : IDispatch
14797 {
14798     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
14799     HRESULT align([in] BSTR v);
14800
14801     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
14802     HRESULT align([out, retval] BSTR *p);
14803
14804     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
14805     HRESULT vAlign([in] BSTR v);
14806
14807     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
14808     HRESULT vAlign([out, retval] BSTR *p);
14809
14810     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
14811     HRESULT bgColor([in] VARIANT v);
14812
14813     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
14814     HRESULT bgColor([out, retval] VARIANT *p);
14815
14816     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
14817     HRESULT borderColor([in] VARIANT v);
14818
14819     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
14820     HRESULT borderColor([out, retval] VARIANT *p);
14821
14822     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
14823     HRESULT borderColorLight([in] VARIANT v);
14824
14825     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
14826     HRESULT borderColorLight([out, retval] VARIANT *p);
14827
14828     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
14829     HRESULT borderColorDark([in] VARIANT v);
14830
14831     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
14832     HRESULT borderColorDark([out, retval] VARIANT *p);
14833
14834     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
14835     HRESULT rowIndex([out, retval] LONG *p);
14836
14837     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
14838     HRESULT sectionRowIndex([out, retval] LONG *p);
14839
14840     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
14841     HRESULT cells([out, retval] IHTMLElementCollection **p);
14842
14843     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
14844     HRESULT insertCell(
14845             [in, defaultvalue(-1)] LONG index,
14846             [out, retval] IDispatch **row);
14847
14848     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
14849     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
14850 }
14851
14852 /*****************************************************************************
14853  *    DispHTMLTable interface
14854  */
14855 [
14856     hidden,
14857     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
14858 ]
14859 dispinterface DispHTMLTable
14860 {
14861 properties:
14862 methods:
14863     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
14864
14865     [propput, id(DISPID_IHTMLTABLE_COLS)]
14866     void cols(LONG v);
14867
14868     [propget, id(DISPID_IHTMLTABLE_COLS)]
14869     LONG cols();
14870
14871     [propput, id(DISPID_IHTMLTABLE_BORDER)]
14872     void border(VARIANT v);
14873
14874     [propget, id(DISPID_IHTMLTABLE_BORDER)]
14875     VARIANT border();
14876
14877     [propput, id(DISPID_IHTMLTABLE_FRAME)]
14878     void frame(BSTR v);
14879
14880     [propget, id(DISPID_IHTMLTABLE_FRAME)]
14881     BSTR frame();
14882
14883     [propput, id(DISPID_IHTMLTABLE_RULES)]
14884     void rules(BSTR v);
14885
14886     [propget, id(DISPID_IHTMLTABLE_RULES)]
14887     BSTR rules();
14888
14889     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
14890     void cellSpacing(VARIANT v);
14891
14892     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
14893     VARIANT cellSpacing();
14894
14895     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
14896     void cellPadding(VARIANT v);
14897
14898     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
14899     VARIANT cellPadding();
14900
14901     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
14902     void background(BSTR v);
14903
14904     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
14905     BSTR background();
14906
14907     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
14908     void bgColor(VARIANT v);
14909
14910     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
14911     VARIANT bgColor();
14912
14913     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14914     void borderColor(VARIANT v);
14915
14916     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14917     VARIANT borderColor();
14918
14919     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14920     void borderColorLight(VARIANT v);
14921
14922     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14923     VARIANT borderColorLight();
14924
14925     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14926     void borderColorDark(VARIANT v);
14927
14928     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14929     VARIANT borderColorDark();
14930
14931     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
14932     void align(BSTR v);
14933
14934     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
14935     BSTR align();
14936
14937     [id(DISPID_IHTMLTABLE_REFRESH)]
14938     void refresh();
14939
14940     [propget, id(DISPID_IHTMLTABLE_ROWS)]
14941     IHTMLElementCollection *rows();
14942
14943     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
14944     void width(VARIANT v);
14945
14946     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
14947     VARIANT width();
14948
14949     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
14950     void height(VARIANT v);
14951
14952     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
14953     VARIANT height();
14954
14955     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14956     void dataPageSize(LONG v);
14957
14958     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14959     LONG dataPageSize();
14960
14961     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
14962     void nextPage();
14963
14964     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
14965     void previousPage();
14966
14967     [propget, id(DISPID_IHTMLTABLE_THEAD)]
14968     IHTMLTableSection *tHead();
14969
14970     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
14971     IHTMLTableSection *tFoot();
14972
14973     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
14974     IHTMLElementCollection *tBodies();
14975
14976     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
14977     IHTMLTableCaption *caption();
14978
14979     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
14980     IDispatch *createTHead();
14981
14982     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
14983     void deleteTHead();
14984
14985     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
14986     IDispatch *createTFoot();
14987
14988     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
14989     void deleteTFoot();
14990
14991     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
14992     IHTMLTableCaption *createCaption();
14993
14994     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
14995     void deleteCaption();
14996
14997     [id(DISPID_IHTMLTABLE_INSERTROW)]
14998     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
14999
15000     [id(DISPID_IHTMLTABLE_DELETEROW)]
15001     void deleteRow([in, defaultvalue(-1)] LONG index);
15002
15003     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
15004     void firstPage();
15005
15006     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
15007     void lastPage();
15008
15009     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
15010     IHTMLElementCollection *cells();
15011
15012     [id(DISPID_IHTMLTABLE2_MOVEROW)]
15013     IDispatch *moveRow(
15014             [in, defaultvalue(-1)] LONG indexFrom,
15015             [in, defaultvalue(-1)] LONG indexTo);
15016
15017     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15018     void summary(BSTR v);
15019
15020     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15021     BSTR summary();
15022 }
15023
15024 /*****************************************************************************
15025  *    DispHTMLTableRow dispinterface
15026  */
15027 [
15028     hidden,
15029     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
15030 ]
15031 dispinterface DispHTMLTableRow
15032 {
15033 properties:
15034 methods:
15035     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15036
15037     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
15038     void align(BSTR v);
15039
15040     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
15041     BSTR align();
15042
15043     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
15044     void vAlign(BSTR v);
15045
15046     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
15047     BSTR vAlign();
15048
15049     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15050     void bgColor(VARIANT v);
15051
15052     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15053     VARIANT bgColor();
15054
15055     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15056     void borderColor(VARIANT v);
15057
15058     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15059     VARIANT borderColor();
15060
15061     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15062     void borderColorLight(VARIANT v);
15063
15064     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15065     VARIANT borderColorLight();
15066
15067     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15068     void borderColorDark(VARIANT v);
15069
15070     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15071     VARIANT borderColorDark();
15072
15073     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
15074     LONG rowIndex();
15075
15076     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
15077     LONG sectionRowIndex();
15078
15079     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
15080     IHTMLElementCollection *cells();
15081
15082     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
15083     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
15084
15085     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
15086     void deleteCell([in, defaultvalue(-1)] LONG index);
15087
15088     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
15089     void height(VARIANT v);
15090
15091     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
15092     VARIANT height();
15093
15094     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
15095     void ch(BSTR v);
15096
15097     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
15098     BSTR ch();
15099
15100     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
15101     void chOff(BSTR v);
15102
15103     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
15104     BSTR chOff();
15105 }
15106
15107 /*****************************************************************************
15108  *    IHTMLScriptElement interface
15109  */
15110 [
15111     odl,
15112     oleautomation,
15113     dual,
15114     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
15115 ]
15116 interface IHTMLScriptElement : IDispatch
15117 {
15118     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15119     HRESULT src([in] BSTR v);
15120
15121     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15122     HRESULT src([retval, out] BSTR *p);
15123
15124     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15125     HRESULT htmlFor([in] BSTR v);
15126
15127     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15128     HRESULT htmlFor([retval, out] BSTR *p);
15129
15130     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15131     HRESULT event([in] BSTR v);
15132
15133     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15134     HRESULT event([retval, out] BSTR *p);
15135
15136     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15137     HRESULT text([in] BSTR v);
15138
15139     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15140     HRESULT text([retval, out] BSTR *p);
15141
15142     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15143     HRESULT defer([in] VARIANT_BOOL v);
15144
15145     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15146     HRESULT defer([retval, out] VARIANT_BOOL *p);
15147
15148     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
15149     HRESULT readyState([retval, out] BSTR *p);
15150
15151     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15152     HRESULT onerror([in] VARIANT v);
15153
15154     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15155     HRESULT onerror([retval, out] VARIANT *p);
15156
15157     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15158     HRESULT type([in] BSTR v);
15159
15160     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15161     HRESULT type([retval, out] BSTR *p);
15162 }
15163
15164 /*****************************************************************************
15165  *    IHTMLScriptElement2 interface
15166  */
15167 [
15168     odl,
15169     oleautomation,
15170     dual,
15171     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
15172 ]
15173 interface IHTMLScriptElement2 : IDispatch
15174 {
15175     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15176     HRESULT charset([in] BSTR v);
15177
15178     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15179     HRESULT charset([retval, out] BSTR *p);
15180 }
15181
15182 /*****************************************************************************
15183  *    DispHTMLScriptElement dispinterface
15184  */
15185 [
15186     hidden,
15187     uuid(3050f530-98b5-11cf-bb82-00aa00bdce0b)
15188 ]
15189 dispinterface DispHTMLScriptElement
15190 {
15191 properties:
15192 methods:
15193     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15194
15195     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15196     void src(BSTR v);
15197
15198     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15199     BSTR src();
15200
15201     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15202     void htmlFor(BSTR v);
15203
15204     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15205     BSTR htmlFor();
15206
15207     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15208     void event(BSTR v);
15209
15210     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15211     BSTR event();
15212
15213     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15214     void text(BSTR v);
15215
15216     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15217     BSTR text();
15218
15219     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15220     void defer(VARIANT_BOOL v);
15221
15222     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15223     VARIANT_BOOL defer();
15224
15225     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15226     void onerror(VARIANT v);
15227
15228     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15229     VARIANT onerror();
15230
15231     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15232     void type(BSTR v);
15233
15234     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15235     BSTR type();
15236
15237     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15238     void charset(BSTR v);
15239
15240     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15241     BSTR charset();
15242
15243     [propput, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
15244     void ie8_src(BSTR v);
15245
15246     [propget, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
15247     BSTR ie8_src();
15248 }
15249
15250 /*****************************************************************************
15251  *    IHTMLObjectElement interface
15252  */
15253 [
15254     odl,
15255     oleautomation,
15256     dual,
15257     uuid(3050f24f-98b5-11cf-bb82-00aa00bdce0b)
15258 ]
15259 interface IHTMLObjectElement : IDispatch
15260 {
15261     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
15262     HRESULT object([retval, out] IDispatch **p);
15263
15264     [propget, id(DISPID_IHTMLOBJECTELEMENT_CLASSID), hidden]
15265     HRESULT classid([retval, out] BSTR *p);
15266
15267     [propget, id(DISPID_IHTMLOBJECTELEMENT_DATA), hidden]
15268     HRESULT data([retval, out] BSTR *p);
15269
15270     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15271     HRESULT recordset([in] IDispatch *v);
15272
15273     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15274     HRESULT recordset([retval, out] IDispatch **p);
15275
15276     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15277     HRESULT align([in] BSTR v);
15278
15279     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15280     HRESULT align([retval, out] BSTR *p);
15281
15282     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15283     HRESULT name([in] BSTR v);
15284
15285     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15286     HRESULT name([retval, out] BSTR *p);
15287
15288     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15289     HRESULT codeBase([in] BSTR v);
15290
15291     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15292     HRESULT codeBase([retval, out] BSTR *p);
15293
15294     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15295     HRESULT codeType([in] BSTR v);
15296
15297     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15298     HRESULT codeType([retval, out] BSTR *p);
15299
15300     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15301     HRESULT code([in] BSTR v);
15302
15303     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15304     HRESULT code([retval, out] BSTR *p);
15305
15306     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
15307     HRESULT BaseHref([retval, out] BSTR *p);
15308
15309     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15310     HRESULT type([in] BSTR v);
15311
15312     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15313     HRESULT type([retval, out] BSTR *p);
15314
15315     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
15316     HRESULT form([retval, out] IHTMLFormElement **p);
15317
15318     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15319     HRESULT width([in] VARIANT v);
15320
15321     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15322     HRESULT width([retval, out] VARIANT *p);
15323
15324     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15325     HRESULT height([in] VARIANT v);
15326
15327     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15328     HRESULT height([retval, out] VARIANT *p);
15329
15330     [propget, id(DISPID_IHTMLOBJECTELEMENT_READYSTATE), hidden]
15331     HRESULT readyState([retval, out] long *p);
15332
15333     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
15334     HRESULT onreadystatechange([in] VARIANT v);
15335
15336     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
15337     HRESULT onreadystatechange([retval, out] VARIANT *p);
15338
15339     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15340     HRESULT onerror([in] VARIANT v);
15341
15342     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15343     HRESULT onerror([retval, out] VARIANT *p);
15344
15345     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15346     HRESULT altHtml([in] BSTR v);
15347
15348     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15349     HRESULT altHtml([retval, out] BSTR *p);
15350
15351     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15352     HRESULT vspace([in] long v);
15353
15354     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15355     HRESULT vspace([retval, out] long *p);
15356
15357     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15358     HRESULT hspace([in] long v);
15359
15360     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15361     HRESULT hspace([retval, out] long *p);
15362 }
15363
15364 /*****************************************************************************
15365  *    IHTMLParamElement interface
15366  */
15367 [
15368     odl,
15369     oleautomation,
15370     dual,
15371     uuid(3050f83d-98b5-11cf-bb82-00aa00bdce0b)
15372 ]
15373 interface IHTMLParamElement : IDispatch
15374 {
15375     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15376     HRESULT name([in] BSTR v);
15377
15378     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15379     HRESULT name([retval, out] BSTR *p);
15380
15381     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15382     HRESULT value([in] BSTR v);
15383
15384     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15385     HRESULT value([retval, out] BSTR *p);
15386
15387     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15388     HRESULT type([in] BSTR v);
15389
15390     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15391     HRESULT type([retval, out] BSTR *p);
15392
15393     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15394     HRESULT valueType([in] BSTR v);
15395
15396     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15397     HRESULT valueType([retval, out] BSTR *p);
15398 }
15399
15400 /*****************************************************************************
15401  *    IHTMLParamElement2 interface
15402  */
15403 [
15404     odl,
15405     oleautomation,
15406     dual,
15407     uuid(30510444-98b5-11cf-bb82-00aa00bdce0b)
15408 ]
15409 interface IHTMLParamElement2 : IDispatch
15410 {
15411     [propput, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
15412     HRESULT name([in] BSTR v);
15413
15414     [propget, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
15415     HRESULT name([retval, out] BSTR *p);
15416
15417     [propput, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
15418     HRESULT type([in] BSTR v);
15419
15420     [propget, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
15421     HRESULT type([retval, out] BSTR *p);
15422
15423     [propput, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
15424     HRESULT value([in] BSTR v);
15425
15426     [propget, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
15427     HRESULT value([retval, out] BSTR *p);
15428
15429     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15430     HRESULT valueType([in] BSTR v);
15431
15432     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15433     HRESULT valueType([retval, out] BSTR *p);
15434 }
15435
15436 /*****************************************************************************
15437  *    DispHTMLObjectElement dispinterface
15438  */
15439 [
15440     hidden,
15441     uuid(3050f529-98b5-11cf-bb82-00aa00bdce0b)
15442 ]
15443 dispinterface DispHTMLObjectElement
15444 {
15445 properties:
15446 methods:
15447     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15448
15449     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
15450     IDispatch *object();
15451
15452     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15453     void recordset(IDispatch *v);
15454
15455     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15456     IDispatch *recordset();
15457
15458     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15459     void align(BSTR v);
15460
15461     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15462     BSTR align();
15463
15464     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15465     void name(BSTR v);
15466
15467     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15468     BSTR name();
15469
15470     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15471     void codeBase(BSTR v);
15472
15473     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15474     BSTR codeBase();
15475
15476     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15477     void codeType(BSTR v);
15478
15479     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15480     BSTR codeType();
15481
15482     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15483     void code(BSTR v);
15484
15485     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15486     BSTR code();
15487
15488     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
15489     BSTR BaseHref();
15490
15491     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15492     void type(BSTR v);
15493
15494     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15495     BSTR type();
15496
15497     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
15498     IHTMLFormElement *form();
15499
15500     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15501     void width(VARIANT v);
15502
15503     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15504     VARIANT width();
15505
15506     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15507     void height(VARIANT v);
15508
15509     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15510     VARIANT height();
15511
15512     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15513     void onerror(VARIANT v);
15514
15515     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15516     VARIANT onerror();
15517
15518     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15519     void altHtml(BSTR v);
15520
15521     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15522     BSTR altHtml();
15523
15524     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15525     void vspace(long v);
15526
15527     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15528     long vspace();
15529
15530     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15531     void hspace(long v);
15532
15533     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15534     long hspace();
15535
15536     [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
15537     IDispatch *namedRecordset(
15538             [in] BSTR dataMember,
15539             [optional, in] VARIANT *hierarchy);
15540
15541     [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
15542     void classid(BSTR v);
15543
15544     [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
15545     BSTR classid();
15546
15547     [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
15548     void data(BSTR v);
15549
15550     [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
15551     BSTR data();
15552
15553     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
15554     void archive(BSTR v);
15555
15556     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
15557     BSTR archive();
15558
15559     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
15560     void alt(BSTR v);
15561
15562     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
15563     BSTR alt();
15564
15565     [propput, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
15566     void declare(VARIANT_BOOL v);
15567
15568     [propget, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
15569     VARIANT_BOOL declare();
15570
15571     [propput, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
15572     void standby(BSTR v);
15573
15574     [propget, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
15575     BSTR standby();
15576
15577     [propput, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
15578     void border(VARIANT v);
15579
15580     [propget, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
15581     VARIANT border();
15582
15583     [propput, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
15584     void useMap(BSTR v);
15585
15586     [propget, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
15587     BSTR useMap();
15588
15589     [propget, id(DISPID_IHTMLOBJECTELEMENT4_CONTENTDOCUMENT)]
15590     IDispatch *contentDocument();
15591
15592     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
15593     void ie8_codeBase(BSTR v);
15594
15595     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
15596     BSTR ie8_codeBase();
15597
15598     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
15599     void ie8_data(BSTR v);
15600
15601     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
15602     BSTR ie8_data();
15603 }
15604
15605 /*****************************************************************************
15606  *    DispHTMLParamElement dispinterface
15607  */
15608 [
15609     hidden,
15610     uuid(3050f590-98b5-11cf-bb82-00aa00bdce0b)
15611 ]
15612 dispinterface DispHTMLParamElement
15613 {
15614 properties:
15615 methods:
15616     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15617
15618     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15619     void name(BSTR v);
15620
15621     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15622     BSTR name();
15623
15624     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15625     void value(BSTR v);
15626
15627     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15628     BSTR value();
15629
15630     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15631     void type(BSTR v);
15632
15633     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15634     BSTR type();
15635
15636     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15637     void valueType(BSTR v);
15638
15639     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15640     BSTR valueType();
15641
15642     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15643     void ie8_valueType(BSTR v);
15644
15645     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15646     BSTR ie8_valueType();
15647 }
15648
15649 /*****************************************************************************
15650  *    IHTMLFrameBase interface
15651  */
15652 [
15653     odl,
15654     oleautomation,
15655     dual,
15656     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
15657 ]
15658 interface IHTMLFrameBase : IDispatch
15659 {
15660     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
15661     HRESULT src([in] BSTR v);
15662
15663     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
15664     HRESULT src([out, retval] BSTR *p);
15665
15666     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
15667     HRESULT name([in] BSTR v);
15668
15669     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
15670     HRESULT name([out, retval] BSTR *p);
15671
15672     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
15673     HRESULT border([in] VARIANT v);
15674
15675     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
15676     HRESULT border([out, retval] VARIANT *p);
15677
15678     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
15679     HRESULT frameBorder([in] BSTR v);
15680
15681     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
15682     HRESULT frameBorder([out, retval] BSTR *p);
15683
15684     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
15685     HRESULT frameSpacing([in] VARIANT v);
15686
15687     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
15688     HRESULT frameSpacing([out, retval] VARIANT *p);
15689
15690     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
15691     HRESULT marginWidth([in] VARIANT v);
15692
15693     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
15694     HRESULT marginWidth([out, retval] VARIANT *p);
15695
15696     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
15697     HRESULT marginHeight([in] VARIANT v);
15698
15699     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
15700     HRESULT marginHeight([out, retval] VARIANT *p);
15701
15702     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
15703     HRESULT noResize([in] VARIANT_BOOL v);
15704
15705     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
15706     HRESULT noResize([out, retval] VARIANT_BOOL *p);
15707
15708     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
15709     HRESULT scrolling([in] BSTR v);
15710
15711     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
15712     HRESULT scrolling([out, retval] BSTR *p);
15713 }
15714
15715 #define WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL          \
15716     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
15717     void src(BSTR v);                                   \
15718                                                         \
15719     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
15720     BSTR src();                                         \
15721                                                         \
15722     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
15723     void name(BSTR v);                                  \
15724                                                         \
15725     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
15726     BSTR name();                                        \
15727                                                         \
15728     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
15729     void border(VARIANT v);                             \
15730                                                         \
15731     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
15732     VARIANT border();                                   \
15733                                                         \
15734     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
15735     void frameBorder(BSTR v);                           \
15736                                                         \
15737     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
15738     BSTR frameBorder();                                 \
15739                                                         \
15740     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
15741     void frameSpacing(VARIANT v);                       \
15742                                                         \
15743     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
15744     VARIANT frameSpacing();                             \
15745                                                         \
15746     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
15747     void marginWidth(VARIANT v);                        \
15748                                                         \
15749     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
15750     VARIANT marginWidth();                              \
15751                                                         \
15752     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
15753     void marginHeight(VARIANT v);                       \
15754                                                         \
15755     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
15756     VARIANT marginHeight();                             \
15757                                                         \
15758     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
15759     void noResize(VARIANT_BOOL v);                      \
15760                                                         \
15761     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
15762     VARIANT_BOOL noResize();                            \
15763                                                         \
15764     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
15765     void scrolling(BSTR v);                             \
15766                                                         \
15767     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
15768     BSTR scrolling()
15769
15770 /*****************************************************************************
15771  *    IHTMLFrameBase2 interface
15772  */
15773 [
15774     odl,
15775     oleautomation,
15776     dual,
15777     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
15778 ]
15779 interface IHTMLFrameBase2 : IDispatch
15780 {
15781     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
15782     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
15783
15784     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
15785     HRESULT onload([in] VARIANT v);
15786
15787     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
15788     HRESULT onload([retval, out] VARIANT *p);
15789
15790     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
15791     HRESULT onreadystatechange([in] VARIANT v);
15792
15793     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
15794     HRESULT onreadystatechange([retval, out] VARIANT *p);
15795
15796     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
15797     HRESULT readyState([retval, out] BSTR *p);
15798
15799     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
15800     HRESULT allowTransparency([in] VARIANT_BOOL v);
15801
15802     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
15803     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
15804 }
15805
15806 #define WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL                         \
15807     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]                 \
15808     IHTMLWindow2 *contentWindow();                                      \
15809                                                                         \
15810     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
15811     void onload(VARIANT v);                                             \
15812                                                                         \
15813     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
15814     VARIANT onload();                                                   \
15815                                                                         \
15816     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
15817     void allowTransparency(VARIANT_BOOL v);                             \
15818                                                                         \
15819     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
15820     VARIANT_BOOL allowTransparency()
15821
15822 #define WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL                           \
15823     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
15824     void longDesc(BSTR v);                                                \
15825                                                                           \
15826     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
15827     BSTR longDesc()
15828
15829
15830 #define WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL \
15831     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;  \
15832     WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL;   \
15833     WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL;  \
15834     WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL
15835
15836 /*****************************************************************************
15837  *    IHTMLFrameElement3 interface
15838  */
15839 [
15840     odl,
15841     oleautomation,
15842     dual,
15843     uuid(3051042d-98b5-11cf-bb82-00aa00bdce0b)
15844 ]
15845 interface IHTMLFrameElement3 : IDispatch
15846 {
15847     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
15848     HRESULT contentDocument([out, retval] IDispatch **p);
15849
15850     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
15851     HRESULT src([in] BSTR v);
15852
15853     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
15854     HRESULT src([out, retval] BSTR *p);
15855
15856     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
15857     HRESULT longDesc([in] BSTR v);
15858
15859     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
15860     HRESULT longDesc([out, retval] BSTR *p);
15861
15862     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
15863     HRESULT frameBorder([in] BSTR v);
15864
15865     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
15866     HRESULT frameBorder([out, retval] BSTR * p);
15867 }
15868
15869 /*****************************************************************************
15870  *    DispHTMLFrameElement dispinterface
15871  */
15872 [
15873     hidden,
15874     uuid(3050f513-98b5-11cf-bb82-00aa00bdce0b)
15875 ]
15876 dispinterface DispHTMLFrameElement
15877 {
15878 properties:
15879 methods:
15880     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
15881
15882     [propput, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
15883     void borderColor(VARIANT v);
15884
15885     [propget, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
15886     VARIANT borderColor();
15887
15888     [propput, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
15889     void height(VARIANT v);
15890
15891     [propget, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
15892     VARIANT height();
15893
15894     [propput, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
15895     void width(VARIANT v);
15896
15897     [propget, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
15898     VARIANT width();
15899
15900     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
15901     IDispatch *contentDocument();
15902
15903     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
15904     void ie8_src(BSTR v);
15905
15906     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
15907     BSTR ie8_src();
15908
15909     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
15910     void ie8_longDesc(BSTR v);
15911
15912     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
15913     BSTR ie8_longDesc();
15914
15915     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
15916     void ie8_frameBorder(BSTR v);
15917
15918     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
15919     BSTR ie8_frameBorder();
15920 }
15921
15922 /*****************************************************************************
15923  *    IHTMLIFrameElement interface
15924  */
15925 [
15926     odl,
15927     oleautomation,
15928     dual,
15929     uuid(3050f315-98b5-11cf-bb82-00aa00bdce0b)
15930 ]
15931 interface IHTMLIFrameElement : IDispatch
15932 {
15933     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
15934     HRESULT vspace([in] LONG v);
15935
15936     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
15937     HRESULT vspace([retval, out] LONG *p);
15938
15939     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
15940     HRESULT hspace([in] LONG v);
15941
15942     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
15943     HRESULT hspace([retval, out] LONG *p);
15944
15945     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
15946     HRESULT align([in] BSTR v);
15947
15948     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
15949     HRESULT align([retval, out] BSTR *p);
15950 }
15951
15952 /*****************************************************************************
15953  *    DispHTMLIFrame dispinterface
15954  */
15955 [
15956     hidden,
15957     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
15958 ]
15959 dispinterface DispHTMLIFrame
15960 {
15961 properties:
15962 methods:
15963     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
15964
15965     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
15966     void vspace(LONG v);
15967
15968     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
15969     LONG vspace();
15970
15971     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
15972     void hspace(LONG v);
15973
15974     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
15975     LONG hspace();
15976
15977     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
15978     void align(BSTR v);
15979
15980     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
15981     BSTR align();
15982
15983     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
15984     void height(VARIANT v);
15985
15986     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
15987     VARIANT height();
15988
15989     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
15990     void width(VARIANT v);
15991
15992     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
15993     VARIANT width();
15994 }
15995
15996 /*****************************************************************************
15997  *    IHTMLStyleElement interface
15998  */
15999 [
16000     odl,
16001     oleautomation,
16002     dual,
16003     uuid(3050f375-98b5-11cf-bb82-00aa00bdce0b)
16004 ]
16005 interface IHTMLStyleElement : IDispatch
16006 {
16007     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16008     HRESULT type([in] BSTR v);
16009
16010     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16011     HRESULT type([retval, out] BSTR *p);
16012
16013     [propget, id(DISPID_IHTMLSTYLEELEMENT_READYSTATE)]
16014     HRESULT readyState([retval, out] BSTR *p);
16015
16016     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16017     HRESULT onreadystatechange([in] VARIANT v);
16018
16019     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16020     HRESULT onreadystatechange([retval, out] VARIANT *p);
16021
16022     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16023     HRESULT onload([in] VARIANT v);
16024
16025     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16026     HRESULT onload([retval, out] VARIANT *p);
16027
16028     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16029     HRESULT onerror([in] VARIANT v);
16030
16031     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16032     HRESULT onerror([retval, out] VARIANT *p);
16033
16034     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
16035     HRESULT styleSheet([retval, out] IHTMLStyleSheet **p);
16036
16037     [propput, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
16038     HRESULT disabled([in] VARIANT_BOOL v);
16039
16040     [propget, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
16041     HRESULT disabled([retval, out] VARIANT_BOOL *p);
16042
16043     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16044     HRESULT media([in] BSTR v);
16045
16046     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16047     HRESULT media([retval, out] BSTR *p);
16048 }
16049
16050 /*****************************************************************************
16051  *    DispHTMLStyleElement dispinterface
16052  */
16053 [
16054     hidden,
16055     uuid(3050f511-98b5-11cf-bb82-00aa00bdce0b)
16056 ]
16057 dispinterface DispHTMLStyleElement
16058 {
16059 properties:
16060 methods:
16061     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16062
16063     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16064     void type(BSTR v);
16065
16066     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16067     BSTR type();
16068
16069     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16070     void onload(VARIANT v);
16071
16072     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16073     VARIANT onload();
16074
16075     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16076     void onerror(VARIANT v);
16077
16078     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16079     VARIANT onerror();
16080
16081     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
16082     IHTMLStyleSheet *styleSheet();
16083
16084     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16085     void media(BSTR v);
16086
16087     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16088     BSTR media();
16089 }
16090
16091 /*****************************************************************************
16092  *    IMarkupContainer interface
16093  */
16094 [
16095     object,
16096     pointer_default(unique),
16097     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
16098 ]
16099 interface IMarkupContainer : IUnknown
16100 {
16101     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
16102 }
16103
16104 /*****************************************************************************
16105  *    IMarkupPointer interface
16106  */
16107 [
16108     object,
16109     pointer_default(unique),
16110     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
16111 ]
16112 interface IMarkupPointer : IUnknown
16113 {
16114     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
16115
16116     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
16117
16118     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
16119
16120     HRESULT Cling([out] BOOL *pfCling);
16121
16122     HRESULT SetCling([in] BOOL fCLing);
16123
16124     HRESULT UnPosition();
16125
16126     HRESULT IsPositioned([out] BOOL *pfPositioned);
16127
16128     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
16129
16130     HRESULT MoveAdjacentToElement(
16131         [in] IHTMLElement *pElement,
16132         [in] ELEMENT_ADJACENCY eAdj);
16133
16134     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
16135
16136     HRESULT MoveToContainer(
16137         [in] IMarkupContainer *pContainer,
16138         [in] BOOL fAtStart);
16139
16140     HRESULT Left(
16141         [in] BOOL fMove,
16142         [out] MARKUP_CONTEXT_TYPE *pContext,
16143         [out] IHTMLElement **ppElement,
16144         [in, out] LONG *pcch,
16145         [out, size_is(*pcch)] OLECHAR *pchText);
16146
16147     HRESULT Right(
16148         [in] BOOL fMove,
16149         [out] MARKUP_CONTEXT_TYPE *pContext,
16150         [out] IHTMLElement **ppElement,
16151         [in, out] LONG *pcch,
16152         [out, size_is(*pcch)] OLECHAR *pchText);
16153
16154     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
16155
16156     HRESULT IsLeftOf(
16157         [in] IMarkupPointer *pPointerThat,
16158         [out] BOOL *pfResult);
16159
16160     HRESULT IsLeftOfOrEqualTo(
16161         [in] IMarkupPointer *pPointerThat,
16162         [out] BOOL *pfResult);
16163
16164     HRESULT IsRightOf(
16165         [in] IMarkupPointer *pPointerThat,
16166         [out] BOOL *pfResult);
16167
16168     HRESULT IsRightOfOrEqualTo(
16169         [in] IMarkupPointer *pPointerThat,
16170         [out] BOOL *pfResult);
16171
16172     HRESULT IsEqualTo(
16173         [in] IMarkupPointer *pPointerThat,
16174         [out] BOOL *pfAreEqual);
16175
16176     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
16177
16178     HRESULT FindText(
16179         [in] OLECHAR *pchFindText,
16180         [in] DWORD dwFlags,
16181         [in] IMarkupPointer *pIEndMatch,
16182         [in] IMarkupPointer *pIEndSearch);
16183 }
16184
16185 /*****************************************************************************
16186  *    ISegment interface
16187  */
16188 [
16189     object,
16190     pointer_default(unique),
16191     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
16192 ]
16193 interface ISegment : IUnknown
16194 {
16195     HRESULT GetPointers(
16196         [in] IMarkupPointer *pIStart,
16197         [in] IMarkupPointer *pIEnd);
16198 }
16199
16200 /*****************************************************************************
16201  *    IElementSegment interface
16202  */
16203 [
16204     object,
16205     pointer_default(unique),
16206     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
16207 ]
16208 interface IElementSegment : ISegment
16209 {
16210     HRESULT GetElement([out] IHTMLElement **ppIElement);
16211
16212     HRESULT SetPrimary([in] BOOL fPrimary);
16213
16214     HRESULT IsPrimary([out] BOOL *pfPrimary);
16215 }
16216
16217 /*****************************************************************************
16218  *    ISelectionServicesListener interface
16219  */
16220 [
16221     object,
16222     pointer_default(unique),
16223     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
16224 ]
16225 interface ISelectionServicesListener : IUnknown
16226 {
16227     HRESULT BeginSelectionUndo();
16228
16229     HRESULT EndSelectionUndo();
16230
16231     HRESULT OnSelectedElementExit(
16232         [in] IMarkupPointer *pIElementStart,
16233         [in] IMarkupPointer *pIElementEnd,
16234         [in] IMarkupPointer *pIElementContentStart,
16235         [in] IMarkupPointer *pIElementContentEnd);
16236
16237     HRESULT OnChangeType(
16238         [in] SELECTION_TYPE eType,
16239         [in] ISelectionServicesListener *pIListener);
16240
16241     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
16242 }
16243
16244 /*****************************************************************************
16245  *    ISelectionServices interface
16246  */
16247 [
16248     object,
16249     pointer_default(unique),
16250     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
16251 ]
16252 interface ISelectionServices : IUnknown
16253 {
16254     HRESULT SetSelectionType(
16255         [in] SELECTION_TYPE eType,
16256         [in] ISelectionServicesListener *pIListener);
16257
16258     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
16259
16260     HRESULT AddSegment(
16261         [in] IMarkupPointer *pIStart,
16262         [in] IMarkupPointer *pIEnd,
16263         [out] ISegment **ppISegmentAdded);
16264
16265     HRESULT AddElementSegment(
16266         [in] IHTMLElement *pIElement,
16267         [out] IElementSegment **ppISegmentAdded);
16268
16269     HRESULT RemoveSegment([in] ISegment *pISegment);
16270
16271     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
16272 }
16273
16274 /*****************************************************************************
16275  *    IHTMLEditDesigner interface
16276  */
16277 [
16278     object,
16279     pointer_default(unique),
16280     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
16281 ]
16282 interface IHTMLEditDesigner : IUnknown
16283 {
16284     HRESULT PreHandleEvent(
16285         [in] DISPID inEvtDispId,
16286         [in] IHTMLEventObj *pIEventObj);
16287
16288     HRESULT PostHandleEvent(
16289         [in] DISPID inEvtDispId,
16290         [in] IHTMLEventObj *pIEventObj);
16291
16292     HRESULT TranslateAccelerator(
16293         [in] DISPID inEvtDispId,
16294         [in] IHTMLEventObj *pIEventObj);
16295
16296     HRESULT PostEditorEventNotify(
16297         [in] DISPID inEvtDispId,
16298         [in] IHTMLEventObj *pIEventObj);
16299 }
16300
16301 /*****************************************************************************
16302  *    IHTMLEditServices interface
16303  */
16304 [
16305     object,
16306     pointer_default(unique),
16307     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
16308 ]
16309 interface IHTMLEditServices : IUnknown
16310 {
16311     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
16312
16313     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
16314
16315     HRESULT GetSelectionServices(
16316         [in] IMarkupContainer *pIContainer,
16317         [out] ISelectionServices **ppSelSvc);
16318
16319     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
16320
16321     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
16322
16323     HRESULT SelectRange(
16324         [in] IMarkupPointer* pStart,
16325         [in] IMarkupPointer* pEnd,
16326         [in] SELECTION_TYPE eType);
16327 }
16328
16329 /*****************************************************************************
16330  *    IElementBehaviorSite interface
16331  */
16332 [
16333     odl,
16334     uuid(3050F427-98B5-11CF-BB82-00AA00BDCE0B)
16335 ]
16336 interface IElementBehaviorSite : IUnknown {
16337     HRESULT GetElement([out, retval] IHTMLElement **ppElement);
16338     HRESULT RegisterNotification([in] long lEvent);
16339 }
16340
16341 /*****************************************************************************
16342  *    IElementBehavior interface
16343  */
16344 [
16345     odl,
16346     uuid(3050F425-98B5-11CF-BB82-00AA00BDCE0B)
16347 ]
16348 interface IElementBehavior : IUnknown {
16349     HRESULT Init([in] IElementBehaviorSite *pBehaviorSite);
16350     HRESULT Notify([in] long lEvent,  [in, out] VARIANT *pVar);
16351     HRESULT Detach();
16352 }
16353
16354 /*****************************************************************************
16355  *    IElementBehaviorFactory interface
16356  */
16357 [
16358     odl,
16359     uuid(3050f429-98b5-11cf-bb82-00aa00bdce0b)
16360 ]
16361 interface IElementBehaviorFactory : IUnknown
16362 {
16363     HRESULT FindBehavior(
16364         [in] BSTR bstrBehavior,
16365         [in] BSTR bstrBehaviorUrl,
16366         [in] IElementBehaviorSite *pSite,
16367         [out] IElementBehavior **ppBehavior);
16368 }
16369
16370 } /* library MSHTML */
16371
16372 interface IOleCommandTarget;
16373
16374 /*****************************************************************************
16375  *    IHTMLPrivateWindow interface
16376  */
16377 [
16378     object,
16379     uuid(3050f6dc-98b5-11cf-bb82-00aa00bdce0b),
16380     local
16381 ]
16382 interface IHTMLPrivateWindow : IUnknown
16383 {
16384     HRESULT SuperNavigate(BSTR url, BSTR arg2, BSTR arg3, BSTR arg4, VARIANT *post_data, VARIANT *headers, ULONG flags);
16385     HRESULT GetPendingUrl(BSTR *url);
16386     HRESULT SetPICSTarget(IOleCommandTarget *cmdtrg);
16387     HRESULT PICSComplete(int arg);
16388     HRESULT FindWindowByName(LPCWSTR name, IHTMLWindow2 **ret);
16389     HRESULT GetAddressBarUrl(BSTR *url);
16390 }