mshtml: Remove typelib registrations.
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004-2010 Jacek Caban for CodeWeavers
3  * Copyright 2008      Konstantin Kondratyuk (Etersoft)
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18  */
19
20 #include <mshtmdid.h>
21 #include <mshtmcid.h>
22 #include <olectl.h>
23
24 import "ocidl.idl";
25 import "dimm.idl";
26 import "shtypes.idl";
27
28 cpp_quote("#include <olectl.h>")
29
30 cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
31 cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
32 cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
33 cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
34 cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
35
36 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
37 cpp_quote("#undef FindText")
38 cpp_quote("#endif")
39
40 typedef enum {
41     POINTER_GRAVITY_Left,
42     POINTER_GRAVITY_Right,
43     POINTER_GRAVITY_Max = 2147483647
44 } POINTER_GRAVITY;
45
46 typedef enum {
47     CONTEXT_TYPE_None,
48     CONTEXT_TYPE_Text,
49     CONTEXT_TYPE_EnterScope,
50     CONTEXT_TYPE_ExitScope,
51     CONTEXT_TYPE_NoScope,
52     MARKUP_CONTEXT_TYPE_Max = 2147483647
53 } MARKUP_CONTEXT_TYPE;
54
55 typedef enum {
56     ELEM_ADJ_BeforeBegin,
57     ELEM_ADJ_AfterBegin,
58     ELEM_ADJ_BeforeEnd,
59     ELEM_ADJ_AfterEnd,
60     ELEMENT_ADJACENCY_Max = 2147483647
61 } ELEMENT_ADJACENCY;
62
63 typedef enum {
64     MOVEUNIT_PREVCHAR,
65     MOVEUNIT_NEXTCHAR,
66     MOVEUNIT_PREVCLUSTERBEG,
67     MOVEUNIT_NEXTCLUSTERBEG,
68     MOVEUNIT_PREVCLUSTEREND,
69     MOVEUNIT_NEXTCLUSTEREND,
70     MOVEUNIT_PREVWORDBEG,
71     MOVEUNIT_NEXTWORDBEG,
72     MOVEUNIT_PREVWORDEND,
73     MOVEUNIT_NEXTWORDEND,
74     MOVEUNIT_PREVPROOFWORD,
75     MOVEUNIT_NEXTPROOFWORD,
76     MOVEUNIT_NEXTURLBEG,
77     MOVEUNIT_PREVURLBEG,
78     MOVEUNIT_NEXTURLEND,
79     MOVEUNIT_PREVURLEND,
80     MOVEUNIT_PREVSENTENCE,
81     MOVEUNIT_NEXTSENTENCE,
82     MOVEUNIT_PREVBLOCK,
83     MOVEUNIT_NEXTBLOCK,
84     MOVEUNIT_ACTION_Max = 2147483647
85 } MOVEUNIT_ACTION;
86
87 typedef enum _SELECTION_TYPE {
88     SELECTION_TYPE_None,
89     SELECTION_TYPE_Caret,
90     SELECTION_TYPE_Text,
91     SELECTION_TYPE_Control,
92     SELECTION_TYPE_Max = 2147483647
93 } SELECTION_TYPE;
94
95 [
96     version(4.0),
97     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
98 ]
99 library MSHTML
100 {
101
102 importlib("stdole2.tlb");
103
104 [
105     odl,
106     oleautomation,
107     dual,
108     uuid(3051049b-98b5-11cf-bb82-00aa00bdce0b)
109 ]
110 interface IHTMLDOMConstructor : IDispatch
111 {
112     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
113     HRESULT constructor([retval, out] IDispatch* * p);
114
115     HRESULT LookupGetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
116
117     HRESULT LookupSetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
118
119     HRESULT DefineGetter([in] BSTR propname, [in] VARIANT* pdispHandler);
120
121     HRESULT DefineSetter([in] BSTR propname, [in] VARIANT* pdispHandler);
122 }
123
124 #define WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL                     \
125     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]       \
126     IDispatch *constructor()
127
128 interface IHTMLDocument2;
129 interface IHTMLElement2;
130 interface IHTMLStyleSheetsCollection;
131 interface IHTMLFrameBase;
132
133 /*****************************************************************************
134  *    IHTMLFiltersCollection interface
135  */
136 [
137     odl,
138     oleautomation,
139     dual,
140     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
141 ]
142 interface IHTMLFiltersCollection : IDispatch
143 {
144     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
145     HRESULT length([retval, out] LONG *p);
146
147     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
148     HRESULT _newEnum([retval, out] IUnknown **p);
149
150     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
151     HRESULT item(
152         [in] VARIANT *pvarIndex,
153         [retval, out] VARIANT *pvarResult);
154 }
155
156 /*****************************************************************************
157  *    IHTMLStyle interface
158  */
159 [
160     odl,
161     oleautomation,
162     dual,
163     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
164 ]
165 interface IHTMLStyle : IDispatch
166 {
167     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
168     HRESULT fontFamily([in] BSTR v);
169
170     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
171     HRESULT fontFamily([retval, out] BSTR *p);
172
173     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
174     HRESULT fontStyle([in] BSTR v);
175
176     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
177     HRESULT fontStyle([retval, out] BSTR *p);
178
179     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
180     HRESULT fontVariant([in] BSTR v);
181
182     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
183     HRESULT fontVariant([retval, out] BSTR *p);
184
185     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
186     HRESULT fontWeight([in] BSTR v);
187
188     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
189     HRESULT fontWeight([retval, out] BSTR *p);
190
191     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
192     HRESULT fontSize([in] VARIANT v);
193
194     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
195     HRESULT fontSize([retval, out] VARIANT *p);
196
197     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
198     HRESULT font([in] BSTR v);
199
200     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
201     HRESULT font([retval, out] BSTR *p);
202
203     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
204     HRESULT color([in] VARIANT v);
205
206     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
207     HRESULT color([retval, out] VARIANT *p);
208
209     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
210     HRESULT background([in] BSTR v);
211
212     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
213     HRESULT background([retval, out] BSTR *p);
214
215     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
216     HRESULT backgroundColor([in] VARIANT v);
217
218     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
219     HRESULT backgroundColor([retval, out] VARIANT *p);
220
221     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
222     HRESULT backgroundImage([in] BSTR v);
223
224     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
225     HRESULT backgroundImage([retval, out] BSTR *p);
226
227     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
228     HRESULT backgroundRepeat([in] BSTR v);
229
230     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
231     HRESULT backgroundRepeat([retval, out] BSTR *p);
232
233     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
234     HRESULT backgroundAttachment([in] BSTR v);
235
236     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
237     HRESULT backgroundAttachment([retval, out] BSTR *p);
238
239     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
240     HRESULT backgroundPosition([in] BSTR v);
241
242     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
243     HRESULT backgroundPosition([retval, out] BSTR *p);
244
245     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
246     HRESULT backgroundPositionX([in] VARIANT v);
247
248     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
249     HRESULT backgroundPositionX([retval, out] VARIANT *p);
250
251     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
252     HRESULT backgroundPositionY([in] VARIANT v);
253
254     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
255     HRESULT backgroundPositionY([retval, out] VARIANT *p);
256
257     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
258     HRESULT wordSpacing([in] VARIANT v);
259
260     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
261     HRESULT wordSpacing([retval, out] VARIANT *p);
262
263     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
264     HRESULT letterSpacing([in] VARIANT v);
265
266     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
267     HRESULT letterSpacing([retval, out] VARIANT *p);
268
269     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
270     HRESULT textDecoration([in] BSTR v);
271
272     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
273     HRESULT textDecoration([retval, out] BSTR *p);
274
275     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
276     HRESULT textDecorationNone([in] VARIANT_BOOL v);
277
278     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
279     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
280
281     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
282     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
283
284     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
285     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
286
287     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
288     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
289
290     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
291     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
292
293     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
294     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
295
296     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
297     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
298
299     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
300     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
301
302     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
303     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
304
305     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
306     HRESULT verticalAlign([in] VARIANT v);
307
308     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
309     HRESULT verticalAlign([retval, out] VARIANT *p);
310
311     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
312     HRESULT textTransform([in] BSTR v);
313
314     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
315     HRESULT textTransform([retval, out] BSTR *p);
316
317     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
318     HRESULT textAlign([in] BSTR v);
319
320     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
321     HRESULT textAlign([retval, out] BSTR *p);
322
323     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
324     HRESULT textIndent([in] VARIANT v);
325
326     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
327     HRESULT textIndent([retval, out] VARIANT *p);
328
329     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
330     HRESULT lineHeight([in] VARIANT v);
331
332     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
333     HRESULT lineHeight([retval, out] VARIANT *p);
334
335     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
336     HRESULT marginTop([in] VARIANT v);
337
338     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
339     HRESULT marginTop([retval, out] VARIANT *p);
340
341     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
342     HRESULT marginRight([in] VARIANT v);
343
344     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
345     HRESULT marginRight([retval, out] VARIANT *p);
346
347     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
348     HRESULT marginBottom([in] VARIANT v);
349
350     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
351     HRESULT marginBottom([retval, out] VARIANT *p);
352
353     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
354     HRESULT marginLeft([in] VARIANT v);
355
356     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
357     HRESULT marginLeft([retval, out] VARIANT *p);
358
359     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
360     HRESULT margin([in] BSTR v);
361
362     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
363     HRESULT margin([retval, out] BSTR *p);
364
365     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
366     HRESULT paddingTop([in] VARIANT v);
367
368     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
369     HRESULT paddingTop([retval, out] VARIANT *p);
370
371     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
372     HRESULT paddingRight([in] VARIANT v);
373
374     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
375     HRESULT paddingRight([retval, out] VARIANT *p);
376
377     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
378     HRESULT paddingBottom([in] VARIANT v);
379
380     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
381     HRESULT paddingBottom([retval, out] VARIANT *p);
382
383     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
384     HRESULT paddingLeft([in] VARIANT v);
385
386     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
387     HRESULT paddingLeft([retval, out] VARIANT *p);
388
389     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
390     HRESULT padding([in] BSTR v);
391
392     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
393     HRESULT padding([retval, out] BSTR *p);
394
395     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
396     HRESULT border([in] BSTR v);
397
398     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
399     HRESULT border([retval, out] BSTR *p);
400
401     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
402     HRESULT borderTop([in] BSTR v);
403
404     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
405     HRESULT borderTop([retval, out] BSTR *p);
406
407     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
408     HRESULT borderRight([in] BSTR v);
409
410     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
411     HRESULT borderRight([retval, out] BSTR *p);
412
413     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
414     HRESULT borderBottom([in] BSTR v);
415
416     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
417     HRESULT borderBottom([retval, out] BSTR *p);
418
419     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
420     HRESULT borderLeft([in] BSTR v);
421
422     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
423     HRESULT borderLeft([retval, out] BSTR *p);
424
425     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
426     HRESULT borderColor([in] BSTR v);
427
428     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
429     HRESULT borderColor([retval, out] BSTR *p);
430
431     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
432     HRESULT borderTopColor([in] VARIANT v);
433
434     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
435     HRESULT borderTopColor([retval, out] VARIANT *p);
436
437     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
438     HRESULT borderRightColor([in] VARIANT v);
439
440     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
441     HRESULT borderRightColor([retval, out] VARIANT *p);
442
443     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
444     HRESULT borderBottomColor([in] VARIANT v);
445
446     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
447     HRESULT borderBottomColor([retval, out] VARIANT *p);
448
449     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
450     HRESULT borderLeftColor([in] VARIANT v);
451
452     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
453     HRESULT borderLeftColor([retval, out] VARIANT *p);
454
455     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
456     HRESULT borderWidth([in] BSTR v);
457
458     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
459     HRESULT borderWidth([retval, out] BSTR *p);
460
461     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
462     HRESULT borderTopWidth([in] VARIANT v);
463
464     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
465     HRESULT borderTopWidth([retval, out] VARIANT *p);
466
467     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
468     HRESULT borderRightWidth([in] VARIANT v);
469
470     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
471     HRESULT borderRightWidth([retval, out] VARIANT *p);
472
473     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
474     HRESULT borderBottomWidth([in] VARIANT v);
475
476     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
477     HRESULT borderBottomWidth([retval, out] VARIANT *p);
478
479     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
480     HRESULT borderLeftWidth([in] VARIANT v);
481
482     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
483     HRESULT borderLeftWidth([retval, out] VARIANT *p);
484
485     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
486     HRESULT borderStyle([in] BSTR v);
487
488     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
489     HRESULT borderStyle([retval, out] BSTR *p);
490
491     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
492     HRESULT borderTopStyle([in] BSTR v);
493
494     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
495     HRESULT borderTopStyle([retval, out] BSTR *p);
496
497     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
498     HRESULT borderRightStyle([in] BSTR v);
499
500     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
501     HRESULT borderRightStyle([retval, out] BSTR *p);
502
503     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
504     HRESULT borderBottomStyle([in] BSTR v);
505
506     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
507     HRESULT borderBottomStyle([retval, out] BSTR *p);
508
509     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
510     HRESULT borderLeftStyle([in] BSTR v);
511
512     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
513     HRESULT borderLeftStyle([retval, out] BSTR *p);
514
515     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
516     HRESULT width([in] VARIANT v);
517
518     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
519     HRESULT width([retval, out] VARIANT *p);
520
521     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
522     HRESULT height([in] VARIANT v);
523
524     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
525     HRESULT height([retval, out] VARIANT *p);
526
527     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
528     HRESULT styleFloat([in] BSTR v);
529
530     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
531     HRESULT styleFloat([retval, out] BSTR *p);
532
533     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
534     HRESULT clear([in] BSTR v);
535
536     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
537     HRESULT clear([retval, out] BSTR *p);
538
539     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
540     HRESULT display([in] BSTR v);
541
542     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
543     HRESULT display([retval, out] BSTR *p);
544
545     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
546     HRESULT visibility([in] BSTR v);
547
548     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
549     HRESULT visibility([retval, out] BSTR *p);
550
551     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
552     HRESULT listStyleType([in] BSTR v);
553
554     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
555     HRESULT listStyleType([retval, out] BSTR *p);
556
557     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
558     HRESULT listStylePosition([in] BSTR v);
559
560     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
561     HRESULT listStylePosition([retval, out] BSTR *p);
562
563     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
564     HRESULT listStyleImage([in] BSTR v);
565
566     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
567     HRESULT listStyleImage([retval, out] BSTR *p);
568
569     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
570     HRESULT listStyle([in] BSTR v);
571
572     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
573     HRESULT listStyle([retval, out] BSTR *p);
574
575     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
576     HRESULT whiteSpace([in] BSTR v);
577
578     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
579     HRESULT whiteSpace([retval, out] BSTR *p);
580
581     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
582     HRESULT top([in] VARIANT v);
583
584     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
585     HRESULT top([retval, out] VARIANT *p);
586
587     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
588     HRESULT left([in] VARIANT v);
589
590     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
591     HRESULT left([retval, out] VARIANT *p);
592
593     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
594     HRESULT position([retval, out] BSTR *p);
595
596     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
597     HRESULT zIndex([in] VARIANT v);
598
599     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
600     HRESULT zIndex([retval, out] VARIANT *p);
601
602     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
603     HRESULT overflow([in] BSTR v);
604
605     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
606     HRESULT overflow([retval, out] BSTR *p);
607
608     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
609     HRESULT pageBreakBefore([in] BSTR v);
610
611     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
612     HRESULT pageBreakBefore([retval, out] BSTR *p);
613
614     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
615     HRESULT pageBreakAfter([in] BSTR v);
616
617     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
618     HRESULT pageBreakAfter([retval, out] BSTR *p);
619
620     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
621     HRESULT cssText([in] BSTR v);
622
623     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
624     HRESULT cssText([retval, out] BSTR *p);
625
626     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
627     HRESULT pixelTop([in] LONG v);
628
629     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
630     HRESULT pixelTop([retval, out] LONG *p);
631
632     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
633     HRESULT pixelLeft([in] LONG v);
634
635     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
636     HRESULT pixelLeft([retval, out] LONG *p);
637
638     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
639     HRESULT pixelWidth([in] LONG v);
640
641     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
642     HRESULT pixelWidth([retval, out] LONG *p);
643
644     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
645     HRESULT pixelHeight([in] LONG v);
646
647     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
648     HRESULT pixelHeight([retval, out] LONG *p);
649
650     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
651     HRESULT posTop([in] float v);
652
653     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
654     HRESULT posTop([retval, out] float *p);
655
656     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
657     HRESULT posLeft([in] float v);
658
659     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
660     HRESULT posLeft([retval, out] float *p);
661
662     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
663     HRESULT posWidth([in] float v);
664
665     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
666     HRESULT posWidth([retval, out] float *p);
667
668     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
669     HRESULT posHeight([in] float v);
670
671     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
672     HRESULT posHeight([retval, out] float *p);
673
674     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
675     HRESULT cursor([in] BSTR v);
676
677     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
678     HRESULT cursor([retval, out] BSTR *p);
679
680     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
681     HRESULT clip([in] BSTR v);
682
683     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
684     HRESULT clip([retval, out] BSTR *p);
685
686     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
687     HRESULT filter([in] BSTR v);
688
689     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
690     HRESULT filter([retval, out] BSTR *p);
691
692     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
693     HRESULT setAttribute(
694         [in] BSTR strAttributeName,
695         [in] VARIANT AttributeValue,
696         [defaultvalue(1), in] LONG lFlags);
697
698     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
699     HRESULT getAttribute(
700         [in] BSTR strAttributeName,
701         [defaultvalue(0), in] LONG lFlags,
702         [retval, out] VARIANT *AttributeValue);
703
704     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
705     HRESULT removeAttribute(
706         [in] BSTR strAttributeName,
707         [defaultvalue(1), in]
708         LONG lFlags,
709         [retval, out] VARIANT_BOOL *pfSuccess);
710
711     [id(DISPID_IHTMLSTYLE_TOSTRING)]
712     HRESULT toString([retval, out] BSTR *String);
713 }
714
715 /*****************************************************************************
716  *    IHTMLStyle2 interface
717  */
718 [
719     odl,
720     oleautomation,
721     dual,
722     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
723 ]
724 interface IHTMLStyle2 : IDispatch
725 {
726     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
727     HRESULT tableLayout([in] BSTR v);
728
729     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
730     HRESULT tableLayout([out, retval] BSTR *p);
731
732     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
733     HRESULT borderCollapse([in] BSTR v);
734
735     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
736     HRESULT borderCollapse([out, retval] BSTR *p);
737
738     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
739     HRESULT direction([in] BSTR v);
740
741     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
742     HRESULT direction([out, retval] BSTR *p);
743
744     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
745     HRESULT behavior([in] BSTR v);
746
747     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
748     HRESULT behavior([out, retval] BSTR *p);
749
750     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
751     HRESULT setExpression(
752             [in] BSTR propname,
753             [in] BSTR expression,
754             [in, defaultvalue("")] BSTR language);
755
756     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
757     HRESULT getExpression(
758             [in] BSTR propname,
759             [out, retval] VARIANT *expression);
760
761     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
762     HRESULT removeExpression(
763             [in] BSTR propname,
764             [out, retval] VARIANT_BOOL *pfSuccess);
765
766     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
767     HRESULT position([in] BSTR v);
768
769     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
770     HRESULT position([out, retval] BSTR *p);
771
772     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
773     HRESULT unicodeBidi([in] BSTR v);
774
775     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
776     HRESULT unicodeBidi([out, retval] BSTR *p);
777
778     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
779     HRESULT bottom([in] VARIANT v);
780
781     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
782     HRESULT bottom([out, retval] VARIANT *p);
783
784     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
785     HRESULT right([in] VARIANT v);
786
787     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
788     HRESULT right([out, retval] VARIANT *p);
789
790     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
791     HRESULT pixelBottom([in] LONG v);
792
793     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
794     HRESULT pixelBottom([out, retval] LONG *p);
795
796     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
797     HRESULT pixelRight([in] LONG v);
798
799     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
800     HRESULT pixelRight([out, retval] LONG *p);
801
802     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
803     HRESULT posBottom([in] float v);
804
805     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
806     HRESULT posBottom([out, retval] float *p);
807
808     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
809     HRESULT posRight([in] float v);
810
811     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
812     HRESULT posRight([out, retval] float *p);
813
814     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
815     HRESULT imeMode([in] BSTR v);
816
817     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
818     HRESULT imeMode([out, retval] BSTR *p);
819
820     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
821     HRESULT rubyAlign([in] BSTR v);
822
823     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
824     HRESULT rubyAlign([out, retval] BSTR *p);
825
826     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
827     HRESULT rubyPosition([in] BSTR v);
828
829     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
830     HRESULT rubyPosition([out, retval] BSTR *p);
831
832     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
833     HRESULT rubyOverhang([in] BSTR v);
834
835     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
836     HRESULT rubyOverhang([out, retval] BSTR *p);
837
838     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
839     HRESULT layoutGridChar([in] VARIANT v);
840
841     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
842     HRESULT layoutGridChar([out, retval] VARIANT *p);
843
844     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
845     HRESULT layoutGridLine([in] VARIANT v);
846
847     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
848     HRESULT layoutGridLine([out, retval] VARIANT *p);
849
850     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
851     HRESULT layoutGridMode([in] BSTR v);
852
853     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
854     HRESULT layoutGridMode([out, retval] BSTR *p);
855
856     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
857     HRESULT layoutGridType([in] BSTR v);
858
859     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
860     HRESULT layoutGridType([out, retval] BSTR *p);
861
862     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
863     HRESULT layoutGrid([in] BSTR v);
864
865     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
866     HRESULT layoutGrid([out, retval] BSTR *p);
867
868     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
869     HRESULT wordBreak([in] BSTR v);
870
871     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
872     HRESULT wordBreak([out, retval] BSTR *p);
873
874     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
875     HRESULT lineBreak([in] BSTR v);
876
877     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
878     HRESULT lineBreak([out, retval] BSTR *p);
879
880     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
881     HRESULT textJustify([in] BSTR v);
882
883     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
884     HRESULT textJustify([out, retval] BSTR *p);
885
886     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
887     HRESULT textJustifyTrim([in] BSTR v);
888
889     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
890     HRESULT textJustifyTrim([out, retval] BSTR *p);
891
892     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
893     HRESULT textKashida([in] VARIANT v);
894
895     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
896     HRESULT textKashida([out, retval] VARIANT *p);
897
898     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
899     HRESULT textAutospace([in] BSTR v);
900
901     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
902     HRESULT textAutospace([out, retval] BSTR *p);
903
904     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
905     HRESULT overflowX([in] BSTR v);
906
907     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
908     HRESULT overflowX([out, retval] BSTR *p);
909
910     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
911     HRESULT overflowY([in] BSTR v);
912
913     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
914     HRESULT overflowY([out, retval] BSTR *p);
915
916     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
917     HRESULT accelerator([in] BSTR v);
918
919     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
920     HRESULT accelerator([out, retval] BSTR *p);
921 }
922
923 /*****************************************************************************
924  *    IHTMLRuleStyle interface
925  */
926 [
927     odl,
928     oleautomation,
929     dual,
930     uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
931 ]
932 interface IHTMLRuleStyle : IDispatch
933 {
934     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
935     HRESULT fontFamily([in] BSTR v);
936
937     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
938     HRESULT fontFamily([retval, out] BSTR *p);
939
940     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
941     HRESULT fontStyle([in] BSTR v);
942
943     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
944     HRESULT fontStyle([retval, out] BSTR *p);
945
946     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
947     HRESULT fontVariant([in] BSTR v);
948
949     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
950     HRESULT fontVariant([retval, out] BSTR *p);
951
952     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
953     HRESULT fontWeight([in] BSTR v);
954
955     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
956     HRESULT fontWeight([retval, out] BSTR *p);
957
958     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
959     HRESULT fontSize([in] VARIANT v);
960
961     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
962     HRESULT fontSize([retval, out] VARIANT *p);
963
964     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
965     HRESULT font([in] BSTR v);
966
967     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
968     HRESULT font([retval, out] BSTR *p);
969
970     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
971     HRESULT color([in] VARIANT v);
972
973     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
974     HRESULT color([retval, out] VARIANT *p);
975
976     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
977     HRESULT background([in] BSTR v);
978
979     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
980     HRESULT background([retval, out] BSTR *p);
981
982     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
983     HRESULT backgroundColor([in] VARIANT v);
984
985     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
986     HRESULT backgroundColor([retval, out] VARIANT *p);
987
988     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
989     HRESULT backgroundImage([in] BSTR v);
990
991     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
992     HRESULT backgroundImage([retval, out] BSTR *p);
993
994     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
995     HRESULT backgroundRepeat([in] BSTR v);
996
997     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
998     HRESULT backgroundRepeat([retval, out] BSTR *p);
999
1000     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1001     HRESULT backgroundAttachment([in] BSTR v);
1002
1003     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1004     HRESULT backgroundAttachment([retval, out] BSTR *p);
1005
1006     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1007     HRESULT backgroundPosition([in] BSTR v);
1008
1009     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1010     HRESULT backgroundPosition([retval, out] BSTR *p);
1011
1012     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1013     HRESULT backgroundPositionX([in] VARIANT v);
1014
1015     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1016     HRESULT backgroundPositionX([retval, out] VARIANT *p);
1017
1018     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1019     HRESULT backgroundPositionY([in] VARIANT v);
1020
1021     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1022     HRESULT backgroundPositionY([retval, out] VARIANT *p);
1023
1024     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1025     HRESULT wordSpacing([in] VARIANT v);
1026
1027     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1028     HRESULT wordSpacing([retval, out] VARIANT *p);
1029
1030     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1031     HRESULT letterSpacing([in] VARIANT v);
1032
1033     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1034     HRESULT letterSpacing([retval, out] VARIANT *p);
1035
1036     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1037     HRESULT textDecoration([in] BSTR v);
1038
1039     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1040     HRESULT textDecoration([retval, out] BSTR *p);
1041
1042     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1043     HRESULT textDecorationNone([in] VARIANT_BOOL v);
1044
1045     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1046     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1047
1048     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1049     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1050
1051     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1052     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1053
1054     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1055     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1056
1057     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1058     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1059
1060     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1061     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1062
1063     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1064     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1065
1066     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1067     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1068
1069     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1070     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1071
1072     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1073     HRESULT verticalAlign([in] VARIANT v);
1074
1075     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1076     HRESULT verticalAlign([retval, out] VARIANT *p);
1077
1078     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1079     HRESULT textTransform([in] BSTR v);
1080
1081     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1082     HRESULT textTransform([retval, out] BSTR *p);
1083
1084     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1085     HRESULT textAlign([in] BSTR v);
1086
1087     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1088     HRESULT textAlign([retval, out] BSTR *p);
1089
1090     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1091     HRESULT textIndent([in] VARIANT v);
1092
1093     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1094     HRESULT textIndent([retval, out] VARIANT *p);
1095
1096     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1097     HRESULT lineHeight([in] VARIANT v);
1098
1099     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1100     HRESULT lineHeight([retval, out] VARIANT *p);
1101
1102     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1103     HRESULT marginTop([in] VARIANT v);
1104
1105     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1106     HRESULT marginTop([retval, out] VARIANT *p);
1107
1108     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1109     HRESULT marginRight([in] VARIANT v);
1110
1111     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1112     HRESULT marginRight([retval, out] VARIANT *p);
1113
1114     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1115     HRESULT marginBottom([in] VARIANT v);
1116
1117     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1118     HRESULT marginBottom([retval, out] VARIANT *p);
1119
1120     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1121     HRESULT marginLeft([in] VARIANT v);
1122
1123     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1124     HRESULT marginLeft([retval, out] VARIANT *p);
1125
1126     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1127     HRESULT margin([in] BSTR v);
1128
1129     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1130     HRESULT margin([retval, out] BSTR *p);
1131
1132     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1133     HRESULT paddingTop([in] VARIANT v);
1134
1135     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1136     HRESULT paddingTop([retval, out] VARIANT *p);
1137
1138     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1139     HRESULT paddingRight([in] VARIANT v);
1140
1141     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1142     HRESULT paddingRight([retval, out] VARIANT *p);
1143
1144     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1145     HRESULT paddingBottom([in] VARIANT v);
1146
1147     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1148     HRESULT paddingBottom([retval, out] VARIANT *p);
1149
1150     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1151     HRESULT paddingLeft([in] VARIANT v);
1152
1153     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1154     HRESULT paddingLeft([retval, out] VARIANT *p);
1155
1156     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1157     HRESULT padding([in] BSTR v);
1158
1159     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1160     HRESULT padding([retval, out] BSTR *p);
1161
1162     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1163     HRESULT border([in] BSTR v);
1164
1165     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1166     HRESULT border([retval, out] BSTR *p);
1167
1168     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1169     HRESULT borderTop([in] BSTR v);
1170
1171     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1172     HRESULT borderTop([retval, out] BSTR *p);
1173
1174     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1175     HRESULT borderRight([in] BSTR v);
1176
1177     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1178     HRESULT borderRight([retval, out] BSTR *p);
1179
1180     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1181     HRESULT borderBottom([in] BSTR v);
1182
1183     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1184     HRESULT borderBottom([retval, out] BSTR *p);
1185
1186     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1187     HRESULT borderLeft([in] BSTR v);
1188
1189     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1190     HRESULT borderLeft([retval, out] BSTR *p);
1191
1192     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1193     HRESULT borderColor([in] BSTR v);
1194
1195     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1196     HRESULT borderColor([retval, out] BSTR *p);
1197
1198     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1199     HRESULT borderTopColor([in] VARIANT v);
1200
1201     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1202     HRESULT borderTopColor([retval, out] VARIANT *p);
1203
1204     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1205     HRESULT borderRightColor([in] VARIANT v);
1206
1207     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1208     HRESULT borderRightColor([retval, out] VARIANT *p);
1209
1210     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1211     HRESULT borderBottomColor([in] VARIANT v);
1212
1213     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1214     HRESULT borderBottomColor([retval, out] VARIANT *p);
1215
1216     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1217     HRESULT borderLeftColor([in] VARIANT v);
1218
1219     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1220     HRESULT borderLeftColor([retval, out] VARIANT *p);
1221
1222     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1223     HRESULT borderWidth([in] BSTR v);
1224
1225     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1226     HRESULT borderWidth([retval, out] BSTR *p);
1227
1228     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1229     HRESULT borderTopWidth([in] VARIANT v);
1230
1231     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1232     HRESULT borderTopWidth([retval, out] VARIANT *p);
1233
1234     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1235     HRESULT borderRightWidth([in] VARIANT v);
1236
1237     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1238     HRESULT borderRightWidth([retval, out] VARIANT *p);
1239
1240     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1241     HRESULT borderBottomWidth([in] VARIANT v);
1242
1243     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1244     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1245
1246     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1247     HRESULT borderLeftWidth([in] VARIANT v);
1248
1249     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1250     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1251
1252     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1253     HRESULT borderStyle([in] BSTR v);
1254
1255     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1256     HRESULT borderStyle([retval, out] BSTR *p);
1257
1258     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1259     HRESULT borderTopStyle([in] BSTR v);
1260
1261     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1262     HRESULT borderTopStyle([retval, out] BSTR *p);
1263
1264     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1265     HRESULT borderRightStyle([in] BSTR v);
1266
1267     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1268     HRESULT borderRightStyle([retval, out] BSTR *p);
1269
1270     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1271     HRESULT borderBottomStyle([in] BSTR v);
1272
1273     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1274     HRESULT borderBottomStyle([retval, out] BSTR *p);
1275
1276     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1277     HRESULT borderLeftStyle([in] BSTR v);
1278
1279     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1280     HRESULT borderLeftStyle([retval, out] BSTR *p);
1281
1282     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1283     HRESULT width([in] VARIANT v);
1284
1285     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1286     HRESULT width([retval, out] VARIANT *p);
1287
1288     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1289     HRESULT height([in] VARIANT v);
1290
1291     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1292     HRESULT height([retval, out] VARIANT *p);
1293
1294     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1295     HRESULT styleFloat([in] BSTR v);
1296
1297     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1298     HRESULT styleFloat([retval, out] BSTR *p);
1299
1300     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1301     HRESULT clear([in] BSTR v);
1302
1303     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1304     HRESULT clear([retval, out] BSTR *p);
1305
1306     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1307     HRESULT display([in] BSTR v);
1308
1309     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1310     HRESULT display([retval, out] BSTR *p);
1311
1312     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1313     HRESULT visibility([in] BSTR v);
1314
1315     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1316     HRESULT visibility([retval, out] BSTR *p);
1317
1318     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1319     HRESULT listStyleType([in] BSTR v);
1320
1321     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1322     HRESULT listStyleType([retval, out] BSTR *p);
1323
1324     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1325     HRESULT listStylePosition([in] BSTR v);
1326
1327     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1328     HRESULT listStylePosition([retval, out] BSTR *p);
1329
1330     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1331     HRESULT listStyleImage([in] BSTR v);
1332
1333     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1334     HRESULT listStyleImage([retval, out] BSTR *p);
1335
1336     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1337     HRESULT listStyle([in] BSTR v);
1338
1339     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1340     HRESULT listStyle([retval, out] BSTR *p);
1341
1342     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1343     HRESULT whiteSpace([in] BSTR v);
1344
1345     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1346     HRESULT whiteSpace([retval, out] BSTR *p);
1347
1348     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1349     HRESULT top([in] VARIANT v);
1350
1351     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1352     HRESULT top([retval, out] VARIANT *p);
1353
1354     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1355     HRESULT left([in] VARIANT v);
1356
1357     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1358     HRESULT left([retval, out] VARIANT *p);
1359
1360     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1361     HRESULT position([retval, out] BSTR *p);
1362
1363     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1364     HRESULT zIndex([in] VARIANT v);
1365
1366     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1367     HRESULT zIndex([retval, out] VARIANT *p);
1368
1369     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1370     HRESULT overflow([in] BSTR v);
1371
1372     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1373     HRESULT overflow([retval, out] BSTR *p);
1374
1375     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1376     HRESULT pageBreakBefore([in] BSTR v);
1377
1378     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1379     HRESULT pageBreakBefore([retval, out] BSTR *p);
1380
1381     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1382     HRESULT pageBreakAfter([in] BSTR v);
1383
1384     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1385     HRESULT pageBreakAfter([retval, out] BSTR *p);
1386
1387     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1388     HRESULT cssText([in] BSTR v);
1389
1390     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1391     HRESULT cssText([retval, out] BSTR *p);
1392
1393     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1394     HRESULT cursor([in] BSTR v);
1395
1396     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1397     HRESULT cursor([retval, out] BSTR *p);
1398
1399     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1400     HRESULT clip([in] BSTR v);
1401
1402     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1403     HRESULT clip([retval, out] BSTR *p);
1404
1405     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1406     HRESULT filter([in] BSTR v);
1407
1408     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1409     HRESULT filter([retval, out] BSTR *p);
1410
1411     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1412     HRESULT setAttribute(
1413         [in] BSTR strAttributeName,
1414         [in] VARIANT AttributeValue,
1415         [defaultvalue(1), in] LONG lFlags);
1416
1417     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1418     HRESULT getAttribute(
1419         [in] BSTR strAttributeName,
1420         [defaultvalue(0), in] LONG lFlags,
1421         [retval, out] VARIANT *AttributeValue);
1422
1423     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1424     HRESULT removeAttribute(
1425         [in] BSTR strAttributeName,
1426         [defaultvalue(1), in] LONG lFlags,
1427         [retval, out] VARIANT_BOOL *pfSuccess);
1428 }
1429
1430 /*****************************************************************************
1431  *    DispHTMLStyle dispinterface
1432  */
1433 [
1434     hidden,
1435     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1436 ]
1437 dispinterface DispHTMLStyle
1438 {
1439 properties:
1440 methods:
1441     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1442     void fontFamily(BSTR v);
1443
1444     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1445     BSTR fontFamily();
1446
1447     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1448     void fontStyle(BSTR v);
1449
1450     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1451     BSTR fontStyle();
1452
1453     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1454     void fontVariant(BSTR v);
1455
1456     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1457     BSTR fontVariant();
1458
1459     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1460     void fontWeight(BSTR v);
1461
1462     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1463     BSTR fontWeight();
1464
1465     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1466     void fontSize(VARIANT v);
1467
1468     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1469     VARIANT fontSize();
1470
1471     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1472     void font(BSTR v);
1473
1474     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1475     BSTR font();
1476
1477     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1478     void color(VARIANT v);
1479
1480     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1481     VARIANT color();
1482
1483     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1484     void background(BSTR v);
1485
1486     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1487     BSTR background();
1488
1489     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1490     void backgroundColor(VARIANT v);
1491
1492     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1493     VARIANT backgroundColor();
1494
1495     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1496     void backgroundImage(BSTR v);
1497
1498     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1499     BSTR backgroundImage();
1500
1501     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1502     void backgroundRepeat(BSTR v);
1503
1504     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1505     BSTR backgroundRepeat();
1506
1507     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1508     void backgroundAttachment(BSTR v);
1509
1510     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1511     BSTR backgroundAttachment();
1512
1513     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1514     void backgroundPosition(BSTR v);
1515
1516     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1517     BSTR backgroundPosition();
1518
1519     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1520     void backgroundPositionX(VARIANT v);
1521
1522     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1523     VARIANT backgroundPositionX();
1524
1525     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1526     void backgroundPositionY(VARIANT v);
1527
1528     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1529     VARIANT backgroundPositionY();
1530
1531     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1532     void wordSpacing(VARIANT v);
1533
1534     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1535     VARIANT wordSpacing();
1536
1537     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1538     void letterSpacing(VARIANT v);
1539
1540     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1541     VARIANT letterSpacing();
1542
1543     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1544     void textDecoration(BSTR v);
1545
1546     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1547     BSTR textDecoration();
1548
1549     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1550     void textDecorationNone(VARIANT_BOOL v);
1551
1552     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1553     VARIANT_BOOL textDecorationNone();
1554
1555     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1556     void textDecorationUnderline(VARIANT_BOOL v);
1557
1558     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1559     VARIANT_BOOL textDecorationUnderline();
1560
1561     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1562     void textDecorationOverline(VARIANT_BOOL v);
1563
1564     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1565     VARIANT_BOOL textDecorationOverline();
1566
1567     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1568     void textDecorationLineThrough(VARIANT_BOOL v);
1569
1570     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1571     VARIANT_BOOL textDecorationLineThrough();
1572
1573     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1574     void textDecorationBlink(VARIANT_BOOL v);
1575
1576     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1577     VARIANT_BOOL textDecorationBlink();
1578
1579     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1580     void verticalAlign(VARIANT v);
1581
1582     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1583     VARIANT verticalAlign();
1584
1585     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1586     void textTransform(BSTR v);
1587
1588     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1589     BSTR textTransform();
1590
1591     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1592     void textAlign(BSTR v);
1593
1594     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1595     BSTR textAlign();
1596
1597     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1598     void textIndent(VARIANT v);
1599
1600     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1601     VARIANT textIndent();
1602
1603     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1604     void lineHeight(VARIANT v);
1605
1606     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1607     VARIANT lineHeight();
1608
1609     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1610     void marginTop(VARIANT v);
1611
1612     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1613     VARIANT marginTop();
1614
1615     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1616     void marginRight(VARIANT v);
1617
1618     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1619     VARIANT marginRight();
1620
1621     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1622     void marginBottom(VARIANT v);
1623
1624     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1625     VARIANT marginBottom();
1626
1627     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1628     void marginLeft(VARIANT v);
1629
1630     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1631     VARIANT marginLeft();
1632
1633     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1634     void margin(BSTR v);
1635
1636     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1637     BSTR margin();
1638
1639     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1640     void paddingTop(VARIANT v);
1641
1642     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1643     VARIANT paddingTop();
1644
1645     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1646     void paddingRight(VARIANT v);
1647
1648     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1649     VARIANT paddingRight();
1650
1651     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1652     void paddingBottom(VARIANT v);
1653
1654     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1655     VARIANT paddingBottom();
1656
1657     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1658     void paddingLeft(VARIANT v);
1659
1660     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1661     VARIANT paddingLeft();
1662
1663     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1664     void padding(BSTR v);
1665
1666     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1667     BSTR padding();
1668
1669     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1670     void border(BSTR v);
1671
1672     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1673     BSTR border();
1674
1675     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1676     void borderTop(BSTR v);
1677
1678     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1679     BSTR borderTop();
1680
1681     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1682     void borderRight(BSTR v);
1683
1684     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1685     BSTR borderRight();
1686
1687     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1688     void borderBottom(BSTR v);
1689
1690     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1691     BSTR borderBottom();
1692
1693     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1694     void borderLeft(BSTR v);
1695
1696     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1697     BSTR borderLeft();
1698
1699     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1700     void borderColor(BSTR v);
1701
1702     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1703     BSTR borderColor();
1704
1705     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1706     void borderTopColor(VARIANT v);
1707
1708     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1709     VARIANT borderTopColor();
1710
1711     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1712     void borderRightColor(VARIANT v);
1713
1714     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1715     VARIANT borderRightColor();
1716
1717     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1718     void borderBottomColor(VARIANT v);
1719
1720     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1721     VARIANT borderBottomColor();
1722
1723     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1724     void borderLeftColor(VARIANT v);
1725
1726     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1727     VARIANT borderLeftColor();
1728
1729     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1730     void borderWidth(BSTR v);
1731
1732     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1733     BSTR borderWidth();
1734
1735     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1736     void borderTopWidth(VARIANT v);
1737
1738     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1739     VARIANT borderTopWidth();
1740
1741     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1742     void borderRightWidth(VARIANT v);
1743
1744     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1745     VARIANT borderRightWidth();
1746
1747     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1748     void borderBottomWidth(VARIANT v);
1749
1750     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1751     VARIANT borderBottomWidth();
1752
1753     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1754     void borderLeftWidth(VARIANT v);
1755
1756     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1757     VARIANT borderLeftWidth();
1758
1759     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1760     void borderStyle(BSTR v);
1761
1762     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1763     BSTR borderStyle();
1764
1765     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1766     void borderTopStyle(BSTR v);
1767
1768     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1769     BSTR borderTopStyle();
1770
1771     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1772     void borderRightStyle(BSTR v);
1773
1774     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1775     BSTR borderRightStyle();
1776
1777     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1778     void borderBottomStyle(BSTR v);
1779
1780     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1781     BSTR borderBottomStyle();
1782
1783     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1784     void borderLeftStyle(BSTR v);
1785
1786     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1787     BSTR borderLeftStyle();
1788
1789     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1790     void width(VARIANT v);
1791
1792     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1793     VARIANT width();
1794
1795     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1796     void height(VARIANT v);
1797
1798     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1799     VARIANT height();
1800
1801     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1802     void styleFloat(BSTR v);
1803
1804     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1805     BSTR styleFloat();
1806
1807     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1808     void clear(BSTR v);
1809
1810     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1811     BSTR clear();
1812
1813     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1814     void display(BSTR v);
1815
1816     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1817     BSTR display();
1818
1819     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1820     void visibility(BSTR v);
1821
1822     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1823     BSTR visibility();
1824
1825     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1826     void listStyleType(BSTR v);
1827
1828     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1829     BSTR listStyleType();
1830
1831     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1832     void listStylePosition(BSTR v);
1833
1834     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1835     BSTR listStylePosition();
1836
1837     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1838     void listStyleImage(BSTR v);
1839
1840     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1841     BSTR listStyleImage();
1842
1843     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1844     void listStyle(BSTR v);
1845
1846     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1847     BSTR listStyle();
1848
1849     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1850     void whiteSpace(BSTR v);
1851
1852     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1853     BSTR whiteSpace();
1854
1855     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1856     void top(VARIANT v);
1857
1858     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1859     VARIANT top();
1860
1861     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1862     void left(VARIANT v);
1863
1864     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1865     VARIANT left();
1866
1867     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1868     void zIndex(VARIANT v);
1869
1870     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1871     VARIANT zIndex();
1872
1873     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1874     void overflow(BSTR v);
1875
1876     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1877     BSTR overflow();
1878
1879     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1880     void pageBreakBefore(BSTR v);
1881
1882     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1883     BSTR pageBreakBefore();
1884
1885     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1886     void pageBreakAfter(BSTR v);
1887
1888     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1889     BSTR pageBreakAfter();
1890
1891     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1892     void cssText(BSTR v);
1893
1894     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1895     BSTR cssText();
1896
1897     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1898     void pixelTop(LONG v);
1899
1900     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1901     LONG pixelTop();
1902
1903     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1904     void pixelLeft(LONG v);
1905
1906     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1907     LONG pixelLeft();
1908
1909     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1910     void pixelWidth(LONG v);
1911
1912     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1913     LONG pixelWidth();
1914
1915     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1916     void pixelHeight(LONG v);
1917
1918     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1919     LONG pixelHeight();
1920
1921     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1922     void posTop(float v);
1923
1924     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1925     float posTop();
1926
1927     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1928     void posLeft(float v);
1929
1930     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1931     float posLeft();
1932
1933     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1934     void posWidth(float v);
1935
1936     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1937     float posWidth();
1938
1939     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1940     void posHeight(float v);
1941
1942     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1943     float posHeight();
1944
1945     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1946     void cursor(BSTR v);
1947
1948     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1949     BSTR cursor();
1950
1951     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1952     void clip(BSTR v);
1953
1954     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1955     BSTR clip();
1956
1957     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1958     void filter(BSTR v);
1959
1960     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1961     BSTR filter();
1962
1963     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1964     void setAttribute(
1965             [in] BSTR strAttributeName,
1966             [in] VARIANT AttributeValue,
1967             [in, defaultvalue(1)] LONG lFlags);
1968
1969     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1970     VARIANT getAttribute(
1971             [in] BSTR strAttributeName,
1972             [in, defaultvalue(0)] LONG lFlags);
1973
1974     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1975     VARIANT_BOOL removeAttribute(
1976             [in] BSTR strAttributeName,
1977             [in, defaultvalue(1)] LONG lFlags);
1978
1979     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1980     BSTR toString();
1981
1982     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1983     void tableLayout(BSTR v);
1984
1985     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1986     BSTR tableLayout();
1987
1988     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1989     void borderCollapse(BSTR v);
1990
1991     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1992     BSTR borderCollapse();
1993
1994     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1995     void direction(BSTR v);
1996
1997     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1998     BSTR direction();
1999
2000     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2001     void behavior(BSTR v);
2002
2003     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2004     BSTR behavior();
2005
2006     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
2007     void setExpression(
2008             [in] BSTR propname,
2009             [in] BSTR expression,
2010             [in, defaultvalue("")] BSTR language);
2011
2012     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
2013     VARIANT getExpression([in] BSTR propname);
2014
2015     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
2016     VARIANT_BOOL removeExpression([in] BSTR propname);
2017
2018     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2019     void position(BSTR v);
2020
2021     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2022     BSTR position();
2023
2024     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2025     void unicodeBidi(BSTR v);
2026
2027     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2028     BSTR unicodeBidi();
2029
2030     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2031     void bottom(VARIANT v);
2032
2033     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2034     VARIANT bottom();
2035
2036     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2037     void right(VARIANT v);
2038
2039     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2040     VARIANT right();
2041
2042     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2043     void pixelBottom(LONG v);
2044
2045     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2046     LONG pixelBottom();
2047
2048     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2049     void pixelRight(LONG v);
2050
2051     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2052     LONG pixelRight();
2053
2054     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2055     void posBottom(float v);
2056
2057     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2058     float posBottom();
2059
2060     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2061     void posRight(float v);
2062
2063     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2064     float posRight();
2065
2066     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2067     void imeMode(BSTR v);
2068
2069     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2070     BSTR imeMode();
2071
2072     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2073     void rubyAlign(BSTR v);
2074
2075     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2076     BSTR rubyAlign();
2077
2078     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2079     void rubyPosition(BSTR v);
2080
2081     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2082     BSTR rubyPosition();
2083
2084     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2085     void rubyOverhang(BSTR v);
2086
2087     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2088     BSTR rubyOverhang();
2089
2090     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2091     void layoutGridChar(VARIANT v);
2092
2093     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2094     VARIANT layoutGridChar();
2095
2096     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2097     void layoutGridLine(VARIANT v);
2098
2099     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2100     VARIANT layoutGridLine();
2101
2102     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2103     void layoutGridMode(BSTR v);
2104
2105     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2106     BSTR layoutGridMode();
2107
2108     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2109     void layoutGridType(BSTR v);
2110
2111     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2112     BSTR layoutGridType();
2113
2114     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2115     void layoutGrid(BSTR v);
2116
2117     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2118     BSTR layoutGrid();
2119
2120     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2121     void wordBreak(BSTR v);
2122
2123     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2124     BSTR wordBreak();
2125
2126     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2127     void lineBreak(BSTR v);
2128
2129     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2130     BSTR lineBreak();
2131
2132     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2133     void textJustify(BSTR v);
2134
2135     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2136     BSTR textJustify();
2137
2138     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2139     void textJustifyTrim(BSTR v);
2140
2141     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2142     BSTR textJustifyTrim();
2143
2144     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2145     void textKashida(VARIANT v);
2146
2147     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2148     VARIANT textKashida();
2149
2150     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2151     void textAutospace(BSTR v);
2152
2153     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2154     BSTR textAutospace();
2155
2156     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2157     void overflowX(BSTR v);
2158
2159     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2160     BSTR overflowX();
2161
2162     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2163     void overflowY(BSTR v);
2164
2165     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2166     BSTR overflowY();
2167
2168     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2169     void accelerator(BSTR v);
2170
2171     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2172     BSTR accelerator();
2173
2174     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2175     void layoutFlow(BSTR v);
2176
2177     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2178     BSTR layoutFlow();
2179
2180     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2181     void zoom(VARIANT v);
2182
2183     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2184     VARIANT zoom();
2185
2186     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2187     void wordWrap(BSTR v);
2188
2189     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2190     BSTR wordWrap();
2191
2192     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2193     void textUnderlinePosition(BSTR v);
2194
2195     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2196     BSTR textUnderlinePosition();
2197
2198     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2199     void scrollbarBaseColor(VARIANT v);
2200
2201     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2202     VARIANT scrollbarBaseColor();
2203
2204     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2205     void scrollbarFaceColor(VARIANT v);
2206
2207     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2208     VARIANT scrollbarFaceColor();
2209
2210     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2211     void scrollbar3dLightColor(VARIANT v);
2212
2213     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2214     VARIANT scrollbar3dLightColor();
2215
2216     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2217     void scrollbarShadowColor(VARIANT v);
2218
2219     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2220     VARIANT scrollbarShadowColor();
2221
2222     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2223     void scrollbarHighlightColor(VARIANT v);
2224
2225     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2226     VARIANT scrollbarHighlightColor();
2227
2228     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2229     void scrollbarDarkShadowColor(VARIANT v);
2230
2231     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2232     VARIANT scrollbarDarkShadowColor();
2233
2234     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2235     void scrollbarArrowColor(VARIANT v);
2236
2237     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2238     VARIANT scrollbarArrowColor();
2239
2240     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2241     void scrollbarTrackColor(VARIANT v);
2242
2243     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2244     VARIANT scrollbarTrackColor();
2245
2246     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2247     void writingMode(BSTR v);
2248
2249     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2250     BSTR writingMode();
2251
2252     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2253     void textAlignLast(BSTR v);
2254
2255     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2256     BSTR textAlignLast();
2257
2258     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2259     void textKashidaSpace(VARIANT v);
2260
2261     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2262     VARIANT textKashidaSpace();
2263
2264     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2265     void textOverflow(BSTR v);
2266
2267     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2268     BSTR textOverflow();
2269
2270     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2271     void minHeight(VARIANT v);
2272
2273     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2274     VARIANT minHeight();
2275
2276     [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2277     void msInterpolationMode(BSTR v);
2278
2279     [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2280     BSTR msInterpolationMode();
2281
2282     [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2283     void maxHeight(VARIANT v);
2284
2285     [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2286     VARIANT maxHeight();
2287
2288     [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2289     void minWidth(VARIANT v);
2290
2291     [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2292     VARIANT minWidth();
2293
2294     [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2295     void maxWidth(VARIANT v);
2296
2297     [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2298     VARIANT maxWidth();
2299
2300     [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2301     void content(BSTR v);
2302
2303     [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2304     BSTR content();
2305
2306     [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2307     void captionSide(BSTR v);
2308
2309     [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2310     BSTR captionSide();
2311
2312     [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2313     void counterIncrement(BSTR v);
2314
2315     [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2316     BSTR counterIncrement();
2317
2318     [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2319     void counterReset(BSTR v);
2320
2321     [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2322     BSTR counterReset();
2323
2324     [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2325     void outline(BSTR v);
2326
2327     [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2328     BSTR outline();
2329
2330     [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2331     void outlineWidth(VARIANT v);
2332
2333     [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2334     VARIANT outlineWidth();
2335
2336     [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2337     void outlineStyle(BSTR v);
2338
2339     [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2340     BSTR outlineStyle();
2341
2342     [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2343     void outlineColor(VARIANT v);
2344
2345     [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2346     VARIANT outlineColor();
2347
2348     [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2349     void boxSizing(BSTR v);
2350
2351     [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2352     BSTR boxSizing();
2353
2354     [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2355     void borderSpacing(BSTR v);
2356
2357     [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2358     BSTR borderSpacing();
2359
2360     [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2361     void orphans(VARIANT v);
2362
2363     [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2364     VARIANT orphans();
2365
2366     [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2367     void widows(VARIANT v);
2368
2369     [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2370     VARIANT widows();
2371
2372     [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2373     void pageBreakInside(BSTR v);
2374
2375     [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2376     BSTR pageBreakInside();
2377
2378     [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2379     void emptyCells(BSTR v);
2380
2381     [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2382     BSTR emptyCells();
2383
2384     [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2385     void msBlockProgression(BSTR v);
2386
2387     [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2388     BSTR msBlockProgression();
2389
2390     [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2391     void quotes(BSTR v);
2392
2393     [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2394     BSTR quotes();
2395
2396     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
2397     IDispatch *constructor();
2398 }
2399
2400 [
2401     odl,
2402     oleautomation,
2403     dual,
2404     uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2405 ]
2406 interface IHTMLStyle3 : IDispatch
2407 {
2408     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2409     HRESULT layoutFlow([in] BSTR v);
2410
2411     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2412     HRESULT layoutFlow([retval, out] BSTR * p);
2413
2414     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2415     HRESULT zoom([in] VARIANT v);
2416
2417     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2418     HRESULT zoom([retval, out] VARIANT * p);
2419
2420     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2421     HRESULT wordWrap([in] BSTR v);
2422
2423     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2424     HRESULT wordWrap([retval, out] BSTR * p);
2425
2426     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2427     HRESULT textUnderlinePosition([in] BSTR v);
2428
2429     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2430     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2431
2432     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2433     HRESULT scrollbarBaseColor([in] VARIANT v);
2434
2435     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2436     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2437
2438     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2439     HRESULT scrollbarFaceColor([in] VARIANT v);
2440
2441     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2442     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2443
2444     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2445     HRESULT scrollbar3dLightColor([in] VARIANT v);
2446
2447     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2448     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2449
2450     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2451     HRESULT scrollbarShadowColor([in] VARIANT v);
2452
2453     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2454     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2455
2456     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2457     HRESULT scrollbarHighlightColor([in] VARIANT v);
2458
2459     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2460     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2461
2462     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2463     HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2464
2465     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2466     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2467
2468     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2469     HRESULT scrollbarArrowColor([in] VARIANT v);
2470
2471     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2472     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2473
2474     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2475     HRESULT scrollbarTrackColor([in] VARIANT v);
2476
2477     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2478     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2479
2480     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2481     HRESULT writingMode([in] BSTR v);
2482
2483     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2484     HRESULT writingMode([retval, out] BSTR * p);
2485
2486     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2487     HRESULT textAlignLast([in] BSTR v);
2488
2489     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2490     HRESULT textAlignLast([retval, out] BSTR * p);
2491
2492     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2493     HRESULT textKashidaSpace([in] VARIANT v);
2494
2495     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2496     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2497 }
2498
2499 /*****************************************************************************
2500  *    IHTMLSytyle4 interface
2501  */
2502 [
2503     odl,
2504     oleautomation,
2505     dual,
2506     uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2507 ]
2508 interface IHTMLStyle4 : IDispatch
2509 {
2510     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2511     HRESULT textOverflow([in] BSTR v);
2512
2513     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2514     HRESULT textOverflow([retval, out] BSTR * p);
2515
2516     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2517     HRESULT minHeight([in] VARIANT v);
2518
2519     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2520     HRESULT minHeight([retval, out] VARIANT * p);
2521 }
2522
2523 /*****************************************************************************
2524  *    IHTMLSytyle5 interface
2525  */
2526 [
2527     odl,
2528     oleautomation,
2529     dual,
2530     uuid(3050f33a-98b5-11cf-bb82-00aa00bdce0b)
2531 ]
2532 interface IHTMLStyle5 : IDispatch
2533 {
2534     [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2535     HRESULT msInterpolationMode([in] BSTR v);
2536
2537     [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2538     HRESULT msInterpolationMode([out, retval] BSTR *p);
2539
2540     [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2541     HRESULT maxHeight([in] VARIANT v);
2542
2543     [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2544     HRESULT maxHeight([out, retval] VARIANT *p);
2545
2546     [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2547     HRESULT minWidth([in] VARIANT v);
2548
2549     [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2550     HRESULT minWidth([out, retval] VARIANT *p);
2551
2552     [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2553     HRESULT maxWidth([in] VARIANT v);
2554
2555     [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2556     HRESULT maxWidth([out, retval] VARIANT *p);
2557 }
2558
2559 /*****************************************************************************
2560  *    IHTMLSytyle6 interface
2561  */
2562 [
2563     odl,
2564     oleautomation,
2565     dual,
2566     uuid(30510480-98b5-11cf-bb82-00aa00bdce0b)
2567 ]
2568 interface IHTMLStyle6 : IDispatch
2569 {
2570     [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2571     HRESULT content([in] BSTR v);
2572
2573     [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2574     HRESULT content([out, retval] BSTR *p);
2575
2576     [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2577     HRESULT captionSide([in] BSTR v);
2578
2579     [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2580     HRESULT captionSide([retval, out] BSTR *p);
2581
2582     [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2583     HRESULT counterIncrement([in] BSTR v);
2584
2585     [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2586     HRESULT counterIncrement([out, retval] BSTR *p);
2587
2588     [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2589     HRESULT counterReset([in] BSTR v);
2590
2591     [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2592     HRESULT counterReset([out, retval] BSTR *p);
2593
2594     [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2595     HRESULT outline([in] BSTR v);
2596
2597     [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2598     HRESULT outline([out, retval] BSTR *p);
2599
2600     [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2601     HRESULT outlineWidth([in] VARIANT v);
2602
2603     [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2604     HRESULT outlineWidth([out, retval] VARIANT *p);
2605
2606     [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2607     HRESULT outlineStyle([in] BSTR v);
2608
2609     [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2610     HRESULT outlineStyle([out, retval] BSTR *p);
2611
2612     [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2613     HRESULT outlineColor([in] VARIANT v);
2614
2615     [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2616     HRESULT outlineColor([out, retval] VARIANT *p);
2617
2618     [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2619     HRESULT boxSizing([in] BSTR v);
2620
2621     [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2622     HRESULT boxSizing([out, retval] BSTR *p);
2623
2624     [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2625     HRESULT borderSpacing([in] BSTR v);
2626
2627     [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2628     HRESULT borderSpacing([out, retval] BSTR *p);
2629
2630     [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2631     HRESULT orphans([in] VARIANT v);
2632
2633     [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2634     HRESULT orphans([out, retval] VARIANT *p);
2635
2636     [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2637     HRESULT widows([in] VARIANT v);
2638
2639     [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2640     HRESULT widows([out, retval] VARIANT *p);
2641
2642     [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2643     HRESULT pageBreakInside([in] BSTR v);
2644
2645     [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2646     HRESULT pageBreakInside([out, retval] BSTR *p);
2647
2648     [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2649     HRESULT emptyCells([in] BSTR v);
2650
2651     [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2652     HRESULT emptyCells([out, retval] BSTR *p);
2653
2654     [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2655     HRESULT msBlockProgression([in] BSTR v);
2656
2657     [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2658     HRESULT msBlockProgression([out, retval] BSTR *p);
2659
2660     [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2661     HRESULT quotes([in] BSTR v);
2662
2663     [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2664     HRESULT quotes([out, retval] BSTR *p);
2665 }
2666
2667 [
2668     noncreatable,
2669     uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2670 ]
2671 coclass HTMLStyle
2672 {
2673     [default] dispinterface DispHTMLStyle;
2674     interface IHTMLStyle;
2675     interface IHTMLStyle2;
2676     interface IHTMLStyle3;
2677     interface IHTMLStyle4;
2678     interface IHTMLStyle5;
2679     interface IHTMLStyle6;
2680 }
2681
2682 /*****************************************************************************
2683  *    IHTMLRenderStyle interface
2684  */
2685 [
2686     odl,
2687     oleautomation,
2688     dual,
2689     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2690 ]
2691 interface IHTMLRenderStyle : IDispatch
2692 {
2693     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2694     HRESULT textLineThroughStyle([in] BSTR v);
2695
2696     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2697     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2698
2699     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2700     HRESULT textUnderlineStyle([in] BSTR v);
2701
2702     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2703     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2704
2705     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2706     HRESULT textEffect([in] BSTR v);
2707
2708     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2709     HRESULT textEffect([retval, out] BSTR *p);
2710
2711     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2712     HRESULT textColor([in] VARIANT v);
2713
2714     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2715     HRESULT textColor([retval, out] VARIANT *p);
2716
2717     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2718     HRESULT textBackgroundColor([in] VARIANT v);
2719
2720     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2721     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2722
2723     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2724     HRESULT textDecorationColor([in] VARIANT v);
2725
2726     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2727     HRESULT textDecorationColor([retval, out] VARIANT *p);
2728
2729     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2730     HRESULT renderingPriority([in] LONG v);
2731
2732     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2733     HRESULT renderingPriority([retval, out] LONG *p);
2734
2735     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2736     HRESULT defaultTextSelection([in] BSTR v);
2737
2738     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2739     HRESULT defaultTextSelection([retval, out] BSTR *p);
2740
2741     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2742     HRESULT textDecoration([in] BSTR v);
2743
2744     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2745     HRESULT textDecoration([retval, out] BSTR *p);
2746 }
2747
2748 /*****************************************************************************
2749  *    IHTMLCurrentStyle interface
2750  */
2751 [
2752     odl,
2753     oleautomation,
2754     dual,
2755     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2756 ]
2757 interface IHTMLCurrentStyle : IDispatch
2758 {
2759     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2760     HRESULT position([retval, out] BSTR *p);
2761
2762     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2763     HRESULT styleFloat([retval, out] BSTR *p);
2764
2765     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2766     HRESULT color([retval, out] VARIANT *p);
2767
2768     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2769     HRESULT backgroundColor([retval, out] VARIANT *p);
2770
2771     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2772     HRESULT fontFamily([retval, out] BSTR *p);
2773
2774     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2775     HRESULT fontStyle([retval, out] BSTR *p);
2776
2777     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2778     HRESULT fontVariant([retval, out] BSTR *p);
2779
2780     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2781     HRESULT fontWeight([retval, out] VARIANT *p);
2782
2783     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2784     HRESULT fontSize([retval, out] VARIANT *p);
2785
2786     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2787     HRESULT backgroundImage([retval, out] BSTR *p);
2788
2789     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2790     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2791
2792     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2793     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2794
2795     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2796     HRESULT backgroundRepeat([retval, out] BSTR *p);
2797
2798     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2799     HRESULT borderLeftColor([retval, out] VARIANT *p);
2800
2801     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2802     HRESULT borderTopColor([retval, out] VARIANT *p);
2803
2804     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2805     HRESULT borderRightColor([retval, out] VARIANT *p);
2806
2807     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2808     HRESULT borderBottomColor([retval, out] VARIANT *p);
2809
2810     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2811     HRESULT borderTopStyle([retval, out] BSTR *p);
2812
2813     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2814     HRESULT borderRightStyle([retval, out] BSTR *p);
2815
2816     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2817     HRESULT borderBottomStyle([retval, out] BSTR *p);
2818
2819     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2820     HRESULT borderLeftStyle([retval, out] BSTR *p);
2821
2822     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2823     HRESULT borderTopWidth([retval, out] VARIANT *p);
2824
2825     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2826     HRESULT borderRightWidth([retval, out] VARIANT *p);
2827
2828     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2829     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2830
2831     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2832     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2833
2834     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2835     HRESULT left([retval, out] VARIANT *p);
2836
2837     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2838     HRESULT top([retval, out] VARIANT *p);
2839
2840     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2841     HRESULT width([retval, out] VARIANT *p);
2842
2843     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2844     HRESULT height([retval, out] VARIANT *p);
2845
2846     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2847     HRESULT paddingLeft([retval, out] VARIANT *p);
2848
2849     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2850     HRESULT paddingTop([retval, out] VARIANT *p);
2851
2852     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2853     HRESULT paddingRight([retval, out] VARIANT *p);
2854
2855     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2856     HRESULT paddingBottom([retval, out] VARIANT *p);
2857
2858     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2859     HRESULT textAlign([retval, out] BSTR *p);
2860
2861     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2862     HRESULT textDecoration([retval, out] BSTR *p);
2863
2864     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2865     HRESULT display([retval, out] BSTR *p);
2866
2867     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2868     HRESULT visibility([retval, out] BSTR *p);
2869
2870     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2871     HRESULT zIndex([retval, out] VARIANT *p);
2872
2873     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2874     HRESULT letterSpacing([retval, out] VARIANT *p);
2875
2876     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2877     HRESULT lineHeight([retval, out] VARIANT *p);
2878
2879     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2880     HRESULT textIndent([retval, out] VARIANT *p);
2881
2882     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2883     HRESULT verticalAlign([retval, out] VARIANT *p);
2884
2885     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2886     HRESULT backgroundAttachment([retval, out] BSTR *p);
2887
2888     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2889     HRESULT marginTop([retval, out] VARIANT *p);
2890
2891     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2892     HRESULT marginRight([retval, out] VARIANT *p);
2893
2894     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2895     HRESULT marginBottom([retval, out] VARIANT *p);
2896
2897     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2898     HRESULT marginLeft([retval, out] VARIANT *p);
2899
2900     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2901     HRESULT clear([retval, out] BSTR *p);
2902
2903     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2904     HRESULT listStyleType([retval, out] BSTR *p);
2905
2906     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2907     HRESULT listStylePosition([retval, out] BSTR *p);
2908
2909     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2910     HRESULT listStyleImage([retval, out] BSTR *p);
2911
2912     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2913     HRESULT clipTop([retval, out] VARIANT *p);
2914
2915     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2916     HRESULT clipRight([retval, out] VARIANT *p);
2917
2918     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2919     HRESULT clipBottom([retval, out] VARIANT *p);
2920
2921     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2922     HRESULT clipLeft([retval, out] VARIANT *p);
2923
2924     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2925     HRESULT overflow([retval, out] BSTR *p);
2926
2927     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2928     HRESULT pageBreakBefore([retval, out] BSTR *p);
2929
2930     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2931     HRESULT pageBreakAfter([retval, out] BSTR *p);
2932
2933     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2934     HRESULT cursor([retval, out] BSTR *p);
2935
2936     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2937     HRESULT tableLayout([retval, out] BSTR *p);
2938
2939     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2940     HRESULT borderCollapse([retval, out] BSTR *p);
2941
2942     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2943     HRESULT direction([retval, out] BSTR *p);
2944
2945     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2946     HRESULT behavior([retval, out] BSTR *p);
2947
2948     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2949     HRESULT getAttribute(
2950         [in] BSTR strAttributeName,
2951         [defaultvalue(0), in] LONG lFlags,
2952         [retval, out] VARIANT *AttributeValue);
2953
2954     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2955     HRESULT unicodeBidi([retval, out] BSTR *p);
2956
2957     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2958     HRESULT right([retval, out] VARIANT *p);
2959
2960     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2961     HRESULT bottom([retval, out] VARIANT *p);
2962
2963     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2964     HRESULT imeMode([retval, out] BSTR *p);
2965
2966     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2967     HRESULT rubyAlign([retval, out] BSTR *p);
2968
2969     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2970     HRESULT rubyPosition([retval, out] BSTR *p);
2971
2972     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2973     HRESULT rubyOverhang([retval, out] BSTR *p);
2974
2975     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2976     HRESULT textAutospace([retval, out] BSTR *p);
2977
2978     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2979     HRESULT lineBreak([retval, out] BSTR *p);
2980
2981     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2982     HRESULT wordBreak([retval, out] BSTR *p);
2983
2984     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2985     HRESULT textJustify([retval, out] BSTR *p);
2986
2987     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2988     HRESULT textJustifyTrim([retval, out] BSTR *p);
2989
2990     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2991     HRESULT textKashida([retval, out] VARIANT *p);
2992
2993     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2994     HRESULT blockDirection([retval, out] BSTR *p);
2995
2996     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2997     HRESULT layoutGridChar([retval, out] VARIANT *p);
2998
2999     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3000     HRESULT layoutGridLine([retval, out] VARIANT *p);
3001
3002     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3003     HRESULT layoutGridMode([retval, out] BSTR *p);
3004
3005     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3006     HRESULT layoutGridType([retval, out] BSTR *p);
3007
3008     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3009     HRESULT borderStyle([retval, out] BSTR *p);
3010
3011     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3012     HRESULT borderColor([retval, out] BSTR *p);
3013
3014     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3015     HRESULT borderWidth([retval, out] BSTR *p);
3016
3017     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3018     HRESULT padding([retval, out] BSTR *p);
3019
3020     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3021     HRESULT margin([retval, out] BSTR *p);
3022
3023     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3024     HRESULT accelerator([retval, out] BSTR *p);
3025
3026     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3027     HRESULT overflowX([retval, out] BSTR *p);
3028
3029     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3030     HRESULT overflowY([retval, out] BSTR *p);
3031
3032     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3033     HRESULT textTransform([retval, out] BSTR *p);
3034 }
3035
3036 /*****************************************************************************
3037  *    IHTMLCurrentStyle2 interface
3038  */
3039 [
3040     odl,
3041     oleautomation,
3042     dual,
3043     uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
3044 ]
3045 interface IHTMLCurrentStyle2 : IDispatch
3046 {
3047     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3048     HRESULT layoutFlow([retval, out] BSTR * p);
3049
3050     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3051     HRESULT wordWrap([retval, out] BSTR * p);
3052
3053     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3054     HRESULT textUnderlinePosition([retval, out] BSTR * p);
3055
3056     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3057     HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
3058
3059     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3060     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
3061
3062     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3063     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
3064
3065     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3066     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
3067
3068     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3069     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
3070
3071     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3072     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
3073
3074     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3075     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
3076
3077     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3078     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
3079
3080     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3081     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
3082
3083     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3084     HRESULT writingMode([retval, out] BSTR * p);
3085
3086     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3087     HRESULT zoom([retval, out] VARIANT * p);
3088
3089     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3090     HRESULT filter([retval, out] BSTR * p);
3091
3092     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3093     HRESULT textAlignLast([retval, out] BSTR * p);
3094
3095     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3096     HRESULT textKashidaSpace([retval, out] VARIANT * p);
3097
3098     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3099     HRESULT isBlock([retval, out] VARIANT_BOOL * p);
3100 }
3101
3102 /*****************************************************************************
3103  *    IHTMLCurrentStyle3 interface
3104  */
3105 [
3106     odl,
3107     oleautomation,
3108     dual,
3109     uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
3110 ]
3111 interface IHTMLCurrentStyle3 : IDispatch
3112 {
3113     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3114     HRESULT textOverflow([retval, out] BSTR * p);
3115
3116     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3117     HRESULT minHeight([retval, out] VARIANT * p);
3118
3119     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3120     HRESULT wordSpacing([retval, out] VARIANT * p);
3121
3122     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3123     HRESULT whiteSpace([retval, out] BSTR * p);
3124 }
3125
3126 /*****************************************************************************
3127  *    IHTMLCurrentStyle4 interface
3128  */
3129 [
3130     odl,
3131     oleautomation,
3132     dual,
3133     uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
3134 ]
3135 interface IHTMLCurrentStyle4 : IDispatch
3136 {
3137     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3138     HRESULT msInterpolationMode([retval, out] BSTR * p);
3139
3140     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3141     HRESULT maxHeight([retval, out] VARIANT * p);
3142
3143     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3144     HRESULT minWidth([retval, out] VARIANT * p);
3145
3146     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3147     HRESULT maxWidth([retval, out] VARIANT * p);
3148 }
3149
3150 /*****************************************************************************
3151  *    DispHTMLCurrentStyle dispinterface
3152  */
3153 [
3154     hidden,
3155     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
3156 ]
3157 dispinterface DispHTMLCurrentStyle
3158 {
3159 properties:
3160 methods:
3161     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
3162     BSTR position();
3163
3164     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
3165     BSTR styleFloat();
3166
3167     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
3168     VARIANT color();
3169
3170     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
3171     VARIANT backgroundColor();
3172
3173     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
3174     BSTR fontFamily();
3175
3176     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
3177     BSTR fontStyle();
3178
3179     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
3180     BSTR fontVariant();
3181
3182     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
3183     VARIANT fontWeight();
3184
3185     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
3186     VARIANT fontSize();
3187
3188     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
3189     BSTR backgroundImage();
3190
3191     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
3192     VARIANT backgroundPositionX();
3193
3194     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
3195     VARIANT backgroundPositionY();
3196
3197     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
3198     BSTR backgroundRepeat();
3199
3200     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
3201     VARIANT borderLeftColor();
3202
3203     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
3204     VARIANT borderTopColor();
3205
3206     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
3207     VARIANT borderRightColor();
3208
3209     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
3210     VARIANT borderBottomColor();
3211
3212     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
3213     BSTR borderTopStyle();
3214
3215     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
3216     BSTR borderRightStyle();
3217
3218     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
3219     BSTR borderBottomStyle();
3220
3221     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
3222     BSTR borderLeftStyle();
3223
3224     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
3225     VARIANT borderTopWidth();
3226
3227     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
3228     VARIANT borderRightWidth();
3229
3230     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
3231     VARIANT borderBottomWidth();
3232
3233     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
3234     VARIANT borderLeftWidth();
3235
3236     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
3237     VARIANT left();
3238
3239     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
3240     VARIANT top();
3241
3242     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
3243     VARIANT width();
3244
3245     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
3246     VARIANT height();
3247
3248     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
3249     VARIANT paddingLeft();
3250
3251     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
3252     VARIANT paddingTop();
3253
3254     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
3255     VARIANT paddingRight();
3256
3257     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
3258     VARIANT paddingBottom();
3259
3260     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
3261     BSTR textAlign();
3262
3263     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
3264     BSTR textDecoration();
3265
3266     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
3267     BSTR display();
3268
3269     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
3270     BSTR visibility();
3271
3272     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
3273     VARIANT zIndex();
3274
3275     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
3276     VARIANT letterSpacing();
3277
3278     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
3279     VARIANT lineHeight();
3280
3281     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
3282     VARIANT textIndent();
3283
3284     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
3285     VARIANT verticalAlign();
3286
3287     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
3288     BSTR backgroundAttachment();
3289
3290     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
3291     VARIANT marginTop();
3292
3293     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3294     VARIANT marginRight();
3295
3296     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3297     VARIANT marginBottom();
3298
3299     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3300     VARIANT marginLeft();
3301
3302     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3303     BSTR clear();
3304
3305     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3306     BSTR listStyleType();
3307
3308     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3309     BSTR listStylePosition();
3310
3311     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3312     BSTR listStyleImage();
3313
3314     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3315     VARIANT clipTop();
3316
3317     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3318     VARIANT clipRight();
3319
3320     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3321     VARIANT clipBottom();
3322
3323     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3324     VARIANT clipLeft();
3325
3326     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3327     BSTR overflow();
3328
3329     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3330     BSTR pageBreakBefore();
3331
3332     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3333     BSTR pageBreakAfter();
3334
3335     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3336     BSTR cursor();
3337
3338     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3339     BSTR tableLayout();
3340
3341     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3342     BSTR borderCollapse();
3343
3344     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3345     BSTR direction();
3346
3347     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3348     BSTR behavior();
3349
3350     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3351     VARIANT getAttribute(
3352             [in] BSTR strAttributeName,
3353             [in, defaultvalue(0)] LONG lFlags);
3354
3355     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3356     BSTR unicodeBidi();
3357
3358     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3359     VARIANT right();
3360
3361     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3362     VARIANT bottom();
3363
3364     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3365     BSTR imeMode();
3366
3367     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3368     BSTR rubyAlign();
3369
3370     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3371     BSTR rubyPosition();
3372
3373     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3374     BSTR rubyOverhang();
3375
3376     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3377     BSTR textAutospace();
3378
3379     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3380     BSTR lineBreak();
3381
3382     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3383     BSTR wordBreak();
3384
3385     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3386     BSTR textJustify();
3387
3388     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3389     BSTR textJustifyTrim();
3390
3391     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3392     VARIANT textKashida();
3393
3394     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3395     BSTR blockDirection();
3396
3397     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3398     VARIANT layoutGridChar();
3399
3400     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3401     VARIANT layoutGridLine();
3402
3403     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3404     BSTR layoutGridMode();
3405
3406     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3407     BSTR layoutGridType();
3408
3409     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3410     BSTR borderStyle();
3411
3412     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3413     BSTR borderColor();
3414
3415     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3416     BSTR borderWidth();
3417
3418     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3419     BSTR padding();
3420
3421     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3422     BSTR margin();
3423
3424     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3425     BSTR accelerator();
3426
3427     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3428     BSTR overflowX();
3429
3430     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3431     BSTR overflowY();
3432
3433     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3434     BSTR textTransform();
3435
3436     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3437     BSTR layoutFlow();
3438
3439     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3440     BSTR wordWrap();
3441
3442     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3443     BSTR textUnderlinePosition();
3444
3445     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3446     VARIANT_BOOL hasLayout();
3447
3448     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3449     VARIANT scrollbarBaseColor();
3450
3451     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3452     VARIANT scrollbarFaceColor();
3453
3454     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3455     VARIANT scrollbar3dLightColor();
3456
3457     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3458     VARIANT scrollbarShadowColor();
3459
3460     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3461     VARIANT scrollbarHighlightColor();
3462
3463     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3464     VARIANT scrollbarDarkShadowColor();
3465
3466     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3467     VARIANT scrollbarArrowColor();
3468
3469     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3470     VARIANT scrollbarTrackColor();
3471
3472     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3473     BSTR writingMode();
3474
3475     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3476     VARIANT zoom();
3477
3478     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3479     BSTR filter();
3480
3481     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3482     BSTR textAlignLast();
3483
3484     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3485     VARIANT textKashidaSpace();
3486
3487     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3488     VARIANT_BOOL isBlock();
3489
3490     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3491     BSTR textOverflow();
3492
3493     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3494     VARIANT minHeight();
3495
3496     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3497     VARIANT wordSpacing();
3498
3499     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3500     BSTR whiteSpace();
3501
3502     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3503     BSTR msInterpolationMode();
3504
3505     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3506     VARIANT maxHeight();
3507
3508     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3509     VARIANT minWidth();
3510
3511     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3512     VARIANT maxWidth();
3513 }
3514
3515 [
3516     noncreatable,
3517     uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3518 ]
3519 coclass HTMLCurrentStyle
3520 {
3521     [default] dispinterface DispHTMLCurrentStyle;
3522     interface IHTMLCurrentStyle;
3523     interface IHTMLCurrentStyle2;
3524     interface IHTMLCurrentStyle3;
3525     interface IHTMLCurrentStyle4;
3526 }
3527
3528 /*****************************************************************************
3529  *    IHTMLRect interface
3530  */
3531 [
3532     odl,
3533     oleautomation,
3534     dual,
3535     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3536 ]
3537 interface IHTMLRect : IDispatch
3538 {
3539     [propput, id(DISPID_IHTMLRECT_LEFT)]
3540     HRESULT left([in] LONG v);
3541
3542     [propget, id(DISPID_IHTMLRECT_LEFT)]
3543     HRESULT left([retval, out] LONG *p);
3544
3545     [propput, id(DISPID_IHTMLRECT_TOP)]
3546     HRESULT top([in] LONG v);
3547
3548     [propget, id(DISPID_IHTMLRECT_TOP)]
3549     HRESULT top([retval, out] LONG *p);
3550
3551     [propput, id(DISPID_IHTMLRECT_RIGHT)]
3552     HRESULT right([in] LONG v);
3553
3554     [propget, id(DISPID_IHTMLRECT_RIGHT)]
3555     HRESULT right([retval, out] LONG *p);
3556
3557     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3558     HRESULT bottom([in] LONG v);
3559
3560     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3561     HRESULT bottom([retval, out] LONG *p);
3562 }
3563
3564 /*****************************************************************************
3565  *    IHTMLRectCollection interface
3566  */
3567 [
3568     odl,
3569     oleautomation,
3570     dual,
3571     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3572 ]
3573 interface IHTMLRectCollection : IDispatch
3574 {
3575     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3576     HRESULT length([retval, out] LONG *p);
3577
3578     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3579     HRESULT _newEnum([retval, out] IUnknown **p);
3580
3581     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3582     HRESULT item(
3583         [in] VARIANT *pvarIndex,
3584         [retval, out] VARIANT *pvarResult);
3585 }
3586
3587 /*****************************************************************************
3588  *    IHTMLDOMNode interface
3589  */
3590 [
3591     odl,
3592     oleautomation,
3593     dual,
3594     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3595 ]
3596 interface IHTMLDOMNode : IDispatch
3597 {
3598     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3599     HRESULT nodeType([retval, out] LONG *p);
3600
3601     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3602     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3603
3604     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3605     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3606
3607     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3608     HRESULT childNodes([retval, out] IDispatch **p);
3609
3610     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3611     HRESULT attributes([retval, out] IDispatch **p);
3612
3613     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3614     HRESULT insertBefore(
3615         [in] IHTMLDOMNode *newChild,
3616         [optional, in] VARIANT refChild,
3617         [retval, out] IHTMLDOMNode **node);
3618
3619     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3620     HRESULT removeChild(
3621         [in] IHTMLDOMNode *oldChild,
3622         [retval, out] IHTMLDOMNode **node);
3623
3624     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3625     HRESULT replaceChild(
3626         [in] IHTMLDOMNode *newChild,
3627         [in] IHTMLDOMNode *oldChild,
3628         [retval, out] IHTMLDOMNode **node);
3629
3630     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3631     HRESULT cloneNode(
3632         [in] VARIANT_BOOL fDeep,
3633         [retval, out] IHTMLDOMNode **clonedNode);
3634
3635     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3636     HRESULT removeNode(
3637         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3638         [retval, out] IHTMLDOMNode **removed);
3639
3640     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3641     HRESULT swapNode(
3642         [in] IHTMLDOMNode *otherNode,
3643         [retval, out] IHTMLDOMNode **swappedNode);
3644
3645     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3646     HRESULT replaceNode(
3647         [in] IHTMLDOMNode *replacement,
3648         [retval, out] IHTMLDOMNode **replaced);
3649
3650     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3651     HRESULT appendChild(
3652         [in] IHTMLDOMNode *newChild,
3653         [retval, out] IHTMLDOMNode **node);
3654
3655     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3656     HRESULT nodeName([retval, out] BSTR *p);
3657
3658     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3659     HRESULT nodeValue([in] VARIANT v);
3660
3661     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3662     HRESULT nodeValue([retval, out] VARIANT *p);
3663
3664     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3665     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3666
3667     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3668     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3669
3670     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3671     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3672
3673     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3674     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3675 }
3676
3677 #define WINE_IHTMLDOMNODE_DISPINTERFACE_DECL                            \
3678     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]                         \
3679     LONG nodeType();                                                    \
3680                                                                         \
3681     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]                       \
3682     IHTMLDOMNode* parentNode();                                         \
3683                                                                         \
3684     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]                             \
3685     VARIANT_BOOL hasChildNodes();                                       \
3686                                                                         \
3687     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]                       \
3688     IDispatch* childNodes();                                            \
3689                                                                         \
3690     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]                       \
3691     IDispatch* attributes();                                            \
3692                                                                         \
3693     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]                              \
3694     IHTMLDOMNode* insertBefore(                                         \
3695             [in] IHTMLDOMNode* newChild,                                \
3696             [optional, in] VARIANT refChild);                           \
3697                                                                         \
3698     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]                               \
3699     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);             \
3700                                                                         \
3701     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]                              \
3702     IHTMLDOMNode* replaceChild(                                         \
3703         [in] IHTMLDOMNode* newChild,                                    \
3704         [in] IHTMLDOMNode* oldChild);                                   \
3705                                                                         \
3706     [id(DISPID_IHTMLDOMNODE_CLONENODE)]                                 \
3707     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);                   \
3708                                                                         \
3709     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]                                \
3710     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep); \
3711                                                                         \
3712     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]                                  \
3713     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);               \
3714                                                                         \
3715     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]                               \
3716     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);          \
3717                                                                         \
3718     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]                               \
3719     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);             \
3720                                                                         \
3721     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]                         \
3722     BSTR nodeName();                                                    \
3723                                                                         \
3724     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3725     void nodeValue(VARIANT v);                                          \
3726                                                                         \
3727     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3728     VARIANT nodeValue();                                                \
3729                                                                         \
3730     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]                       \
3731     IHTMLDOMNode* firstChild();                                         \
3732                                                                         \
3733     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]                        \
3734     IHTMLDOMNode* lastChild();                                          \
3735                                                                         \
3736     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]                  \
3737     IHTMLDOMNode* previousSibling();                                    \
3738                                                                         \
3739     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]                      \
3740     IHTMLDOMNode* nextSibling()
3741
3742 /*****************************************************************************
3743  *    IHTMLDOMNode2 interface
3744  */
3745 [
3746     odl,
3747     oleautomation,
3748     dual,
3749     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3750 ]
3751 interface IHTMLDOMNode2 : IDispatch
3752 {
3753     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3754     HRESULT ownerDocument([retval, out] IDispatch **p);
3755 }
3756
3757 #define WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL           \
3758     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]   \
3759     IDispatch *ownerDocument()
3760
3761 #define WINE_HTMLDOMNODE_DISPINTERFACE_DECL     \
3762     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;       \
3763     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL
3764
3765 /*****************************************************************************
3766  *    IHTMLDOMAttribute interface
3767  */
3768 [
3769     odl,
3770     oleautomation,
3771     dual,
3772     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3773 ]
3774 interface IHTMLDOMAttribute : IDispatch
3775 {
3776     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3777     HRESULT nodeName([retval, out] BSTR *p);
3778
3779     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3780     HRESULT nodeValue([in] VARIANT v);
3781
3782     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3783     HRESULT nodeValue([retval, out] VARIANT *p);
3784
3785     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3786     HRESULT specified([retval, out] VARIANT_BOOL *p);
3787 }
3788
3789 /*****************************************************************************
3790  *    IHTMLDOMAttribute2 interface
3791  */
3792 [
3793     odl,
3794     oleautomation,
3795     dual,
3796     uuid(3050f810-98b5-11cf-bb82-00aa00bdce0b)
3797 ]
3798 interface IHTMLDOMAttribute2 : IDispatch
3799 {
3800     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3801     HRESULT name([retval, out] BSTR *p);
3802
3803     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3804     HRESULT value([in] BSTR v);
3805
3806     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3807     HRESULT value([retval, out] BSTR *p);
3808
3809     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3810     HRESULT expando([retval, out] VARIANT_BOOL *p);
3811
3812     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3813     HRESULT nodeType([retval, out] long *p);
3814
3815     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3816     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3817
3818     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
3819     HRESULT childNodes([retval, out] IDispatch **p);
3820
3821     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
3822     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3823
3824     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
3825     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3826
3827     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
3828     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3829
3830     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
3831     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3832
3833     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
3834     HRESULT attributes([retval, out] IDispatch **p);
3835
3836     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
3837     HRESULT ownerDocument([retval, out] IDispatch **p);
3838
3839     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
3840     HRESULT insertBefore(
3841             [in] IHTMLDOMNode *newChild,
3842             [optional, in] VARIANT refChild,
3843             [retval, out] IHTMLDOMNode **node);
3844
3845     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
3846     HRESULT replaceChild(
3847             [in] IHTMLDOMNode *newChild,
3848             [in] IHTMLDOMNode *oldChild,
3849             [retval, out] IHTMLDOMNode **node);
3850
3851     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
3852     HRESULT removeChild(
3853             [in] IHTMLDOMNode *oldChild,
3854             [retval, out] IHTMLDOMNode **node);
3855
3856     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
3857     HRESULT appendChild(
3858             [in] IHTMLDOMNode *newChild,
3859             [retval, out] IHTMLDOMNode **node);
3860
3861     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
3862     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3863
3864     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
3865     HRESULT cloneNode(
3866             [in] VARIANT_BOOL fDeep,
3867             [retval, out] IHTMLDOMAttribute **clonedNode);
3868 }
3869
3870 /*****************************************************************************
3871  *    IHTMLDOMTextNode interface
3872  */
3873 [
3874     odl,
3875     oleautomation,
3876     dual,
3877     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3878 ]
3879 interface IHTMLDOMTextNode : IDispatch
3880 {
3881     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3882     HRESULT data([in] BSTR v);
3883
3884     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3885     HRESULT data([out, retval] BSTR *p);
3886
3887     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3888     HRESULT toString([out, retval] BSTR *String);
3889
3890     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3891     HRESULT length([out, retval] LONG *p);
3892
3893     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3894     HRESULT splitText(
3895             [in] LONG offset,
3896             [out, retval] IHTMLDOMNode **pRetNode);
3897 }
3898
3899 /*****************************************************************************
3900  *    IHTMLDOMTextNode2 interface
3901  */
3902 [
3903     odl,
3904     oleautomation,
3905     dual,
3906     uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
3907 ]
3908 interface IHTMLDOMTextNode2 : IDispatch
3909 {
3910     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3911     HRESULT substringData([in] LONG offset,[in] LONG Count,[retval, out] BSTR* pbstrsubString);
3912
3913     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3914     HRESULT appendData([in] BSTR bstrstring);
3915
3916     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3917     HRESULT insertData([in] LONG offset,[in] BSTR bstrstring);
3918
3919     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3920     HRESULT deleteData([in] LONG offset,[in] LONG Count);
3921
3922     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3923     HRESULT replaceData([in] LONG offset,[in] LONG Count,[in] BSTR bstrstring);
3924 }
3925
3926 [
3927     noncreatable,
3928     uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
3929 ]
3930 coclass HTMLDOMTextNode
3931 {
3932     [default]           dispinterface DispHTMLDOMTextNode;
3933                         interface IHTMLDOMTextNode;
3934                         interface IHTMLDOMTextNode2;
3935                         interface IHTMLDOMNode;
3936                         interface IHTMLDOMNode2;
3937 }
3938
3939 /*****************************************************************************
3940  *    IHTMLDOMImplementation interface
3941  */
3942 [
3943     odl,
3944     oleautomation,
3945     dual,
3946     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3947 ]
3948 interface IHTMLDOMImplementation : IDispatch
3949 {
3950     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3951     HRESULT hasFeature(
3952         [in] BSTR bstrfeature,
3953         [optional, in] VARIANT version,
3954         [retval, out] VARIANT_BOOL *pfHasFeature);
3955 }
3956
3957 /*****************************************************************************
3958  *    DispHTMLDOMAttribute dispinterface
3959  */
3960 [
3961     hidden,
3962     uuid(3050f564-98b5-11cf-bb82-00aa00bdce0b)
3963 ]
3964 dispinterface DispHTMLDOMAttribute
3965 {
3966  properties:
3967     methods:
3968     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3969     BSTR nodeName();
3970
3971     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3972     void nodeValue(VARIANT v);
3973
3974     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3975     VARIANT nodeValue();
3976
3977     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3978     VARIANT_BOOL specified();
3979
3980     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3981     BSTR name();
3982
3983     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3984     void value(BSTR v);
3985
3986     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3987     BSTR value();
3988
3989     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3990     VARIANT_BOOL expando();
3991
3992     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3993     long nodeType();
3994
3995     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3996     IHTMLDOMNode *parentNode();
3997
3998     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
3999     IDispatch *childNodes();
4000
4001     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
4002     IHTMLDOMNode *firstChild();
4003
4004     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
4005     IHTMLDOMNode *lastChild();
4006
4007     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
4008     IHTMLDOMNode *previousSibling();
4009
4010     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
4011     IHTMLDOMNode *nextSibling();
4012
4013     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
4014     IDispatch *attributes();
4015
4016     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
4017     IDispatch *ownerDocument();
4018
4019     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
4020     IHTMLDOMNode *insertBefore(
4021             [in] IHTMLDOMNode *newChild,
4022             [optional, in] VARIANT refChild);
4023
4024     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
4025     IHTMLDOMNode *replaceChild(
4026             [in] IHTMLDOMNode *newChild,
4027             [in] IHTMLDOMNode *oldChild);
4028
4029     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
4030     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
4031
4032     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
4033     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
4034
4035     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
4036     VARIANT_BOOL hasChildNodes();
4037
4038     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
4039     IHTMLDOMAttribute *cloneNode([in] VARIANT_BOOL fDeep);
4040
4041     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
4042     void ie8_nodeValue(VARIANT v);
4043
4044     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
4045     VARIANT ie8_nodeValue();
4046
4047     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
4048     void ie8_value(BSTR v);
4049
4050     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
4051     BSTR ie8_value();
4052
4053     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_SPECIFIED)]
4054     VARIANT_BOOL ie8_specified();
4055
4056     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_OWNERELEMENT)]
4057     IHTMLElement2 *ownerElement();
4058
4059     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
4060 }
4061
4062 /*****************************************************************************
4063  *    IHTMLDocumentCompatibleInfo interface
4064  */
4065 [
4066     odl,
4067     oleautomation,
4068     dual,
4069     uuid(3051041a-98b5-11cf-bb82-00aa00bdce0b)
4070 ]
4071 interface IHTMLDocumentCompatibleInfo : IDispatch
4072 {
4073     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_USERAGENT)]
4074     HRESULT userAgent([retval, out] BSTR *p);
4075
4076     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_VERSION)]
4077     HRESULT version([retval, out] BSTR *p);
4078 }
4079
4080 /*****************************************************************************
4081  *    IHTMLDocumentCompatibleInfoCollection interface
4082  */
4083 [
4084     odl,
4085     oleautomation,
4086     dual,
4087     uuid(30510418-98b5-11cf-bb82-00aa00bdce0b)
4088 ]
4089 interface IHTMLDocumentCompatibleInfoCollection : IDispatch
4090 {
4091     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_LENGTH)]
4092     HRESULT length([retval, out] long *p);
4093
4094     [id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_ITEM)]
4095     HRESULT item([in] long i, [retval, out]IHTMLDocumentCompatibleInfo **p);
4096 }
4097
4098 /*****************************************************************************
4099  *    DispHTMLDOMTextNode dispinterface
4100  */
4101 [
4102     hidden,
4103     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
4104 ]
4105 dispinterface DispHTMLDOMTextNode
4106 {
4107 properties:
4108 methods:
4109     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4110     void data(BSTR v);
4111
4112     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4113     BSTR data();
4114
4115     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
4116     BSTR toString();
4117
4118     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
4119     LONG length();
4120
4121     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
4122     IHTMLDOMNode *splitText([in] LONG offset);
4123
4124     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
4125     BSTR substringData(
4126             [in] LONG offset,
4127             [in] LONG Count);
4128
4129     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
4130     void appendData([in] BSTR bstrstring);
4131
4132     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
4133     void insertData(
4134             [in] LONG offset,
4135             [in] BSTR bstrstring);
4136
4137     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
4138     void deleteData(
4139             [in] LONG offset,
4140             [in] LONG Count);
4141
4142     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
4143     void replaceData(
4144             [in] LONG offset,
4145             [in] LONG Count,
4146             [in] BSTR bstrstring);
4147
4148     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
4149 }
4150
4151 /*****************************************************************************
4152  *    IHTMLAttributeCollection3 interface
4153  */
4154 [
4155     odl,
4156     oleautomation,
4157     dual,
4158     uuid(30510469-98b5-11cf-bb82-00aa00bdce0b)
4159 ]
4160 interface IHTMLAttributeCollection3 : IDispatch
4161 {
4162     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
4163     HRESULT getNamedItem(
4164             [in] BSTR bstrName,
4165             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4166
4167     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
4168     HRESULT setNamedItem(
4169             [in] IHTMLDOMAttribute *pNodeIn,
4170             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4171
4172     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
4173     HRESULT removeNamedItem(
4174             [in] BSTR bstrName,
4175             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4176
4177     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
4178     HRESULT item(
4179             [in] long index,
4180             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4181
4182     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
4183     HRESULT length([retval, out] long *p);
4184 }
4185
4186 /*****************************************************************************
4187  *    IHTMLDOMChildrenCollection interface
4188  */
4189 [
4190     odl,
4191     oleautomation,
4192     dual,
4193     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
4194 ]
4195 interface IHTMLDOMChildrenCollection : IDispatch
4196 {
4197     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
4198     HRESULT length([out, retval] LONG *p);
4199
4200     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
4201     HRESULT _newEnum([out, retval] IUnknown **p);
4202
4203     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
4204     HRESULT item(
4205             [in] LONG index,
4206             [out, retval] IDispatch **ppItem);
4207 }
4208
4209 /*****************************************************************************
4210  *    DispDOMChildrenCollection dispinterface
4211  */
4212 [
4213     hidden,
4214     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
4215 ]
4216 dispinterface DispDOMChildrenCollection
4217 {
4218 properties:
4219 methods:
4220     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
4221     LONG length();
4222
4223     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
4224     IUnknown *_newEnum();
4225
4226     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
4227     IDispatch *item([in] LONG index);
4228 }
4229
4230 interface IHTMLElementCollection;
4231
4232 /*****************************************************************************
4233  *    IHTMLElement interface
4234  */
4235 [
4236     odl,
4237     dual,
4238     oleautomation,
4239     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
4240 ]
4241 interface IHTMLElement : IDispatch
4242 {
4243     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
4244     HRESULT setAttribute(
4245         [in] BSTR strAttributeName,
4246         [in] VARIANT AttributeValue,
4247         [defaultvalue(1), in] LONG lFlags);
4248
4249     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
4250     HRESULT getAttribute(
4251         [in] BSTR strAttributeName,
4252         [defaultvalue(0), in] LONG lFlags,
4253         [retval, out] VARIANT *AttributeValue);
4254
4255     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
4256     HRESULT removeAttribute(
4257         [in] BSTR strAttributeName,
4258         [defaultvalue(1), in] LONG lFlags,
4259         [retval, out] VARIANT_BOOL *pfSuccess);
4260
4261     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
4262     HRESULT className([in] BSTR v);
4263
4264     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
4265     HRESULT className([retval, out] BSTR *p);
4266
4267     [propput, id(DISPID_IHTMLELEMENT_ID)]
4268     HRESULT id([in] BSTR v);
4269
4270     [propget, id(DISPID_IHTMLELEMENT_ID)]
4271     HRESULT id([retval, out] BSTR *p);
4272
4273     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4274     HRESULT tagName([retval, out] BSTR *p);
4275
4276     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4277     HRESULT parentElement([retval, out] IHTMLElement **p);
4278
4279     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
4280     HRESULT style([retval, out] IHTMLStyle **p);
4281
4282     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
4283     HRESULT onhelp([in] VARIANT v);
4284
4285     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
4286     HRESULT onhelp([retval, out] VARIANT *p);
4287
4288     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
4289     HRESULT onclick([in] VARIANT v);
4290
4291     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
4292     HRESULT onclick([retval, out] VARIANT *p);
4293
4294     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4295     HRESULT ondblclick([in] VARIANT v);
4296
4297     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4298     HRESULT ondblclick([retval, out] VARIANT *p);
4299
4300     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4301     HRESULT onkeydown([in] VARIANT v);
4302
4303     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4304     HRESULT onkeydown([retval, out] VARIANT *p);
4305
4306     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4307     HRESULT onkeyup([in] VARIANT v);
4308
4309     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4310     HRESULT onkeyup([retval, out] VARIANT *p);
4311
4312     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4313     HRESULT onkeypress([in] VARIANT v);
4314
4315     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4316     HRESULT onkeypress([retval, out] VARIANT *p);
4317
4318     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4319     HRESULT onmouseout([in] VARIANT v);
4320
4321     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4322     HRESULT onmouseout([retval, out] VARIANT *p);
4323
4324     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4325     HRESULT onmouseover([in] VARIANT v);
4326
4327     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4328     HRESULT onmouseover([retval, out] VARIANT *p);
4329
4330     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4331     HRESULT onmousemove([in] VARIANT v);
4332
4333     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4334     HRESULT onmousemove([retval, out] VARIANT *p);
4335
4336     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4337     HRESULT onmousedown([in] VARIANT v);
4338
4339     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4340     HRESULT onmousedown([retval, out] VARIANT *p);
4341
4342     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4343     HRESULT onmouseup([in] VARIANT v);
4344
4345     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4346     HRESULT onmouseup([retval, out] VARIANT *p);
4347
4348     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4349     HRESULT document([retval, out] IDispatch **p);
4350
4351     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
4352     HRESULT title([in] BSTR v);
4353
4354     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
4355     HRESULT title([retval, out] BSTR *p);
4356
4357     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4358     HRESULT language([in] BSTR v);
4359
4360     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4361     HRESULT language([retval, out] BSTR *p);
4362
4363     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4364     HRESULT onselectstart([in] VARIANT v);
4365
4366     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4367     HRESULT onselectstart([retval, out] VARIANT *p);
4368
4369     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4370     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
4371
4372     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4373     HRESULT contains(
4374         [in] IHTMLElement *pChild,
4375         [retval, out] VARIANT_BOOL *pfResult);
4376
4377     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
4378     HRESULT sourceIndex([retval, out] LONG *p);
4379
4380     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4381     HRESULT recordNumber([retval, out] VARIANT *p);
4382
4383     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4384     HRESULT lang([in] BSTR v);
4385
4386     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4387     HRESULT lang([retval, out] BSTR *p);
4388
4389     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4390     HRESULT offsetLeft([retval, out] LONG *p);
4391
4392     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4393     HRESULT offsetTop([retval, out] LONG *p);
4394
4395     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4396     HRESULT offsetWidth([retval, out] LONG *p);
4397
4398     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4399     HRESULT offsetHeight([retval, out] LONG *p);
4400
4401     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4402     HRESULT offsetParent([retval, out] IHTMLElement **p);
4403
4404     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4405     HRESULT innerHTML([in] BSTR v);
4406
4407     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4408     HRESULT innerHTML([retval, out] BSTR *p);
4409
4410     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4411     HRESULT innerText([in] BSTR v);
4412
4413     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4414     HRESULT innerText([retval, out] BSTR *p);
4415
4416     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4417     HRESULT outerHTML([in] BSTR v);
4418
4419     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4420     HRESULT outerHTML([retval, out] BSTR *p);
4421
4422     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4423     HRESULT outerText([in] BSTR v);
4424
4425     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4426     HRESULT outerText([retval, out] BSTR *p);
4427
4428     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4429     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
4430
4431     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4432     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
4433
4434     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4435     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
4436
4437     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4438     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
4439
4440     [id(DISPID_IHTMLELEMENT_CLICK)]
4441     HRESULT click();
4442
4443     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4444     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
4445
4446     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4447     HRESULT ondragstart([in] VARIANT v);
4448
4449     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4450     HRESULT ondragstart([retval, out] VARIANT *p);
4451
4452     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4453     HRESULT toString([retval, out] BSTR *String);
4454
4455     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4456     HRESULT onbeforeupdate([in] VARIANT v);
4457
4458     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4459     HRESULT onbeforeupdate([retval, out] VARIANT *p);
4460
4461     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4462     HRESULT onafterupdate([in] VARIANT v);
4463
4464     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4465     HRESULT onafterupdate([retval, out] VARIANT *p);
4466
4467     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4468     HRESULT onerrorupdate([in] VARIANT v);
4469
4470     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4471     HRESULT onerrorupdate([retval, out] VARIANT *p);
4472
4473     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4474     HRESULT onrowexit([in] VARIANT v);
4475
4476     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4477     HRESULT onrowexit([retval, out] VARIANT *p);
4478
4479     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4480     HRESULT onrowenter([in] VARIANT v);
4481
4482     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4483     HRESULT onrowenter([retval, out] VARIANT *p);
4484
4485     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4486     HRESULT ondatasetchanged([in] VARIANT v);
4487
4488     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4489     HRESULT ondatasetchanged([retval, out] VARIANT *p);
4490
4491     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4492     HRESULT ondataavailable([in] VARIANT v);
4493
4494     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4495     HRESULT ondataavailable([retval, out] VARIANT *p);
4496
4497     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4498     HRESULT ondatasetcomplete([in] VARIANT v);
4499
4500     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4501     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
4502
4503     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4504     HRESULT onfilterchange([in] VARIANT v);
4505
4506     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4507     HRESULT onfilterchange([retval, out] VARIANT *p);
4508
4509     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4510     HRESULT children([retval, out] IDispatch **p);
4511
4512     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4513     HRESULT all([retval, out] IDispatch **p);
4514 }
4515
4516 #define WINE_IHTMLELEMENT_DISPINTERFACE_DECL                            \
4517     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]                              \
4518     void setAttribute(                                                  \
4519         [in] BSTR strAttributeName,                                     \
4520         [in] VARIANT AttValue,                                          \
4521         [defaultvalue(1), in] LONG lFlags);                             \
4522                                                                         \
4523     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]                              \
4524     VARIANT getAttribute(                                               \
4525         [in] BSTR strAttributeName,                                     \
4526         [defaultvalue(0), in] LONG lFlags);                             \
4527                                                                         \
4528     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]                           \
4529     VARIANT_BOOL removeAttribute(                                       \
4530         [in] BSTR strAttributeName,                                     \
4531         [defaultvalue(1), in] LONG lFlags);                             \
4532                                                                         \
4533     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4534     void className(BSTR v);                                             \
4535                                                                         \
4536     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4537     BSTR className();                                                   \
4538                                                                         \
4539     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4540     void id(BSTR v);                                                    \
4541                                                                         \
4542     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4543     BSTR id();                                                          \
4544                                                                         \
4545     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]                          \
4546     BSTR tagName();                                                     \
4547                                                                         \
4548     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]                    \
4549     IHTMLElement *parentElement();                                      \
4550                                                                         \
4551     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]              \
4552     IHTMLStyle *style();                                                \
4553                                                                         \
4554     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4555     void onhelp(VARIANT v);                                             \
4556                                                                         \
4557     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4558     VARIANT onhelp();                                                   \
4559                                                                         \
4560     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4561     void onclick(VARIANT v);                                            \
4562                                                                         \
4563     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4564     VARIANT onclick();                                                  \
4565                                                                         \
4566     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4567     void ondblclick(VARIANT v);                                         \
4568                                                                         \
4569     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4570     VARIANT ondblclick();                                               \
4571                                                                         \
4572     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4573     void onkeydown(VARIANT v);                                          \
4574                                                                         \
4575     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4576     VARIANT onkeydown();                                                \
4577                                                                         \
4578     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4579     void onkeyup(VARIANT v);                                            \
4580                                                                         \
4581     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4582     VARIANT onkeyup();                                                  \
4583                                                                         \
4584     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4585     void onkeypress(VARIANT v);                                         \
4586                                                                         \
4587     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4588     VARIANT onkeypress();                                               \
4589                                                                         \
4590     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4591     void onmouseout(VARIANT v);                                         \
4592                                                                         \
4593     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4594     VARIANT onmouseout();                                               \
4595                                                                         \
4596     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4597     void onmouseover(VARIANT v);                                        \
4598                                                                         \
4599     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4600     VARIANT onmouseover();                                              \
4601                                                                         \
4602     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4603     void onmousemove(VARIANT v);                                        \
4604                                                                         \
4605     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4606     VARIANT onmousemove();                                              \
4607                                                                         \
4608     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4609     void onmousedown(VARIANT v);                                        \
4610                                                                         \
4611     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4612     VARIANT onmousedown();                                              \
4613                                                                         \
4614     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4615     void onmouseup(VARIANT v);                                          \
4616                                                                         \
4617     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4618     VARIANT onmouseup();                                                \
4619                                                                         \
4620     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();  \
4621                                                                         \
4622     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4623     void title(BSTR v);                                                 \
4624                                                                         \
4625     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4626     BSTR title();                                                       \
4627                                                                         \
4628     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4629     void language(BSTR v);                                              \
4630                                                                         \
4631     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4632     BSTR language();                                                    \
4633                                                                         \
4634     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4635     void onselectstart(VARIANT v);                                      \
4636                                                                         \
4637     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4638     VARIANT onselectstart();                                            \
4639                                                                         \
4640     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]                            \
4641     void scrollIntoView([optional, in] VARIANT varargStart);            \
4642                                                                         \
4643     [id(DISPID_IHTMLELEMENT_CONTAINS)]                                  \
4644     VARIANT_BOOL contains([in] IHTMLElement* pChild);                   \
4645                                                                         \
4646     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]            \
4647     LONG sourceIndex();                                                 \
4648                                                                         \
4649     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]                     \
4650     VARIANT recordNumber();                                             \
4651                                                                         \
4652     [propput, id(DISPID_IHTMLELEMENT_LANG)]                             \
4653     void lang(BSTR v);                                                  \
4654                                                                         \
4655     [propget, id(DISPID_IHTMLELEMENT_LANG)]                             \
4656     BSTR lang();                                                        \
4657                                                                         \
4658     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]                       \
4659     LONG offsetLeft();                                                  \
4660                                                                         \
4661     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]                        \
4662     LONG offsetTop();                                                   \
4663                                                                         \
4664     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]                      \
4665     LONG offsetWidth();                                                 \
4666                                                                         \
4667     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]                     \
4668     LONG offsetHeight();                                                \
4669                                                                         \
4670     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]                     \
4671     IHTMLElement* offsetParent();                                       \
4672                                                                         \
4673     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4674     void innerHTML(BSTR v);                                             \
4675                                                                         \
4676     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4677     BSTR innerHTML();                                                   \
4678                                                                         \
4679     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4680     void innerText(BSTR v);                                             \
4681                                                                         \
4682     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4683     BSTR innerText();                                                   \
4684                                                                         \
4685     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4686     void outerHTML(BSTR v);                                             \
4687                                                                         \
4688     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4689     BSTR outerHTML();                                                   \
4690                                                                         \
4691     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4692     void outerText(BSTR v);                                             \
4693                                                                         \
4694     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4695     BSTR outerText();                                                   \
4696                                                                         \
4697     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]                        \
4698     void insertAdjacentHTML(                                            \
4699         [in] BSTR where,                                                \
4700         [in] BSTR html);                                                \
4701                                                                         \
4702     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]                        \
4703     void insertAdjacentText(                                            \
4704         [in] BSTR where,                                                \
4705         [in] BSTR text);                                                \
4706                                                                         \
4707     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]                   \
4708     IHTMLElement* parentTextEdit();                                     \
4709                                                                         \
4710     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]                       \
4711     VARIANT_BOOL isTextEdit();                                          \
4712                                                                         \
4713     [id(DISPID_IHTMLELEMENT_CLICK)]                                     \
4714     void click();                                                       \
4715                                                                         \
4716     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]                          \
4717     IHTMLFiltersCollection* filters();                                  \
4718                                                                         \
4719     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4720     void ondragstart(VARIANT v);                                        \
4721                                                                         \
4722     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4723     VARIANT ondragstart();                                              \
4724                                                                         \
4725     [id(DISPID_IHTMLELEMENT_TOSTRING)]                                  \
4726     BSTR toString();                                                    \
4727                                                                         \
4728     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4729     void onbeforeupdate(VARIANT v);                                     \
4730                                                                         \
4731     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4732     VARIANT onbeforeupdate();                                           \
4733                                                                         \
4734     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4735     void onafterupdate(VARIANT v);                                      \
4736                                                                         \
4737     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4738     VARIANT onafterupdate();                                            \
4739                                                                         \
4740     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4741     void onerrorupdate(VARIANT v);                                      \
4742                                                                         \
4743     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4744     VARIANT onerrorupdate();                                            \
4745                                                                         \
4746     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4747     void onrowexit(VARIANT v);                                          \
4748                                                                         \
4749     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4750     VARIANT onrowexit();                                                \
4751                                                                         \
4752     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4753     void onrowenter(VARIANT v);                                         \
4754                                                                         \
4755     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4756     VARIANT onrowenter();                                               \
4757                                                                         \
4758     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4759     void ondatasetchanged(VARIANT v);                                   \
4760                                                                         \
4761     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4762     VARIANT ondatasetchanged();                                         \
4763                                                                         \
4764     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4765     void ondataavailable(VARIANT v);                                    \
4766                                                                         \
4767     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4768     VARIANT ondataavailable();                                          \
4769                                                                         \
4770     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4771     void ondatasetcomplete(VARIANT v);                                  \
4772                                                                         \
4773     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4774     VARIANT ondatasetcomplete();                                        \
4775                                                                         \
4776     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4777     void onfilterchange(VARIANT v);                                     \
4778                                                                         \
4779     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4780     VARIANT onfilterchange();                                           \
4781                                                                         \
4782     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]                         \
4783     IDispatch* children();                                              \
4784                                                                         \
4785     [propget, id(DISPID_IHTMLELEMENT_ALL)]                              \
4786     IDispatch* all()
4787
4788 /*****************************************************************************
4789  *    IHTMLElement2 interface
4790  */
4791 [
4792     odl,
4793     oleautomation,
4794     dual,
4795     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
4796 ]
4797 interface IHTMLElement2 : IDispatch
4798 {
4799     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4800     HRESULT scopeName([retval, out] BSTR *p);
4801
4802     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4803     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
4804
4805     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4806     HRESULT releaseCapture();
4807
4808     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4809     HRESULT onlosecapture([in] VARIANT v);
4810
4811     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4812     HRESULT onlosecapture([retval, out] VARIANT *p);
4813
4814     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4815     HRESULT componentFromPoint(
4816         [in] LONG x,
4817         [in] LONG y,
4818         [retval, out] BSTR *component);
4819
4820     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4821     HRESULT doScroll([optional, in] VARIANT component);
4822
4823     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4824     HRESULT onscroll([in] VARIANT v);
4825
4826     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4827     HRESULT onscroll([retval, out] VARIANT *p);
4828
4829     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4830     HRESULT ondrag([in] VARIANT v);
4831
4832     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4833     HRESULT ondrag([retval, out] VARIANT *p);
4834
4835     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4836     HRESULT ondragend([in] VARIANT v);
4837
4838     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4839     HRESULT ondragend([retval, out] VARIANT *p);
4840
4841     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4842     HRESULT ondragenter([in] VARIANT v);
4843
4844     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4845     HRESULT ondragenter([retval, out] VARIANT *p);
4846
4847     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4848     HRESULT ondragover([in] VARIANT v);
4849
4850     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4851     HRESULT ondragover([retval, out] VARIANT *p);
4852
4853     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4854     HRESULT ondragleave([in] VARIANT v);
4855
4856     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4857     HRESULT ondragleave([retval, out] VARIANT *p);
4858
4859     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4860     HRESULT ondrop([in] VARIANT v);
4861
4862     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4863     HRESULT ondrop([retval, out] VARIANT *p);
4864
4865     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4866     HRESULT onbeforecut([in] VARIANT v);
4867
4868     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4869     HRESULT onbeforecut([retval, out] VARIANT *p);
4870
4871     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4872     HRESULT oncut([in] VARIANT v);
4873
4874     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4875     HRESULT oncut([retval, out] VARIANT *p);
4876
4877     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4878     HRESULT onbeforecopy([in] VARIANT v);
4879
4880     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4881     HRESULT onbeforecopy([retval, out] VARIANT *p);
4882
4883     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4884     HRESULT oncopy([in] VARIANT v);
4885
4886     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4887     HRESULT oncopy([retval, out] VARIANT *p);
4888
4889     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4890     HRESULT onbeforepaste([in] VARIANT v);
4891
4892     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4893     HRESULT onbeforepaste([retval, out] VARIANT *p);
4894
4895     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4896     HRESULT onpaste([in] VARIANT v);
4897
4898     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4899     HRESULT onpaste([retval, out] VARIANT *p);
4900
4901     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4902     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
4903
4904     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4905     HRESULT onpropertychange([in] VARIANT v);
4906
4907     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4908     HRESULT onpropertychange([retval, out] VARIANT *p);
4909
4910     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4911     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
4912
4913     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4914     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
4915
4916     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4917     HRESULT setExpression(
4918         [in] BSTR propname,
4919         [in] BSTR expression,
4920         [defaultvalue(""), in] BSTR language);
4921
4922     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4923     HRESULT getExpression(
4924         [in] BSTR propname,
4925         [retval, out] VARIANT *expression);
4926
4927     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4928     HRESULT removeExpression(
4929         [in] BSTR propname,
4930         [retval, out] VARIANT_BOOL *pfSuccess);
4931
4932     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4933     HRESULT tabIndex([in] short v);
4934
4935     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4936     HRESULT tabIndex([retval, out] short *p);
4937
4938     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4939     HRESULT focus();
4940
4941     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4942     HRESULT accessKey([in] BSTR v);
4943
4944     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4945     HRESULT accessKey([retval, out] BSTR *p);
4946
4947     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4948     HRESULT onblur([in] VARIANT v);
4949
4950     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4951     HRESULT onblur([retval, out] VARIANT *p);
4952
4953     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4954     HRESULT onfocus([in] VARIANT v);
4955
4956     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4957     HRESULT onfocus([retval, out] VARIANT *p);
4958
4959     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4960     HRESULT onresize([in] VARIANT v);
4961
4962     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4963     HRESULT onresize([retval, out] VARIANT *p);
4964
4965     [id(DISPID_IHTMLELEMENT2_BLUR)]
4966     HRESULT blur();
4967
4968     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4969     HRESULT addFilter([in] IUnknown *pUnk);
4970
4971     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4972     HRESULT removeFilter([in] IUnknown *pUnk);
4973
4974     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4975     HRESULT clientHeight([retval, out] LONG *p);
4976
4977     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4978     HRESULT clientWidth([retval, out] LONG *p);
4979
4980     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4981     HRESULT clientTop([retval, out] LONG *p);
4982
4983     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4984     HRESULT clientLeft([retval, out] LONG *p);
4985
4986     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4987     HRESULT attachEvent(
4988         [in] BSTR event,
4989         [in] IDispatch *pDisp,
4990         [retval, out] VARIANT_BOOL *pfResult);
4991
4992     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4993     HRESULT detachEvent(
4994         [in] BSTR event,
4995         [in] IDispatch *pDisp);
4996
4997     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4998     HRESULT readyState([retval, out] VARIANT *p);
4999
5000     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5001     HRESULT onreadystatechange([in] VARIANT v);
5002
5003     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5004     HRESULT onreadystatechange([retval, out] VARIANT *p);
5005
5006     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5007     HRESULT onrowsdelete([in] VARIANT v);
5008
5009     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5010     HRESULT onrowsdelete([retval, out] VARIANT *p);
5011
5012     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5013     HRESULT onrowsinserted([in] VARIANT v);
5014
5015     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5016     HRESULT onrowsinserted([retval, out] VARIANT *p);
5017
5018     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5019     HRESULT oncellchange([in] VARIANT v);
5020
5021     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5022     HRESULT oncellchange([retval, out] VARIANT *p);
5023
5024     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5025     HRESULT dir([in] BSTR v);
5026
5027     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5028     HRESULT dir([retval, out] BSTR *p);
5029
5030     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5031     HRESULT createControlRange([retval, out] IDispatch **range);
5032
5033     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5034     HRESULT scrollHeight([retval, out] LONG *p);
5035
5036     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5037     HRESULT scrollWidth([retval, out] LONG *p);
5038
5039     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5040     HRESULT scrollTop([in] LONG v);
5041
5042     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5043     HRESULT scrollTop([retval, out] LONG *p);
5044
5045     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5046     HRESULT scrollLeft([in] LONG v);
5047
5048     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5049     HRESULT scrollLeft([retval, out] LONG *p);
5050
5051     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5052     HRESULT clearAttributes();
5053
5054     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
5055     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
5056
5057     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5058     HRESULT oncontextmenu([in] VARIANT v);
5059
5060     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5061     HRESULT oncontextmenu([retval, out] VARIANT *p);
5062
5063     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5064     HRESULT insertAdjacentElement(
5065         [in] BSTR where,
5066         [in] IHTMLElement *insertedElement,
5067         [retval, out] IHTMLElement **inserted);
5068
5069     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5070     HRESULT applyElement(
5071         [in] IHTMLElement *apply,
5072         [in] BSTR where,
5073         [retval, out] IHTMLElement **applied);
5074
5075     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5076     HRESULT getAdjacentText(
5077         [in] BSTR where,
5078         [retval, out] BSTR *text);
5079
5080     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5081     HRESULT replaceAdjacentText(
5082         [in] BSTR where,
5083         [in] BSTR newText,
5084         [retval, out] BSTR *oldText);
5085
5086     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5087     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
5088
5089     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5090     HRESULT addBehavior(
5091         [in] BSTR bstrUrl,
5092         [optional, in] VARIANT *pvarFactory,
5093         [retval, out] LONG *pCookie);
5094
5095     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5096     HRESULT removeBehavior(
5097         [in] LONG cookie,
5098         [retval, out] VARIANT_BOOL *pfResult);
5099
5100     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5101     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
5102
5103     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5104     HRESULT behaviorUrns([retval, out] IDispatch **p);
5105
5106     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5107     HRESULT tagUrn([in] BSTR v);
5108
5109     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5110     HRESULT tagUrn([retval, out] BSTR *p);
5111
5112     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5113     HRESULT onbeforeeditfocus([in] VARIANT v);
5114
5115     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5116     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
5117
5118     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5119     HRESULT readyStateValue([retval, out] LONG *p);
5120
5121     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5122     HRESULT getElementsByTagName(
5123         [in] BSTR v,
5124         [retval, out] IHTMLElementCollection **pelColl);
5125 }
5126
5127 #define WINE_IHTMLELEMENT2_DISPINTERFACE_DECL                           \
5128     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]                       \
5129     BSTR scopeName();                                                   \
5130                                                                         \
5131     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]                               \
5132     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture); \
5133                                                                         \
5134     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]                           \
5135     void releaseCapture();                                              \
5136                                                                         \
5137     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
5138     void onlosecapture(VARIANT v);                                      \
5139                                                                         \
5140     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
5141     VARIANT onlosecapture();                                            \
5142                                                                         \
5143     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]                       \
5144     BSTR componentFromPoint([in] LONG x,[in] LONG y);                   \
5145                                                                         \
5146     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]                                 \
5147     void doScroll([optional, in] VARIANT component);                    \
5148                                                                         \
5149     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
5150     void onscroll(VARIANT v);                                           \
5151                                                                         \
5152     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
5153     VARIANT onscroll();                                                 \
5154                                                                         \
5155     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
5156     void ondrag(VARIANT v);                                             \
5157                                                                         \
5158     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
5159     VARIANT ondrag();                                                   \
5160                                                                         \
5161     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
5162     void ondragend(VARIANT v);                                          \
5163                                                                         \
5164     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
5165     VARIANT ondragend();                                                \
5166                                                                         \
5167     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
5168     void ondragenter(VARIANT v);                                        \
5169                                                                         \
5170     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
5171     VARIANT ondragenter();                                              \
5172                                                                         \
5173     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
5174     void ondragover(VARIANT v);                                         \
5175                                                                         \
5176     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
5177     VARIANT ondragover();                                               \
5178                                                                         \
5179     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
5180     void ondragleave(VARIANT v);                                        \
5181                                                                         \
5182     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
5183     VARIANT ondragleave();                                              \
5184                                                                         \
5185     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
5186     void ondrop(VARIANT v);                                             \
5187                                                                         \
5188     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
5189     VARIANT ondrop();                                                   \
5190                                                                         \
5191     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
5192     void onbeforecut(VARIANT v);                                        \
5193                                                                         \
5194     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
5195     VARIANT onbeforecut();                                              \
5196                                                                         \
5197     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
5198     void oncut(VARIANT v);                                              \
5199                                                                         \
5200     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
5201     VARIANT oncut();                                                    \
5202                                                                         \
5203     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
5204     void onbeforecopy(VARIANT v);                                       \
5205                                                                         \
5206     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
5207     VARIANT onbeforecopy();                                             \
5208                                                                         \
5209     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
5210     void oncopy(VARIANT v);                                             \
5211                                                                         \
5212     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
5213     VARIANT oncopy();                                                   \
5214                                                                         \
5215     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
5216     void onbeforepaste(VARIANT v);                                      \
5217                                                                         \
5218     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
5219     VARIANT onbeforepaste();                                            \
5220                                                                         \
5221     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
5222     void onpaste(VARIANT v);                                            \
5223                                                                         \
5224     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
5225     VARIANT onpaste();                                                  \
5226                                                                         \
5227     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]      \
5228     IHTMLCurrentStyle* currentStyle();                                  \
5229                                                                         \
5230     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
5231     void onpropertychange(VARIANT v);                                   \
5232                                                                         \
5233     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
5234     VARIANT onpropertychange();                                         \
5235                                                                         \
5236     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]                           \
5237     IHTMLRectCollection* getClientRects();                              \
5238                                                                         \
5239     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]                    \
5240     IHTMLRect* getBoundingClientRect();                                 \
5241                                                                         \
5242     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]                            \
5243     void setExpression(                                                 \
5244         [in] BSTR propname,                                             \
5245         [in] BSTR expr,                                                 \
5246         [defaultvalue(""), in] BSTR lang);                              \
5247                                                                         \
5248     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]                            \
5249     VARIANT getExpression([in] BSTR propname);                          \
5250                                                                         \
5251     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]                         \
5252     VARIANT_BOOL removeExpression([in] BSTR propname);                  \
5253                                                                         \
5254     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
5255     void tabIndex(short v);                                             \
5256                                                                         \
5257     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
5258     short tabIndex();                                                   \
5259                                                                         \
5260     [id(DISPID_IHTMLELEMENT2_FOCUS)]                                    \
5261     void focus();                                                       \
5262                                                                         \
5263     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
5264     void accessKey(BSTR v);                                             \
5265                                                                         \
5266     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
5267     BSTR accessKey();                                                   \
5268                                                                         \
5269     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5270     void onblur(VARIANT v);                                             \
5271                                                                         \
5272     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5273     VARIANT onblur();                                                   \
5274                                                                         \
5275     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5276     void onfocus(VARIANT v);                                            \
5277                                                                         \
5278     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5279     VARIANT onfocus();                                                  \
5280                                                                         \
5281     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5282     void onresize(VARIANT v);                                           \
5283                                                                         \
5284     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5285     VARIANT onresize();                                                 \
5286                                                                         \
5287     [id(DISPID_IHTMLELEMENT2_BLUR)]                                     \
5288     void blur();                                                        \
5289                                                                         \
5290     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]                                \
5291     void addFilter([in] IUnknown* pUnk);                                \
5292                                                                         \
5293     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]                             \
5294     void removeFilter([in] IUnknown* pUnk);                             \
5295                                                                         \
5296     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] \
5297     LONG clientHeight();                                                \
5298                                                                         \
5299     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] \
5300     LONG clientWidth();                                                 \
5301                                                                         \
5302     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] \
5303     LONG clientTop();                                                   \
5304                                                                         \
5305     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] \
5306     LONG clientLeft();                                                  \
5307                                                                         \
5308     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]                              \
5309     VARIANT_BOOL attachEvent(                                           \
5310             [in] BSTR event,                                            \
5311             [in] IDispatch* pDisp);                                     \
5312                                                                         \
5313     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]                              \
5314     void detachEvent(                                                   \
5315             [in] BSTR event,                                            \
5316             [in] IDispatch* pDisp);                                     \
5317                                                                         \
5318     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState(); \
5319                                                                         \
5320     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5321     void onreadystatechange(VARIANT v);                                 \
5322                                                                         \
5323     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5324     VARIANT onreadystatechange();                                       \
5325                                                                         \
5326     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5327     void onrowsdelete(VARIANT v);                                       \
5328                                                                         \
5329     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5330     VARIANT onrowsdelete();                                             \
5331                                                                         \
5332     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5333     void onrowsinserted(VARIANT v);                                     \
5334                                                                         \
5335     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5336     VARIANT onrowsinserted();                                           \
5337                                                                         \
5338     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5339     void oncellchange(VARIANT v);                                       \
5340                                                                         \
5341     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5342     VARIANT oncellchange();                                             \
5343                                                                         \
5344     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5345     void dir(BSTR v);                                                   \
5346                                                                         \
5347     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5348     BSTR dir();                                                         \
5349                                                                         \
5350     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]                       \
5351     IDispatch* createControlRange();                                    \
5352                                                                         \
5353     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] \
5354     LONG scrollHeight();                                                \
5355                                                                         \
5356     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] \
5357     LONG scrollWidth();                                                 \
5358                                                                         \
5359     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5360     void scrollTop(LONG v);                                             \
5361                                                                         \
5362     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5363     LONG scrollTop();                                                   \
5364                                                                         \
5365     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5366     void scrollLeft(LONG v);                                            \
5367                                                                         \
5368     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5369     LONG scrollLeft();                                                  \
5370                                                                         \
5371     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]                          \
5372     void clearAttributes();                                             \
5373                                                                         \
5374     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5375     void oncontextmenu(VARIANT v);                                      \
5376                                                                         \
5377     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5378     VARIANT oncontextmenu();                                            \
5379                                                                         \
5380     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]                    \
5381     IHTMLElement* insertAdjacentElement(                                \
5382         [in] BSTR where,                                                \
5383         [in] IHTMLElement* insertedElement);                            \
5384                                                                         \
5385     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]                             \
5386     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where); \
5387                                                                         \
5388     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]                          \
5389     BSTR getAdjacentText([in] BSTR where);                              \
5390                                                                         \
5391     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]                      \
5392     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);        \
5393                                                                         \
5394     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]                 \
5395     VARIANT_BOOL canHaveChildren();                                     \
5396                                                                         \
5397     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]                              \
5398     LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory); \
5399                                                                         \
5400     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]                           \
5401     VARIANT_BOOL removeBehavior([in] LONG cookie);                      \
5402                                                                         \
5403     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]      \
5404     IHTMLStyle* runtimeStyle();                                         \
5405                                                                         \
5406     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]                    \
5407     IDispatch* behaviorUrns();                                          \
5408                                                                         \
5409     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5410     void tagUrn(BSTR v);                                                \
5411                                                                         \
5412     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5413     BSTR tagUrn();                                                      \
5414                                                                         \
5415     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5416     void onbeforeeditfocus(VARIANT v);                                  \
5417                                                                         \
5418     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5419     VARIANT onbeforeeditfocus();                                        \
5420                                                                         \
5421     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] \
5422     LONG readyStateValue();                                             \
5423                                                                         \
5424     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]                     \
5425     IHTMLElementCollection* getElementsByTagName([in] BSTR v)
5426
5427 /*****************************************************************************
5428  *    IHTMLElement3 interface
5429  */
5430 [
5431     odl,
5432     oleautomation,
5433     dual,
5434     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
5435 ]
5436 interface IHTMLElement3 : IDispatch
5437 {
5438     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
5439     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
5440
5441     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5442     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
5443
5444     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5445     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
5446
5447     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5448     HRESULT onlayoutcomplete([in] VARIANT v);
5449
5450     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5451     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
5452
5453     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5454     HRESULT onpage([in] VARIANT v);
5455
5456     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5457     HRESULT onpage([retval, out] VARIANT * p);
5458
5459     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5460     HRESULT inflateBlock([in] VARIANT_BOOL v);
5461
5462     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5463     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
5464
5465     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5466     HRESULT onbeforedeactivate([in] VARIANT v);
5467
5468     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5469     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
5470
5471     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
5472
5473     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5474     HRESULT contentEditable([in] BSTR v);
5475
5476     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5477     HRESULT contentEditable([retval, out] BSTR * p);
5478
5479     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5480     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
5481
5482     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5483     HRESULT hideFocus([in] VARIANT_BOOL v);
5484
5485     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5486     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
5487
5488     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5489     HRESULT disabled([in] VARIANT_BOOL v);
5490
5491     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5492     HRESULT disabled([retval, out] VARIANT_BOOL * p);
5493
5494     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5495     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
5496
5497     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5498     HRESULT onmove([in] VARIANT v);
5499
5500     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5501     HRESULT onmove([retval, out] VARIANT * p);
5502
5503     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5504     HRESULT oncontrolselect([in] VARIANT v);
5505
5506     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5507     HRESULT oncontrolselect([retval, out] VARIANT * p);
5508
5509     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5510     HRESULT fireEvent(
5511         [in] BSTR bstrEventName,
5512         [optional, in] VARIANT* pvarEventObject,
5513         [retval, out] VARIANT_BOOL* pfCancelled);
5514
5515     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5516     HRESULT onresizestart([in] VARIANT v);
5517
5518     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5519     HRESULT onresizestart([retval, out] VARIANT * p);
5520
5521     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5522     HRESULT onresizeend([in] VARIANT v);
5523
5524     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5525     HRESULT onresizeend([retval, out] VARIANT * p);
5526
5527     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5528     HRESULT onmovestart([in] VARIANT v);
5529
5530     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5531     HRESULT onmovestart([retval, out] VARIANT * p);
5532
5533     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5534     HRESULT onmoveend([in] VARIANT v);
5535
5536     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5537     HRESULT onmoveend([retval, out] VARIANT * p);
5538
5539     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5540     HRESULT onmouseenter([in] VARIANT v);
5541
5542     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5543     HRESULT onmouseenter([retval, out] VARIANT * p);
5544
5545     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5546     HRESULT onmouseleave([in] VARIANT v);
5547
5548     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5549     HRESULT onmouseleave([retval, out] VARIANT * p);
5550
5551     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5552     HRESULT onactivate([in] VARIANT v);
5553
5554     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5555     HRESULT onactivate([retval, out] VARIANT * p);
5556
5557     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5558     HRESULT ondeactivate([in] VARIANT v);
5559
5560     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5561     HRESULT ondeactivate([retval, out] VARIANT * p);
5562
5563     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
5564     VARIANT_BOOL* pfRet);
5565
5566     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5567     HRESULT glyphMode([retval, out] LONG * p);
5568 }
5569
5570 #define WINE_IHTMLELEMENT3_DISPINTERFACE_DECL                           \
5571                                                                         \
5572     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]                          \
5573     void mergeAttributes(                                               \
5574             [in] IHTMLElement* mergeThis,                               \
5575             [optional, in] VARIANT* pvarFlags);                         \
5576                                                                         \
5577     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]                     \
5578     VARIANT_BOOL isMultiLine();                                         \
5579                                                                         \
5580     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]                     \
5581     VARIANT_BOOL canHaveHTML();                                         \
5582                                                                         \
5583     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5584     void onlayoutcomplete(VARIANT v);                                   \
5585                                                                         \
5586     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5587     VARIANT onlayoutcomplete();                                         \
5588                                                                         \
5589     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5590     void onpage(VARIANT v);                                             \
5591                                                                         \
5592     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5593     VARIANT onpage();                                                   \
5594                                                                         \
5595     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5596     void inflateBlock(VARIANT_BOOL v);                                  \
5597                                                                         \
5598     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5599     VARIANT_BOOL inflateBlock();                                        \
5600                                                                         \
5601     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5602     void onbeforedeactivate(VARIANT v);                                 \
5603                                                                         \
5604     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5605     VARIANT onbeforedeactivate();                                       \
5606                                                                         \
5607     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]                                \
5608     void setActive();                                                   \
5609                                                                         \
5610     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5611     void contentEditable(BSTR v);                                       \
5612                                                                         \
5613     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5614     BSTR contentEditable();                                             \
5615                                                                         \
5616     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]               \
5617     VARIANT_BOOL isContentEditable();                                   \
5618                                                                         \
5619     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5620     void hideFocus(VARIANT_BOOL v);                                     \
5621                                                                         \
5622     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5623     VARIANT_BOOL hideFocus();                                           \
5624                                                                         \
5625     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5626     void disabled(VARIANT_BOOL v);                                      \
5627                                                                         \
5628     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5629     VARIANT_BOOL disabled();                                            \
5630                                                                         \
5631     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]                      \
5632     VARIANT_BOOL isDisabled();                                          \
5633                                                                         \
5634     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5635     void onmove(VARIANT v);                                             \
5636                                                                         \
5637     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5638     VARIANT onmove();                                                   \
5639                                                                         \
5640     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5641     void oncontrolselect(VARIANT v);                                    \
5642                                                                         \
5643     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5644     VARIANT oncontrolselect();                                          \
5645                                                                         \
5646     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]                                \
5647     VARIANT_BOOL fireEvent(                                             \
5648         [in] BSTR bstrEventName,                                        \
5649         [optional, in] VARIANT* pvarEventObject);                       \
5650                                                                         \
5651     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5652     void onresizestart(VARIANT v);                                      \
5653                                                                         \
5654     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5655     VARIANT onresizestart();                                            \
5656                                                                         \
5657     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5658     void onresizeend(VARIANT v);                                        \
5659                                                                         \
5660     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5661     VARIANT onresizeend();                                              \
5662                                                                         \
5663     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5664     void onmovestart(VARIANT v);                                        \
5665                                                                         \
5666     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5667     VARIANT onmovestart();                                              \
5668                                                                         \
5669     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5670     void onmoveend(VARIANT v);                                          \
5671                                                                         \
5672     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5673     VARIANT onmoveend();                                                \
5674                                                                         \
5675     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5676     void onmouseenter(VARIANT v);                                       \
5677                                                                         \
5678     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5679     VARIANT onmouseenter();                                             \
5680                                                                         \
5681     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5682     void onmouseleave(VARIANT v);                                       \
5683                                                                         \
5684     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5685     VARIANT onmouseleave();                                             \
5686                                                                         \
5687     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5688     void onactivate(VARIANT v);                                         \
5689                                                                         \
5690     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5691     VARIANT onactivate();                                               \
5692                                                                         \
5693     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5694     void ondeactivate(VARIANT v);                                       \
5695                                                                         \
5696     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5697     VARIANT ondeactivate();                                             \
5698                                                                         \
5699     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]                                 \
5700     VARIANT_BOOL dragDrop();                                            \
5701                                                                         \
5702     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] \
5703     LONG glyphMode()
5704
5705 /*****************************************************************************
5706  *    IHTMLElement4 interface
5707  */
5708 [
5709     odl,
5710     oleautomation,
5711     dual,
5712     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
5713 ]
5714 interface IHTMLElement4 : IDispatch
5715 {
5716     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5717     HRESULT onmousewheel([in] VARIANT v);
5718
5719     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5720     HRESULT onmousewheel([retval, out] VARIANT * p);
5721
5722     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5723     HRESULT normalize();
5724
5725     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5726     HRESULT getAttributeNode([in] BSTR bstrname,
5727         [retval, out] IHTMLDOMAttribute** ppAttribute);
5728
5729     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5730     HRESULT setAttributeNode(
5731         [in] IHTMLDOMAttribute* pattr,
5732         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5733
5734     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5735     HRESULT removeAttributeNode(
5736         [in] IHTMLDOMAttribute* pattr,
5737         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5738
5739     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5740     HRESULT onbeforeactivate([in] VARIANT v);
5741
5742     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5743     HRESULT onbeforeactivate([retval, out] VARIANT * p);
5744
5745     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5746     HRESULT onfocusin([in] VARIANT v);
5747
5748     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5749     HRESULT onfocusin([retval, out] VARIANT * p);
5750
5751     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5752     HRESULT onfocusout([in] VARIANT v);
5753
5754     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5755     HRESULT onfocusout([retval, out] VARIANT * p);
5756 }
5757
5758 #define WINE_IHTMLELEMENT4_DISPINTERFACE_DECL                           \
5759     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5760     void onmousewheel(VARIANT v);                                       \
5761                                                                         \
5762     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5763     VARIANT onmousewheel();                                             \
5764                                                                         \
5765     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]                                \
5766     void normalize();                                                   \
5767                                                                         \
5768     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]                         \
5769     IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);            \
5770                                                                         \
5771     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]                         \
5772     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr); \
5773                                                                         \
5774     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]                      \
5775     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr); \
5776                                                                         \
5777     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5778     void onbeforeactivate(VARIANT v);                                   \
5779                                                                         \
5780     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5781     VARIANT onbeforeactivate();                                         \
5782                                                                         \
5783     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5784     void onfocusin(VARIANT v);                                          \
5785                                                                         \
5786     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5787     VARIANT onfocusin();                                                \
5788                                                                         \
5789     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5790     void onfocusout(VARIANT v);                                         \
5791                                                                         \
5792     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5793     VARIANT onfocusout()
5794
5795 #define WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL                \
5796     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)]                 \
5797     IHTMLElement *querySelector([in] BSTR v);                   \
5798                                                                 \
5799     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)]              \
5800     IHTMLDOMChildrenCollection *querySelectorAll([in] BSTR v)
5801
5802 /*****************************************************************************
5803  *    IHTMLUniqueName interface
5804  */
5805 [
5806     odl,
5807     oleautomation,
5808     dual,
5809     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
5810 ]
5811 interface IHTMLUniqueName : IDispatch
5812 {
5813     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5814     HRESULT uniqueNumber([retval, out] LONG * p);
5815
5816     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5817     HRESULT uniqueID([retval, out] BSTR * p);
5818 }
5819
5820 #define WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL                 \
5821     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]  \
5822     LONG uniqueNumber();                                        \
5823                                                                 \
5824     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]      \
5825     BSTR uniqueID()
5826
5827 #define WINE_IHTMLELEMENT5_DISPINTERFACE_DECL                           \
5828     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)]                     \
5829     IHTMLDOMAttribute2 *ie8_getAttributeNode([in] BSTR bstrname);       \
5830                                                                         \
5831     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)]                     \
5832     IHTMLDOMAttribute2 *ie8_setAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5833                                                                         \
5834     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)]                  \
5835     IHTMLDOMAttribute2 *ie8_removeAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5836                                                                         \
5837     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)]                             \
5838     VARIANT_BOOL hasAttribute([in] BSTR name);                          \
5839                                                                         \
5840     [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5841     void role(BSTR v);                                                  \
5842                                                                         \
5843     [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5844     BSTR role();                                                        \
5845                                                                         \
5846     [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5847     void ariaBusy(BSTR v);                                              \
5848                                                                         \
5849     [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5850     BSTR ariaBusy();                                                    \
5851                                                                         \
5852     [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5853     void ariaChecked(BSTR v);                                           \
5854                                                                         \
5855     [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5856     BSTR ariaChecked();                                                 \
5857                                                                         \
5858     [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5859     void ariaDisabled(BSTR v);                                          \
5860                                                                         \
5861     [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5862     BSTR ariaDisabled();                                                \
5863                                                                         \
5864     [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5865     void ariaExpanded(BSTR v);                                          \
5866                                                                         \
5867     [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5868     BSTR ariaExpanded();                                                \
5869                                                                         \
5870     [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable]\
5871     void ariaHaspopup(BSTR v);                                          \
5872                                                                         \
5873     [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] \
5874     BSTR ariaHaspopup();                                                \
5875                                                                         \
5876     [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5877     void ariaHidden(BSTR v);                                            \
5878                                                                         \
5879     [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5880     BSTR ariaHidden();                                                  \
5881                                                                         \
5882     [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5883     void ariaInvalid(BSTR v);                                           \
5884                                                                         \
5885     [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5886     BSTR ariaInvalid();                                                 \
5887                                                                         \
5888     [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5889     void ariaMultiselectable(BSTR v);                                   \
5890                                                                         \
5891     [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5892     BSTR ariaMultiselectable();                                         \
5893                                                                         \
5894     [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5895     void ariaPressed(BSTR v);                                           \
5896                                                                         \
5897     [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5898     BSTR ariaPressed();                                                 \
5899                                                                         \
5900     [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
5901     void ariaReadonly(BSTR v);                                          \
5902                                                                         \
5903     [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
5904     BSTR ariaReadonly();                                                \
5905                                                                         \
5906     [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
5907     void ariaRequired(BSTR v);                                          \
5908                                                                         \
5909     [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
5910     BSTR ariaRequired();                                                \
5911                                                                         \
5912     [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
5913     void ariaSecret(BSTR v);                                            \
5914                                                                         \
5915     [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
5916     BSTR ariaSecret();                                                  \
5917                                                                         \
5918     [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
5919     void ariaSelected(BSTR v);                                          \
5920                                                                         \
5921     [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
5922     BSTR ariaSelected();                                                \
5923                                                                         \
5924     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)]                         \
5925     VARIANT ie8_getAttribute([in] BSTR strAttributeName);               \
5926                                                                         \
5927     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)]                         \
5928     void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue); \
5929                                                                         \
5930     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)]                      \
5931     VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);       \
5932                                                                         \
5933     [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)]                  \
5934     IHTMLAttributeCollection3 *ie8_attributes();                        \
5935                                                                         \
5936     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
5937     void ariaValuenow(BSTR v);                                          \
5938                                                                         \
5939     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
5940     BSTR ariaValuenow();                                                \
5941                                                                         \
5942     [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
5943     void ariaPosinset(short v);                                         \
5944                                                                         \
5945     [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
5946     short ariaPosinset();                                               \
5947                                                                         \
5948     [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
5949     void ariaSetsize(short v);                                          \
5950                                                                         \
5951     [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
5952     short ariaSetsize();                                                \
5953                                                                         \
5954     [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
5955     void ariaLevel(short v);                                            \
5956                                                                         \
5957     [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
5958     short ariaLevel();                                                  \
5959                                                                         \
5960     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
5961     void ariaValuemin(BSTR v);                                          \
5962                                                                         \
5963     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
5964     BSTR ariaValuemin();                                                \
5965                                                                         \
5966     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
5967     void ariaValuemax(BSTR v);                                          \
5968                                                                         \
5969     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
5970     BSTR ariaValuemax();                                                \
5971                                                                         \
5972     [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
5973     void ariaControls(BSTR v);                                          \
5974                                                                         \
5975     [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
5976     BSTR ariaControls();                                                \
5977                                                                         \
5978     [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
5979     void ariaDescribedby(BSTR v);                                       \
5980                                                                         \
5981     [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
5982     BSTR ariaDescribedby();                                             \
5983                                                                         \
5984     [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
5985     void ariaFlowto(BSTR v);                                            \
5986                                                                         \
5987     [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
5988     BSTR ariaFlowto();                                                  \
5989                                                                         \
5990     [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
5991     void ariaLabelledby(BSTR v);                                        \
5992                                                                         \
5993     [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
5994     BSTR ariaLabelledby();                                              \
5995                                                                         \
5996     [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
5997     void ariaActivedescendant(BSTR v);                                  \
5998                                                                         \
5999     [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
6000     BSTR ariaActivedescendant();                                        \
6001                                                                         \
6002     [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
6003     void ariaOwns(BSTR v);                                              \
6004                                                                         \
6005     [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
6006     BSTR ariaOwns();                                                    \
6007                                                                         \
6008     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)]                            \
6009     VARIANT_BOOL hasAttributes();                                       \
6010                                                                         \
6011     [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
6012     void ariaLive(BSTR v);                                              \
6013                                                                         \
6014     [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
6015     BSTR ariaLive();                                                    \
6016                                                                         \
6017     [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
6018     void ariaRelevant(BSTR v);                                          \
6019                                                                         \
6020     [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
6021     BSTR ariaRelevant()
6022
6023 [
6024     odl,
6025     oleautomation,
6026     dual,
6027     uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
6028 ]
6029 interface IHTMLDatabinding : IDispatch
6030 {
6031     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6032     HRESULT dataFld([in] BSTR v);
6033
6034     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6035     HRESULT dataFld([retval, out] BSTR * p);
6036
6037     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6038     HRESULT dataSrc([in] BSTR v);
6039
6040     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6041     HRESULT dataSrc([retval, out] BSTR * p);
6042
6043     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6044     HRESULT dataFormatAs([in] BSTR v);
6045
6046     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6047     HRESULT dataFormatAs([retval, out] BSTR * p);
6048 }
6049
6050 #define WINE_IHTMLDATABINDING_DISPINTERFACE_DECL        \
6051     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
6052     void dataFld(BSTR v);                               \
6053                                                         \
6054     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
6055     BSTR dataFld();                                     \
6056                                                         \
6057     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
6058     void dataSrc(BSTR v);                               \
6059                                                         \
6060     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
6061     BSTR dataSrc();                                     \
6062                                                         \
6063     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
6064     void dataFormatAs(BSTR v);                          \
6065                                                         \
6066     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
6067     BSTR dataFormatAs()
6068
6069 #define WINE_HTMLELEMENT_DISPINTERFACE_DECL     \
6070     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
6071     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
6072     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
6073     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
6074     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
6075     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
6076     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
6077     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
6078
6079 #define WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL \
6080     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
6081     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
6082     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
6083     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
6084     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
6085     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
6086     WINE_IHTMLDATABINDING_DISPINTERFACE_DECL;   \
6087     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
6088     WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL;   \
6089     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
6090
6091 /*****************************************************************************
6092  *    IHTMLGenericElement interface
6093  */
6094 [
6095     odl,
6096     oleautomation,
6097     dual,
6098     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
6099 ]
6100 interface IHTMLGenericElement : IDispatch
6101 {
6102     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
6103     HRESULT recordset([out, retval] IDispatch **p);
6104
6105     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
6106     HRESULT namedRecordset(
6107             [in] BSTR dataMember,
6108             [in, optional] VARIANT *hierarchy,
6109             [out, retval] IDispatch **ppRecordset);
6110 }
6111
6112 /*****************************************************************************
6113  *    DispHTMLGenericElement dispinterface
6114  */
6115 [
6116     hidden,
6117     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
6118 ]
6119 dispinterface DispHTMLGenericElement
6120 {
6121 properties:
6122 methods:
6123     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6124
6125     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
6126     IDispatch *recordset();
6127
6128     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
6129     IDispatch *namedRecordset(
6130             [in] BSTR dataMember,
6131             [in, optional] VARIANT *hierarchy);
6132 }
6133
6134 /*****************************************************************************
6135  *    IHTMLStyleSheetRule interface
6136  */
6137 [
6138     odl,
6139     oleautomation,
6140     dual,
6141     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
6142 ]
6143 interface IHTMLStyleSheetRule : IDispatch
6144 {
6145     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6146     HRESULT selectorText([in] BSTR v);
6147
6148     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6149     HRESULT selectorText([retval, out] BSTR *p);
6150
6151     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
6152     HRESULT style([retval, out] IHTMLRuleStyle **p);
6153
6154     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
6155     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6156 }
6157
6158 [
6159     hidden,
6160     uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b)
6161 ]
6162 dispinterface DispHTMLStyleSheetRule
6163 {
6164 properties:
6165 methods:
6166     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6167     void selectorText(BSTR v);
6168
6169     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6170     BSTR selectorText();
6171
6172     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable]
6173     IHTMLRuleStyle* style();
6174
6175     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
6176     VARIANT_BOOL readOnly();
6177
6178     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6179 }
6180
6181 [
6182     noncreatable,
6183     uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b)
6184 ]
6185 coclass HTMLStyleSheetRule
6186 {
6187     [default]           dispinterface DispHTMLStyleSheetRule;
6188                         interface IHTMLStyleSheetRule;
6189                         interface IHTMLDOMConstructor;
6190 }
6191
6192 /*****************************************************************************
6193  *    IHTMLStyleSheetRulesCollection interface
6194  */
6195 [
6196     odl,
6197     oleautomation,
6198     dual,
6199     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
6200 ]
6201 interface IHTMLStyleSheetRulesCollection : IDispatch
6202 {
6203     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
6204     HRESULT length([retval, out] LONG *p);
6205
6206     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
6207     HRESULT item(
6208         [in] LONG index,
6209         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
6210 }
6211
6212 [
6213     hidden,
6214     uuid(3050f52f-98b5-11cf-bb82-00aa00bdce0b)
6215 ]
6216 dispinterface DispHTMLStyleSheetRulesCollection
6217 {
6218 properties:
6219 methods:
6220     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
6221     long length();
6222
6223     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
6224     IHTMLStyleSheetRule* item([in] long index);
6225
6226     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6227 }
6228
6229 [
6230     noncreatable,
6231     uuid(3050f3cd-98b5-11cf-bb82-00aa00bdce0b)
6232 ]
6233 coclass HTMLStyleSheetRulesCollection
6234 {
6235     [default]           dispinterface DispHTMLStyleSheetRulesCollection;
6236                         interface IHTMLStyleSheetRulesCollection;
6237                         interface IHTMLDOMConstructor;
6238 }
6239
6240 [
6241     odl,
6242     oleautomation,
6243     dual,
6244     uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
6245 ]
6246 interface IHTMLStyleSheetPage : IDispatch
6247 {
6248     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
6249     HRESULT selector([retval, out] BSTR *p);
6250
6251     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
6252     HRESULT pseudoClass([retval, out] BSTR *p);
6253 }
6254
6255 [
6256     hidden,
6257     uuid(3050f540-98b5-11cf-bb82-00aa00bdce0b)
6258 ]
6259 dispinterface DispHTMLStyleSheetPage
6260 {
6261 properties:
6262 methods:
6263     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
6264     BSTR selector();
6265
6266     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
6267     BSTR pseudoClass();
6268
6269     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6270 }
6271 [
6272     noncreatable,
6273     uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b)
6274 ]
6275 coclass HTMLStyleSheetPage
6276 {
6277     [default]           dispinterface DispHTMLStyleSheetPage;
6278                         interface IHTMLStyleSheetPage;
6279                         interface IHTMLDOMConstructor;
6280 }
6281
6282 [
6283     odl,
6284     oleautomation,
6285     dual,
6286     uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
6287 ]
6288 interface IHTMLStyleSheetPagesCollection : IDispatch
6289 {
6290     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6291     HRESULT length([retval, out] LONG *p);
6292
6293     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6294     HRESULT item(
6295         [in] LONG index,
6296         [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
6297 }
6298
6299 [
6300     hidden,
6301     uuid(3050f543-98b5-11cf-bb82-00aa00bdce0b)
6302 ]
6303 dispinterface DispHTMLStyleSheetPagesCollection
6304 {
6305 properties:
6306 methods:
6307     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6308     long length();
6309
6310     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6311     IHTMLStyleSheetPage* item([in] long index);
6312
6313     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6314 }
6315
6316 [
6317     noncreatable,
6318     uuid(3050f7f1-98b5-11cf-bb82-00aa00bdce0b)
6319 ]
6320 coclass HTMLStyleSheetPagesCollection
6321 {
6322     [default]           dispinterface DispHTMLStyleSheetPagesCollection;
6323                         interface IHTMLStyleSheetPagesCollection;
6324                         interface IHTMLDOMConstructor;
6325 }
6326
6327 /*****************************************************************************
6328  *    IHTMLStyleSheet interface
6329  */
6330 [
6331     odl,
6332     oleautomation,
6333     dual,
6334     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
6335 ]
6336 interface IHTMLStyleSheet : IDispatch
6337 {
6338     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6339     HRESULT title([in] BSTR v);
6340
6341     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6342     HRESULT title([retval, out] BSTR *p);
6343
6344     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6345     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
6346
6347     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6348     HRESULT owningElement([retval, out] IHTMLElement **p);
6349
6350     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6351     HRESULT disabled([in] VARIANT_BOOL v);
6352
6353     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6354     HRESULT disabled([retval, out] VARIANT_BOOL *p);
6355
6356     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6357     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6358
6359     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6360     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
6361
6362     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6363     HRESULT href([in] BSTR v);
6364
6365     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6366     HRESULT href([retval, out] BSTR *p);
6367
6368     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6369     HRESULT type([retval, out] BSTR *p);
6370
6371     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6372     HRESULT id([retval, out] BSTR *p);
6373
6374     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6375     HRESULT addImport(
6376         [in] BSTR bstrURL,
6377         [defaultvalue(-1), in] LONG lIndex,
6378         [retval, out] LONG *plIndex);
6379
6380     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6381     HRESULT addRule(
6382         [in] BSTR bstrSelector,
6383         [in] BSTR bstrStyle,
6384         [defaultvalue(-1), in] LONG lIndex,
6385         [retval, out] LONG *plNewIndex);
6386
6387     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6388     HRESULT removeImport([in] LONG lIndex);
6389
6390     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6391     HRESULT removeRule([in] LONG lIndex);
6392
6393     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6394     HRESULT media([in] BSTR v);
6395
6396     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6397     HRESULT media([retval, out] BSTR *p);
6398
6399     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6400     HRESULT cssText([in] BSTR v);
6401
6402     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6403     HRESULT cssText([retval, out] BSTR *p);
6404
6405     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6406     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
6407 }
6408
6409 /*****************************************************************************
6410  *    IHTMLStyleSheet2 interface
6411  */
6412 [
6413     odl,
6414     oleautomation,
6415     dual,
6416     uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
6417 ]
6418 interface IHTMLStyleSheet2 : IDispatch
6419 {
6420     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6421     HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
6422
6423     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6424     HRESULT addPageRule(
6425         [in] BSTR bstrSelector,
6426         [in] BSTR bstrStyle,
6427         [defaultvalue(-1), in] LONG lIndex,
6428         [retval, out] LONG *plNewIndex);
6429 }
6430
6431 [
6432     hidden,
6433     uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
6434 ]
6435 dispinterface DispHTMLStyleSheet
6436 {
6437 properties:
6438 methods:
6439     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6440     void title(BSTR v);
6441
6442     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6443     BSTR title();
6444
6445     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6446     IHTMLStyleSheet* parentStyleSheet();
6447
6448     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6449     IHTMLElement* owningElement();
6450
6451     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6452     void disabled(VARIANT_BOOL v);
6453
6454     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6455     VARIANT_BOOL disabled();
6456
6457     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6458     VARIANT_BOOL readOnly();
6459
6460     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6461     IHTMLStyleSheetsCollection* imports();
6462
6463     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6464     void href(BSTR v);
6465
6466     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6467     BSTR href();
6468
6469     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6470     BSTR type();
6471
6472     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6473     BSTR id();
6474
6475     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6476     LONG addImport(
6477         [in] BSTR bstrURL,
6478         [defaultvalue(-1), in] LONG lIndex);
6479
6480     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6481     LONG addRule(
6482         [in] BSTR bstrSelector,
6483         [in] BSTR bstrStyle,
6484         [defaultvalue(-1), in] LONG lIndex);
6485
6486     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6487     void removeImport([in] LONG lIndex);
6488
6489     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6490     void removeRule([in] LONG lIndex);
6491
6492     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6493     void media(BSTR v);
6494
6495     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6496     BSTR media();
6497
6498     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6499     void cssText(BSTR v);
6500
6501     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6502     BSTR cssText();
6503
6504     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6505     IHTMLStyleSheetRulesCollection* rules();
6506
6507     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6508     IHTMLStyleSheetPagesCollection* pages();
6509
6510     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6511     LONG addPageRule(
6512         [in] BSTR bstrSelector,
6513         [in] BSTR bstrStyle,
6514         [defaultvalue(-1), in] LONG lIndex);
6515 }
6516
6517 [
6518     noncreatable,
6519     uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
6520 ]
6521 coclass HTMLStyleSheet
6522 {
6523     [default]           dispinterface DispHTMLStyleSheet;
6524                         interface IHTMLStyleSheet;
6525                         interface IHTMLStyleSheet2;
6526 }
6527
6528 /*****************************************************************************
6529  *    IHTMLStyleSheetsCollection interface
6530  */
6531 [
6532     odl,
6533     oleautomation,
6534     dual,
6535     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
6536 ]
6537 interface IHTMLStyleSheetsCollection : IDispatch
6538 {
6539     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6540     HRESULT length([retval, out] LONG *p);
6541
6542     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
6543     HRESULT _newEnum([retval, out] IUnknown **p);
6544
6545     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6546     HRESULT item(
6547         [in] VARIANT *pvarIndex,
6548         [retval, out] VARIANT *pvarResult);
6549 }
6550
6551 /*****************************************************************************
6552  *    DispHTMLStyleSheetsCollection dispinterface
6553  */
6554 [
6555     hidden,
6556     uuid(3050f547-98b5-11cf-bb82-00aa00bdce0b)
6557 ]
6558 dispinterface DispHTMLStyleSheetsCollection
6559 {
6560 properties:
6561 methods:
6562     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6563     long length();
6564
6565     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM), hidden, restricted]
6566     IUnknown *_newEnum();
6567
6568     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6569     VARIANT item([in] VARIANT *pvarIndex);
6570
6571     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
6572     IDispatch *constructor();
6573 }
6574
6575 /*****************************************************************************
6576  *    IHTMLTxtRange interface
6577  */
6578 [
6579     odl,
6580     oleautomation,
6581     dual,
6582     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
6583 ]
6584 interface IHTMLTxtRange : IDispatch
6585 {
6586     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
6587     HRESULT htmlText([retval, out] BSTR *p);
6588
6589     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
6590     HRESULT text([in] BSTR v);
6591
6592     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
6593     HRESULT text([retval, out] BSTR *p);
6594
6595     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
6596     HRESULT parentElement([retval, out] IHTMLElement **parent);
6597
6598     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
6599     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
6600
6601     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
6602     HRESULT inRange(
6603         [in] IHTMLTxtRange *Range,
6604         [retval, out] VARIANT_BOOL *InRange);
6605
6606     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
6607     HRESULT isEqual(
6608         [in] IHTMLTxtRange *Range,
6609         [retval, out] VARIANT_BOOL *IsEqual);
6610
6611     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
6612     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
6613
6614     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
6615     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
6616
6617     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
6618     HRESULT expand(
6619         [in] BSTR Unit,
6620         [retval, out] VARIANT_BOOL *Success);
6621
6622     [id(DISPID_IHTMLTXTRANGE_MOVE)]
6623     HRESULT move(
6624         [in] BSTR Unit,
6625         [defaultvalue(1), in] LONG Count,
6626         [retval, out] LONG *ActualCount);
6627
6628     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
6629     HRESULT moveStart(
6630         [in] BSTR Unit,
6631         [defaultvalue(1), in] LONG Count,
6632         [retval, out] LONG *ActualCount);
6633
6634     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
6635     HRESULT moveEnd(
6636         [in] BSTR Unit,
6637         [defaultvalue(1), in] LONG Count,
6638         [retval, out] LONG *ActualCount);
6639
6640     [id(DISPID_IHTMLTXTRANGE_SELECT)]
6641     HRESULT select();
6642
6643     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
6644     HRESULT pasteHTML([in] BSTR html);
6645
6646     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
6647     HRESULT moveToElementText([in] IHTMLElement *element);
6648
6649     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
6650     HRESULT setEndPoint(
6651         [in] BSTR how,
6652         [in] IHTMLTxtRange *SourceRange);
6653
6654     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
6655     HRESULT compareEndPoints(
6656         [in] BSTR how,
6657         [in] IHTMLTxtRange *SourceRange,
6658         [retval, out] LONG *ret);
6659
6660     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
6661     HRESULT findText(
6662         [in] BSTR String,
6663         [defaultvalue(1073741823), in] LONG count,
6664         [defaultvalue(0), in] LONG Flags,
6665         [retval, out] VARIANT_BOOL *Success);
6666
6667     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
6668     HRESULT moveToPoint(
6669         [in] LONG x,
6670         [in] LONG y);
6671
6672     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
6673     HRESULT getBookmark([retval, out] BSTR *Boolmark);
6674
6675     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
6676     HRESULT moveToBookmark(
6677         [in] BSTR Bookmark,
6678         [retval, out] VARIANT_BOOL *Success);
6679
6680     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
6681     HRESULT queryCommandSupported(
6682         [in] BSTR cmdID,
6683         [retval, out] VARIANT_BOOL *pfRet);
6684
6685     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
6686     HRESULT queryCommandEnabled(
6687         [in] BSTR cmdID,
6688         [retval, out] VARIANT_BOOL *pfRet);
6689
6690     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
6691     HRESULT queryCommandState(
6692         [in] BSTR cmdID,
6693         [retval, out] VARIANT_BOOL *pfRet);
6694
6695     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
6696     HRESULT queryCommandIndeterm(
6697         [in] BSTR cmdID,
6698         [retval, out] VARIANT_BOOL *pfRet);
6699
6700     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
6701     HRESULT queryCommandText(
6702         [in] BSTR cmdID,
6703         [retval, out] BSTR *pcmdText);
6704
6705     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
6706     HRESULT queryCommandValue(
6707         [in] BSTR cmdID,
6708         [retval, out] VARIANT *pcmdValue);
6709
6710     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
6711     HRESULT execCommand(
6712         [in] BSTR cmdID,
6713         [defaultvalue(0), in] VARIANT_BOOL showUI,
6714         [optional, in] VARIANT value,
6715         [retval, out] VARIANT_BOOL *pfRet);
6716
6717     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
6718     HRESULT execCommandShowHelp(
6719         [in] BSTR cmdID,
6720         [retval, out] VARIANT_BOOL *pfRet);
6721 }
6722
6723 [
6724     noncreatable,
6725     uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
6726 ]
6727 coclass HTMLStyleSheetsCollection
6728 {
6729     [default]           interface IHTMLStyleSheetsCollection;
6730 }
6731
6732 /*****************************************************************************
6733  *    IHTMLFormElement interface
6734  */
6735 [
6736     odl,
6737     oleautomation,
6738     dual,
6739     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
6740 ]
6741 interface IHTMLFormElement : IDispatch
6742 {
6743     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6744     HRESULT action([in] BSTR v);
6745
6746     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6747     HRESULT action([retval, out] BSTR *p);
6748
6749     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
6750     HRESULT dir([in] BSTR v);
6751
6752     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
6753     HRESULT dir([retval, out] BSTR *p);
6754
6755     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6756     HRESULT encoding([in] BSTR v);
6757
6758     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6759     HRESULT encoding([retval, out] BSTR *p);
6760
6761     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6762     HRESULT method([in] BSTR v);
6763
6764     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6765     HRESULT method([retval, out] BSTR *p);
6766
6767     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6768     HRESULT elements([retval, out] IDispatch **p);
6769
6770     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6771     HRESULT target([in] BSTR v);
6772
6773     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6774     HRESULT target([retval, out] BSTR *p);
6775
6776     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6777     HRESULT name([in] BSTR v);
6778
6779     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6780     HRESULT name([retval, out] BSTR *p);
6781
6782     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6783     HRESULT onsubmit([in] VARIANT v);
6784
6785     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6786     HRESULT onsubmit([retval, out] VARIANT *p);
6787
6788     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6789     HRESULT onreset([in] VARIANT v);
6790
6791     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6792     HRESULT onreset([retval, out] VARIANT *p);
6793
6794     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6795     HRESULT submit();
6796
6797     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6798     HRESULT reset();
6799
6800     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6801     HRESULT length([in] LONG v);
6802
6803     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6804     HRESULT length([retval, out] LONG *p);
6805
6806     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
6807     HRESULT _newEnum([retval, out] IUnknown **p);
6808
6809     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6810     HRESULT item(
6811         [optional, in] VARIANT name,
6812         [optional, in] VARIANT index,
6813         [retval, out] IDispatch **pdisp);
6814
6815     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6816     HRESULT tags(
6817         [in] VARIANT tagName,
6818         [retval, out] IDispatch **pdisp);
6819 }
6820
6821 /*****************************************************************************
6822  *    DispHTMLFormElement dispinterface
6823  */
6824 [
6825     hidden,
6826     uuid(3050F510-98B5-11CF-BB82-00AA00BDCE0B)
6827 ]
6828 dispinterface DispHTMLFormElement
6829 {
6830 properties:
6831 methods:
6832     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6833
6834     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6835     void action(BSTR v);
6836
6837     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6838     BSTR action();
6839
6840     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6841     void encoding(BSTR v);
6842
6843     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6844     BSTR encoding();
6845
6846     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6847     void method(BSTR v);
6848
6849     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6850     BSTR method();
6851
6852     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6853     IDispatch *elements();
6854
6855     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6856     void target(BSTR v);
6857
6858     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6859     BSTR target();
6860
6861     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6862     void name(BSTR v);
6863
6864     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6865     BSTR name();
6866
6867     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6868     void onsubmit(VARIANT v);
6869
6870     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6871     VARIANT onsubmit();
6872
6873     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6874     void onreset(VARIANT v);
6875
6876     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6877     VARIANT onreset();
6878
6879     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6880     void submit();
6881
6882     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6883     void reset();
6884
6885     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6886     void length(long v);
6887
6888     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6889     long length();
6890
6891     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM), hidden, restricted]
6892     IUnknown *_newEnum();
6893
6894     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6895     IDispatch *item(VARIANT name, VARIANT index);
6896
6897     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6898     IDispatch *tags(VARIANT tagName);
6899 }
6900
6901 [
6902     hidden,
6903     uuid(3050F364-98B5-11CF-BB82-00AA00BDCE0B)
6904 ]
6905 dispinterface HTMLFormElementEvents
6906 {
6907 properties:
6908 methods:
6909     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
6910     VARIANT_BOOL onhelp();
6911
6912     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
6913     VARIANT_BOOL onclick();
6914
6915     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
6916     VARIANT_BOOL ondblclick();
6917
6918     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
6919     VARIANT_BOOL onkeypress();
6920
6921     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
6922     void onkeydown();
6923
6924     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
6925     void onkeyup();
6926
6927     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
6928     void onmouseout();
6929
6930     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
6931     void onmouseover();
6932
6933     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
6934     void onmousemove();
6935
6936     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
6937     void onmousedown();
6938
6939     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
6940     void onmouseup();
6941
6942     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
6943     VARIANT_BOOL onselectstart();
6944
6945     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
6946     void onfilterchange();
6947
6948     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
6949     VARIANT_BOOL ondragstart();
6950
6951     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
6952     VARIANT_BOOL onbeforeupdate();
6953
6954     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
6955     void onafterupdate();
6956
6957     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
6958     VARIANT_BOOL onerrorupdate();
6959
6960     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
6961     VARIANT_BOOL onrowexit();
6962
6963     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
6964     void onrowenter();
6965
6966     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
6967     void ondatasetchanged();
6968
6969     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
6970     void ondataavailable();
6971
6972     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
6973     void ondatasetcomplete();
6974
6975     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
6976     void onlosecapture();
6977
6978     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
6979     void onpropertychange();
6980
6981     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
6982     void onscroll();
6983
6984     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
6985     void onfocus();
6986
6987     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
6988     void onblur();
6989
6990     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
6991     void onresize();
6992
6993     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
6994     VARIANT_BOOL ondrag();
6995
6996     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
6997     void ondragend();
6998
6999     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
7000     VARIANT_BOOL ondragenter();
7001
7002     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
7003     VARIANT_BOOL ondragover();
7004
7005     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
7006     void ondragleave();
7007
7008     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
7009     VARIANT_BOOL ondrop();
7010
7011     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
7012     VARIANT_BOOL onbeforecut();
7013
7014     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
7015     VARIANT_BOOL oncut();
7016
7017     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
7018     VARIANT_BOOL onbeforecopy();
7019
7020     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
7021     VARIANT_BOOL oncopy();
7022
7023     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
7024     VARIANT_BOOL onbeforepaste();
7025
7026     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
7027     VARIANT_BOOL onpaste();
7028
7029     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
7030     VARIANT_BOOL oncontextmenu();
7031
7032     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
7033     void onrowsdelete();
7034
7035     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
7036     void onrowsinserted();
7037
7038     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
7039     void oncellchange();
7040
7041     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
7042     void onreadystatechange();
7043
7044     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
7045     void onbeforeeditfocus();
7046
7047     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
7048     void onlayoutcomplete();
7049
7050     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
7051     void onpage();
7052
7053     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
7054     VARIANT_BOOL onbeforedeactivate();
7055
7056     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
7057     VARIANT_BOOL onbeforeactivate();
7058
7059     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
7060     void onmove();
7061
7062     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
7063     VARIANT_BOOL oncontrolselect();
7064
7065     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
7066     VARIANT_BOOL onmovestart();
7067
7068     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
7069     void onmoveend();
7070
7071     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
7072     VARIANT_BOOL onresizestart();
7073
7074     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
7075     void onresizeend();
7076
7077     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
7078     void onmouseenter();
7079
7080     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
7081     void onmouseleave();
7082
7083     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
7084     VARIANT_BOOL onmousewheel();
7085
7086     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
7087     void onactivate();
7088
7089     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
7090     void ondeactivate();
7091
7092     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
7093     void onfocusin();
7094
7095     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
7096     void onfocusout();
7097
7098     [id(DISPID_HTMLFORMELEMENTEVENTS_ONSUBMIT)]
7099     VARIANT_BOOL onsubmit();
7100
7101     [id(DISPID_HTMLFORMELEMENTEVENTS_ONRESET)]
7102     VARIANT_BOOL onreset();
7103 }
7104
7105 interface IHTMLEventObj;
7106
7107 [
7108     hidden,
7109     uuid(3050F614-98B5-11CF-BB82-00AA00BDCE0B)
7110 ]
7111 dispinterface HTMLFormElementEvents2
7112 {
7113 properties:
7114 methods:
7115     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
7116     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
7117
7118     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
7119     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
7120
7121     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
7122     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
7123
7124     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
7125     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
7126
7127     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
7128     void onkeydown([in] IHTMLEventObj* pEvtObj);
7129
7130     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
7131     void onkeyup([in] IHTMLEventObj* pEvtObj);
7132
7133     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
7134     void onmouseout([in] IHTMLEventObj* pEvtObj);
7135
7136     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
7137     void onmouseover([in] IHTMLEventObj* pEvtObj);
7138
7139     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
7140     void onmousemove([in] IHTMLEventObj* pEvtObj);
7141
7142     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
7143     void onmousedown([in] IHTMLEventObj* pEvtObj);
7144
7145     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
7146     void onmouseup([in] IHTMLEventObj* pEvtObj);
7147
7148     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
7149     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
7150
7151     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
7152     void onfilterchange([in] IHTMLEventObj* pEvtObj);
7153
7154     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
7155     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
7156
7157     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
7158     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
7159
7160     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
7161     void onafterupdate([in] IHTMLEventObj* pEvtObj);
7162
7163     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
7164     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
7165
7166     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
7167     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
7168
7169     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
7170     void onrowenter([in] IHTMLEventObj* pEvtObj);
7171
7172     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
7173     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
7174
7175     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
7176     void ondataavailable([in] IHTMLEventObj* pEvtObj);
7177
7178     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
7179     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
7180
7181     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
7182     void onlosecapture([in] IHTMLEventObj* pEvtObj);
7183
7184     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
7185     void onpropertychange([in] IHTMLEventObj* pEvtObj);
7186
7187     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
7188     void onscroll([in] IHTMLEventObj* pEvtObj);
7189
7190     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
7191     void onfocus([in] IHTMLEventObj* pEvtObj);
7192
7193     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
7194     void onblur([in] IHTMLEventObj* pEvtObj);
7195
7196     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
7197     void onresize([in] IHTMLEventObj* pEvtObj);
7198
7199     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
7200     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
7201
7202     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
7203     void ondragend([in] IHTMLEventObj* pEvtObj);
7204
7205     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
7206     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
7207
7208     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
7209     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
7210
7211     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
7212     void ondragleave([in] IHTMLEventObj* pEvtObj);
7213
7214     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
7215     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
7216
7217     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
7218     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
7219
7220     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
7221     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
7222
7223     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
7224     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
7225
7226     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
7227     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
7228
7229     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
7230     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
7231
7232     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
7233     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
7234
7235     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
7236     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
7237
7238     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
7239     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
7240
7241     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
7242     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
7243
7244     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
7245     void oncellchange([in] IHTMLEventObj* pEvtObj);
7246
7247     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
7248     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
7249
7250     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
7251     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
7252
7253     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
7254     void onpage([in] IHTMLEventObj* pEvtObj);
7255
7256     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
7257     void onmouseenter([in] IHTMLEventObj* pEvtObj);
7258
7259     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
7260     void onmouseleave([in] IHTMLEventObj* pEvtObj);
7261
7262     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
7263     void onactivate([in] IHTMLEventObj* pEvtObj);
7264
7265     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
7266     void ondeactivate([in] IHTMLEventObj* pEvtObj);
7267
7268     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
7269     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
7270
7271     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
7272     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
7273
7274     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
7275     void onfocusin([in] IHTMLEventObj* pEvtObj);
7276
7277     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
7278     void onfocusout([in] IHTMLEventObj* pEvtObj);
7279
7280     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
7281     void onmove([in] IHTMLEventObj* pEvtObj);
7282
7283     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
7284     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
7285
7286     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
7287     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
7288
7289     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
7290     void onmoveend([in] IHTMLEventObj* pEvtObj);
7291
7292     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
7293     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
7294
7295     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
7296     void onresizeend([in] IHTMLEventObj* pEvtObj);
7297
7298     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
7299     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
7300
7301     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONSUBMIT)]
7302     VARIANT_BOOL onsubmit([in] IHTMLEventObj* pEvtObj);
7303
7304     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONRESET)]
7305     VARIANT_BOOL onreset([in] IHTMLEventObj* pEvtObj);
7306 }
7307
7308 [
7309     noncreatable,
7310     uuid(3050F24D-98B5-11CF-BB82-00AA00BDCE0B)
7311 ]
7312 coclass HTMLFormElement
7313 {
7314     [default]           dispinterface DispHTMLFormElement;
7315     [source, default]   dispinterface HTMLFormElementEvents;
7316     [source]            dispinterface HTMLFormElementEvents2;
7317                         interface IHTMLElement;
7318                         interface IHTMLElement2;
7319                         interface IHTMLElement3;
7320                         interface IHTMLElement4;
7321                         interface IHTMLUniqueName;
7322                         interface IHTMLDOMNode;
7323                         interface IHTMLDOMNode2;
7324                         interface IHTMLDOMConstructor;
7325                         interface IHTMLFormElement;
7326 }
7327
7328 /*****************************************************************************
7329  *    IHTMLTextContainer interface
7330  */
7331 [
7332     odl,
7333     oleautomation,
7334     dual,
7335     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
7336 ]
7337 interface IHTMLTextContainer : IDispatch
7338 {
7339     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
7340     HRESULT createControlRange([retval, out] IDispatch **range);
7341
7342     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
7343     HRESULT scrollHeight([retval, out] LONG *p);
7344
7345     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
7346     HRESULT scrollWidth([retval, out] LONG *p);
7347
7348     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7349     HRESULT scrollTop([in] LONG v);
7350
7351     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7352     HRESULT scrollTop([retval, out] LONG *p);
7353
7354     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7355     HRESULT scrollLeft([in] LONG v);
7356
7357     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7358     HRESULT scrollLeft([retval, out] LONG *p);
7359
7360     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7361     HRESULT onscroll([in] VARIANT v);
7362
7363     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7364     HRESULT onscroll([retval, out] VARIANT *p);
7365 }
7366
7367 /*****************************************************************************
7368  *    IHTMLImgElement interface
7369  */
7370 [
7371     odl,
7372     oleautomation,
7373     dual,
7374     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
7375 ]
7376 interface IHTMLImgElement : IDispatch
7377 {
7378     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7379     HRESULT isMap([in] VARIANT_BOOL v);
7380
7381     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7382     HRESULT isMap([retval, out] VARIANT_BOOL *p);
7383
7384     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7385     HRESULT useMap([in] BSTR v);
7386
7387     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7388     HRESULT useMap([retval, out] BSTR *p);
7389
7390     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7391     HRESULT mimeType([retval, out] BSTR *p);
7392
7393     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7394     HRESULT fileSize([retval, out] BSTR *p);
7395
7396     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7397     HRESULT fileCreatedDate([retval, out] BSTR *p);
7398
7399     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7400     HRESULT fileModifiedDate([retval, out] BSTR *p);
7401
7402     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7403     HRESULT fileUpdatedDate([retval, out] BSTR *p);
7404
7405     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7406     HRESULT protocol([retval, out] BSTR *p);
7407
7408     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7409     HRESULT href([retval, out] BSTR *p);
7410
7411     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7412     HRESULT nameProp([retval, out] BSTR *p);
7413
7414     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7415     HRESULT border([in] VARIANT v);
7416
7417     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7418     HRESULT border([retval, out] VARIANT *p);
7419
7420     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7421     HRESULT vspace([in] LONG v);
7422
7423     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7424     HRESULT vspace([retval, out] LONG *p);
7425
7426     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7427     HRESULT hspace([in] LONG v);
7428
7429     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7430     HRESULT hspace([retval, out] LONG *p);
7431
7432     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
7433     HRESULT alt([in] BSTR v);
7434
7435     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
7436     HRESULT alt([retval, out] BSTR *p);
7437
7438     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
7439     HRESULT src([in] BSTR v);
7440
7441     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
7442     HRESULT src([retval, out] BSTR *p);
7443
7444     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7445     HRESULT lowsrc([in] BSTR v);
7446
7447     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7448     HRESULT lowsrc([retval, out] BSTR *p);
7449
7450     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
7451     HRESULT vrml([in] BSTR v);
7452
7453     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
7454     HRESULT vrml([retval, out] BSTR *p);
7455
7456     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7457     HRESULT dynsrc([in] BSTR v);
7458
7459     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7460     HRESULT dynsrc([retval, out] BSTR *p);
7461
7462     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
7463     HRESULT readyState([retval, out] BSTR *p);
7464
7465     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7466     HRESULT complete([retval, out] VARIANT_BOOL *p);
7467
7468     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7469     HRESULT loop([in] VARIANT v);
7470
7471     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7472     HRESULT loop([retval, out] VARIANT *p);
7473
7474     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7475     HRESULT align([in] BSTR v);
7476
7477     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7478     HRESULT align([retval, out] BSTR *p);
7479
7480     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7481     HRESULT onload([in] VARIANT v);
7482
7483     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7484     HRESULT onload([retval, out] VARIANT *p);
7485
7486     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7487     HRESULT onerror([in] VARIANT v);
7488
7489     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7490     HRESULT onerror([retval, out] VARIANT *p);
7491
7492     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7493     HRESULT onabort([in] VARIANT v);
7494
7495     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7496     HRESULT onabort([retval, out] VARIANT *p);
7497
7498     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
7499     HRESULT name([in] BSTR v);
7500
7501     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
7502     HRESULT name([retval, out] BSTR *p);
7503
7504     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7505     HRESULT width([in] LONG v);
7506
7507     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7508     HRESULT width([retval, out] LONG *p);
7509
7510     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7511     HRESULT height([in] LONG v);
7512
7513     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7514     HRESULT height([retval, out] LONG *p);
7515
7516     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
7517     HRESULT start([in] BSTR v);
7518
7519     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
7520     HRESULT start([retval, out] BSTR *p);
7521 }
7522
7523 /*****************************************************************************
7524  *    IHTMLImageElementFactory interface
7525  */
7526 [
7527     odl,
7528     oleautomation,
7529     dual,
7530     uuid(3050F38E-98B5-11CF-BB82-00AA00BDCE0B)
7531 ]
7532 interface IHTMLImageElementFactory : IDispatch
7533 {
7534     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
7535     HRESULT create(
7536         [optional, in] VARIANT width,
7537         [optional, in] VARIANT height,
7538         [retval, out]  IHTMLImgElement **elem);
7539 }
7540
7541 /*****************************************************************************
7542  *    DispHTMLImg interface
7543  */
7544 [
7545     hidden,
7546     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
7547 ]
7548 dispinterface DispHTMLImg
7549 {
7550 properties:
7551 methods:
7552     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7553
7554     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7555     void isMap(VARIANT_BOOL v);
7556
7557     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7558     VARIANT_BOOL isMap();
7559
7560     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7561     void useMap(BSTR v);
7562
7563     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7564     BSTR useMap();
7565
7566     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7567     BSTR mimeType();
7568
7569     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7570     BSTR fileSize();
7571
7572     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7573     BSTR fileCreatedDate();
7574
7575     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7576     BSTR fileModifiedDate();
7577
7578     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7579     BSTR fileUpdatedDate();
7580
7581     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7582     BSTR protocol();
7583
7584     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7585     BSTR href();
7586
7587     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7588     BSTR nameProp();
7589
7590     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7591     void border(VARIANT v);
7592
7593     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7594     VARIANT border();
7595
7596     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7597     void vspace(LONG v);
7598
7599     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7600     LONG vspace();
7601
7602     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7603     void hspace(LONG v);
7604
7605     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7606     LONG hspace();
7607
7608     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7609     void alt(BSTR v);
7610
7611     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7612     BSTR alt();
7613
7614     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7615     void src(BSTR v);
7616
7617     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7618     BSTR src();
7619
7620     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7621     void lowsrc(BSTR v);
7622
7623     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7624     BSTR lowsrc();
7625
7626     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7627     void vrml(BSTR v);
7628
7629     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7630     BSTR vrml();
7631
7632     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7633     void dynsrc(BSTR v);
7634
7635     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7636     BSTR dynsrc();
7637
7638     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7639     VARIANT_BOOL complete();
7640
7641     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7642     void loop(VARIANT v);
7643
7644     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7645     VARIANT loop();
7646
7647     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7648     void align(BSTR v);
7649
7650     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7651     BSTR align();
7652
7653     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7654     void onload(VARIANT v);
7655
7656     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7657     VARIANT onload();
7658
7659     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7660     void onerror(VARIANT v);
7661
7662     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7663     VARIANT onerror();
7664
7665     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7666     void onabort(VARIANT v);
7667
7668     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7669     VARIANT onabort();
7670
7671     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7672     void name(BSTR v);
7673
7674     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7675     BSTR name();
7676
7677     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7678     void width(LONG v);
7679
7680     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7681     LONG width();
7682
7683     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7684     void height(LONG v);
7685
7686     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7687     LONG height();
7688
7689     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7690     void start(BSTR v);
7691
7692     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7693     BSTR start();
7694
7695     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7696     void longDesc(BSTR v);
7697
7698     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7699     BSTR longDesc();
7700 }
7701
7702 /*****************************************************************************
7703  *    IHTMLControlElement interface
7704  */
7705 [
7706     odl,
7707     oleautomation,
7708     dual,
7709     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
7710 ]
7711 interface IHTMLControlElement : IDispatch
7712 {
7713     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7714     HRESULT tabIndex([in] short v);
7715
7716     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7717     HRESULT tabIndex([retval, out] short * p);
7718
7719     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
7720     HRESULT focus();
7721
7722     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7723     HRESULT accessKey([in] BSTR v);
7724
7725     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7726     HRESULT accessKey([retval, out] BSTR * p);
7727
7728     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7729     HRESULT onblur([in] VARIANT v);
7730
7731     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7732     HRESULT onblur([retval, out] VARIANT * p);
7733
7734     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7735     HRESULT onfocus([in] VARIANT v);
7736
7737     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7738     HRESULT onfocus([retval, out] VARIANT * p);
7739
7740     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7741     HRESULT onresize([in] VARIANT v);
7742
7743     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7744     HRESULT onresize([retval, out] VARIANT * p);
7745
7746     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
7747     HRESULT blur();
7748
7749     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
7750     HRESULT addFilter([in] IUnknown* pUnk);
7751
7752     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
7753     HRESULT removeFilter([in] IUnknown* pUnk);
7754
7755     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
7756     HRESULT clientHeight([retval, out] LONG * p);
7757
7758     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
7759     HRESULT clientWidth([retval, out] LONG * p);
7760
7761     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
7762     HRESULT clientTop([retval, out] LONG * p);
7763
7764     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
7765     HRESULT clientLeft([retval, out] LONG * p);
7766 }
7767
7768 /*****************************************************************************
7769  *    IHTMLBodyElement interface
7770  */
7771 [
7772     odl,
7773     oleautomation,
7774     dual,
7775     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
7776 ]
7777 interface IHTMLBodyElement : IDispatch
7778 {
7779     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7780     HRESULT background([in] BSTR v);
7781
7782     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7783     HRESULT background([retval, out] BSTR *p);
7784
7785     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7786     HRESULT bgProperties([in] BSTR v);
7787
7788     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7789     HRESULT bgProperties([retval, out] BSTR *p);
7790
7791     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7792     HRESULT leftMargin([in] VARIANT v);
7793
7794     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7795     HRESULT leftMargin([retval, out] VARIANT *p);
7796
7797     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7798     HRESULT topMargin([in] VARIANT v);
7799
7800     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7801     HRESULT topMargin([retval, out] VARIANT *p);
7802
7803     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7804     HRESULT rightMargin([in] VARIANT v);
7805
7806     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7807     HRESULT rightMargin([retval, out] VARIANT *p);
7808
7809     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7810     HRESULT bottomMargin([in] VARIANT v);
7811
7812     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7813     HRESULT bottomMargin([retval, out] VARIANT *p);
7814
7815     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7816     HRESULT noWrap([in] VARIANT_BOOL v);
7817
7818     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7819     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
7820
7821     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7822     HRESULT bgColor([in] VARIANT v);
7823
7824     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7825     HRESULT bgColor([retval, out] VARIANT *p);
7826
7827     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7828     HRESULT text([in] VARIANT v);
7829
7830     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7831     HRESULT text([retval, out] VARIANT *p);
7832
7833     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7834     HRESULT link([in] VARIANT v);
7835
7836     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7837     HRESULT link([retval, out] VARIANT *p);
7838
7839     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7840     HRESULT vLink([in] VARIANT v);
7841
7842     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7843     HRESULT vLink([retval, out] VARIANT *p);
7844
7845     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7846     HRESULT aLink([in] VARIANT v);
7847
7848     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7849     HRESULT aLink([retval, out] VARIANT *p);
7850
7851     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7852     HRESULT onload([in] VARIANT v);
7853
7854     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7855     HRESULT onload([retval, out] VARIANT *p);
7856
7857     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7858     HRESULT onunload([in] VARIANT v);
7859
7860     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7861     HRESULT onunload([retval, out] VARIANT *p);
7862
7863     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7864     HRESULT scroll([in] BSTR v);
7865
7866     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7867     HRESULT scroll([retval, out] BSTR *p);
7868
7869     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7870     HRESULT onselect([in] VARIANT v);
7871
7872     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7873     HRESULT onselect([retval, out] VARIANT *p);
7874
7875     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7876     HRESULT onbeforeunload([in] VARIANT v);
7877
7878     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7879     HRESULT onbeforeunload([retval, out] VARIANT *p);
7880
7881     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7882     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7883 }
7884
7885 /*****************************************************************************
7886  *    IHTMLBodyElement2 interface
7887  */
7888 [
7889     odl,
7890     oleautomation,
7891     dual,
7892     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
7893 ]
7894 interface IHTMLBodyElement2 : IDispatch
7895 {
7896     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7897     HRESULT onbeforeprint([in] VARIANT v);
7898
7899     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7900     HRESULT onbeforeprint([retval, out] VARIANT *p);
7901
7902     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7903     HRESULT onafterprint([in] VARIANT v);
7904
7905     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7906     HRESULT onafterprint([retval, out] VARIANT *p);
7907 }
7908
7909 [
7910     hidden,
7911     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
7912 ]
7913 dispinterface DispHTMLBody
7914 {
7915 properties:
7916 methods:
7917     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7918
7919     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7920     void background(BSTR v);
7921
7922     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7923     BSTR background();
7924
7925     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7926     void bgProperties(BSTR v);
7927
7928     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7929     BSTR bgProperties();
7930
7931     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7932     void leftMargin(VARIANT v);
7933
7934     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7935     VARIANT leftMargin();
7936
7937     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7938     void topMargin(VARIANT v);
7939
7940     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7941     VARIANT topMargin();
7942
7943     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7944     void rightMargin(VARIANT v);
7945
7946     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7947     VARIANT rightMargin();
7948
7949     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7950     void bottomMargin(VARIANT v);
7951
7952     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7953     VARIANT bottomMargin();
7954
7955     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7956     void noWrap(VARIANT_BOOL v);
7957
7958     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7959     VARIANT_BOOL noWrap();
7960
7961     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7962     void bgColor(VARIANT v);
7963
7964     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7965     VARIANT bgColor();
7966
7967     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7968     void text(VARIANT v);
7969
7970     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7971     VARIANT text();
7972
7973     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7974     void link(VARIANT v);
7975
7976     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7977     VARIANT link();
7978
7979     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7980     void vLink(VARIANT v);
7981
7982     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7983     VARIANT vLink();
7984
7985     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7986     void aLink(VARIANT v);
7987
7988     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7989     VARIANT aLink();
7990
7991     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7992     void onload(VARIANT v);
7993
7994     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7995     VARIANT onload();
7996
7997     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7998     void onunload(VARIANT v);
7999
8000     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8001     VARIANT onunload();
8002
8003     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8004     void scroll(BSTR v);
8005
8006     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8007     BSTR scroll();
8008
8009     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8010     void onselect(VARIANT v);
8011
8012     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8013     VARIANT onselect();
8014
8015     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8016     void onbeforeunload(VARIANT v);
8017
8018     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8019     VARIANT onbeforeunload();
8020
8021     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8022     IHTMLTxtRange* createTextRange();
8023
8024     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8025     void onbeforeprint(VARIANT v);
8026
8027     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8028     VARIANT onbeforeprint();
8029
8030     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8031     void onafterprint(VARIANT v);
8032
8033     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8034     VARIANT onafterprint();
8035 }
8036
8037 [
8038     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
8039 ]
8040 coclass HTMLBody
8041 {
8042     [default]           dispinterface DispHTMLBody;
8043     [source, default]   dispinterface HTMLTextContainerEvents;
8044     [source]            dispinterface HTMLTextContainerEvents2;
8045                         interface IHTMLElement;
8046                         interface IHTMLElement2;
8047                         interface IHTMLElement3;
8048                         interface IHTMLElement4;
8049                         interface IHTMLUniqueName;
8050                         interface IHTMLDOMNode;
8051                         interface IHTMLDOMNode2;
8052                         interface IHTMLControlElement;
8053                         interface IHTMLTextContainer;
8054                         interface IHTMLBodyElement;
8055                         interface IHTMLBodyElement2;
8056 }
8057
8058 /*****************************************************************************
8059  *    IHTMLAnchorElement interface
8060  */
8061 [
8062     odl,
8063     oleautomation,
8064     dual,
8065     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
8066 ]
8067 interface IHTMLAnchorElement : IDispatch
8068 {
8069     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8070     HRESULT href([in] BSTR v);
8071
8072     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8073     HRESULT href([retval, out] BSTR *p);
8074
8075     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8076     HRESULT target([in] BSTR v);
8077
8078     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8079     HRESULT target([retval, out] BSTR *p);
8080
8081     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8082     HRESULT rel([in] BSTR v);
8083
8084     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8085     HRESULT rel([retval, out] BSTR *p);
8086
8087     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8088     HRESULT rev([in] BSTR v);
8089
8090     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8091     HRESULT rev([retval, out] BSTR *p);
8092
8093     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8094     HRESULT urn([in] BSTR v);
8095
8096     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8097     HRESULT urn([retval, out] BSTR *p);
8098
8099     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8100     HRESULT Methods([in] BSTR v);
8101
8102     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8103     HRESULT Methods([retval, out] BSTR *p);
8104
8105     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8106     HRESULT name([in] BSTR v);
8107
8108     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8109     HRESULT name([retval, out] BSTR *p);
8110
8111     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8112     HRESULT host([in] BSTR v);
8113
8114     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8115     HRESULT host([retval, out] BSTR *p);
8116
8117     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8118     HRESULT hostname([in] BSTR v);
8119
8120     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8121     HRESULT hostname([retval, out] BSTR *p);
8122
8123     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8124     HRESULT pathname([in] BSTR v);
8125
8126     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8127     HRESULT pathname([retval, out] BSTR *p);
8128
8129     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8130     HRESULT port([in] BSTR v);
8131
8132     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8133     HRESULT port([retval, out] BSTR *p);
8134
8135     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8136     HRESULT protocol([in] BSTR v);
8137
8138     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8139     HRESULT protocol([retval, out] BSTR *p);
8140
8141     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8142     HRESULT search([in] BSTR v);
8143
8144     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8145     HRESULT search([retval, out] BSTR *p);
8146
8147     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8148     HRESULT hash([in] BSTR v);
8149
8150     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8151     HRESULT hash([retval, out] BSTR *p);
8152
8153     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8154     HRESULT onblur([in] VARIANT v);
8155
8156     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8157     HRESULT onblur([retval, out] VARIANT *p);
8158
8159     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8160     HRESULT onfocus([in] VARIANT v);
8161
8162     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8163     HRESULT onfocus([retval, out] VARIANT *p);
8164
8165     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8166     HRESULT accessKey([in] BSTR v);
8167
8168     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8169     HRESULT accessKey([retval, out] BSTR *p);
8170
8171     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8172     HRESULT protocolLong([retval, out] BSTR *p);
8173
8174     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8175     HRESULT mimeType([retval, out] BSTR *p);
8176
8177     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8178     HRESULT nameProp([retval, out] BSTR *p);
8179
8180     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8181     HRESULT tabIndex([in] short v);
8182
8183     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8184     HRESULT tabIndex([retval, out] short *p);
8185
8186     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
8187     HRESULT focus();
8188
8189     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
8190     HRESULT blur();
8191 }
8192
8193 /*****************************************************************************
8194  *    DispHTMLAnchorElement dispinterface
8195  */
8196 [
8197     hidden,
8198     uuid(3050f502-98b5-11cf-bb82-00aa00bdce0b)
8199 ]
8200 dispinterface DispHTMLAnchorElement
8201 {
8202 properties:
8203 methods:
8204     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8205
8206     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8207     void href(BSTR v);
8208
8209     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8210     BSTR href();
8211
8212     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8213     void target(BSTR v);
8214
8215     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8216     BSTR target();
8217
8218     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8219     void rel(BSTR v);
8220
8221     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8222     BSTR rel();
8223
8224     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8225     void rev(BSTR v);
8226
8227     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8228     BSTR rev();
8229
8230     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8231     void urn(BSTR v);
8232
8233     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8234     BSTR urn();
8235
8236     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8237     void Methods(BSTR v);
8238
8239     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8240     BSTR Methods();
8241
8242     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8243     void name(BSTR v);
8244
8245     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8246     BSTR name();
8247
8248     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8249     void host(BSTR v);
8250
8251     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8252     BSTR host();
8253
8254     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8255     void hostname(BSTR v);
8256
8257     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8258     BSTR hostname();
8259
8260     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8261     void pathname(BSTR v);
8262
8263     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8264     BSTR pathname();
8265
8266     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8267     void port(BSTR v);
8268
8269     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8270     BSTR port();
8271
8272     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8273     void protocol(BSTR v);
8274
8275     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8276     BSTR protocol();
8277
8278     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8279     void search(BSTR v);
8280
8281     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8282     BSTR search();
8283
8284     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8285     void hash(BSTR v);
8286
8287     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8288     BSTR hash();
8289
8290     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8291     BSTR protocolLong();
8292
8293     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8294     BSTR mimeType();
8295
8296     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8297     BSTR nameProp();
8298
8299     [propput, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8300     void charset(BSTR v);
8301
8302     [propget, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8303     BSTR charset();
8304
8305     [propput, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8306     void coords(BSTR v);
8307
8308     [propget, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8309     BSTR coords();
8310
8311     [propput, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8312     void hreflang(BSTR v);
8313
8314     [propget, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8315     BSTR hreflang();
8316
8317     [propput, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8318     void shape(BSTR v);
8319
8320     [propget, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8321     BSTR shape();
8322
8323     [propput, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8324     void type(BSTR v);
8325
8326     [propget, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8327     BSTR type();
8328
8329     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8330     void ie8_shape(BSTR v);
8331
8332     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8333     BSTR ie8_shape();
8334
8335     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8336     void ie8_coords(BSTR v);
8337
8338     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8339     BSTR ie8_coords();
8340
8341     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8342     void ie8_href(BSTR v);
8343
8344     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8345     BSTR ie8_href();
8346 }
8347
8348 /*****************************************************************************
8349  *    IHTMLElementCollection interface
8350  */
8351 [
8352     odl,
8353     oleautomation,
8354     dual,
8355     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
8356 ]
8357 interface IHTMLElementCollection : IDispatch
8358 {
8359     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8360     HRESULT toString([retval, out] BSTR *String);
8361
8362     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8363     HRESULT length([in] LONG v);
8364
8365     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8366     HRESULT length([retval, out] LONG *p);
8367
8368     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
8369     HRESULT _newEnum([retval, out] IUnknown **p);
8370
8371     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8372     HRESULT item(
8373         [optional, in] VARIANT name,
8374         [optional, in] VARIANT index,
8375         [retval,  out] IDispatch **pdisp);
8376
8377     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8378     HRESULT tags(
8379         [in] VARIANT tagName,
8380         [retval, out] IDispatch **pdisp);
8381 }
8382
8383 /*****************************************************************************
8384  *    DispHTMLElementCollection dispinterface
8385  */
8386 [
8387     hidden,
8388     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
8389 ]
8390 dispinterface DispHTMLElementCollection
8391 {
8392 properties:
8393 methods:
8394     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8395     BSTR toString();
8396
8397     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8398     void length(LONG v);
8399
8400     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8401     LONG length();
8402
8403     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
8404     IUnknown *_newEnum();
8405
8406     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8407     IDispatch *item(
8408             [in, optional] VARIANT name,
8409             [in, optional] VARIANT index);
8410
8411     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8412     IDispatch *tags(
8413             [in] VARIANT tagName);
8414
8415     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
8416     IDispatch *urns([in] VARIANT urn);
8417
8418     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
8419     IDispatch *namedItem([in] BSTR name);
8420 }
8421
8422 /*****************************************************************************
8423  *    IHTMLSelectElement interface
8424  */
8425 [
8426     odl,
8427     oleautomation,
8428     dual,
8429     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
8430 ]
8431 interface IHTMLSelectElement : IDispatch
8432 {
8433     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8434     HRESULT size([in] LONG v);
8435
8436     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8437     HRESULT size([retval, out] LONG *p);
8438
8439     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8440     HRESULT multiple([in] VARIANT_BOOL v);
8441
8442     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8443     HRESULT multiple([retval, out] VARIANT_BOOL *p);
8444
8445     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8446     HRESULT name([in] BSTR v);
8447
8448     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8449     HRESULT name([retval, out] BSTR *p);
8450
8451     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8452     HRESULT options([retval, out] IDispatch **p);
8453
8454     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8455     HRESULT onchange([in] VARIANT v);
8456
8457     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8458     HRESULT onchange([retval, out] VARIANT *p);
8459
8460     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8461     HRESULT selectedIndex([in] LONG v);
8462
8463     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8464     HRESULT selectedIndex([retval, out] LONG *p);
8465
8466     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8467     HRESULT type([retval, out] BSTR *p);
8468
8469     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8470     HRESULT value([in] BSTR v);
8471
8472     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8473     HRESULT value([retval, out] BSTR *p);
8474
8475     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8476     HRESULT disabled([in] VARIANT_BOOL v);
8477
8478     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8479     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8480
8481     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8482     HRESULT form([retval, out] IHTMLFormElement **p);
8483
8484     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8485     HRESULT add(
8486         [in] IHTMLElement *element,
8487         [optional, in] VARIANT before);
8488
8489     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8490     HRESULT remove([defaultvalue(-1), in] LONG index);
8491
8492     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8493     HRESULT length([in] LONG v);
8494
8495     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8496     HRESULT length([retval, out] LONG *p);
8497
8498     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8499     HRESULT _newEnum([retval, out] IUnknown **p);
8500
8501     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8502     HRESULT item(
8503         [optional, in] VARIANT name,
8504         [optional, in] VARIANT index,
8505         [retval, out] IDispatch **pdisp);
8506
8507     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8508     HRESULT tags(
8509         [in] VARIANT tagName,
8510         [retval, out] IDispatch **pdisp);
8511 }
8512
8513 /*****************************************************************************
8514  *    DispHTMLSelectElement dispinterface
8515  */
8516 [
8517     hidden,
8518     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8519 ]
8520 dispinterface DispHTMLSelectElement
8521 {
8522 properties:
8523 methods:
8524     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8525
8526     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8527     void size(LONG v);
8528
8529     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8530     LONG size();
8531
8532     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8533     void multiple(VARIANT_BOOL v);
8534
8535     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8536     VARIANT_BOOL multiple();
8537
8538     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8539     void name(BSTR v);
8540
8541     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8542     BSTR name();
8543
8544     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8545     IDispatch *options();
8546
8547     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8548     void onchange(VARIANT v);
8549
8550     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8551     VARIANT onchange();
8552
8553     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8554     void selectedIndex(LONG v);
8555
8556     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8557     LONG selectedIndex();
8558
8559     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8560     BSTR type();
8561
8562     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8563     void value(BSTR v);
8564
8565     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8566     BSTR value();
8567
8568     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8569     IHTMLFormElement *form();
8570
8571     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8572     void add(
8573             [in] IHTMLElement *element,
8574             [in, optional] VARIANT before);
8575
8576     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8577     void remove([in, defaultvalue(-1)] LONG index);
8578
8579     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8580     void length(LONG v);
8581
8582     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8583     LONG length();
8584
8585     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8586     IUnknown *_newEnum();
8587
8588     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8589     IDispatch *item(
8590             [in, optional] VARIANT name,
8591             [in, optional] VARIANT index);
8592
8593     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8594     IDispatch *tags([in] VARIANT tagName);
8595
8596     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
8597     IDispatch *urns([in] VARIANT urn);
8598
8599     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
8600     IDispatch *namedItem([in] BSTR name);
8601 }
8602
8603 /*****************************************************************************
8604  *    IHTMLSelectionObject interface
8605  */
8606 [
8607     odl,
8608     oleautomation,
8609     dual,
8610     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
8611 ]
8612 interface IHTMLSelectionObject : IDispatch
8613 {
8614     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
8615     HRESULT createRange([retval, out] IDispatch **range);
8616
8617     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
8618     HRESULT empty();
8619
8620     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
8621     HRESULT clear();
8622
8623     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
8624     HRESULT type([retval, out] BSTR *p);
8625 }
8626
8627 /*****************************************************************************
8628  *    IHTMLOptionElement interface
8629  */
8630 [
8631     odl,
8632     oleautomation,
8633     dual,
8634     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
8635 ]
8636 interface IHTMLOptionElement : IDispatch
8637 {
8638     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8639     HRESULT selected([in] VARIANT_BOOL v);
8640
8641     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8642     HRESULT selected([retval, out] VARIANT_BOOL *p);
8643
8644     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8645     HRESULT value([in] BSTR v);
8646
8647     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8648     HRESULT value([retval, out] BSTR *p);
8649
8650     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8651     HRESULT defaultSelected([in] VARIANT_BOOL v);
8652
8653     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8654     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
8655
8656     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8657     HRESULT index([in] LONG v);
8658
8659     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8660     HRESULT index([retval, out] LONG *p);
8661
8662     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8663     HRESULT text([in] BSTR v);
8664
8665     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8666     HRESULT text([retval, out] BSTR *p);
8667
8668     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8669     HRESULT form([retval, out] IHTMLFormElement **p);
8670 }
8671
8672 [
8673     odl,
8674     oleautomation,
8675     dual,
8676     uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
8677 ]
8678 interface IHTMLOptionElement3 : IDispatch
8679 {
8680     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8681     HRESULT label([in] BSTR v);
8682
8683     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8684     HRESULT label([retval, out] BSTR * p);
8685 }
8686
8687 /*****************************************************************************
8688  *    IHTMLOptionElementFactory interface
8689  */
8690 [
8691     odl,
8692     oleautomation,
8693     dual,
8694     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
8695 ]
8696 interface IHTMLOptionElementFactory : IDispatch
8697 {
8698     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
8699     HRESULT create(
8700         [optional, in] VARIANT text,
8701         [optional, in] VARIANT value,
8702         [optional, in] VARIANT defaultselected,
8703         [optional, in] VARIANT selected,
8704         [retval, out] IHTMLOptionElement **optelem);
8705 }
8706
8707 /*****************************************************************************
8708  *    DispHTMLOptionElement dispinterface
8709  */
8710 [
8711     hidden,
8712     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
8713 ]
8714 dispinterface DispHTMLOptionElement
8715 {
8716 properties:
8717 methods:
8718     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8719
8720     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8721     void selected(VARIANT_BOOL v);
8722
8723     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8724     VARIANT_BOOL selected();
8725
8726     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8727     void value(BSTR v);
8728
8729     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8730     BSTR value();
8731
8732     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8733     void defaultSelected(VARIANT_BOOL v);
8734
8735     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8736     VARIANT_BOOL defaultSelected();
8737
8738     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8739     void index(LONG v);
8740
8741     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8742     LONG index();
8743
8744     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8745     void text(BSTR v);
8746
8747     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8748     BSTR text();
8749
8750     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8751     IHTMLFormElement *form();
8752
8753     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8754     void label(BSTR v);
8755
8756     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8757     BSTR label();
8758 }
8759
8760 [
8761     noncreatable,
8762     uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
8763 ]
8764 coclass HTMLOptionElement
8765 {
8766     [default]           dispinterface DispHTMLOptionElement;
8767     [source, default]   dispinterface HTMLElementEvents;
8768     [source]            dispinterface HTMLElementEvents2;
8769                         interface IHTMLElement;
8770                         interface IHTMLElement2;
8771                         interface IHTMLElement3;
8772                         interface IHTMLElement4;
8773                         interface IHTMLUniqueName;
8774                         interface IHTMLDOMNode;
8775                         interface IHTMLDOMNode2;
8776                         interface IHTMLDatabinding;
8777                         interface IHTMLOptionElement;
8778                         interface IHTMLOptionElement3;
8779 }
8780
8781 /*****************************************************************************
8782  *    IHTMLInputElement interface
8783  */
8784 [
8785     odl,
8786     oleautomation,
8787     dual,
8788     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
8789 ]
8790 interface IHTMLInputElement : IDispatch
8791 {
8792     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8793     HRESULT type([in] BSTR v);
8794
8795     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8796     HRESULT type([retval, out] BSTR *p);
8797
8798     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8799     HRESULT value([in] BSTR v);
8800
8801     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8802     HRESULT value([retval, out] BSTR *p);
8803
8804     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8805     HRESULT name([in] BSTR v);
8806
8807     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8808     HRESULT name([retval, out] BSTR *p);
8809
8810     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8811     HRESULT status([in] VARIANT_BOOL v);
8812
8813     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8814     HRESULT status([retval, out] VARIANT_BOOL *p);
8815
8816     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8817     HRESULT disabled([in] VARIANT_BOOL v);
8818
8819     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8820     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8821
8822     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8823     HRESULT form([retval, out] IHTMLFormElement **p);
8824
8825     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8826     HRESULT size([in] LONG v);
8827
8828     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8829     HRESULT size([retval, out] LONG *p);
8830
8831     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8832     HRESULT maxLength([in] LONG v);
8833
8834     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8835     HRESULT maxLength([retval, out] LONG *p);
8836
8837     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8838     HRESULT select();
8839
8840     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8841     HRESULT onchange([in] VARIANT v);
8842
8843     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8844     HRESULT onchange([retval, out] VARIANT *p);
8845
8846     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8847     HRESULT onselect([in] VARIANT v);
8848
8849     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8850     HRESULT onselect([retval, out] VARIANT *p);
8851
8852     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8853     HRESULT defaultValue([in] BSTR v);
8854
8855     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8856     HRESULT defaultValue([retval, out] BSTR *p);
8857
8858     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8859     HRESULT readOnly([in] VARIANT_BOOL v);
8860
8861     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8862     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8863
8864     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8865     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8866
8867     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8868     HRESULT indeterminate([in] VARIANT_BOOL v);
8869
8870     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8871     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
8872
8873     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8874     HRESULT defaultChecked([in] VARIANT_BOOL v);
8875
8876     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8877     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
8878
8879     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8880     HRESULT checked([in] VARIANT_BOOL v);
8881
8882     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8883     HRESULT checked([retval, out] VARIANT_BOOL *p);
8884
8885     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8886     HRESULT border([in] VARIANT v);
8887
8888     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8889     HRESULT border([retval, out] VARIANT *p);
8890
8891     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8892     HRESULT vspace([in] LONG v);
8893
8894     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8895     HRESULT vspace([retval, out] LONG *p);
8896
8897     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8898     HRESULT hspace([in] LONG v);
8899
8900     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8901     HRESULT hspace([retval, out] LONG *p);
8902
8903     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8904     HRESULT alt([in] BSTR v);
8905
8906     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8907     HRESULT alt([retval, out] BSTR *p);
8908
8909     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8910     HRESULT src([in] BSTR v);
8911
8912     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8913     HRESULT src([retval, out] BSTR *p);
8914
8915     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8916     HRESULT lowsrc([in] BSTR v);
8917
8918     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8919     HRESULT lowsrc([retval, out] BSTR *p);
8920
8921     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8922     HRESULT vrml([in] BSTR v);
8923
8924     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8925     HRESULT vrml([retval, out] BSTR *p);
8926
8927     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8928     HRESULT dynsrc([in] BSTR v);
8929
8930     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8931     HRESULT dynsrc([retval, out] BSTR *p);
8932
8933     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
8934     HRESULT readyState([retval, out] BSTR *p);
8935
8936     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
8937     HRESULT complete([retval, out] VARIANT_BOOL *p);
8938
8939     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8940     HRESULT loop([in] VARIANT v);
8941
8942     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8943     HRESULT loop([retval, out] VARIANT *p);
8944
8945     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8946     HRESULT align([in] BSTR v);
8947
8948     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8949     HRESULT align([retval, out] BSTR *p);
8950
8951     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8952     HRESULT onload([in] VARIANT v);
8953
8954     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8955     HRESULT onload([retval, out] VARIANT *p);
8956
8957     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8958     HRESULT onerror([in] VARIANT v);
8959
8960     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8961     HRESULT onerror([retval, out] VARIANT *p);
8962
8963     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8964     HRESULT onabort([in] VARIANT v);
8965
8966     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8967     HRESULT onabort([retval, out] VARIANT *p);
8968
8969     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8970     HRESULT width([in] LONG v);
8971
8972     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8973     HRESULT width([retval, out] LONG *p);
8974
8975     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8976     HRESULT height([in] LONG v);
8977
8978     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8979     HRESULT height([retval, out] LONG *p);
8980
8981     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8982     HRESULT start([in] BSTR v);
8983
8984     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8985     HRESULT start([retval, out] BSTR *p);
8986 }
8987
8988 /*****************************************************************************
8989  *    IHTMLInputTextElement interface
8990  */
8991 [
8992     odl,
8993     oleautomation,
8994     dual,
8995     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
8996 ]
8997 interface IHTMLInputTextElement : IDispatch
8998 {
8999     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
9000     HRESULT type([retval, out] BSTR *p);
9001
9002     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9003     HRESULT value([in] BSTR v);
9004
9005     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9006     HRESULT value([retval, out] BSTR *p);
9007
9008     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9009     HRESULT name([in] BSTR v);
9010
9011     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9012     HRESULT name([retval, out] BSTR *p);
9013
9014     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9015     HRESULT status([in] VARIANT v);
9016
9017     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9018     HRESULT status([retval, out] VARIANT *p);
9019
9020     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9021     HRESULT disabled([in] VARIANT_BOOL v);
9022
9023     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9024     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9025
9026     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
9027     HRESULT form([retval, out] IHTMLFormElement **p);
9028
9029     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9030     HRESULT defaultValue([in] BSTR v);
9031
9032     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9033     HRESULT defaultValue([retval, out] BSTR *p);
9034
9035     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9036     HRESULT size([in] LONG v);
9037
9038     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9039     HRESULT size([retval, out] LONG *p);
9040
9041     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9042     HRESULT maxLength([in] LONG v);
9043
9044     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9045     HRESULT maxLength([retval, out] LONG *p);
9046
9047     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
9048     HRESULT select();
9049
9050     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9051     HRESULT onchange([in] VARIANT v);
9052
9053     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9054     HRESULT onchange([retval, out] VARIANT *p);
9055
9056     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9057     HRESULT onselect([in] VARIANT v);
9058
9059     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9060     HRESULT onselect([retval, out] VARIANT *p);
9061
9062     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9063     HRESULT readOnly([in] VARIANT_BOOL v);
9064
9065     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9066     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9067
9068     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
9069     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9070 }
9071
9072 [
9073     hidden,
9074     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
9075 ]
9076 dispinterface DispHTMLInputElement
9077 {
9078 properties:
9079 methods:
9080     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9081
9082     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9083     void type(BSTR v);
9084
9085     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9086     BSTR type();
9087
9088     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9089     void value(BSTR v);
9090
9091     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9092     BSTR value();
9093
9094     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9095     void name(BSTR v);
9096
9097     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9098     BSTR name();
9099
9100     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9101     void status(VARIANT_BOOL v);
9102
9103     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9104     VARIANT_BOOL status();
9105
9106     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
9107     IHTMLFormElement *form();
9108
9109     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9110     void size(LONG v);
9111
9112     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9113     LONG size();
9114
9115     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9116     void maxLength(LONG v);
9117
9118     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9119     LONG maxLength();
9120
9121     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
9122     void select();
9123
9124     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9125     void onchange(VARIANT v);
9126
9127     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9128     VARIANT onchange();
9129
9130     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9131     void onselect(VARIANT v);
9132
9133     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9134     VARIANT onselect();
9135
9136     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9137     void defaultValue(BSTR v);
9138
9139     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9140     BSTR defaultValue();
9141
9142     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9143     void readOnly(VARIANT_BOOL v);
9144
9145     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9146     VARIANT_BOOL readOnly();
9147
9148     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
9149     IHTMLTxtRange *createTextRange();
9150
9151     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9152     void indeterminate(VARIANT_BOOL v);
9153
9154     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9155     VARIANT_BOOL indeterminate();
9156
9157     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9158     void defaultChecked(VARIANT_BOOL v);
9159
9160     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9161     VARIANT_BOOL defaultChecked();
9162
9163     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9164     void checked(VARIANT_BOOL v);
9165
9166     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9167     VARIANT_BOOL checked();
9168
9169     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9170     void border(VARIANT v);
9171
9172     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9173     VARIANT border();
9174
9175     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9176     void vspace(LONG v);
9177
9178     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9179     LONG vspace();
9180
9181     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9182     void hspace(LONG v);
9183
9184     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9185     LONG hspace();
9186
9187     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9188     void alt(BSTR v);
9189
9190     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9191     BSTR alt();
9192
9193     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9194     void src(BSTR v);
9195
9196     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9197     BSTR src();
9198
9199     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9200     void lowsrc(BSTR v);
9201
9202     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9203     BSTR lowsrc();
9204
9205     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9206     void vrml(BSTR v);
9207
9208     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9209     BSTR vrml();
9210
9211     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9212     void dynsrc(BSTR v);
9213
9214     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9215     BSTR dynsrc();
9216
9217     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9218     VARIANT_BOOL complete();
9219
9220     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9221     void loop(VARIANT v);
9222
9223     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9224     VARIANT loop();
9225
9226     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9227     void align(BSTR v);
9228
9229     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9230     BSTR align();
9231
9232     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9233     void onload(VARIANT v);
9234
9235     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9236     VARIANT onload();
9237
9238     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9239     void onerror(VARIANT v);
9240
9241     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9242     VARIANT onerror();
9243
9244     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9245     void onabort(VARIANT v);
9246
9247     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9248     VARIANT onabort();
9249
9250     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9251     void width(LONG v);
9252
9253     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9254     LONG width();
9255
9256     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9257     void height(LONG v);
9258
9259     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9260     LONG height();
9261
9262     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9263     void start(BSTR v);
9264
9265     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9266     BSTR start();
9267
9268     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9269     void accept(BSTR v);
9270
9271     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9272     BSTR accept();
9273
9274     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9275     void useMap(BSTR v);
9276
9277     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9278     BSTR useMap();
9279 }
9280
9281 /*****************************************************************************
9282  *    IHTMLTextAreaElement interface
9283  */
9284 [
9285     odl,
9286     oleautomation,
9287     dual,
9288     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
9289 ]
9290 interface IHTMLTextAreaElement : IDispatch
9291 {
9292     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9293     HRESULT type([retval, out] BSTR *p);
9294
9295     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9296     HRESULT value([in] BSTR v);
9297
9298     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9299     HRESULT value([retval, out] BSTR *p);
9300
9301     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9302     HRESULT name([in] BSTR v);
9303
9304     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9305     HRESULT name([retval, out] BSTR *p);
9306
9307     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9308     HRESULT status([in] VARIANT v);
9309
9310     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9311     HRESULT status([retval, out] VARIANT *p);
9312
9313     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9314     HRESULT disabled([in] VARIANT_BOOL v);
9315
9316     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9317     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9318
9319     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9320     HRESULT form([retval, out] IHTMLFormElement **p);
9321
9322     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9323     HRESULT defaultValue([in] BSTR v);
9324
9325     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9326     HRESULT defaultValue([retval, out] BSTR *p);
9327
9328     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9329     HRESULT select();
9330
9331     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9332     HRESULT onchange([in] VARIANT v);
9333
9334     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9335     HRESULT onchange([retval, out] VARIANT *p);
9336
9337     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9338     HRESULT onselect([in] VARIANT v);
9339
9340     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9341     HRESULT onselect([retval, out] VARIANT *p);
9342
9343     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9344     HRESULT readOnly([in] VARIANT_BOOL v);
9345
9346     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9347     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9348
9349     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9350     HRESULT rows([in] LONG v);
9351
9352     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9353     HRESULT rows([retval, out] LONG *p);
9354
9355     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9356     HRESULT cols([in] LONG v);
9357
9358     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9359     HRESULT cols([retval, out] LONG *p);
9360
9361     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9362     HRESULT wrap([in] BSTR v);
9363
9364     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9365     HRESULT wrap([retval, out] BSTR *p);
9366
9367     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9368     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9369 }
9370
9371 /*****************************************************************************
9372  *    DispHTMLTextAreaElement dispinterface
9373  */
9374 [
9375     hidden,
9376     uuid(3050f521-98b5-11cf-bb82-00aa00bdce0b)
9377 ]
9378 dispinterface DispHTMLTextAreaElement
9379 {
9380 properties:
9381 methods:
9382     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9383
9384     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9385     BSTR type();
9386
9387     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9388     void value(BSTR v);
9389
9390     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9391     BSTR value();
9392
9393     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9394     void name(BSTR v);
9395
9396     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9397     BSTR name();
9398
9399     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9400     void status(VARIANT v);
9401
9402     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9403     VARIANT status();
9404
9405     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9406     IHTMLFormElement *form();
9407
9408     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9409     void defaultValue(BSTR v);
9410
9411     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9412     BSTR defaultValue();
9413
9414     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9415     void select();
9416
9417     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9418     void onchange(VARIANT v);
9419
9420     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9421     VARIANT onchange();
9422
9423     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9424     void onselect(VARIANT v);
9425
9426     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9427     VARIANT onselect();
9428
9429     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9430     void readOnly(VARIANT_BOOL v);
9431
9432     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9433     VARIANT_BOOL readOnly();
9434
9435     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9436     void rows(LONG v);
9437
9438     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9439     LONG rows();
9440
9441     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9442     void cols(LONG v);
9443
9444     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9445     LONG cols();
9446
9447     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9448     void wrap(BSTR v);
9449
9450     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9451     BSTR wrap();
9452
9453     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9454     IHTMLTxtRange *createTextRange();
9455 }
9456
9457 /*****************************************************************************
9458  *    IHTMLHeadElement interface
9459  */
9460 [
9461     odl,
9462     oleautomation,
9463     dual,
9464     uuid(3050f81d-98b5-11cf-bb82-00aa00bdce0b)
9465 ]
9466 interface IHTMLHeadElement : IDispatch
9467 {
9468     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9469     HRESULT profile([in] BSTR v);
9470
9471     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9472     HRESULT profile([retval, out] BSTR *p);
9473 }
9474
9475 /*****************************************************************************
9476  *    IHTMLHeadElement2 interface
9477  */
9478 [
9479     odl,
9480     oleautomation,
9481     dual,
9482     uuid(3051042f-98b5-11cf-bb82-00aa00bdce0b)
9483 ]
9484 interface IHTMLHeadElement2 : IDispatch
9485 {
9486     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9487     HRESULT profile([in] BSTR v);
9488
9489     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9490     HRESULT profile([retval, out] BSTR *p);
9491 }
9492
9493 /*****************************************************************************
9494  *    IHTMLTitleElement interface
9495  */
9496 [
9497     odl,
9498     oleautomation,
9499     dual,
9500     uuid(3050f322-98b5-11cf-bb82-00aa00bdce0b)
9501 ]
9502 interface IHTMLTitleElement : IDispatch
9503 {
9504     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9505     HRESULT text([in] BSTR v);
9506
9507     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9508     HRESULT text([retval, out] BSTR *p);
9509 }
9510
9511 /*****************************************************************************
9512  *    DispHTMLHeadElement interface
9513  */
9514 [
9515     hidden,
9516     uuid(3050f561-98b5-11cf-bb82-00aa00bdce0b)
9517 ]
9518 dispinterface DispHTMLHeadElement
9519 {
9520 properties:
9521 methods:
9522     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9523
9524     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9525     void profile(BSTR v);
9526
9527     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9528     BSTR profile();
9529
9530     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9531     void ie8_profile(BSTR v);
9532
9533     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9534     BSTR ie8_profile();
9535 }
9536
9537 /*****************************************************************************
9538  *    DispHTMLTitleElement interface
9539  */
9540 [
9541     hidden,
9542     uuid(3050f516-98b5-11cf-bb82-00aa00bdce0b)
9543 ]
9544 dispinterface DispHTMLTitleElement
9545 {
9546 properties:
9547 methods:
9548     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9549
9550     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9551     void text(BSTR v);
9552
9553     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9554     BSTR text();
9555 }
9556
9557 /*****************************************************************************
9558  *    DispHTMLUnknownElement interface
9559  */
9560 [
9561     hidden,
9562     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
9563 ]
9564 dispinterface DispHTMLUnknownElement
9565 {
9566 properties:
9567 methods:
9568     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9569 }
9570
9571 /*****************************************************************************
9572  *    IOmHistory interface
9573  */
9574 [
9575     odl,
9576     oleautomation,
9577     dual,
9578     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
9579 ]
9580 interface IOmHistory : IDispatch
9581 {
9582     [propget, id(DISPID_IOMHISTORY_LENGTH)]
9583     HRESULT length([retval, out] short *p);
9584
9585     [id(DISPID_IOMHISTORY_BACK)]
9586     HRESULT back([optional, in] VARIANT *pvargdistance);
9587
9588     [id(DISPID_IOMHISTORY_FORWARD)]
9589     HRESULT forward([optional, in] VARIANT *pvargdistance);
9590
9591     [id(DISPID_IOMHISTORY_GO)]
9592     HRESULT go([optional, in] VARIANT *pvargdistance);
9593 }
9594
9595 [
9596     noncreatable,
9597     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
9598 ]
9599 coclass HTMLHistory
9600 {
9601     [default]           interface IOmHistory;
9602 }
9603
9604 /*****************************************************************************
9605  *    IHTMLMimeTypesCollection interface
9606  */
9607 [
9608     odl,
9609     oleautomation,
9610     dual,
9611     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
9612 ]
9613 interface IHTMLMimeTypesCollection : IDispatch
9614 {
9615     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
9616     HRESULT length([retval, out] LONG *p);
9617 }
9618
9619 [
9620     noncreatable,
9621     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
9622 ]
9623 coclass CMimeTypes
9624 {
9625     [default]           interface IHTMLMimeTypesCollection;
9626 }
9627
9628 /*****************************************************************************
9629  *    IHTMLPluginsCollection interface
9630  */
9631 [
9632     odl,
9633     oleautomation,
9634     dual,
9635     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
9636 ]
9637 interface IHTMLPluginsCollection : IDispatch
9638 {
9639     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9640     HRESULT length([retval, out] LONG *p);
9641
9642     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9643     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9644 }
9645
9646 [
9647     hidden,
9648     uuid(3050f54a-98b5-11cf-bb82-00aa00bdce0b)
9649 ]
9650 dispinterface DispCPlugins
9651 {
9652  properties:
9653 methods:
9654     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9655     long length();
9656
9657     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9658     void refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9659
9660     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
9661     IDispatch *constructor();
9662 }
9663
9664 [
9665     noncreatable,
9666     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
9667 ]
9668 coclass CPlugins
9669 {
9670     [default]  dispinterface DispCPlugins;
9671                interface IHTMLPluginsCollection;
9672                interface IHTMLDOMConstructor;
9673 }
9674
9675 /*****************************************************************************
9676  *    IHTMLOpsProfile interface
9677  */
9678 [
9679     odl,
9680     oleautomation,
9681     dual,
9682     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
9683 ]
9684 interface IHTMLOpsProfile : IDispatch
9685 {
9686     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
9687     HRESULT addRequest(
9688         [in] BSTR name,
9689         [optional, in] VARIANT reserved,
9690         [retval, out] VARIANT_BOOL *success);
9691
9692     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
9693     HRESULT clearRequest();
9694
9695     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
9696     HRESULT doRequest(
9697         [in] VARIANT usage,
9698         [optional, in] VARIANT fname,
9699         [optional, in] VARIANT domain,
9700         [optional, in] VARIANT path,
9701         [optional, in] VARIANT expire,
9702         [optional, in] VARIANT reserved);
9703
9704     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
9705     HRESULT getAttribute(
9706         [in] BSTR name,
9707         [retval, out] BSTR *value);
9708
9709     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
9710     HRESULT setAttribute(
9711         [in] BSTR name,
9712         [in] BSTR value,
9713         [optional, in] VARIANT prefs,
9714         [retval, out] VARIANT_BOOL *success);
9715
9716     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
9717     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
9718
9719     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
9720     HRESULT addReadRequest(
9721         [in] BSTR name,
9722         [optional, in] VARIANT reserved,
9723         [retval, out] VARIANT_BOOL *success);
9724
9725     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
9726     HRESULT doReadRequest(
9727         [in] VARIANT usage,
9728         [optional, in] VARIANT fname,
9729         [optional, in] VARIANT domain,
9730         [optional, in] VARIANT path,
9731         [optional, in] VARIANT expire,
9732         [optional, in] VARIANT reserved);
9733
9734     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
9735     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
9736 }
9737
9738 [
9739     noncreatable,
9740     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
9741 ]
9742 coclass COpsProfile
9743 {
9744     [default]           interface IHTMLOpsProfile;
9745 }
9746
9747 /*****************************************************************************
9748  *    IOmNavigator interface
9749  */
9750 [
9751     odl,
9752     oleautomation,
9753     dual,
9754     uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
9755 ]
9756 interface IOmNavigator : IDispatch
9757 {
9758     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9759     HRESULT appCodeName([retval, out] BSTR *p);
9760
9761     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9762     HRESULT appName([retval, out] BSTR *p);
9763
9764     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
9765     HRESULT appVersion([retval, out] BSTR *p);
9766
9767     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
9768     HRESULT userAgent([retval, out] BSTR *p);
9769
9770     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
9771     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
9772
9773     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
9774     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
9775
9776     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
9777     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
9778
9779     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
9780     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
9781
9782     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
9783     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
9784
9785     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
9786     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
9787
9788     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
9789     HRESULT toString([retval, out] BSTR *String);
9790
9791     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
9792     HRESULT cpuClass([retval, out] BSTR *p);
9793
9794     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
9795     HRESULT systemLanguage([retval, out] BSTR *p);
9796
9797     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
9798     HRESULT browserLanguage([retval, out] BSTR *p);
9799
9800     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
9801     HRESULT userLanguage([retval, out] BSTR *p);
9802
9803     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
9804     HRESULT platform([retval, out] BSTR *p);
9805
9806     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
9807     HRESULT appMinorVersion([retval, out] BSTR *p);
9808
9809     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
9810     HRESULT connectionSpeed([retval, out] LONG *p);
9811
9812     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
9813     HRESULT onLine([retval, out] VARIANT_BOOL *p);
9814
9815     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
9816     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
9817 }
9818
9819 /*****************************************************************************
9820  *    DispHTMLNavigator dispinterface
9821  */
9822 [
9823     hidden,
9824     uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
9825 ]
9826 dispinterface DispHTMLNavigator
9827 {
9828 properties:
9829 methods:
9830     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9831     BSTR appCodeName();
9832
9833     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9834     BSTR appName();
9835
9836     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
9837     BSTR appVersion();
9838
9839     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
9840     BSTR userAgent();
9841
9842     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
9843     VARIANT_BOOL javaEnabled();
9844
9845     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
9846     VARIANT_BOOL taintEnabled();
9847
9848     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
9849     IHTMLMimeTypesCollection *mimeTypes();
9850
9851     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
9852     IHTMLPluginsCollection *plugins();
9853
9854     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
9855     VARIANT_BOOL cookieEnabled();
9856
9857     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
9858     IHTMLOpsProfile *opsProfile();
9859
9860     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
9861     BSTR toString();
9862
9863     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
9864     BSTR cpuClass();
9865
9866     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
9867     BSTR systemLanguage();
9868
9869     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
9870     BSTR browserLanguage();
9871
9872     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
9873     BSTR userLanguage();
9874
9875     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
9876     BSTR platform();
9877
9878     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
9879     BSTR appMinorVersion();
9880
9881     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
9882     LONG connectionSpeed();
9883
9884     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
9885     VARIANT_BOOL onLine();
9886
9887     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
9888     IHTMLOpsProfile *userProfile();
9889
9890     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
9891 }
9892
9893 [
9894     noncreatable,
9895     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
9896 ]
9897 coclass HTMLNavigator
9898 {
9899     [default]  dispinterface DispHTMLNavigator;
9900                interface IOmNavigator;
9901 }
9902
9903 /*****************************************************************************
9904  *    IHTMLLocation interface
9905  */
9906 [
9907     odl,
9908     oleautomation,
9909     dual,
9910     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
9911 ]
9912 interface IHTMLLocation : IDispatch
9913 {
9914     [propput, id(DISPID_IHTMLLOCATION_HREF)]
9915     HRESULT href([in] BSTR v);
9916
9917     [propget, id(DISPID_IHTMLLOCATION_HREF)]
9918     HRESULT href([retval, out] BSTR *p);
9919
9920     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9921     HRESULT protocol([in] BSTR v);
9922
9923     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9924     HRESULT protocol([retval, out] BSTR *p);
9925
9926     [propput, id(DISPID_IHTMLLOCATION_HOST)]
9927     HRESULT host([in] BSTR v);
9928
9929     [propget, id(DISPID_IHTMLLOCATION_HOST)]
9930     HRESULT host([retval, out] BSTR *p);
9931
9932     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9933     HRESULT hostname([in] BSTR v);
9934
9935     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
9936     HRESULT hostname([retval, out] BSTR *p);
9937
9938     [propput, id(DISPID_IHTMLLOCATION_PORT)]
9939     HRESULT port([in] BSTR v);
9940
9941     [propget, id(DISPID_IHTMLLOCATION_PORT)]
9942     HRESULT port([retval, out] BSTR *p);
9943
9944     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
9945     HRESULT pathname([in] BSTR v);
9946
9947     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
9948     HRESULT pathname([retval, out] BSTR *p);
9949
9950     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
9951     HRESULT search([in] BSTR v);
9952
9953     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
9954     HRESULT search([retval, out] BSTR *p);
9955
9956     [propput, id(DISPID_IHTMLLOCATION_HASH)]
9957     HRESULT hash([in] BSTR v);
9958
9959     [propget, id(DISPID_IHTMLLOCATION_HASH)]
9960     HRESULT hash([retval, out] BSTR *p);
9961
9962     [id(DISPID_IHTMLLOCATION_RELOAD)]
9963     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
9964
9965     [id(DISPID_IHTMLLOCATION_REPLACE)]
9966     HRESULT replace([in] BSTR bstr);
9967
9968     [id(DISPID_IHTMLLOCATION_ASSIGN)]
9969     HRESULT assign([in] BSTR bstr);
9970
9971     [id(DISPID_IHTMLLOCATION_TOSTRING)]
9972     HRESULT toString([retval, out] BSTR *String);
9973 }
9974
9975 /*****************************************************************************
9976  *    DispHTMLLocation dispinterface
9977  */
9978 [
9979     hidden,
9980     uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
9981 ]
9982 dispinterface DispHTMLLocation
9983 {
9984 properties:
9985 methods:
9986     [propput, id(DISPID_IHTMLLOCATION_HREF)]
9987     void href(BSTR v);
9988
9989     [propget, id(DISPID_IHTMLLOCATION_HREF)]
9990     BSTR href();
9991
9992     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9993     void protocol(BSTR v);
9994
9995     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
9996     BSTR protocol();
9997
9998     [propput, id(DISPID_IHTMLLOCATION_HOST)]
9999     void host(BSTR v);
10000
10001     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10002     BSTR host();
10003
10004     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10005     void hostname(BSTR v);
10006
10007     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10008     BSTR hostname();
10009
10010     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10011     void port(BSTR v);
10012
10013     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10014     BSTR port();
10015
10016     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10017     void pathname(BSTR v);
10018
10019     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10020     BSTR pathname();
10021
10022     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10023     void search(BSTR v);
10024
10025     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10026     BSTR search();
10027
10028     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10029     void hash(BSTR v);
10030
10031     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10032     BSTR hash();
10033
10034     [id(DISPID_IHTMLLOCATION_RELOAD)]
10035     void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
10036
10037     [id(DISPID_IHTMLLOCATION_REPLACE)]
10038     void replace([in] BSTR bstr);
10039
10040     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10041     void assign([in] BSTR bstr);
10042
10043     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10044     BSTR toString();
10045
10046     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
10047 }
10048
10049 [
10050     noncreatable,
10051     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
10052 ]
10053 coclass HTMLLocation
10054 {
10055     [default]  dispinterface DispHTMLLocation;
10056                interface IHTMLLocation;
10057 }
10058
10059 [
10060     odl,
10061     oleautomation,
10062     dual,
10063     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
10064 ]
10065 interface IHTMLBookmarkCollection : IDispatch
10066 {
10067     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
10068     HRESULT length([out, retval] LONG *p);
10069
10070     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
10071     HRESULT _newEnum([out, retval] IUnknown **p);
10072
10073     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
10074     HRESULT item(
10075             [in] LONG index,
10076             [out, retval] VARIANT *pVarBookmark);
10077 }
10078
10079 /*****************************************************************************
10080  *    IHTMLDataTransfer interface
10081  */
10082 [
10083     odl,
10084     oleautomation,
10085     dual,
10086     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
10087 ]
10088 interface IHTMLDataTransfer : IDispatch
10089 {
10090     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
10091     HRESULT setData(
10092             [in] BSTR format,
10093             [in] VARIANT *data,
10094             [out, retval] VARIANT_BOOL *pret);
10095
10096     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
10097     HRESULT getData(
10098             [in] BSTR format,
10099             [out, retval] VARIANT *pvarRet);
10100
10101     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
10102     HRESULT clearData(
10103             [in] BSTR format,
10104             [out, retval] VARIANT_BOOL *pret);
10105
10106     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10107     HRESULT dropEffect([in] BSTR v);
10108
10109     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10110     HRESULT dropEffect([out, retval] BSTR *p);
10111
10112     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10113     HRESULT effectAllowed([in] BSTR v);
10114
10115     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10116     HRESULT effectAllowed([out, retval] BSTR *p);
10117 }
10118
10119 /*****************************************************************************
10120  *    IHTMLEventObj interface
10121  */
10122 [
10123     odl,
10124     oleautomation,
10125     dual,
10126     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
10127 ]
10128 interface IHTMLEventObj : IDispatch
10129 {
10130     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
10131     HRESULT srcElement([retval, out] IHTMLElement **p);
10132
10133     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
10134     HRESULT altKey([retval, out] VARIANT_BOOL *p);
10135
10136     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
10137     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
10138
10139     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
10140     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
10141
10142     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10143     HRESULT returnValue([in] VARIANT v);
10144
10145     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10146     HRESULT returnValue([retval, out] VARIANT *p);
10147
10148     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10149     HRESULT cancelBubble([in] VARIANT_BOOL v);
10150
10151     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10152     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
10153
10154     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
10155     HRESULT fromElement([retval, out] IHTMLElement **p);
10156
10157     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
10158     HRESULT toElement([retval, out] IHTMLElement **p);
10159
10160     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10161     HRESULT keyCode([in] LONG v);
10162
10163     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10164     HRESULT keyCode([retval, out] LONG *p);
10165
10166     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
10167     HRESULT button([retval, out] LONG *p);
10168
10169     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
10170     HRESULT type([retval, out] BSTR *p);
10171
10172     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
10173     HRESULT qualifier([retval, out] BSTR *p);
10174
10175     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
10176     HRESULT reason([retval, out] LONG *p);
10177
10178     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
10179     HRESULT x([retval, out] LONG *p);
10180
10181     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
10182     HRESULT y([retval, out] LONG *p);
10183
10184     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
10185     HRESULT clientX([retval, out] LONG *p);
10186
10187     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
10188     HRESULT clientY([retval, out] LONG *p);
10189
10190     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
10191     HRESULT offsetX([retval, out] LONG *p);
10192
10193     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
10194     HRESULT offsetY([retval, out] LONG *p);
10195
10196     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
10197     HRESULT screenX([retval, out] LONG *p);
10198
10199     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
10200     HRESULT screenY([retval, out] LONG *p);
10201
10202     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
10203     HRESULT srcFilter([retval, out] IDispatch **p);
10204 }
10205
10206 /*****************************************************************************
10207  *    DispCEventObj dispinterface
10208  */
10209 [
10210     hidden,
10211     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
10212 ]
10213 dispinterface DispCEventObj
10214 {
10215 properties:
10216 methods:
10217     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10218     void returnValue(VARIANT v);
10219
10220     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10221     VARIANT returnValue();
10222
10223     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10224     void cancelBubble(VARIANT_BOOL v);
10225
10226     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10227     VARIANT_BOOL cancelBubble();
10228
10229     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10230     void keyCode(LONG v);
10231
10232     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10233     LONG keyCode();
10234
10235     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
10236     void setAttribute(
10237             [in] BSTR strAttributeName,
10238             [in] VARIANT AttributeValue,
10239             [in, defaultvalue(1)] LONG lFlags);
10240
10241     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
10242     VARIANT getAttribute(
10243             [in] BSTR strAttributeName,
10244             [in, defaultvalue(0)] LONG lFlags);
10245
10246     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
10247     VARIANT_BOOL removeAttribute(
10248             [in] BSTR strAttributeName,
10249             [in, defaultvalue(1)] LONG lFlags);
10250
10251     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
10252     void propertyName(BSTR v);
10253
10254     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
10255     BSTR propertyName();
10256
10257     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
10258     void bookmarks(IHTMLBookmarkCollection *v);
10259
10260     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
10261     IHTMLBookmarkCollection *bookmarks();
10262
10263     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
10264     void recordset(IDispatch *v);
10265
10266     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
10267     IDispatch *recordset();
10268
10269     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
10270     void dataFld(BSTR v);
10271
10272     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
10273     BSTR dataFld();
10274
10275     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
10276     void boundElements(IHTMLElementCollection *v);
10277
10278     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
10279     IHTMLElementCollection *boundElements();
10280
10281     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
10282     void repeat(VARIANT_BOOL v);
10283
10284     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
10285     VARIANT_BOOL repeat();
10286
10287     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
10288     void srcUrn(BSTR v);
10289
10290     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
10291     BSTR srcUrn();
10292
10293     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
10294     void srcElement(IHTMLElement *v);
10295
10296     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
10297     IHTMLElement *srcElement();
10298
10299     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
10300     void altKey(VARIANT_BOOL v);
10301
10302     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
10303     VARIANT_BOOL altKey();
10304
10305     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
10306     void ctrlKey(VARIANT_BOOL v);
10307
10308     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
10309     VARIANT_BOOL ctrlKey();
10310
10311     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
10312     void shiftKey(VARIANT_BOOL v);
10313
10314     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
10315     VARIANT_BOOL shiftKey();
10316
10317     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
10318     void fromElement(IHTMLElement *v);
10319
10320     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
10321     IHTMLElement *fromElement();
10322
10323     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
10324     void toElement(IHTMLElement *v);
10325
10326     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
10327     IHTMLElement *toElement();
10328
10329     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
10330     void button(LONG v);
10331
10332     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
10333     LONG button();
10334
10335     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
10336     void type(BSTR v);
10337
10338     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
10339     BSTR type();
10340
10341     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
10342     void qualifier(BSTR v);
10343
10344     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
10345     BSTR qualifier();
10346
10347     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
10348     void reason(LONG v);
10349
10350     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
10351     LONG reason();
10352
10353     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
10354     void x(LONG v);
10355
10356     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
10357     LONG x();
10358
10359     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
10360     void y(LONG v);
10361
10362     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
10363     LONG y();
10364
10365     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
10366     void clientX(LONG v);
10367
10368     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
10369     LONG clientX();
10370
10371     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
10372     void clientY(LONG v);
10373
10374     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
10375     LONG clientY();
10376     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
10377     void offsetX(LONG v);
10378
10379     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
10380     LONG offsetX();
10381
10382     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
10383     void offsetY(LONG v);
10384
10385     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
10386     LONG offsetY();
10387
10388     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
10389     void screenX(LONG v);
10390
10391     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
10392     LONG screenX();
10393
10394     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
10395     void screenY(LONG v);
10396
10397     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
10398     LONG screenY();
10399
10400     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
10401     void srcFilter(IDispatch *v);
10402
10403     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
10404     IDispatch *srcFilter();
10405
10406     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
10407     IHTMLDataTransfer *dataTransfer();
10408
10409     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
10410     VARIANT_BOOL contentOverflow();
10411
10412     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
10413     void shiftLeft(VARIANT_BOOL v);
10414
10415     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
10416     VARIANT_BOOL shiftLeft();
10417
10418     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
10419     void altLeft(VARIANT_BOOL v);
10420
10421     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
10422     VARIANT_BOOL altLeft();
10423
10424     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
10425     void ctrlLeft(VARIANT_BOOL v);
10426
10427     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
10428     VARIANT_BOOL ctrlLeft();
10429
10430     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
10431     LONG_PTR imeCompositionChange();
10432
10433     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
10434     LONG_PTR imeNotifyCommand();
10435
10436     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
10437     LONG_PTR imeNotifyData();
10438
10439     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
10440     LONG_PTR imeRequest();
10441
10442     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
10443     LONG_PTR imeRequestData();
10444
10445     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
10446     LONG_PTR keyboardLayout();
10447
10448     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
10449     LONG behaviorCookie();
10450
10451     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
10452     LONG behaviorPart();
10453
10454     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
10455     BSTR nextPage();
10456
10457     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
10458     LONG wheelDelta();
10459 }
10460
10461 /*****************************************************************************
10462  *    IHTMLFramesCollection2 interface
10463  */
10464 [
10465     odl,
10466     oleautomation,
10467     dual,
10468     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
10469 ]
10470 interface IHTMLFramesCollection2 : IDispatch
10471 {
10472     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10473     HRESULT item(
10474         [in] VARIANT *pvarIndex,
10475         [retval, out] VARIANT *pvarResult);
10476
10477     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10478     HRESULT length([retval, out] LONG *p);
10479 }
10480
10481 /*****************************************************************************
10482  *    IHTMLScreen interface
10483  */
10484 [
10485     odl,
10486     oleautomation,
10487     dual,
10488     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
10489 ]
10490 interface IHTMLScreen : IDispatch
10491 {
10492     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
10493     HRESULT colorDepth([retval, out] LONG *p);
10494
10495     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10496     HRESULT bufferDepth([in] LONG v);
10497
10498     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10499     HRESULT bufferDepth([retval, out] LONG *p);
10500
10501     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10502     HRESULT width([retval, out] LONG *p);
10503
10504     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10505     HRESULT height([retval, out] LONG *p);
10506
10507     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10508     HRESULT updateInterval([in] LONG v);
10509
10510     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10511     HRESULT updateInterval([retval, out] LONG *p);
10512
10513     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
10514     HRESULT availHeight([retval, out] LONG *p);
10515
10516     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
10517     HRESULT availWidth([retval, out] LONG *p);
10518
10519     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10520     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
10521 }
10522
10523 /*****************************************************************************
10524  *    IHTMLWindow2 interface
10525  */
10526 [
10527     odl,
10528     oleautomation,
10529     dual,
10530     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
10531 ]
10532 interface IHTMLWindow2 : IHTMLFramesCollection2
10533 {
10534     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10535     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
10536
10537     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10538     HRESULT defaultStatus([in] BSTR v);
10539
10540     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10541     HRESULT defaultStatus([retval, out] BSTR *p);
10542
10543     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10544     HRESULT status([in] BSTR v);
10545
10546     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10547     HRESULT status([retval, out] BSTR *p);
10548
10549     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
10550     HRESULT setTimeout(
10551         [in] BSTR expression,
10552         [in] LONG msec,
10553         [optional, in] VARIANT *language,
10554         [retval, out] LONG *timerID);
10555
10556     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10557     HRESULT clearTimeout([in] LONG timerID);
10558
10559     [id(DISPID_IHTMLWINDOW2_ALERT)]
10560     HRESULT alert([defaultvalue(""), in] BSTR message);
10561
10562     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10563     HRESULT confirm(
10564         [defaultvalue(""), in] BSTR message,
10565         [retval, out] VARIANT_BOOL *confirmed);
10566
10567     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10568     HRESULT prompt(
10569         [defaultvalue(""), in] BSTR message,
10570         [defaultvalue("undefined"), in] BSTR defstr,
10571         [retval, out] VARIANT *textdata);
10572
10573     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10574     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
10575
10576     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10577     HRESULT location([retval, out] IHTMLLocation **p);
10578
10579     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10580     HRESULT history([retval, out] IOmHistory **p);
10581
10582     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10583     HRESULT close();
10584
10585     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10586     HRESULT opener([in] VARIANT v);
10587
10588     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10589     HRESULT opener([retval, out] VARIANT *p);
10590
10591     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10592     HRESULT navigator([retval, out] IOmNavigator **p);
10593
10594     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10595     HRESULT name([in] BSTR v);
10596
10597     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10598     HRESULT name([retval, out] BSTR *p);
10599
10600     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10601     HRESULT parent([retval, out] IHTMLWindow2 **p);
10602
10603     [id(DISPID_IHTMLWINDOW2_OPEN)]
10604     HRESULT open(
10605         [defaultvalue(""), in] BSTR url,
10606         [defaultvalue(""), in] BSTR name,
10607         [defaultvalue(""), in] BSTR features,
10608         [defaultvalue(0), in] VARIANT_BOOL replace,
10609         [retval, out] IHTMLWindow2 **pomWindowResult);
10610
10611     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10612     HRESULT self([retval, out] IHTMLWindow2 **p);
10613
10614     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10615     HRESULT top([retval, out] IHTMLWindow2 **p);
10616
10617     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10618     HRESULT window([retval, out] IHTMLWindow2 **p);
10619
10620     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10621     HRESULT navigate([in] BSTR url);
10622
10623     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10624     HRESULT onfocus([in] VARIANT v);
10625
10626     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10627     HRESULT onfocus([retval, out] VARIANT *p);
10628
10629     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10630     HRESULT onblur([in] VARIANT v);
10631
10632     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10633     HRESULT onblur([retval, out] VARIANT *p);
10634
10635     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10636     HRESULT onload([in] VARIANT v);
10637
10638     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10639     HRESULT onload([retval, out] VARIANT *p);
10640
10641     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10642     HRESULT onbeforeunload([in] VARIANT v);
10643
10644     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10645     HRESULT onbeforeunload([retval, out] VARIANT *p);
10646
10647     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10648     HRESULT onunload([in] VARIANT v);
10649
10650     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10651     HRESULT onunload([retval, out] VARIANT *p);
10652
10653     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
10654     HRESULT onhelp([in] VARIANT v);
10655
10656     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
10657     HRESULT onhelp([retval, out] VARIANT *p);
10658
10659     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
10660     HRESULT onerror([in] VARIANT v);
10661
10662     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
10663     HRESULT onerror([retval, out] VARIANT *p);
10664
10665     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10666     HRESULT onresize([in] VARIANT v);
10667
10668     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10669     HRESULT onresize([retval, out] VARIANT *p);
10670
10671     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10672     HRESULT onscroll([in] VARIANT v);
10673
10674     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10675     HRESULT onscroll([retval, out] VARIANT *p);
10676
10677     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
10678     HRESULT document([retval, out] IHTMLDocument2 **p);
10679
10680     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10681     HRESULT event([retval, out] IHTMLEventObj **p);
10682
10683     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
10684     HRESULT _newEnum([retval, out] IUnknown **p);
10685
10686     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10687     HRESULT showModalDialog(
10688         [in] BSTR dialog,
10689         [optional, in] VARIANT *varArgIn,
10690         [optional, in] VARIANT *varOptions,
10691         [retval, out] VARIANT *varArgOut);
10692
10693     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10694     HRESULT showHelp(
10695         [in] BSTR helpURL,
10696         [optional, in] VARIANT helpArg,
10697         [defaultvalue(""), in] BSTR features);
10698
10699     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10700     HRESULT screen([retval, out] IHTMLScreen **p);
10701
10702     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10703     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
10704
10705     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10706     HRESULT focus();
10707
10708     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10709     HRESULT closed([retval, out] VARIANT_BOOL *p);
10710
10711     [id(DISPID_IHTMLWINDOW2_BLUR)]
10712     HRESULT blur();
10713
10714     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10715     HRESULT scroll([in] LONG x, [in] LONG y);
10716
10717     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10718     HRESULT clientInformation([retval, out] IOmNavigator **p);
10719
10720     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
10721     HRESULT setInterval([
10722         in] BSTR expression,
10723         [in] LONG msec,
10724         [optional, in] VARIANT *language,
10725         [retval, out] LONG *timerID);
10726
10727     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10728     HRESULT clearInterval([in] LONG timerID);
10729
10730     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10731     HRESULT offscreenBuffering([in] VARIANT v);
10732
10733     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10734     HRESULT offscreenBuffering([retval, out] VARIANT *p);
10735
10736     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10737     HRESULT execScript(
10738         [in] BSTR scode,
10739         [defaultvalue("JScript"), in] BSTR language,
10740         [retval, out] VARIANT *pvarRet);
10741
10742     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10743     HRESULT toString([retval, out] BSTR *String);
10744
10745     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10746     HRESULT scrollBy([in] LONG x, [in] LONG y);
10747
10748     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10749     HRESULT scrollTo([in] LONG x, [in] LONG y);
10750
10751     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10752     HRESULT moveTo([in] LONG x, [in] LONG y);
10753
10754     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10755     HRESULT moveBy([in] LONG x, [in] LONG y);
10756
10757     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10758     HRESULT resizeTo([in] LONG x, [in] LONG y);
10759
10760     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10761     HRESULT resizeBy([in] LONG x, [in] LONG y);
10762
10763     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10764     HRESULT external([retval, out] IDispatch **p);
10765 }
10766
10767 /*****************************************************************************
10768  *    IHTMLWindow3 interface
10769  */
10770 [
10771     odl,
10772     oleautomation,
10773     dual,
10774     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
10775 ]
10776 interface IHTMLWindow3 : IDispatch
10777 {
10778     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10779     HRESULT screenLeft([out, retval] LONG *p);
10780
10781     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10782     HRESULT screenTop([out, retval] LONG *p);
10783
10784     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10785     HRESULT attachEvent(
10786             [in] BSTR event,
10787             [in] IDispatch *pDisp,
10788             [out, retval] VARIANT_BOOL *pfResult);
10789
10790     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10791     HRESULT detachEvent(
10792             [in] BSTR event,
10793             [in] IDispatch *pDisp);
10794
10795     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10796     HRESULT setTimeout(
10797             [in] VARIANT *expression,
10798             [in] LONG msec,
10799             [in, optional] VARIANT *language,
10800             [out, retval] LONG *timerID);
10801
10802     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10803     HRESULT setInterval(
10804             [in] VARIANT *expression,
10805             [in] LONG msec,
10806             [in, optional] VARIANT *language,
10807             [out, retval] LONG *timerID);
10808
10809     [id(DISPID_IHTMLWINDOW3_PRINT)]
10810     HRESULT print();
10811
10812     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10813     HRESULT onbeforeprint([in] VARIANT v);
10814
10815     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10816     HRESULT onbeforeprint([out, retval] VARIANT *p);
10817
10818     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10819     HRESULT onafterprint([in] VARIANT v);
10820
10821     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10822     HRESULT onafterprint([out, retval] VARIANT *p);
10823
10824     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10825     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
10826
10827     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10828     HRESULT showModelessDialog(
10829             [in, defaultvalue("")] BSTR url,
10830             [in, optional] VARIANT *varArgIn,
10831             [in, optional] VARIANT *options,
10832             [out, retval] IHTMLWindow2 **pDialog);
10833 }
10834
10835 /*****************************************************************************
10836  *    IHTMLWindow4 interface
10837  */
10838 [
10839     odl,
10840     oleautomation,
10841     dual,
10842     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
10843 ]
10844 interface IHTMLWindow4 : IDispatch
10845 {
10846     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10847     HRESULT createPopup([optional, in] VARIANT* varArgIn,
10848                         [retval, out] IDispatch** ppPopup);
10849
10850     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10851     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
10852 }
10853
10854 /*****************************************************************************
10855  *    IHTMLWindow5 interface
10856  */
10857 [
10858     odl,
10859     oleautomation,
10860     dual,
10861     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
10862 ]
10863 interface IHTMLWindow5 : IDispatch
10864 {
10865     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10866     HRESULT XMLHttpRequest([in] VARIANT v);
10867
10868     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10869     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
10870 }
10871
10872 /*****************************************************************************
10873  *    DispHTMLScreen dispinterface
10874  */
10875 [
10876     hidden,
10877     uuid(3050f591-98b5-11cf-bb82-00aa00bdce0b)
10878 ]
10879 dispinterface DispHTMLScreen
10880 {
10881 properties:
10882 methods:
10883     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
10884     long colorDepth();
10885
10886     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10887     void bufferDepth(long v);
10888
10889     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10890     long bufferDepth();
10891
10892     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10893     long width();
10894
10895     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10896     long height();
10897
10898     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10899     void updateInterval(long v);
10900
10901     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10902     long updateInterval();
10903
10904     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
10905     long availHeight();
10906
10907     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
10908     long availWidth();
10909
10910     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10911     VARIANT_BOOL fontSmoothingEnabled();
10912
10913     [propget, id(DISPID_IHTMLSCREEN2_LOGICALXDPI)]
10914     long logicalXDPI();
10915
10916     [propget, id(DISPID_IHTMLSCREEN2_LOGICALYDPI)]
10917     long logicalYDPI();
10918
10919     [propget, id(DISPID_IHTMLSCREEN2_DEVICEXDPI)]
10920     long deviceXDPI();
10921
10922     [propget, id(DISPID_IHTMLSCREEN2_DEVICEYDPI)]
10923     long deviceYDPI();
10924
10925     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMXDPI)]
10926     long systemXDPI();
10927
10928     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMYDPI)]
10929     long systemYDPI();
10930
10931     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
10932     IDispatch *constructor();
10933 }
10934
10935 /*****************************************************************************
10936  *    DispHTMLWindow2 dispinterface
10937  */
10938 [
10939     hidden,
10940     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
10941 ]
10942 dispinterface DispHTMLWindow2
10943 {
10944 properties:
10945 methods:
10946     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10947     VARIANT item([in] VARIANT *pvarIndex);
10948
10949     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10950     LONG length();
10951
10952     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10953     IHTMLFramesCollection2 *frames();
10954
10955     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10956     void defaultStatus(BSTR v);
10957
10958     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10959     BSTR defaultStatus();
10960
10961     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10962     void status(BSTR v);
10963
10964     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10965     BSTR status();
10966
10967     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10968     void clearTimeout([in] LONG timerID);
10969
10970     [id(DISPID_IHTMLWINDOW2_ALERT)]
10971     void alert([in, defaultvalue("")] BSTR message);
10972
10973     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10974     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
10975
10976     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10977     VARIANT prompt(
10978             [in, defaultvalue("")] BSTR message,
10979             [in, defaultvalue("undefined")] BSTR defstr);
10980
10981     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10982     IHTMLImageElementFactory *Image();
10983
10984     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10985     IHTMLLocation *location();
10986
10987     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10988     IOmHistory *history();
10989
10990     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10991     void close();
10992
10993     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10994     void opener(VARIANT v);
10995
10996     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10997     VARIANT opener();
10998
10999     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11000     IOmNavigator *navigator();
11001
11002     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11003     void name(BSTR v);
11004
11005     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11006     BSTR name();
11007
11008     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11009     IHTMLWindow2 *parent();
11010
11011     [id(DISPID_IHTMLWINDOW2_OPEN)]
11012     IHTMLWindow2 *open(
11013             [in, defaultvalue("")] BSTR url,
11014             [in, defaultvalue("")] BSTR name,
11015             [in, defaultvalue("")] BSTR features,
11016             [in, defaultvalue(0)]  VARIANT_BOOL replace);
11017
11018     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11019     IHTMLWindow2 *self();
11020
11021     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11022     IHTMLWindow2 *top();
11023
11024     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11025     IHTMLWindow2 *window();
11026
11027     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11028     void navigate([in] BSTR url);
11029
11030     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11031     void onfocus(VARIANT v);
11032
11033     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11034     VARIANT onfocus();
11035
11036     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11037     void onblur(VARIANT v);
11038
11039     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11040     VARIANT onblur();
11041
11042     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11043     VARIANT onload();
11044
11045     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11046     void onbeforeunload(VARIANT v);
11047
11048     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11049     VARIANT onbeforeunload();
11050
11051     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11052     void onunload(VARIANT v);
11053
11054     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11055     VARIANT onunload();
11056
11057     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11058     void onhelp(VARIANT v);
11059
11060     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11061     VARIANT onhelp();
11062
11063     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11064     void onerror(VARIANT v);
11065
11066     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11067     VARIANT onerror();
11068
11069     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11070     void onresize(VARIANT v);
11071
11072     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11073     VARIANT onresize();
11074
11075     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11076     void onscroll(VARIANT v);
11077
11078     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11079     VARIANT onscroll();
11080
11081     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11082     IHTMLDocument2 *document();
11083
11084     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11085     IHTMLEventObj *event();
11086
11087     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11088     IUnknown *_newEnum();
11089
11090     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11091     VARIANT showModalDialog(
11092             [in] BSTR dialog,
11093             [in, optional] VARIANT *varArgIn,
11094             [in, optional] VARIANT *varOptions);
11095
11096     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11097     void showHelp(
11098             [in] BSTR helpURL,
11099             [in, optional] VARIANT helpArg,
11100             [in, defaultvalue("")] BSTR features);
11101
11102     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11103     IHTMLScreen *screen();
11104
11105     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11106     IHTMLOptionElementFactory *Option();
11107
11108     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11109     void focus();
11110
11111     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11112     VARIANT_BOOL closed();
11113
11114     [id(DISPID_IHTMLWINDOW2_BLUR)]
11115     void blur();
11116
11117     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11118     void scroll([in] LONG x, [in] LONG y);
11119
11120     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11121     IOmNavigator *clientInformation();
11122
11123     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11124     void clearInterval([in] LONG timerID);
11125
11126     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11127     void offscreenBuffering(VARIANT v);
11128
11129     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11130     VARIANT offscreenBuffering();
11131
11132     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11133     VARIANT execScript(
11134             [in] BSTR _code,
11135             [in, defaultvalue("JScript")] BSTR language);
11136
11137     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11138     BSTR toString();
11139
11140     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11141     void scrollBy([in] LONG x, [in] LONG y);
11142
11143     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11144     void scrollTo([in] LONG x, [in] LONG y);
11145
11146     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11147     void moveTo([in] LONG x, [in] LONG y);
11148
11149     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11150     void moveBy([in] LONG x, [in] LONG y);
11151
11152     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11153     void resizeTo([in] LONG x, [in] LONG y);
11154
11155     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11156     void resizeBy([in] LONG x, [in] LONG y);
11157
11158     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11159     IDispatch *external();
11160
11161     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11162     LONG screenLeft();
11163
11164     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11165     LONG screenTop();
11166
11167     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11168     VARIANT_BOOL attachEvent(
11169              [in] BSTR event,
11170              [in] IDispatch *pDisp);
11171
11172     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11173     void detachEvent(
11174             [in] BSTR event,
11175             [in] IDispatch *pDisp);
11176
11177     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11178     LONG setTimeout(
11179             [in] VARIANT *expression,
11180             [in] LONG msec,
11181             [in, optional] VARIANT *language);
11182
11183     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11184     LONG setInterval(
11185             [in] VARIANT *expression,
11186             [in] LONG msec,
11187             [in, optional] VARIANT *language);
11188
11189     [id(DISPID_IHTMLWINDOW3_PRINT)]
11190     void print();
11191
11192     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11193     void onbeforeprint(VARIANT v);
11194
11195     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11196     VARIANT onbeforeprint();
11197
11198     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11199     void onafterprint(VARIANT v);
11200
11201     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11202     VARIANT onafterprint();
11203
11204     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11205     IHTMLDataTransfer *clipboardData();
11206
11207     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11208     IHTMLWindow2 *showModelessDialog(
11209             [in, defaultvalue("")] BSTR url,
11210             [in, optional] VARIANT *varArgIn,
11211             [in, optional] VARIANT *options);
11212
11213     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11214     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
11215
11216     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11217     IHTMLFrameBase *frameElement();
11218 }
11219
11220 /*****************************************************************************
11221  *    DispHTMLWindowProxy dispinterface
11222  */
11223 [
11224     hidden,
11225     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
11226 ]
11227 dispinterface DispHTMLWindowProxy
11228 {
11229 properties:
11230 methods:
11231     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11232     VARIANT item([in] VARIANT* pvarIndex);
11233
11234     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11235     LONG length();
11236
11237     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11238     IHTMLFramesCollection2* frames();
11239
11240     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11241     void defaultStatus(BSTR v);
11242
11243     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11244     BSTR defaultStatus();
11245
11246     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11247     void status(BSTR v);
11248
11249     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11250     BSTR status();
11251
11252     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11253     void clearTimeout([in] LONG timerID);
11254
11255     [id(DISPID_IHTMLWINDOW2_ALERT)]
11256     void alert([defaultvalue(""), in] BSTR message);
11257
11258     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11259     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
11260
11261     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11262     VARIANT prompt([defaultvalue(""), in] BSTR message,
11263                    [defaultvalue("undefined"), in] BSTR defstr);
11264
11265     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11266     IHTMLImageElementFactory* Image();
11267
11268     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11269     IHTMLLocation* location();
11270
11271     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11272     IOmHistory* history();
11273
11274     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11275     void close();
11276
11277     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11278     void opener(VARIANT v);
11279
11280     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11281     VARIANT opener();
11282
11283     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11284     IOmNavigator* navigator();
11285
11286     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11287     void name(BSTR v);
11288
11289     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11290     BSTR name();
11291
11292     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11293     IHTMLWindow2* parent();
11294
11295     [id(DISPID_IHTMLWINDOW2_OPEN)]
11296     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
11297                        [defaultvalue(""), in] BSTR name,
11298                        [defaultvalue(""), in] BSTR features,
11299                        [defaultvalue(0), in] VARIANT_BOOL replace);
11300
11301     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11302     IHTMLWindow2* self();
11303
11304     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11305     IHTMLWindow2* top();
11306
11307     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11308     IHTMLWindow2* window();
11309
11310     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11311     void navigate([in] BSTR url);
11312
11313     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11314     void onfocus(VARIANT v);
11315
11316     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11317     VARIANT onfocus();
11318
11319     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11320     void onblur(VARIANT v);
11321
11322     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11323     VARIANT onblur();
11324
11325     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11326     void onload(VARIANT v);
11327
11328     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11329     VARIANT onload();
11330
11331     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11332     void onbeforeunload(VARIANT v);
11333
11334     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11335     VARIANT onbeforeunload();
11336
11337     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11338     void onunload(VARIANT v);
11339
11340     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11341     VARIANT onunload();
11342
11343     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11344     void onhelp(VARIANT v);
11345
11346     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11347     VARIANT onhelp();
11348
11349     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11350     void onerror(VARIANT v);
11351
11352     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11353     VARIANT onerror();
11354
11355     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11356     void onresize(VARIANT v);
11357
11358     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11359     VARIANT onresize();
11360
11361     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11362     void onscroll(VARIANT v);
11363
11364     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11365     VARIANT onscroll();
11366
11367     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11368     IHTMLDocument2* document();
11369
11370     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11371     IHTMLEventObj* event();
11372
11373     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11374     IUnknown* _newEnum();
11375
11376     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11377     VARIANT showModalDialog([in] BSTR dialog,
11378                             [optional, in] VARIANT* varArgIn,
11379                             [optional, in] VARIANT* varOptions);
11380
11381     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11382     void showHelp([in] BSTR helpURL,
11383                   [optional, in] VARIANT helpArg,
11384                   [defaultvalue(""), in] BSTR features);
11385
11386     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11387     IHTMLScreen* screen();
11388
11389     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11390     IHTMLOptionElementFactory* Option();
11391
11392     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11393     void focus();
11394
11395     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11396     VARIANT_BOOL closed();
11397
11398     [id(DISPID_IHTMLWINDOW2_BLUR)]
11399     void blur();
11400
11401     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11402     void scroll([in] LONG x,
11403                 [in] LONG y);
11404
11405     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11406     IOmNavigator* clientInformation();
11407
11408     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11409     void clearInterval([in] LONG timerID);
11410
11411     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11412     void offscreenBuffering(VARIANT v);
11413
11414     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11415     VARIANT offscreenBuffering();
11416
11417     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11418     VARIANT execScript([in] BSTR code,
11419                        [defaultvalue("JScript"), in] BSTR language);
11420
11421     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11422     BSTR toString();
11423
11424     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11425     void scrollBy([in] LONG x,
11426                   [in] LONG y);
11427
11428     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11429     void scrollTo([in] LONG x,
11430                   [in] LONG y);
11431
11432     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11433     void moveTo([in] LONG x,
11434                 [in] LONG y);
11435
11436     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11437     void moveBy([in] LONG x,
11438                 [in] LONG y);
11439
11440     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11441     void resizeTo([in] LONG x,
11442                   [in] LONG y);
11443
11444     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11445     void resizeBy([in] LONG x,
11446                   [in] LONG y);
11447
11448     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11449     IDispatch* external();
11450
11451     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11452     LONG screenLeft();
11453
11454     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11455     LONG screenTop();
11456
11457     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11458     VARIANT_BOOL attachEvent([in] BSTR event,
11459                              [in] IDispatch* pDisp);
11460
11461     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11462     void detachEvent([in] BSTR event,
11463                      [in] IDispatch* pDisp);
11464
11465     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11466     LONG setTimeout([in] VARIANT* expression,
11467                     [in] LONG msec,
11468                     [optional, in] VARIANT* language);
11469
11470     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11471     LONG setInterval([in] VARIANT* expression,
11472                      [in] LONG msec,
11473                      [optional, in] VARIANT* language);
11474
11475     [id(DISPID_IHTMLWINDOW3_PRINT)]
11476     void print();
11477
11478     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11479     void onbeforeprint(VARIANT v);
11480
11481     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11482     VARIANT onbeforeprint();
11483
11484     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11485     void onafterprint(VARIANT v);
11486
11487     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11488     VARIANT onafterprint();
11489
11490     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11491     IHTMLDataTransfer* clipboardData();
11492
11493     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11494     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
11495                                      [optional, in] VARIANT* varArgIn,
11496                                      [optional, in] VARIANT* options);
11497
11498     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11499     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
11500
11501     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11502     IHTMLFrameBase* frameElement();
11503
11504     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11505     void XMLHttpRequest(VARIANT v);
11506
11507     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11508     VARIANT XMLHttpRequest();
11509 }
11510
11511 /*****************************************************************************
11512  *    HTMLWindowEvents interface
11513  */
11514 [
11515     hidden,
11516     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
11517 ]
11518 dispinterface HTMLWindowEvents
11519 {
11520 properties:
11521 methods:
11522     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
11523     void onload();
11524
11525     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
11526     void onunload();
11527
11528     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
11529     VARIANT_BOOL onhelp();
11530
11531     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
11532     void onfocus();
11533
11534     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
11535     void onblur();
11536
11537     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
11538     void onerror([in] BSTR description,
11539                  [in] BSTR url,
11540                  [in] LONG line);
11541
11542     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
11543     void onresize();
11544
11545     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
11546     void onscroll();
11547
11548     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
11549     void onbeforeunload();
11550
11551     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
11552     void onbeforeprint();
11553
11554     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
11555     void onafterprint();
11556 }
11557
11558 /*****************************************************************************
11559  *    HTMLWindowEvents2 interface
11560  */
11561 [
11562     hidden,
11563     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
11564 ]
11565 dispinterface HTMLWindowEvents2
11566 {
11567 properties:
11568 methods:
11569     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
11570     void onload([in] IHTMLEventObj* pEvtObj);
11571
11572     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
11573     void onunload([in] IHTMLEventObj* pEvtObj);
11574
11575     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
11576     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
11577
11578     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
11579     void onfocus([in] IHTMLEventObj* pEvtObj);
11580
11581     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
11582     void onblur([in] IHTMLEventObj* pEvtObj);
11583
11584     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
11585     void onerror([in] BSTR description,
11586                  [in] BSTR url,
11587                  [in] LONG line);
11588
11589     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
11590     void onresize([in] IHTMLEventObj* pEvtObj);
11591
11592     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
11593     void onscroll([in] IHTMLEventObj* pEvtObj);
11594
11595     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
11596     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
11597
11598     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
11599     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
11600
11601     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
11602     void onafterprint([in] IHTMLEventObj* pEvtObj);
11603 }
11604
11605 /*****************************************************************************
11606  *    HTMLWindowProxy class
11607  */
11608 [
11609     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
11610 ]
11611 coclass HTMLWindowProxy
11612 {
11613     [default]           dispinterface DispHTMLWindowProxy;
11614     [source, default]   dispinterface HTMLWindowEvents;
11615     [source]            dispinterface HTMLWindowEvents2;
11616                         interface IHTMLWindow2;
11617                         interface IHTMLWindow3;
11618                         interface IHTMLWindow4;
11619                         interface IHTMLWindow5;
11620 }
11621
11622 /*****************************************************************************
11623  *    HTMLDocumentEvents2 interface
11624  */
11625 [
11626     hidden,
11627     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
11628 ]
11629 dispinterface HTMLDocumentEvents2
11630 {
11631     properties:
11632     methods:
11633     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
11634     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
11635
11636     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
11637     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
11638
11639     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
11640     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
11641
11642     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
11643     void onkeydown([in] IHTMLEventObj *pEvtObj);
11644
11645     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
11646     void onkeyup([in] IHTMLEventObj *pEvtObj);
11647
11648     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
11649     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
11650
11651     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
11652     void onmousedown([in] IHTMLEventObj *pEvtObj);
11653
11654     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
11655     void onmousemove([in] IHTMLEventObj *pEvtObj);
11656
11657     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
11658     void onmouseup([in] IHTMLEventObj *pEvtObj);
11659
11660     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
11661     void onmouseout([in] IHTMLEventObj *pEvtObj);
11662
11663     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
11664     void onmouseover([in] IHTMLEventObj *pEvtObj);
11665
11666     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
11667     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
11668
11669     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
11670     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
11671
11672     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
11673     void onafterupdate([in] IHTMLEventObj *pEvtObj);
11674
11675     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
11676     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
11677
11678     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
11679     void onrowenter([in] IHTMLEventObj *pEvtObj);
11680
11681     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
11682     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
11683
11684     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
11685     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
11686
11687     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
11688     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
11689
11690     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
11691     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
11692
11693     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
11694     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
11695
11696     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
11697     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
11698
11699     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
11700     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
11701
11702     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
11703     void oncellchange([in] IHTMLEventObj *pEvtObj);
11704
11705     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
11706     void onpropertychange([in] IHTMLEventObj *pEvtObj);
11707
11708     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
11709     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
11710
11711     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
11712     void ondataavailable([in] IHTMLEventObj *pEvtObj);
11713
11714     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
11715     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
11716
11717     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
11718     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
11719
11720     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
11721     void onselectionchange([in] IHTMLEventObj *pEvtObj);
11722
11723     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
11724     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
11725
11726     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
11727     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
11728
11729     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
11730     void onfocusin([in] IHTMLEventObj *pEvtObj);
11731
11732     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
11733     void onfocusout([in] IHTMLEventObj *pEvtObj);
11734
11735     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
11736     void onactivate([in] IHTMLEventObj *pEvtObj);
11737
11738     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
11739     void ondeactivate([in] IHTMLEventObj *pEvtObj);
11740
11741     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
11742     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
11743
11744     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
11745     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
11746 }
11747
11748 /*****************************************************************************
11749  *    HTMLDocumentEvents interface
11750  */
11751 [
11752     hidden,
11753     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
11754 ]
11755 dispinterface HTMLDocumentEvents
11756 {
11757     properties:
11758     methods:
11759     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
11760     VARIANT_BOOL onhelp();
11761
11762     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
11763     VARIANT_BOOL onclick();
11764
11765     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
11766     VARIANT_BOOL ondblclick();
11767
11768     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
11769     void onkeydown();
11770
11771     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
11772     void onkeyup();
11773
11774     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
11775     VARIANT_BOOL onkeypress();
11776
11777     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
11778     void onmousedown();
11779
11780     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
11781     void onmousemove();
11782
11783     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
11784     void onmouseup();
11785
11786     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
11787     void onmouseout();
11788
11789     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
11790     void onmouseover();
11791
11792     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
11793     void onreadystatechange();
11794
11795     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
11796     VARIANT_BOOL onbeforeupdate();
11797
11798     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
11799     void onafterupdate();
11800
11801     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
11802     VARIANT_BOOL onrowexit();
11803
11804     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
11805     void onrowenter();
11806
11807     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
11808     VARIANT_BOOL ondragstart();
11809
11810     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
11811     VARIANT_BOOL onselectstart();
11812
11813     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
11814     VARIANT_BOOL onerrorupdate();
11815
11816     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
11817     VARIANT_BOOL oncontextmenu();
11818
11819     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
11820     VARIANT_BOOL onstop();
11821
11822     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
11823     void onrowsdelete();
11824
11825     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
11826     void onrowsinserted();
11827
11828     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
11829     void oncellchange();
11830
11831     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
11832     void onpropertychange();
11833
11834     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
11835     void ondatasetchanged();
11836
11837     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
11838     void ondataavailable();
11839
11840     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
11841     void ondatasetcomplete();
11842
11843     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
11844     void onbeforeeditfocus();
11845
11846     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
11847     void onselectionchange();
11848
11849     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
11850     VARIANT_BOOL oncontrolselect();
11851
11852     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
11853     VARIANT_BOOL onmousewheel();
11854
11855     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
11856     void onfocusin();
11857
11858     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
11859     void onfocusout();
11860
11861     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
11862     void onactivate();
11863
11864     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
11865     void ondeactivate();
11866
11867     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
11868     VARIANT_BOOL onbeforeactivate();
11869
11870     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
11871     VARIANT_BOOL onbeforedeactivate();
11872 }
11873
11874 /*****************************************************************************
11875  *    HTMLTextContainerEvents interface
11876  */
11877 [
11878     hidden,
11879     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
11880 ]
11881 dispinterface HTMLTextContainerEvents
11882 {
11883 properties:
11884
11885 methods:
11886     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
11887     VARIANT_BOOL onhelp();
11888
11889     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
11890     VARIANT_BOOL onclick();
11891
11892     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
11893     VARIANT_BOOL ondblclick();
11894
11895     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
11896     VARIANT_BOOL onkeypress();
11897
11898     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
11899     void onkeydown();
11900
11901     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
11902     void onkeyup();
11903
11904     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
11905     void onmouseout();
11906
11907     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
11908     void onmouseover();
11909
11910     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
11911     void onmousemove();
11912
11913     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
11914     void onmousedown();
11915
11916     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
11917     void onmouseup();
11918
11919     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
11920     VARIANT_BOOL onselectstart();
11921
11922     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
11923     void onfilterchange();
11924
11925     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
11926     VARIANT_BOOL ondragstart();
11927
11928     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
11929     VARIANT_BOOL onbeforeupdate();
11930
11931     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
11932     void onafterupdate();
11933
11934     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
11935     VARIANT_BOOL onerrorupdate();
11936
11937     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
11938     VARIANT_BOOL onrowexit();
11939
11940     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
11941     void onrowenter();
11942
11943     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
11944     void ondatasetchanged();
11945
11946     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
11947     void ondataavailable();
11948
11949     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
11950     void ondatasetcomplete();
11951
11952     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
11953     void onlosecapture();
11954
11955     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
11956     void onpropertychange();
11957
11958     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
11959     void onscroll();
11960
11961     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
11962     void onfocus();
11963
11964     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
11965     void onblur();
11966
11967     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
11968     void onresize();
11969
11970     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
11971     VARIANT_BOOL ondrag();
11972
11973     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
11974     void ondragend();
11975
11976     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
11977     VARIANT_BOOL ondragenter();
11978
11979     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
11980     VARIANT_BOOL ondragover();
11981
11982     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
11983     void ondragleave();
11984
11985     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
11986     VARIANT_BOOL ondrop();
11987
11988     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
11989     VARIANT_BOOL onbeforecut();
11990
11991     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
11992     VARIANT_BOOL oncut();
11993
11994     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
11995     VARIANT_BOOL onbeforecopy();
11996
11997     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
11998     VARIANT_BOOL oncopy();
11999
12000     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
12001     VARIANT_BOOL onbeforepaste();
12002
12003     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
12004     VARIANT_BOOL onpaste();
12005
12006     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
12007     VARIANT_BOOL oncontextmenu();
12008
12009     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
12010     void onrowsdelete();
12011
12012     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
12013     void onrowsinserted();
12014
12015     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
12016     void oncellchange();
12017
12018     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
12019     void onreadystatechange();
12020
12021     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
12022     void onbeforeeditfocus();
12023
12024     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
12025     void onlayoutcomplete();
12026
12027     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
12028     void onpage();
12029
12030     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
12031     VARIANT_BOOL onbeforedeactivate();
12032
12033     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
12034     VARIANT_BOOL onbeforeactivate();
12035
12036     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
12037     void onmove();
12038
12039     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
12040     VARIANT_BOOL oncontrolselect();
12041
12042     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
12043     VARIANT_BOOL onmovestart();
12044
12045     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
12046     void onmoveend();
12047
12048     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
12049     VARIANT_BOOL onresizestart();
12050
12051     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
12052     void onresizeend();
12053
12054     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
12055     void onmouseenter();
12056
12057     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
12058     void onmouseleave();
12059
12060     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
12061     VARIANT_BOOL onmousewheel();
12062
12063     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
12064     void onactivate();
12065
12066     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
12067     void ondeactivate();
12068
12069     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
12070     void onfocusin();
12071
12072     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
12073     void onfocusout();
12074
12075     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
12076     void onchange();
12077
12078     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
12079     void onselect();
12080 }
12081
12082 /*****************************************************************************
12083  *    HTMLTextContainerEvents2 interface
12084  */
12085 [
12086     hidden,
12087     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
12088 ]
12089 dispinterface HTMLTextContainerEvents2
12090 {
12091 properties:
12092 methods:
12093     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
12094     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
12095
12096     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
12097     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
12098
12099     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
12100     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
12101
12102     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
12103     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
12104
12105     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
12106     void onkeydown([in] IHTMLEventObj* pEvtObj);
12107
12108     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
12109     void onkeyup([in] IHTMLEventObj* pEvtObj);
12110
12111     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
12112     void onmouseout([in] IHTMLEventObj* pEvtObj);
12113
12114     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
12115     void onmouseover([in] IHTMLEventObj* pEvtObj);
12116
12117     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
12118     void onmousemove([in] IHTMLEventObj* pEvtObj);
12119
12120     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
12121     void onmousedown([in] IHTMLEventObj* pEvtObj);
12122
12123     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
12124     void onmouseup([in] IHTMLEventObj* pEvtObj);
12125
12126     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
12127     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
12128
12129     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
12130     void onfilterchange([in] IHTMLEventObj* pEvtObj);
12131
12132     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
12133     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
12134
12135     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
12136     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
12137
12138     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
12139     void onafterupdate([in] IHTMLEventObj* pEvtObj);
12140
12141     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
12142     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
12143
12144     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
12145     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
12146
12147     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
12148     void onrowenter([in] IHTMLEventObj* pEvtObj);
12149
12150     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
12151     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
12152
12153     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
12154     void ondataavailable([in] IHTMLEventObj* pEvtObj);
12155
12156     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
12157     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
12158
12159     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
12160     void onlosecapture([in] IHTMLEventObj* pEvtObj);
12161
12162     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
12163     void onpropertychange([in] IHTMLEventObj* pEvtObj);
12164
12165     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
12166     void onscroll([in] IHTMLEventObj* pEvtObj);
12167
12168     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
12169     void onfocus([in] IHTMLEventObj* pEvtObj);
12170
12171     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
12172     void onblur([in] IHTMLEventObj* pEvtObj);
12173
12174     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
12175     void onresize([in] IHTMLEventObj* pEvtObj);
12176
12177     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
12178     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
12179
12180     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
12181     void ondragend([in] IHTMLEventObj* pEvtObj);
12182
12183     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
12184     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
12185
12186     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
12187     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
12188
12189     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
12190     void ondragleave([in] IHTMLEventObj* pEvtObj);
12191
12192     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
12193     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
12194
12195     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
12196     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
12197
12198     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
12199     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
12200
12201     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
12202     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
12203
12204     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
12205     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
12206
12207     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
12208     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
12209
12210     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
12211     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
12212
12213     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
12214     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
12215
12216     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
12217     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
12218
12219     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
12220     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
12221
12222     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
12223     void oncellchange([in] IHTMLEventObj* pEvtObj);
12224
12225     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
12226     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
12227
12228     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
12229     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
12230
12231     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
12232     void onpage([in] IHTMLEventObj* pEvtObj);
12233
12234     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
12235     void onmouseenter([in] IHTMLEventObj* pEvtObj);
12236
12237     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
12238     void onmouseleave([in] IHTMLEventObj* pEvtObj);
12239
12240     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
12241     void onactivate([in] IHTMLEventObj* pEvtObj);
12242
12243     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
12244     void ondeactivate([in] IHTMLEventObj* pEvtObj);
12245
12246     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
12247     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
12248
12249     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
12250     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
12251
12252     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
12253     void onfocusin([in] IHTMLEventObj* pEvtObj);
12254
12255     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
12256     void onfocusout([in] IHTMLEventObj* pEvtObj);
12257
12258     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
12259     void onmove([in] IHTMLEventObj* pEvtObj);
12260
12261     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
12262     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
12263
12264     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
12265     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
12266
12267     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
12268     void onmoveend([in] IHTMLEventObj* pEvtObj);
12269
12270     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
12271     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
12272
12273     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
12274     void onresizeend([in] IHTMLEventObj* pEvtObj);
12275
12276     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
12277     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
12278
12279     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
12280     void onchange([in] IHTMLEventObj* pEvtObj);
12281
12282     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
12283     void onselect([in] IHTMLEventObj* pEvtObj);
12284 }
12285
12286 /*****************************************************************************
12287  *    IHTMLDocument interface
12288  */
12289 [
12290     odl,
12291     oleautomation,
12292     dual,
12293     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
12294 ]
12295 interface IHTMLDocument : IDispatch
12296 {
12297     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
12298     HRESULT Script([retval, out] IDispatch **p);
12299 }
12300
12301 /*****************************************************************************
12302  *    IHTMLDocument2 interface
12303  */
12304 [
12305     odl,
12306     oleautomation,
12307     dual,
12308     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
12309 ]
12310 interface IHTMLDocument2 : IHTMLDocument
12311 {
12312     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
12313     HRESULT all([retval, out] IHTMLElementCollection **p);
12314
12315     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
12316     HRESULT body([retval, out] IHTMLElement **p);
12317
12318     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
12319     HRESULT activeElement([retval, out] IHTMLElement **p);
12320
12321     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
12322     HRESULT images([retval, out] IHTMLElementCollection **p);
12323
12324     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
12325     HRESULT applets([retval, out] IHTMLElementCollection **p);
12326
12327     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
12328     HRESULT links([retval, out] IHTMLElementCollection **p);
12329
12330     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
12331     HRESULT forms([retval, out] IHTMLElementCollection **p);
12332
12333     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
12334     HRESULT anchors([retval, out] IHTMLElementCollection **p);
12335
12336     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12337     HRESULT title([in] BSTR v);
12338
12339     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12340     HRESULT title([retval, out] BSTR *p);
12341
12342     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
12343     HRESULT scripts([retval, out] IHTMLElementCollection **p);
12344
12345     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
12346     HRESULT designMode([in] BSTR v);
12347
12348     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
12349     HRESULT designMode([retval, out] BSTR *p);
12350
12351     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
12352     HRESULT selection([retval, out] IHTMLSelectionObject **p);
12353
12354     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
12355      HRESULT readyState([retval, out] BSTR *p);
12356
12357     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
12358     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
12359
12360     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
12361     HRESULT embeds([retval, out] IHTMLElementCollection **p);
12362
12363     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
12364     HRESULT plugins([retval, out] IHTMLElementCollection **p);
12365
12366     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12367     HRESULT alinkColor([in] VARIANT v);
12368
12369     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12370     HRESULT alinkColor([retval, out] VARIANT *p);
12371
12372     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12373     HRESULT bgColor([in] VARIANT v);
12374
12375     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12376     HRESULT bgColor([retval, out] VARIANT *p);
12377
12378     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12379     HRESULT fgColor([in] VARIANT v);
12380
12381     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12382     HRESULT fgColor([retval, out] VARIANT *p);
12383
12384     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12385     HRESULT linkColor([in] VARIANT v);
12386
12387     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12388     HRESULT linkColor([retval, out] VARIANT *p);
12389
12390     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12391     HRESULT vlinkColor([in] VARIANT v);
12392
12393     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12394     HRESULT vlinkColor([retval, out] VARIANT *p);
12395
12396     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
12397     HRESULT referrer([retval, out] BSTR *p);
12398
12399     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
12400     HRESULT location([retval, out] IHTMLLocation **p);
12401
12402     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
12403     HRESULT lastModified([retval, out] BSTR *p);
12404
12405     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
12406     HRESULT URL([in] BSTR v);
12407
12408     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
12409     HRESULT URL([retval, out] BSTR *p);
12410
12411     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12412     HRESULT domain([in] BSTR v);
12413
12414     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12415     HRESULT domain([retval, out] BSTR *p);
12416
12417     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12418     HRESULT cookie([in] BSTR v);
12419
12420     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12421     HRESULT cookie([retval, out] BSTR *p);
12422
12423     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12424     HRESULT expando([in] VARIANT_BOOL v);
12425
12426     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12427     HRESULT expando([retval, out] VARIANT_BOOL *p);
12428
12429     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12430      HRESULT charset([in] BSTR v);
12431
12432     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12433     HRESULT charset([retval, out] BSTR *p);
12434
12435     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12436     HRESULT defaultCharset([in] BSTR v);
12437
12438     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12439     HRESULT defaultCharset([retval, out] BSTR *p);
12440
12441     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
12442     HRESULT mimeType([retval, out] BSTR *p);
12443
12444     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
12445     HRESULT fileSize([retval, out] BSTR *p);
12446
12447     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
12448     HRESULT fileCreatedDate([retval, out] BSTR *p);
12449
12450     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
12451     HRESULT fileModifiedDate([retval, out] BSTR *p);
12452
12453     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
12454     HRESULT fileUpdatedDate([retval, out] BSTR *p);
12455
12456     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
12457     HRESULT security([retval, out] BSTR *p);
12458
12459     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
12460     HRESULT protocol([retval, out] BSTR *p);
12461
12462     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
12463      HRESULT nameProp([retval, out] BSTR *p);
12464
12465     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
12466     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
12467
12468     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
12469     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
12470
12471     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
12472     HRESULT open(
12473         [defaultvalue("text/html"), in] BSTR url,
12474         [optional, in] VARIANT name,
12475         [optional, in] VARIANT features,
12476         [optional, in] VARIANT replace,
12477         [retval, out]  IDispatch **pomWindowResult);
12478
12479     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
12480     HRESULT close();
12481
12482     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
12483     HRESULT clear();
12484
12485     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
12486     HRESULT queryCommandSupported(
12487         [in] BSTR cmdID,
12488         [retval, out] VARIANT_BOOL *pfRet);
12489
12490     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
12491     HRESULT queryCommandEnabled(
12492         [in] BSTR cmdID,
12493         [retval, out] VARIANT_BOOL *pfRet);
12494
12495     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
12496     HRESULT queryCommandState(
12497         [in] BSTR cmdID,
12498         [retval, out] VARIANT_BOOL *pfRet);
12499
12500     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
12501     HRESULT queryCommandIndeterm(
12502         [in] BSTR cmdID,
12503         [retval, out] VARIANT_BOOL *pfRet);
12504
12505     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
12506     HRESULT queryCommandText(
12507         [in] BSTR cmdID,
12508         [retval, out] BSTR *pcmdText);
12509
12510     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
12511     HRESULT queryCommandValue(
12512         [in] BSTR cmdID,
12513         [retval, out] VARIANT *pcmdValue);
12514
12515     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
12516     HRESULT execCommand(
12517         [in] BSTR cmdID,
12518         [defaultvalue(0), in] VARIANT_BOOL showUI,
12519         [optional, in] VARIANT value,
12520         [retval, out] VARIANT_BOOL *pfRet);
12521
12522     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12523     HRESULT execCommandShowHelp(
12524         [in] BSTR cmdID,
12525         [retval, out] VARIANT_BOOL *pfRet);
12526
12527     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12528      HRESULT createElement(
12529         [in] BSTR eTag,
12530         [retval, out] IHTMLElement **newElem);
12531
12532     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12533     HRESULT onhelp([in] VARIANT v);
12534
12535     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12536     HRESULT onhelp([retval, out] VARIANT *p);
12537
12538     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12539     HRESULT onclick([in] VARIANT v);
12540
12541     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12542     HRESULT onclick([retval, out] VARIANT *p);
12543
12544     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12545     HRESULT ondblclick([in] VARIANT v);
12546
12547     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12548     HRESULT ondblclick([retval, out] VARIANT *p);
12549
12550     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12551     HRESULT onkeyup([in] VARIANT v);
12552
12553     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12554     HRESULT onkeyup([retval, out] VARIANT *p);
12555
12556     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12557     HRESULT onkeydown([in] VARIANT v);
12558
12559     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12560     HRESULT onkeydown([retval, out] VARIANT *p);
12561
12562     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12563      HRESULT onkeypress([in] VARIANT v);
12564
12565     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12566     HRESULT onkeypress([retval, out] VARIANT *p);
12567
12568     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12569     HRESULT onmouseup([in] VARIANT v);
12570
12571     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12572     HRESULT onmouseup([retval, out] VARIANT *p);
12573
12574     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12575     HRESULT onmousedown([in] VARIANT v);
12576
12577     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12578     HRESULT onmousedown([retval, out] VARIANT *p);
12579
12580     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12581     HRESULT onmousemove([in] VARIANT v);
12582
12583     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12584     HRESULT onmousemove([retval, out] VARIANT *p);
12585
12586     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12587     HRESULT onmouseout([in] VARIANT v);
12588
12589     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12590     HRESULT onmouseout([retval, out] VARIANT *p);
12591
12592     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12593     HRESULT onmouseover([in] VARIANT v);
12594
12595     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12596     HRESULT onmouseover([retval, out] VARIANT *p);
12597
12598     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12599     HRESULT onreadystatechange([in] VARIANT v);
12600
12601     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12602     HRESULT onreadystatechange([retval, out] VARIANT *p);
12603
12604     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12605     HRESULT onafterupdate([in] VARIANT v);
12606
12607     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12608     HRESULT onafterupdate([retval, out] VARIANT *p);
12609
12610     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12611     HRESULT onrowexit([in] VARIANT v);
12612
12613     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12614     HRESULT onrowexit([retval, out] VARIANT *p);
12615
12616     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12617     HRESULT onrowenter([in] VARIANT v);
12618
12619     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12620     HRESULT onrowenter([retval, out] VARIANT *p);
12621
12622     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12623     HRESULT ondragstart([in] VARIANT v);
12624
12625     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12626     HRESULT ondragstart([retval, out] VARIANT *p);
12627
12628     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12629     HRESULT onselectstart([in] VARIANT v);
12630
12631     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12632     HRESULT onselectstart([retval, out] VARIANT *p);
12633
12634     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12635     HRESULT elementFromPoint(
12636         [in] LONG x,
12637         [in] LONG y,
12638         [retval, out] IHTMLElement **elementHit);
12639
12640     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12641     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
12642
12643     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12644     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
12645
12646     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12647     HRESULT onbeforeupdate([in] VARIANT v);
12648
12649     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12650     HRESULT onbeforeupdate([retval, out] VARIANT *p);
12651
12652     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12653     HRESULT onerrorupdate([in] VARIANT v);
12654
12655     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12656     HRESULT onerrorupdate([retval, out] VARIANT *p);
12657
12658     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12659     HRESULT toString([retval, out] BSTR *String);
12660
12661     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12662     HRESULT createStyleSheet(
12663         [defaultvalue(""), in] BSTR bstrHref,
12664         [defaultvalue(-1), in] LONG lIndex,
12665         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
12666 }
12667
12668 /*****************************************************************************
12669  *    IHTMLDocument3 interface
12670  */
12671 [
12672     odl,
12673     oleautomation,
12674     dual,
12675     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
12676 ]
12677 interface IHTMLDocument3 : IDispatch
12678 {
12679     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12680     HRESULT releaseCapture();
12681
12682     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12683     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12684
12685     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12686     HRESULT createTextNode(
12687         [in] BSTR text,
12688         [retval, out] IHTMLDOMNode **newTextNode);
12689
12690     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12691     HRESULT documentElement([retval, out] IHTMLElement **p);
12692
12693     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12694     HRESULT uniqueID([retval, out] BSTR *p);
12695
12696     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12697     HRESULT attachEvent(
12698         [in] BSTR event,
12699         [in] IDispatch* pDisp,
12700         [retval, out] VARIANT_BOOL *pfResult);
12701
12702     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12703     HRESULT detachEvent(
12704         [in] BSTR event,
12705         [in] IDispatch *pDisp);
12706
12707     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12708     HRESULT onrowsdelete([in] VARIANT v);
12709
12710     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12711     HRESULT onrowsdelete([retval, out] VARIANT *p);
12712
12713     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12714     HRESULT onrowsinserted([in] VARIANT v);
12715
12716     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12717     HRESULT onrowsinserted([retval, out] VARIANT *p);
12718
12719     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12720     HRESULT oncellchange([in] VARIANT v);
12721
12722     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12723     HRESULT oncellchange([retval, out] VARIANT *p);
12724
12725     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12726     HRESULT ondatasetchanged([in] VARIANT v);
12727
12728     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12729     HRESULT ondatasetchanged([retval, out] VARIANT *p);
12730
12731     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12732     HRESULT ondataavailable([in] VARIANT v);
12733
12734     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12735     HRESULT ondataavailable([retval, out] VARIANT * p);
12736
12737     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12738     HRESULT ondatasetcomplete([in] VARIANT v);
12739
12740     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12741     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
12742
12743     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12744     HRESULT onpropertychange([in] VARIANT v);
12745
12746     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12747     HRESULT onpropertychange([retval, out] VARIANT *p);
12748
12749     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
12750     HRESULT dir([in] BSTR v);
12751
12752     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
12753     HRESULT dir([retval, out] BSTR *p);
12754
12755     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12756     HRESULT oncontextmenu([in] VARIANT v);
12757
12758     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12759     HRESULT oncontextmenu([retval, out] VARIANT *p);
12760
12761     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12762     HRESULT onstop([in] VARIANT v);
12763
12764     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12765     HRESULT onstop([retval, out] VARIANT *p);
12766
12767     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
12768     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
12769
12770     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
12771     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
12772
12773     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12774     HRESULT enableDownload([in] VARIANT_BOOL v);
12775
12776     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12777     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
12778
12779     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12780     HRESULT baseUrl([in] BSTR v);
12781
12782     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12783     HRESULT baseUrl([retval, out] BSTR *p);
12784
12785     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
12786     HRESULT childNodes([retval, out] IDispatch **p);
12787
12788     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12789     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
12790
12791     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12792     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
12793
12794     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12795     HRESULT onbeforeeditfocus([in] VARIANT v);
12796
12797     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12798     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
12799
12800     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
12801     HRESULT getElementsByName(
12802         [in] BSTR v,
12803         [retval, out] IHTMLElementCollection **pelColl);
12804
12805     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
12806     HRESULT getElementById(
12807         [in] BSTR v,
12808         [retval, out] IHTMLElement **pel);
12809
12810     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
12811     HRESULT getElementsByTagName(
12812         [in] BSTR v,
12813         [retval, out] IHTMLElementCollection **pelColl);
12814 }
12815
12816 /*****************************************************************************
12817  *    IHTMLDocument4 interface
12818  */
12819 [
12820     odl,
12821     oleautomation,
12822     dual,
12823     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
12824 ]
12825 interface IHTMLDocument4 : IDispatch
12826 {
12827     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
12828     HRESULT focus();
12829
12830     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
12831     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
12832
12833     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12834     HRESULT onselectionchange([in] VARIANT v);
12835
12836     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12837     HRESULT onselectionchange([retval, out] VARIANT *p);
12838
12839     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
12840     HRESULT namespaces([retval, out] IDispatch **p);
12841
12842     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
12843     HRESULT createDocumentFromUrl(
12844         [in] BSTR bstrUrl,
12845         [in] BSTR bstrOptions,
12846         [retval, out] IHTMLDocument2 **newDoc);
12847
12848     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12849     HRESULT media([in] BSTR v);
12850
12851     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12852     HRESULT media([retval, out] BSTR *p);
12853
12854     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
12855     HRESULT createEventObject(
12856         [optional, in] VARIANT *pvarEventObject,
12857         [retval, out] IHTMLEventObj **ppEventObj);
12858
12859     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
12860     HRESULT fireEvent(
12861         [in] BSTR bstrEventName,
12862         [optional, in] VARIANT *pvarEventObject,
12863         [retval, out] VARIANT_BOOL *pfCancelled);
12864
12865     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
12866     HRESULT createRenderStyle(
12867         [in] BSTR v,
12868         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
12869
12870     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12871     HRESULT oncontrolselect([in] VARIANT v);
12872
12873     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12874     HRESULT oncontrolselect([retval, out] VARIANT *p);
12875
12876     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
12877     HRESULT URLUnencoded([retval, out] BSTR *p);
12878 }
12879
12880 /*****************************************************************************
12881  *    IHTMLDocument5 interface
12882  */
12883 [
12884     odl,
12885     oleautomation,
12886     dual,
12887     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
12888 ]
12889 interface IHTMLDocument5 : IDispatch
12890 {
12891     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12892     HRESULT onmousewheel([in] VARIANT v);
12893
12894     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12895     HRESULT onmousewheel([retval, out] VARIANT *p);
12896
12897     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
12898     HRESULT doctype([retval, out] IHTMLDOMNode **p);
12899
12900     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
12901     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
12902
12903     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
12904     HRESULT createAttribute(
12905         [in] BSTR bstrattrName,
12906         [retval, out] IHTMLDOMAttribute **ppattribute);
12907
12908     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
12909     HRESULT createComment(
12910         [in] BSTR bstrdata,
12911         [retval, out] IHTMLDOMNode **ppRetNode);
12912
12913     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12914     HRESULT onfocusin([in] VARIANT v);
12915
12916     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12917     HRESULT onfocusin([retval, out] VARIANT *p);
12918
12919     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12920     HRESULT onfocusout([in] VARIANT v);
12921
12922     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12923     HRESULT onfocusout([retval, out] VARIANT *p);
12924
12925     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12926     HRESULT onactivate([in] VARIANT v);
12927
12928     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12929     HRESULT onactivate([retval, out] VARIANT *p);
12930
12931     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12932     HRESULT ondeactivate([in] VARIANT v);
12933
12934     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12935     HRESULT ondeactivate([retval, out] VARIANT *p);
12936
12937     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12938     HRESULT onbeforeactivate([in] VARIANT v);
12939
12940     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12941     HRESULT onbeforeactivate([retval, out] VARIANT *p);
12942
12943     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12944     HRESULT onbeforedeactivate([in] VARIANT v);
12945
12946     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12947     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
12948
12949     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
12950     HRESULT compatMode([retval, out] BSTR *p);
12951 }
12952
12953 /*****************************************************************************
12954  *    IHTMLDocument6 interface
12955  */
12956 [
12957     odl,
12958     oleautomation,
12959     dual,
12960     uuid(30510417-98b5-11cf-bb82-00aa00bdce0b)
12961 ]
12962 interface IHTMLDocument6 : IDispatch
12963 {
12964     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
12965     HRESULT compatible([retval, out] IHTMLDocumentCompatibleInfoCollection **p);
12966
12967     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
12968     HRESULT documentMode([retval, out] VARIANT *p);
12969
12970     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
12971     HRESULT onstorage([in] VARIANT v);
12972
12973     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
12974     HRESULT onstorage([out] VARIANT *p);
12975
12976     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
12977     HRESULT onstoragecommit([in] VARIANT v);
12978
12979     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
12980     HRESULT onstoragecommit([out] VARIANT *p);
12981
12982     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
12983     HRESULT getElementById(
12984         [in] BSTR bstrId,
12985         [retval, out] IHTMLElement2 **p);
12986
12987     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
12988     HRESULT updateSettings();
12989 }
12990
12991 /*****************************************************************************
12992  *    DispHTMLDocument dispinterface
12993  */
12994 [
12995     hidden,
12996     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
12997 ]
12998 dispinterface DispHTMLDocument
12999 {
13000 properties:
13001 methods:
13002     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
13003     IDispatch *Script();
13004
13005     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
13006     IHTMLElementCollection *all();
13007
13008     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
13009     IHTMLElement *body();
13010
13011     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
13012     IHTMLElement *activeElement();
13013
13014     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
13015     IHTMLElementCollection *images();
13016
13017     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
13018     IHTMLElementCollection *applets();
13019
13020     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
13021     IHTMLElementCollection *links();
13022
13023     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
13024     IHTMLElementCollection *forms();
13025
13026     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
13027     IHTMLElementCollection *anchors();
13028
13029     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13030     void title(BSTR v);
13031
13032     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13033     BSTR title();
13034
13035     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
13036     IHTMLElementCollection *scripts();
13037
13038     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
13039     void designMode(BSTR v);
13040
13041     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
13042     BSTR designMode();
13043
13044     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
13045     IHTMLSelectionObject *selection();
13046
13047     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
13048     BSTR readyState();
13049
13050     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
13051     IHTMLFramesCollection2 *frames();
13052
13053     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
13054     IHTMLElementCollection *embeds();
13055
13056     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
13057     IHTMLElementCollection *plugins();
13058
13059     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13060     void alinkColor(VARIANT v);
13061
13062     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13063     VARIANT alinkColor();
13064
13065     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13066     void bgColor(VARIANT v);
13067
13068     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13069     VARIANT bgColor();
13070
13071     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13072     void fgColor(VARIANT v);
13073
13074     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13075     VARIANT fgColor();
13076
13077     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13078     void linkColor(VARIANT v);
13079
13080     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13081     VARIANT linkColor();
13082
13083     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13084     void vlinkColor(VARIANT v);
13085
13086     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13087     VARIANT vlinkColor();
13088
13089     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
13090     BSTR referrer();
13091
13092     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
13093     IHTMLLocation *location();
13094
13095     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
13096     BSTR lastModified();
13097
13098     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
13099     void URL(BSTR v);
13100
13101     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
13102     BSTR URL();
13103
13104     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13105     void domain(BSTR v);
13106
13107     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13108     BSTR domain();
13109
13110     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13111     void cookie(BSTR v);
13112
13113     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13114     BSTR cookie();
13115
13116     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
13117     void expando(VARIANT_BOOL v);
13118
13119     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
13120     VARIANT_BOOL expando();
13121
13122     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
13123     void charset(BSTR v);
13124
13125     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
13126     BSTR charset();
13127
13128     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13129     void defaultCharset(BSTR v);
13130
13131     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13132     BSTR defaultCharset();
13133
13134     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
13135     BSTR mimeType();
13136
13137     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
13138     BSTR fileSize();
13139
13140     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
13141     BSTR fileCreatedDate();
13142
13143     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
13144     BSTR fileModifiedDate();
13145
13146     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
13147     BSTR fileUpdatedDate();
13148
13149     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
13150     BSTR security();
13151
13152     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
13153     BSTR protocol();
13154
13155     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
13156     BSTR nameProp();
13157
13158     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
13159     void write([in] SAFEARRAY(VARIANT) psarray);
13160
13161     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
13162     void writeln([in] SAFEARRAY(VARIANT) psarray);
13163
13164     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
13165     IDispatch *open(
13166         [defaultvalue("text/html"), in] BSTR url,
13167         [optional, in] VARIANT name,
13168         [optional, in] VARIANT features,
13169         [optional, in] VARIANT replace);
13170
13171     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
13172     void close();
13173
13174     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
13175     void clear();
13176
13177     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
13178     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
13179
13180     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
13181     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
13182
13183     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
13184     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
13185
13186     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
13187     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
13188
13189     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
13190     BSTR queryCommandText([in] BSTR cmdID);
13191
13192     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
13193     VARIANT queryCommandValue([in] BSTR cmdID);
13194
13195     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
13196     VARIANT_BOOL execCommand(
13197         [in] BSTR cmdID,
13198         [defaultvalue(0), in] VARIANT_BOOL showUI,
13199         [optional, in] VARIANT value);
13200
13201     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
13202     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
13203
13204     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
13205     IHTMLElement *createElement([in] BSTR eTag);
13206
13207     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
13208     void onhelp(VARIANT v);
13209
13210     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
13211     VARIANT onhelp();
13212
13213     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
13214     void onclick(VARIANT v);
13215
13216     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
13217     VARIANT onclick();
13218
13219     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
13220     void ondblclick(VARIANT v);
13221
13222     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
13223     VARIANT ondblclick();
13224
13225     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
13226     void onkeyup(VARIANT v);
13227
13228     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
13229     VARIANT onkeyup();
13230
13231     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
13232     void onkeydown(VARIANT v);
13233
13234     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
13235     VARIANT onkeydown();
13236
13237     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
13238     void onkeypress(VARIANT v);
13239
13240     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
13241     VARIANT onkeypress();
13242
13243     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
13244     void onmouseup(VARIANT v);
13245
13246     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
13247     VARIANT onmouseup();
13248
13249     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
13250     void onmousedown(VARIANT v);
13251
13252     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
13253     VARIANT onmousedown();
13254
13255     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
13256     void onmousemove(VARIANT v);
13257
13258     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
13259     VARIANT onmousemove();
13260
13261     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
13262     void onmouseout(VARIANT v);
13263
13264     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
13265     VARIANT onmouseout();
13266
13267     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
13268     void onmouseover(VARIANT v);
13269
13270     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
13271     VARIANT onmouseover();
13272
13273     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13274     void onreadystatechange(VARIANT v);
13275
13276     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13277     VARIANT onreadystatechange();
13278
13279     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
13280     void onafterupdate(VARIANT v);
13281
13282     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
13283     VARIANT onafterupdate();
13284
13285     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
13286     void onrowexit(VARIANT v);
13287
13288     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
13289     VARIANT onrowexit();
13290
13291     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
13292     void onrowenter(VARIANT v);
13293
13294     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
13295     VARIANT onrowenter();
13296
13297     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
13298     void ondragstart(VARIANT v);
13299
13300     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
13301     VARIANT ondragstart();
13302
13303     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
13304     void onselectstart(VARIANT v);
13305
13306     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
13307     VARIANT onselectstart();
13308
13309     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
13310     IHTMLElement *elementFromPoint(
13311         [in] LONG x,
13312         [in] LONG y);
13313
13314     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
13315     IHTMLWindow2 *parentWindow();
13316
13317     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
13318     IHTMLStyleSheetsCollection *styleSheets();
13319
13320     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
13321     void onbeforeupdate(VARIANT v);
13322
13323     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
13324     VARIANT onbeforeupdate();
13325
13326     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
13327     void onerrorupdate(VARIANT v);
13328
13329     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
13330     VARIANT onerrorupdate();
13331
13332     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
13333     BSTR toString();
13334
13335     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
13336     IHTMLStyleSheet *createStyleSheet(
13337         [defaultvalue(""), in] BSTR bstrHref,
13338         [defaultvalue(-1), in] LONG lIndex);
13339
13340     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
13341     void releaseCapture();
13342
13343     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
13344     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
13345
13346     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
13347     IHTMLDOMNode *createTextNode([in] BSTR text);
13348
13349     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
13350     IHTMLElement *documentElement();
13351
13352     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
13353     BSTR uniqueID();
13354
13355     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
13356     VARIANT_BOOL attachEvent(
13357         [in] BSTR event,
13358         [in] IDispatch *pDisp);
13359
13360     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
13361     void detachEvent(
13362         [in] BSTR event,
13363         [in] IDispatch *pDisp);
13364
13365     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13366     void onrowsdelete(VARIANT v);
13367
13368     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13369     VARIANT onrowsdelete();
13370
13371     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13372     void onrowsinserted(VARIANT v);
13373
13374     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13375     VARIANT onrowsinserted();
13376
13377     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13378     void oncellchange(VARIANT v);
13379
13380     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13381     VARIANT oncellchange();
13382
13383     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13384     void ondatasetchanged(VARIANT v);
13385
13386     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13387     VARIANT ondatasetchanged();
13388
13389     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13390     void ondataavailable(VARIANT v);
13391
13392     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13393     VARIANT ondataavailable();
13394
13395     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13396     void ondatasetcomplete(VARIANT v);
13397
13398     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13399     VARIANT ondatasetcomplete();
13400
13401     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13402     void onpropertychange(VARIANT v);
13403
13404     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13405     VARIANT onpropertychange();
13406
13407     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
13408     void dir(BSTR v);
13409
13410     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
13411     BSTR dir();
13412
13413     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13414     void oncontextmenu(VARIANT v);
13415
13416     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13417     VARIANT oncontextmenu();
13418
13419     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13420     void onstop(VARIANT v);
13421
13422     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13423     VARIANT onstop();
13424
13425     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
13426     IHTMLDocument2 *createDocumentFragment();
13427
13428     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
13429     IHTMLDocument2 *parentDocument();
13430
13431     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13432     void enableDownload(VARIANT_BOOL v);
13433
13434     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13435     VARIANT_BOOL enableDownload();
13436
13437     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13438     void baseUrl(BSTR v);
13439
13440     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13441     BSTR baseUrl();
13442
13443     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13444     void inheritStyleSheets(VARIANT_BOOL v);
13445
13446     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13447     VARIANT_BOOL inheritStyleSheets();
13448
13449     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13450     void onbeforeeditfocus(VARIANT v);
13451
13452     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13453     VARIANT onbeforeeditfocus();
13454
13455     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
13456     IHTMLElementCollection *getElementsByName([in] BSTR v);
13457
13458     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
13459     IHTMLElement *getElementById([in] BSTR v);
13460
13461     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
13462     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
13463
13464     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
13465     void focus();
13466
13467     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
13468     VARIANT_BOOL hasFocus();
13469
13470     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13471     void onselectionchange(VARIANT v);
13472
13473     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13474     VARIANT onselectionchange();
13475
13476     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
13477     IDispatch *namespaces();
13478
13479     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
13480     IHTMLDocument2 *createDocumentFromUrl(
13481         [in] BSTR bstrUrl,
13482         [in] BSTR bstrOptions);
13483
13484     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13485     void media(BSTR v);
13486
13487     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13488     BSTR media();
13489
13490     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
13491     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
13492
13493     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
13494     VARIANT_BOOL fireEvent(
13495         [in] BSTR bstrEventName,
13496         [optional, in] VARIANT *pvarEventObject);
13497
13498     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
13499     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
13500
13501     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13502     void oncontrolselect(VARIANT v);
13503
13504     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13505     VARIANT oncontrolselect();
13506
13507     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
13508     BSTR URLUnencoded();
13509
13510     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13511     void onmousewheel(VARIANT v);
13512
13513     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13514     VARIANT onmousewheel();
13515
13516     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
13517     IHTMLDOMNode *doctype();
13518
13519     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13520     IHTMLDOMImplementation *implementation();
13521
13522     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13523     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
13524
13525     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13526     IHTMLDOMNode *createComment([in] BSTR bstrdata);
13527
13528     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13529     void onfocusin(VARIANT v);
13530
13531     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13532     VARIANT onfocusin();
13533
13534     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13535     void onfocusout(VARIANT v);
13536
13537     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13538     VARIANT onfocusout();
13539
13540     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13541     void onactivate(VARIANT v);
13542
13543     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13544     VARIANT onactivate();
13545
13546     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13547     void ondeactivate(VARIANT v);
13548
13549     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13550     VARIANT ondeactivate();
13551
13552     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13553     void onbeforeactivate(VARIANT v);
13554
13555     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13556     VARIANT onbeforeactivate();
13557
13558     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13559     void onbeforedeactivate(VARIANT v);
13560
13561     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13562     VARIANT onbeforedeactivate();
13563
13564     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
13565     BSTR compatMode();
13566
13567     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
13568     IHTMLDocumentCompatibleInfoCollection *compatible();
13569
13570     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
13571     VARIANT documentMode();
13572
13573     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13574     void onstorage(VARIANT v);
13575
13576     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13577     VARIANT onstorage();
13578
13579     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13580     void onstoragecommit(VARIANT v);
13581
13582     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13583     VARIANT onstoragecommit();
13584
13585     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
13586     IHTMLElement2 *ie8_getElementById([in] BSTR bstrId);
13587
13588     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
13589     void updateSettings();
13590
13591     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
13592 }
13593
13594 /*****************************************************************************
13595  *    HTMLDocument coclass
13596  */
13597 [
13598     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
13599 ]
13600 coclass HTMLDocument
13601 {
13602     [default]         dispinterface DispHTMLDocument;
13603     [source, default] dispinterface HTMLDocumentEvents;
13604     [source]          dispinterface HTMLDocumentEvents2;
13605                       interface IHTMLDocument2;
13606                       interface IHTMLDocument3;
13607                       interface IHTMLDocument4;
13608                       interface IHTMLDocument5;
13609                       interface IHTMLDocument6;
13610                       interface IHTMLDOMNode;
13611                       interface IHTMLDOMNode2;
13612 }
13613
13614 /*****************************************************************************
13615  *    DWebBridgeEvents dispinterface
13616  */
13617 [
13618     hidden,
13619     uuid(a6d897ff-0a95-11d1-b0ba-006008166e11)
13620 ]
13621 dispinterface DWebBridgeEvents
13622 {
13623 properties:
13624 methods:
13625     [id(DISPID_DWEBBRIDGEEVENTS_ONSCRIPTLETEVENT)]
13626     void onscriptletevent([in] BSTR name,[in] VARIANT eventData);
13627
13628     [id(DISPID_DWEBBRIDGEEVENTS_ONREADYSTATECHANGE)]
13629     void onreadystatechange();
13630
13631     [id(DISPID_DWEBBRIDGEEVENTS_ONCLICK)]
13632     VARIANT_BOOL onclick();
13633
13634     [id(DISPID_DWEBBRIDGEEVENTS_ONDBLCLICK)]
13635     VARIANT_BOOL ondblclick();
13636
13637     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYDOWN)]
13638     void onkeydown();
13639
13640     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYUP)]
13641     void onkeyup();
13642
13643     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYPRESS)]
13644     VARIANT_BOOL onkeypress();
13645
13646     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEDOWN)]
13647     void onmousedown();
13648
13649     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEMOVE)]
13650     void onmousemove();
13651
13652     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEUP)]
13653     void onmouseup();
13654 }
13655
13656 /*****************************************************************************
13657  *    IWebBridge interface
13658  */
13659 [
13660     odl,
13661     oleautomation,
13662     dual,
13663     uuid(ae24fdad-03c6-11d1-8b76-0080c744f389)
13664 ]
13665 interface IWebBridge : IDispatch
13666 {
13667     [propput, id(DISPID_IWEBBRIDGE_URL)]
13668     HRESULT URL([in] BSTR v);
13669
13670     [propget, id(DISPID_IWEBBRIDGE_URL)]
13671     HRESULT URL([retval, out] BSTR * p);
13672
13673     [propput, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
13674     HRESULT Scrollbar([in] VARIANT_BOOL v);
13675
13676     [propget, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
13677     HRESULT Scrollbar([retval, out] VARIANT_BOOL * p);
13678
13679     [propput, id(DISPID_IWEBBRIDGE_EMBED)]
13680     HRESULT embed([in] VARIANT_BOOL v);
13681
13682     [propget, id(DISPID_IWEBBRIDGE_EMBED)]
13683     HRESULT embed([retval, out] VARIANT_BOOL * p);
13684
13685     [propget, id(DISPID_IWEBBRIDGE_EVENT)]
13686     HRESULT event([retval, out] IDispatch* * p);
13687
13688     [propget, id(DISPID_IWEBBRIDGE_READYSTATE)]
13689     HRESULT readyState([retval, out] long * p);
13690
13691     [id(DISPID_IWEBBRIDGE_ABOUTBOX)]
13692     HRESULT AboutBox();
13693 }
13694
13695 /*****************************************************************************
13696  *    Scriptlet coclass
13697  */
13698 [
13699     control,
13700     helpstring("Microsoft Scriptlet Component"),
13701     progid("ScriptBridge.ScriptBridge.1"),
13702     vi_progid("ScriptBridge.ScriptBridge"),
13703     uuid(ae24fdae-03c6-11d1-8b76-0080c744f389)
13704 ]
13705 coclass Scriptlet
13706 {
13707     [default]           interface IWebBridge;
13708     [source, default]   dispinterface DWebBridgeEvents;
13709 }
13710
13711 /*****************************************************************************
13712  *    IHTMLEmbedElement interface
13713  */
13714 [
13715     odl,
13716     oleautomation,
13717     dual,
13718     uuid(3050f25f-98b5-11cf-bb82-00aa00bdce0b)
13719 ]
13720 interface IHTMLEmbedElement : IDispatch
13721 {
13722     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13723     HRESULT hidden([in] BSTR v);
13724
13725     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13726     HRESULT hidden([retval, out] BSTR *p);
13727
13728     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
13729     HRESULT palette([retval, out] BSTR *p);
13730
13731     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
13732     HRESULT pluginspage([retval, out] BSTR *p);
13733
13734     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13735     HRESULT src([in] BSTR v);
13736
13737     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13738     HRESULT src([retval, out] BSTR *p);
13739
13740     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13741     HRESULT units([in] BSTR v);
13742
13743     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13744     HRESULT units([retval, out] BSTR *p);
13745
13746     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13747     HRESULT name([in] BSTR v);
13748
13749     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13750     HRESULT name([retval, out] BSTR *p);
13751
13752     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13753     HRESULT width([in] VARIANT v);
13754
13755     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13756     HRESULT width([retval, out] VARIANT *p);
13757
13758     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13759     HRESULT height([in] VARIANT v);
13760
13761     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13762     HRESULT height([retval, out] VARIANT *p);
13763 }
13764
13765 /*****************************************************************************
13766  *    DispHTMLEmbedElement dispinterface
13767  */
13768 [
13769     hidden,
13770     uuid(3050f52e-98b5-11cf-bb82-00aa00bdce0b)
13771 ]
13772 dispinterface DispHTMLEmbed
13773 {
13774 properties:
13775 methods:
13776     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
13777
13778     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13779     void hidden(BSTR v);
13780
13781     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13782     BSTR hidden();
13783
13784     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
13785     BSTR palette();
13786
13787     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
13788     BSTR pluginspage();
13789
13790     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13791     void src(BSTR v);
13792
13793     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13794     BSTR src();
13795
13796     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13797     void units(BSTR v);
13798
13799     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13800     BSTR units();
13801
13802     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13803     void name(BSTR v);
13804
13805     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13806     BSTR name();
13807
13808     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13809     void width(VARIANT v);
13810
13811     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13812     VARIANT width();
13813
13814     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13815     void height(VARIANT v);
13816
13817     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13818     VARIANT height();
13819
13820     [propput, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
13821     void ie8_src(BSTR v);
13822
13823     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
13824     BSTR ie8_src();
13825
13826     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_PLUGINSPAGE)]
13827     BSTR ie8_pluginspage();
13828 }
13829
13830 /*****************************************************************************
13831  *    IHTMLCommentElement interface
13832  */
13833 [
13834     odl,
13835     oleautomation,
13836     dual,
13837     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
13838 ]
13839 interface IHTMLCommentElement : IDispatch
13840 {
13841     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13842     HRESULT text([in] BSTR v);
13843
13844     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13845     HRESULT text([out, retval] BSTR *p);
13846
13847     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13848     HRESULT atomic([in] LONG v);
13849
13850     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13851     HRESULT atomic([out, retval] LONG *p);
13852 }
13853
13854 /*****************************************************************************
13855  *    IHTMLCommentElement2 interface
13856  */
13857 [
13858     odl,
13859     oleautomation,
13860     dual,
13861     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
13862 ]
13863 interface IHTMLCommentElement2 : IDispatch
13864 {
13865     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13866     HRESULT data([in] BSTR v);
13867
13868     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13869     HRESULT data([out, retval] BSTR *p);
13870
13871     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
13872     HRESULT length([out, retval] LONG *p);
13873
13874     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
13875     HRESULT substringData(
13876             [in] LONG offset,
13877             [in] LONG Count,
13878             [out, retval] BSTR *pbstrsubString);
13879
13880     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
13881     HRESULT appendData([in] BSTR bstrstring);
13882
13883     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
13884     HRESULT insertData(
13885             [in] LONG offset,
13886             [in] BSTR bstrstring);
13887
13888     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
13889     HRESULT deleteData(
13890             [in] LONG offset,
13891             [in] LONG Count);
13892
13893     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
13894     HRESULT replaceData(
13895             [in] LONG offset,
13896             [in] LONG Count,
13897             [in] BSTR bstrstring);
13898 }
13899
13900 /*****************************************************************************
13901  *    DispHTMLCommentElement dispinterface
13902  */
13903 [
13904     hidden,
13905     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
13906 ]
13907 dispinterface DispHTMLCommentElement
13908 {
13909 properties:
13910 methods:
13911     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
13912
13913     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13914     void text(BSTR v);
13915
13916     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13917     BSTR text();
13918
13919     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13920     void atomic(LONG v);
13921
13922     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13923     LONG atomic();
13924
13925     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13926     void data(BSTR v);
13927
13928     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13929     BSTR data();
13930
13931     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
13932     LONG length();
13933
13934     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
13935     BSTR substringData(
13936             [in] LONG offset,
13937             [in] LONG Count);
13938
13939     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
13940     void appendData([in] BSTR bstrstring);
13941
13942     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
13943      void insertData(
13944             [in] LONG offset,
13945             [in] BSTR bstrstring);
13946
13947     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
13948     void deleteData(
13949             [in] LONG offset,
13950             [in] LONG Count);
13951
13952     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
13953     void replaceData(
13954             [in] LONG offset,
13955             [in] LONG Count,
13956             [in] BSTR bstrstring);
13957 }
13958
13959 [
13960     hidden,
13961     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
13962 ]
13963 dispinterface HTMLElementEvents2
13964 {
13965 properties:
13966 methods:
13967     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
13968     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
13969
13970     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
13971     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
13972
13973     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
13974     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
13975
13976     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
13977     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
13978
13979     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
13980     void onkeydown([in] IHTMLEventObj* pEvtObj);
13981
13982     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
13983     void onkeyup([in] IHTMLEventObj* pEvtObj);
13984
13985     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
13986     void onmouseout([in] IHTMLEventObj* pEvtObj);
13987
13988     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
13989     void onmouseover([in] IHTMLEventObj* pEvtObj);
13990
13991     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
13992     void onmousemove([in] IHTMLEventObj* pEvtObj);
13993
13994     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
13995     void onmousedown([in] IHTMLEventObj* pEvtObj);
13996
13997     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
13998     void onmouseup([in] IHTMLEventObj* pEvtObj);
13999
14000     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14001     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14002
14003     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14004     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14005
14006     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14007     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14008
14009     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14010     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14011
14012     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14013     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14014
14015     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14016     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14017
14018     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14019     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14020
14021     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14022     void onrowenter([in] IHTMLEventObj* pEvtObj);
14023
14024     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14025     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14026
14027     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14028     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14029
14030     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14031     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14032
14033     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14034     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14035
14036     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14037     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14038
14039     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14040     void onscroll([in] IHTMLEventObj* pEvtObj);
14041
14042     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14043     void onfocus([in] IHTMLEventObj* pEvtObj);
14044
14045     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14046     void onblur([in] IHTMLEventObj* pEvtObj);
14047
14048     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14049     void onresize([in] IHTMLEventObj* pEvtObj);
14050
14051     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14052     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14053
14054     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14055     void ondragend([in] IHTMLEventObj* pEvtObj);
14056
14057     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14058     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14059
14060     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14061     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14062
14063     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14064     void ondragleave([in] IHTMLEventObj* pEvtObj);
14065
14066     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14067     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14068
14069     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14070     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14071
14072     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14073     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14074
14075     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14076     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14077
14078     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14079     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14080
14081     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14082     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14083
14084     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14085     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14086
14087     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14088     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14089
14090     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14091     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14092
14093     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14094     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14095
14096     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14097     void oncellchange([in] IHTMLEventObj* pEvtObj);
14098
14099     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14100     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14101
14102     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14103     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14104
14105     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14106     void onpage([in] IHTMLEventObj* pEvtObj);
14107
14108     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14109     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14110
14111     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14112     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14113
14114     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14115     void onactivate([in] IHTMLEventObj* pEvtObj);
14116
14117     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14118     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14119
14120     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14121     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14122
14123     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14124     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14125
14126     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14127     void onfocusin([in] IHTMLEventObj* pEvtObj);
14128
14129     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14130     void onfocusout([in] IHTMLEventObj* pEvtObj);
14131
14132     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14133     void onmove([in] IHTMLEventObj* pEvtObj);
14134
14135     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14136     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14137
14138     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14139     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14140
14141     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14142     void onmoveend([in] IHTMLEventObj* pEvtObj);
14143
14144     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14145     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14146
14147     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14148     void onresizeend([in] IHTMLEventObj* pEvtObj);
14149
14150     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14151     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14152 }
14153
14154 [
14155     hidden,
14156     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
14157 ]
14158 dispinterface HTMLElementEvents
14159 {
14160 properties:
14161 methods:
14162     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14163     VARIANT_BOOL onhelp();
14164
14165     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14166     VARIANT_BOOL onclick();
14167
14168     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14169     VARIANT_BOOL ondblclick();
14170
14171     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14172     VARIANT_BOOL onkeypress();
14173
14174     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14175     void onkeydown();
14176
14177     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14178     void onkeyup();
14179
14180     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14181     void onmouseout();
14182
14183     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14184     void onmouseover();
14185
14186     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14187     void onmousemove();
14188
14189     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14190     void onmousedown();
14191
14192     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14193     void onmouseup();
14194
14195     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14196     VARIANT_BOOL onselectstart();
14197
14198     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14199     void onfilterchange();
14200
14201     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14202     VARIANT_BOOL ondragstart();
14203
14204     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14205     VARIANT_BOOL onbeforeupdate();
14206
14207     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14208     void onafterupdate();
14209
14210     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14211     VARIANT_BOOL onerrorupdate();
14212
14213     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14214     VARIANT_BOOL onrowexit();
14215
14216     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14217     void onrowenter();
14218
14219     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14220     void ondatasetchanged();
14221
14222     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14223     void ondataavailable();
14224
14225     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14226     void ondatasetcomplete();
14227
14228     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14229     void onlosecapture();
14230
14231     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14232     void onpropertychange();
14233
14234     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14235     void onscroll();
14236
14237     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14238     void onfocus();
14239
14240     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14241     void onblur();
14242
14243     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14244     void onresize();
14245
14246     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14247     VARIANT_BOOL ondrag();
14248
14249     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14250     void ondragend();
14251
14252     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14253     VARIANT_BOOL ondragenter();
14254
14255     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14256     VARIANT_BOOL ondragover();
14257
14258     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14259     void ondragleave();
14260
14261     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14262     VARIANT_BOOL ondrop();
14263
14264     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14265     VARIANT_BOOL onbeforecut();
14266
14267     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14268     VARIANT_BOOL oncut();
14269
14270     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14271     VARIANT_BOOL onbeforecopy();
14272
14273     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14274     VARIANT_BOOL oncopy();
14275
14276     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14277     VARIANT_BOOL onbeforepaste();
14278
14279     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14280     VARIANT_BOOL onpaste();
14281
14282     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14283     VARIANT_BOOL oncontextmenu();
14284
14285     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14286     void onrowsdelete();
14287
14288     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14289     void onrowsinserted();
14290
14291     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14292     void oncellchange();
14293
14294     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14295     void onreadystatechange();
14296
14297     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14298     void onbeforeeditfocus();
14299
14300     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14301     void onlayoutcomplete();
14302
14303     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14304     void onpage();
14305
14306     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14307     VARIANT_BOOL onbeforedeactivate();
14308
14309     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14310     VARIANT_BOOL onbeforeactivate();
14311
14312     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14313     void onmove();
14314
14315     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14316     VARIANT_BOOL oncontrolselect();
14317
14318     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14319     VARIANT_BOOL onmovestart();
14320
14321     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14322     void onmoveend();
14323
14324     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14325     VARIANT_BOOL onresizestart();
14326
14327     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14328     void onresizeend();
14329
14330     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14331     void onmouseenter();
14332
14333     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14334     void onmouseleave();
14335
14336     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14337     VARIANT_BOOL onmousewheel();
14338
14339     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14340     void onactivate();
14341
14342     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14343     void ondeactivate();
14344
14345     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14346     void onfocusin();
14347
14348     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14349     void onfocusout();
14350 }
14351
14352 [
14353     noncreatable,
14354     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
14355 ]
14356 coclass HTMLCommentElement
14357 {
14358     [default]           dispinterface DispHTMLCommentElement;
14359     [source, default]   dispinterface HTMLElementEvents;
14360     [source]            dispinterface HTMLElementEvents2;
14361                         interface IHTMLElement;
14362                         interface IHTMLElement2;
14363                         interface IHTMLElement3;
14364                         interface IHTMLElement4;
14365                         interface IHTMLUniqueName;
14366                         interface IHTMLDOMNode;
14367                         interface IHTMLDOMNode2;
14368                         interface IHTMLCommentElement;
14369                         interface IHTMLCommentElement2;
14370 }
14371
14372 /*****************************************************************************
14373  *    HTMLTableEvents dispinterface
14374  */
14375 [
14376     hidden,
14377     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
14378 ]
14379 dispinterface HTMLTableEvents
14380 {
14381 properties:
14382 methods:
14383     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14384     VARIANT_BOOL onhelp();
14385
14386     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14387     VARIANT_BOOL onclick();
14388
14389     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14390     VARIANT_BOOL ondblclick();
14391
14392     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14393     VARIANT_BOOL onkeypress();
14394
14395     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14396     void onkeydown();
14397
14398     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14399     void onkeyup();
14400
14401     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14402     void onmouseout();
14403
14404     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14405     void onmouseover();
14406
14407     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14408     void onmousemove();
14409
14410     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14411     void onmousedown();
14412
14413     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14414     void onmouseup();
14415
14416     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14417     VARIANT_BOOL onselectstart();
14418
14419     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14420     void onfilterchange();
14421
14422     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14423     VARIANT_BOOL ondragstart();
14424
14425     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14426     VARIANT_BOOL onbeforeupdate();
14427
14428     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14429     void onafterupdate();
14430
14431     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14432     VARIANT_BOOL onerrorupdate();
14433
14434     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14435     VARIANT_BOOL onrowexit();
14436
14437     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14438     void onrowenter();
14439
14440     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14441     void ondatasetchanged();
14442
14443     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14444     void ondataavailable();
14445
14446     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14447     void ondatasetcomplete();
14448
14449     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14450     void onlosecapture();
14451
14452     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14453     void onpropertychange();
14454
14455     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14456     void onscroll();
14457
14458     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14459     void onfocus();
14460
14461     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14462     void onblur();
14463
14464     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14465     void onresize();
14466
14467     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14468     VARIANT_BOOL ondrag();
14469
14470     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14471     void ondragend();
14472
14473     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14474     VARIANT_BOOL ondragenter();
14475
14476     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14477     VARIANT_BOOL ondragover();
14478
14479     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14480     void ondragleave();
14481
14482     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14483     VARIANT_BOOL ondrop();
14484
14485     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14486     VARIANT_BOOL onbeforecut();
14487
14488     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14489     VARIANT_BOOL oncut();
14490
14491     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14492     VARIANT_BOOL onbeforecopy();
14493
14494     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14495     VARIANT_BOOL oncopy();
14496
14497     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14498     VARIANT_BOOL onbeforepaste();
14499
14500     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14501     VARIANT_BOOL onpaste();
14502
14503     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14504     VARIANT_BOOL oncontextmenu();
14505
14506     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14507     void onrowsdelete();
14508
14509     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14510     void onrowsinserted();
14511
14512     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14513     void oncellchange();
14514
14515     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14516     void onreadystatechange();
14517
14518     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14519     void onbeforeeditfocus();
14520
14521     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14522     void onlayoutcomplete();
14523
14524     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14525     void onpage();
14526
14527     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14528     VARIANT_BOOL onbeforedeactivate();
14529
14530     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14531     VARIANT_BOOL onbeforeactivate();
14532
14533     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14534     void onmove();
14535
14536     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14537     VARIANT_BOOL oncontrolselect();
14538
14539     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14540     VARIANT_BOOL onmovestart();
14541
14542     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14543     void onmoveend();
14544
14545     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14546     VARIANT_BOOL onresizestart();
14547
14548     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14549     void onresizeend();
14550
14551     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14552     void onmouseenter();
14553
14554     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14555     void onmouseleave();
14556
14557     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14558     VARIANT_BOOL onmousewheel();
14559
14560     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14561     void onactivate();
14562
14563     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14564     void ondeactivate();
14565
14566     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14567     void onfocusin();
14568
14569     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14570     void onfocusout();
14571 }
14572
14573 [
14574     hidden,
14575     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
14576 ]
14577 dispinterface HTMLTableEvents2
14578 {
14579 properties:
14580 methods:
14581     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14582     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14583
14584     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14585     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14586
14587     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14588     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14589
14590     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14591     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14592
14593     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14594     void onkeydown([in] IHTMLEventObj* pEvtObj);
14595
14596     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14597     void onkeyup([in] IHTMLEventObj* pEvtObj);
14598
14599     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14600     void onmouseout([in] IHTMLEventObj* pEvtObj);
14601
14602     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14603     void onmouseover([in] IHTMLEventObj* pEvtObj);
14604
14605     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14606     void onmousemove([in] IHTMLEventObj* pEvtObj);
14607
14608     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14609     void onmousedown([in] IHTMLEventObj* pEvtObj);
14610
14611     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14612     void onmouseup([in] IHTMLEventObj* pEvtObj);
14613
14614     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14615     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14616
14617     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14618     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14619
14620     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14621     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14622
14623     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14624     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14625
14626     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14627     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14628
14629     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14630     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14631
14632     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14633     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14634
14635     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14636     void onrowenter([in] IHTMLEventObj* pEvtObj);
14637
14638     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14639     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14640
14641     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14642     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14643
14644     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14645     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14646
14647     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14648     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14649
14650     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14651     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14652
14653     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14654     void onscroll([in] IHTMLEventObj* pEvtObj);
14655
14656     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14657     void onfocus([in] IHTMLEventObj* pEvtObj);
14658
14659     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14660     void onblur([in] IHTMLEventObj* pEvtObj);
14661
14662     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14663     void onresize([in] IHTMLEventObj* pEvtObj);
14664
14665     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14666     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14667
14668     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14669     void ondragend([in] IHTMLEventObj* pEvtObj);
14670
14671     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14672     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14673
14674     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14675     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14676
14677     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14678     void ondragleave([in] IHTMLEventObj* pEvtObj);
14679
14680     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14681     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14682
14683     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14684     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14685
14686     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14687     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14688
14689     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14690     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14691
14692     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14693     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14694
14695     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14696     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14697
14698     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14699     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14700
14701     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14702     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14703
14704     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14705     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14706
14707     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14708     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14709
14710     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14711     void oncellchange([in] IHTMLEventObj* pEvtObj);
14712
14713     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14714     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14715
14716     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14717     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14718
14719     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14720     void onpage([in] IHTMLEventObj* pEvtObj);
14721
14722     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14723     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14724
14725     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14726     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14727
14728     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14729     void onactivate([in] IHTMLEventObj* pEvtObj);
14730
14731     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14732     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14733
14734     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14735     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14736
14737     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14738     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14739
14740     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14741     void onfocusin([in] IHTMLEventObj* pEvtObj);
14742
14743     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14744     void onfocusout([in] IHTMLEventObj* pEvtObj);
14745
14746     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14747     void onmove([in] IHTMLEventObj* pEvtObj);
14748
14749     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14750     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14751
14752     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14753     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14754
14755     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14756     void onmoveend([in] IHTMLEventObj* pEvtObj);
14757
14758     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14759     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14760
14761     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14762     void onresizeend([in] IHTMLEventObj* pEvtObj);
14763
14764     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14765     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14766 }
14767
14768 /*****************************************************************************
14769  *    IHTMLTableCaption interface
14770  */
14771 [
14772     odl,
14773     oleautomation,
14774     dual,
14775     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
14776 ]
14777 interface IHTMLTableCaption : IDispatch
14778 {
14779     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
14780     HRESULT align([in] BSTR v);
14781
14782     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
14783     HRESULT align([retval, out] BSTR *p);
14784
14785     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
14786     HRESULT vAlign([in] BSTR v);
14787
14788     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
14789     HRESULT vAlign([retval, out] BSTR *p);
14790 }
14791
14792 interface IHTMLTableSection;
14793
14794 /*****************************************************************************
14795  *    IHTMLTable interface
14796  */
14797 [
14798     odl,
14799     oleautomation,
14800     dual,
14801     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
14802 ]
14803 interface IHTMLTable : IDispatch
14804 {
14805     [propput, id(DISPID_IHTMLTABLE_COLS)]
14806     HRESULT cols([in] LONG v);
14807
14808     [propget, id(DISPID_IHTMLTABLE_COLS)]
14809     HRESULT cols([retval, out] LONG *p);
14810
14811     [propput, id(DISPID_IHTMLTABLE_BORDER)]
14812     HRESULT border([in] VARIANT v);
14813
14814     [propget, id(DISPID_IHTMLTABLE_BORDER)]
14815     HRESULT border([retval, out] VARIANT *p);
14816
14817     [propput, id(DISPID_IHTMLTABLE_FRAME)]
14818     HRESULT frame([in] BSTR v);
14819
14820     [propget, id(DISPID_IHTMLTABLE_FRAME)]
14821     HRESULT frame([retval, out] BSTR *p);
14822
14823     [propput, id(DISPID_IHTMLTABLE_RULES)]
14824     HRESULT rules([in] BSTR v);
14825
14826     [propget, id(DISPID_IHTMLTABLE_RULES)]
14827     HRESULT rules([retval, out] BSTR *p);
14828
14829     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
14830     HRESULT cellSpacing([in] VARIANT v);
14831
14832     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
14833     HRESULT cellSpacing([retval, out] VARIANT *p);
14834
14835     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
14836     HRESULT cellPadding([in] VARIANT v);
14837
14838     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
14839     HRESULT cellPadding([retval, out] VARIANT *p);
14840
14841     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
14842     HRESULT background([in] BSTR v);
14843
14844     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
14845     HRESULT background([retval, out] BSTR *p);
14846
14847     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
14848     HRESULT bgColor([in] VARIANT v);
14849
14850     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
14851     HRESULT bgColor([retval, out] VARIANT *p);
14852
14853     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14854     HRESULT borderColor([in] VARIANT v);
14855
14856     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14857     HRESULT borderColor([retval, out] VARIANT *p);
14858
14859     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14860     HRESULT borderColorLight([in] VARIANT v);
14861
14862     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14863     HRESULT borderColorLight([retval, out] VARIANT *p);
14864
14865     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14866     HRESULT borderColorDark([in] VARIANT v);
14867
14868     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14869     HRESULT borderColorDark([retval, out] VARIANT *p);
14870
14871     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
14872     HRESULT align([in] BSTR v);
14873
14874     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
14875     HRESULT align([retval, out] BSTR * p);
14876
14877     [id(DISPID_IHTMLTABLE_REFRESH)]
14878     HRESULT refresh();
14879
14880     [propget, id(DISPID_IHTMLTABLE_ROWS)]
14881     HRESULT rows([retval, out] IHTMLElementCollection **p);
14882
14883     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
14884     HRESULT width([in] VARIANT v);
14885
14886     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
14887     HRESULT width([retval, out] VARIANT *p);
14888
14889     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
14890     HRESULT height([in] VARIANT v);
14891
14892     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
14893     HRESULT height([retval, out] VARIANT *p);
14894
14895     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14896     HRESULT dataPageSize([in] LONG v);
14897
14898     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14899     HRESULT dataPageSize([retval, out] LONG *p);
14900
14901     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
14902     HRESULT nextPage();
14903
14904     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
14905     HRESULT previousPage();
14906
14907     [propget, id(DISPID_IHTMLTABLE_THEAD)]
14908     HRESULT tHead([retval, out] IHTMLTableSection **p);
14909
14910     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
14911     HRESULT tFoot([retval, out] IHTMLTableSection **p);
14912
14913     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
14914     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
14915
14916     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
14917     HRESULT caption([retval, out] IHTMLTableCaption **p);
14918
14919     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
14920     HRESULT createTHead([retval, out] IDispatch **head);
14921
14922     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
14923     HRESULT deleteTHead();
14924
14925     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
14926     HRESULT createTFoot([retval, out] IDispatch **foot);
14927
14928     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
14929     HRESULT deleteTFoot();
14930
14931     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
14932     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
14933
14934     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
14935     HRESULT deleteCaption();
14936
14937     [id(DISPID_IHTMLTABLE_INSERTROW)]
14938     HRESULT insertRow(
14939             [defaultvalue(-1), in] LONG index,
14940             [retval, out] IDispatch **row);
14941
14942     [id(DISPID_IHTMLTABLE_DELETEROW)]
14943     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
14944
14945     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
14946     HRESULT readyState([retval, out] BSTR *p);
14947
14948     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
14949     HRESULT onreadystatechange([in] VARIANT v);
14950
14951     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
14952     HRESULT onreadystatechange([retval, out] VARIANT *p);
14953 }
14954
14955 [
14956     odl,
14957     oleautomation,
14958     dual,
14959     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
14960 ]
14961 interface IHTMLTable2 : IDispatch
14962 {
14963     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
14964     HRESULT firstPage();
14965
14966     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
14967     HRESULT lastPage();
14968
14969     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
14970     HRESULT cells([retval, out] IHTMLElementCollection* * p);
14971
14972     [id(DISPID_IHTMLTABLE2_MOVEROW)]
14973     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
14974         [defaultvalue(-1), in] LONG indexTo,
14975         [retval, out] IDispatch** row);
14976 }
14977
14978 [
14979     odl,
14980     oleautomation,
14981     dual,
14982     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
14983 ]
14984 interface IHTMLTable3 : IDispatch
14985 {
14986     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
14987     HRESULT summary([in] BSTR v);
14988
14989     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
14990     HRESULT summary([retval, out] BSTR * p);
14991 }
14992
14993 [
14994     noncreatable,
14995     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
14996 ]
14997 coclass HTMLTable
14998 {
14999     [default]           dispinterface DispHTMLTable;
15000     [source, default]   dispinterface HTMLTableEvents;
15001     [source]            dispinterface HTMLTableEvents2;
15002                         interface IHTMLElement;
15003                         interface IHTMLElement2;
15004                         interface IHTMLElement3;
15005                         interface IHTMLElement4;
15006                         interface IHTMLUniqueName;
15007                         interface IHTMLDOMNode;
15008                         interface IHTMLDOMNode2;
15009                         interface IHTMLDatabinding;
15010                         interface IHTMLControlElement;
15011                         interface IHTMLTable;
15012                         interface IHTMLTable2;
15013                         interface IHTMLTable3;
15014 }
15015
15016 [
15017     odl,
15018     oleautomation,
15019     dual,
15020     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
15021 ]
15022 interface IHTMLTableSection : IDispatch
15023 {
15024     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
15025     HRESULT align([in] BSTR v);
15026
15027     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
15028     HRESULT align([retval, out] BSTR *p);
15029
15030     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
15031     HRESULT vAlign([in] BSTR v);
15032
15033     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
15034     HRESULT vAlign([retval, out] BSTR *p);
15035
15036     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
15037     HRESULT bgColor([in] VARIANT v);
15038
15039     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
15040     HRESULT bgColor([retval, out] VARIANT *p);
15041
15042     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
15043     HRESULT rows([retval, out] IHTMLElementCollection **p);
15044
15045     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
15046     HRESULT insertRow(
15047             [defaultvalue(-1), in] LONG index,
15048             [retval, out] IDispatch **row);
15049
15050     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
15051     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
15052 }
15053
15054 /*****************************************************************************
15055  *    IHTMLTableRow interface
15056  */
15057 [
15058     odl,
15059     oleautomation,
15060     dual,
15061     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
15062 ]
15063 interface IHTMLTableRow : IDispatch
15064 {
15065     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
15066     HRESULT align([in] BSTR v);
15067
15068     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
15069     HRESULT align([out, retval] BSTR *p);
15070
15071     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
15072     HRESULT vAlign([in] BSTR v);
15073
15074     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
15075     HRESULT vAlign([out, retval] BSTR *p);
15076
15077     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15078     HRESULT bgColor([in] VARIANT v);
15079
15080     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15081     HRESULT bgColor([out, retval] VARIANT *p);
15082
15083     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15084     HRESULT borderColor([in] VARIANT v);
15085
15086     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15087     HRESULT borderColor([out, retval] VARIANT *p);
15088
15089     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15090     HRESULT borderColorLight([in] VARIANT v);
15091
15092     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15093     HRESULT borderColorLight([out, retval] VARIANT *p);
15094
15095     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15096     HRESULT borderColorDark([in] VARIANT v);
15097
15098     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15099     HRESULT borderColorDark([out, retval] VARIANT *p);
15100
15101     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
15102     HRESULT rowIndex([out, retval] LONG *p);
15103
15104     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
15105     HRESULT sectionRowIndex([out, retval] LONG *p);
15106
15107     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
15108     HRESULT cells([out, retval] IHTMLElementCollection **p);
15109
15110     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
15111     HRESULT insertCell(
15112             [in, defaultvalue(-1)] LONG index,
15113             [out, retval] IDispatch **row);
15114
15115     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
15116     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
15117 }
15118
15119 /*****************************************************************************
15120  *    DispHTMLTable interface
15121  */
15122 [
15123     hidden,
15124     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
15125 ]
15126 dispinterface DispHTMLTable
15127 {
15128 properties:
15129 methods:
15130     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
15131
15132     [propput, id(DISPID_IHTMLTABLE_COLS)]
15133     void cols(LONG v);
15134
15135     [propget, id(DISPID_IHTMLTABLE_COLS)]
15136     LONG cols();
15137
15138     [propput, id(DISPID_IHTMLTABLE_BORDER)]
15139     void border(VARIANT v);
15140
15141     [propget, id(DISPID_IHTMLTABLE_BORDER)]
15142     VARIANT border();
15143
15144     [propput, id(DISPID_IHTMLTABLE_FRAME)]
15145     void frame(BSTR v);
15146
15147     [propget, id(DISPID_IHTMLTABLE_FRAME)]
15148     BSTR frame();
15149
15150     [propput, id(DISPID_IHTMLTABLE_RULES)]
15151     void rules(BSTR v);
15152
15153     [propget, id(DISPID_IHTMLTABLE_RULES)]
15154     BSTR rules();
15155
15156     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
15157     void cellSpacing(VARIANT v);
15158
15159     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
15160     VARIANT cellSpacing();
15161
15162     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
15163     void cellPadding(VARIANT v);
15164
15165     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
15166     VARIANT cellPadding();
15167
15168     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
15169     void background(BSTR v);
15170
15171     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
15172     BSTR background();
15173
15174     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
15175     void bgColor(VARIANT v);
15176
15177     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
15178     VARIANT bgColor();
15179
15180     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15181     void borderColor(VARIANT v);
15182
15183     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15184     VARIANT borderColor();
15185
15186     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15187     void borderColorLight(VARIANT v);
15188
15189     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15190     VARIANT borderColorLight();
15191
15192     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15193     void borderColorDark(VARIANT v);
15194
15195     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15196     VARIANT borderColorDark();
15197
15198     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
15199     void align(BSTR v);
15200
15201     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
15202     BSTR align();
15203
15204     [id(DISPID_IHTMLTABLE_REFRESH)]
15205     void refresh();
15206
15207     [propget, id(DISPID_IHTMLTABLE_ROWS)]
15208     IHTMLElementCollection *rows();
15209
15210     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
15211     void width(VARIANT v);
15212
15213     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
15214     VARIANT width();
15215
15216     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
15217     void height(VARIANT v);
15218
15219     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
15220     VARIANT height();
15221
15222     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15223     void dataPageSize(LONG v);
15224
15225     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15226     LONG dataPageSize();
15227
15228     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
15229     void nextPage();
15230
15231     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
15232     void previousPage();
15233
15234     [propget, id(DISPID_IHTMLTABLE_THEAD)]
15235     IHTMLTableSection *tHead();
15236
15237     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
15238     IHTMLTableSection *tFoot();
15239
15240     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
15241     IHTMLElementCollection *tBodies();
15242
15243     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
15244     IHTMLTableCaption *caption();
15245
15246     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
15247     IDispatch *createTHead();
15248
15249     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
15250     void deleteTHead();
15251
15252     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
15253     IDispatch *createTFoot();
15254
15255     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
15256     void deleteTFoot();
15257
15258     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
15259     IHTMLTableCaption *createCaption();
15260
15261     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
15262     void deleteCaption();
15263
15264     [id(DISPID_IHTMLTABLE_INSERTROW)]
15265     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
15266
15267     [id(DISPID_IHTMLTABLE_DELETEROW)]
15268     void deleteRow([in, defaultvalue(-1)] LONG index);
15269
15270     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
15271     void firstPage();
15272
15273     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
15274     void lastPage();
15275
15276     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
15277     IHTMLElementCollection *cells();
15278
15279     [id(DISPID_IHTMLTABLE2_MOVEROW)]
15280     IDispatch *moveRow(
15281             [in, defaultvalue(-1)] LONG indexFrom,
15282             [in, defaultvalue(-1)] LONG indexTo);
15283
15284     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15285     void summary(BSTR v);
15286
15287     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15288     BSTR summary();
15289 }
15290
15291 /*****************************************************************************
15292  *    DispHTMLTableRow dispinterface
15293  */
15294 [
15295     hidden,
15296     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
15297 ]
15298 dispinterface DispHTMLTableRow
15299 {
15300 properties:
15301 methods:
15302     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15303
15304     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
15305     void align(BSTR v);
15306
15307     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
15308     BSTR align();
15309
15310     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
15311     void vAlign(BSTR v);
15312
15313     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
15314     BSTR vAlign();
15315
15316     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15317     void bgColor(VARIANT v);
15318
15319     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15320     VARIANT bgColor();
15321
15322     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15323     void borderColor(VARIANT v);
15324
15325     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15326     VARIANT borderColor();
15327
15328     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15329     void borderColorLight(VARIANT v);
15330
15331     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15332     VARIANT borderColorLight();
15333
15334     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15335     void borderColorDark(VARIANT v);
15336
15337     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15338     VARIANT borderColorDark();
15339
15340     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
15341     LONG rowIndex();
15342
15343     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
15344     LONG sectionRowIndex();
15345
15346     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
15347     IHTMLElementCollection *cells();
15348
15349     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
15350     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
15351
15352     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
15353     void deleteCell([in, defaultvalue(-1)] LONG index);
15354
15355     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
15356     void height(VARIANT v);
15357
15358     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
15359     VARIANT height();
15360
15361     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
15362     void ch(BSTR v);
15363
15364     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
15365     BSTR ch();
15366
15367     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
15368     void chOff(BSTR v);
15369
15370     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
15371     BSTR chOff();
15372 }
15373
15374 /*****************************************************************************
15375  *    IHTMLScriptElement interface
15376  */
15377 [
15378     odl,
15379     oleautomation,
15380     dual,
15381     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
15382 ]
15383 interface IHTMLScriptElement : IDispatch
15384 {
15385     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15386     HRESULT src([in] BSTR v);
15387
15388     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15389     HRESULT src([retval, out] BSTR *p);
15390
15391     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15392     HRESULT htmlFor([in] BSTR v);
15393
15394     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15395     HRESULT htmlFor([retval, out] BSTR *p);
15396
15397     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15398     HRESULT event([in] BSTR v);
15399
15400     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15401     HRESULT event([retval, out] BSTR *p);
15402
15403     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15404     HRESULT text([in] BSTR v);
15405
15406     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15407     HRESULT text([retval, out] BSTR *p);
15408
15409     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15410     HRESULT defer([in] VARIANT_BOOL v);
15411
15412     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15413     HRESULT defer([retval, out] VARIANT_BOOL *p);
15414
15415     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
15416     HRESULT readyState([retval, out] BSTR *p);
15417
15418     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15419     HRESULT onerror([in] VARIANT v);
15420
15421     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15422     HRESULT onerror([retval, out] VARIANT *p);
15423
15424     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15425     HRESULT type([in] BSTR v);
15426
15427     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15428     HRESULT type([retval, out] BSTR *p);
15429 }
15430
15431 /*****************************************************************************
15432  *    IHTMLScriptElement2 interface
15433  */
15434 [
15435     odl,
15436     oleautomation,
15437     dual,
15438     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
15439 ]
15440 interface IHTMLScriptElement2 : IDispatch
15441 {
15442     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15443     HRESULT charset([in] BSTR v);
15444
15445     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15446     HRESULT charset([retval, out] BSTR *p);
15447 }
15448
15449 /*****************************************************************************
15450  *    DispHTMLScriptElement dispinterface
15451  */
15452 [
15453     hidden,
15454     uuid(3050f530-98b5-11cf-bb82-00aa00bdce0b)
15455 ]
15456 dispinterface DispHTMLScriptElement
15457 {
15458 properties:
15459 methods:
15460     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15461
15462     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15463     void src(BSTR v);
15464
15465     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15466     BSTR src();
15467
15468     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15469     void htmlFor(BSTR v);
15470
15471     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15472     BSTR htmlFor();
15473
15474     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15475     void event(BSTR v);
15476
15477     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15478     BSTR event();
15479
15480     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15481     void text(BSTR v);
15482
15483     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15484     BSTR text();
15485
15486     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15487     void defer(VARIANT_BOOL v);
15488
15489     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15490     VARIANT_BOOL defer();
15491
15492     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15493     void onerror(VARIANT v);
15494
15495     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15496     VARIANT onerror();
15497
15498     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15499     void type(BSTR v);
15500
15501     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15502     BSTR type();
15503
15504     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15505     void charset(BSTR v);
15506
15507     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15508     BSTR charset();
15509
15510     [propput, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
15511     void ie8_src(BSTR v);
15512
15513     [propget, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
15514     BSTR ie8_src();
15515 }
15516
15517 /*****************************************************************************
15518  *    IHTMLObjectElement interface
15519  */
15520 [
15521     odl,
15522     oleautomation,
15523     dual,
15524     uuid(3050f24f-98b5-11cf-bb82-00aa00bdce0b)
15525 ]
15526 interface IHTMLObjectElement : IDispatch
15527 {
15528     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
15529     HRESULT object([retval, out] IDispatch **p);
15530
15531     [propget, id(DISPID_IHTMLOBJECTELEMENT_CLASSID), hidden]
15532     HRESULT classid([retval, out] BSTR *p);
15533
15534     [propget, id(DISPID_IHTMLOBJECTELEMENT_DATA), hidden]
15535     HRESULT data([retval, out] BSTR *p);
15536
15537     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15538     HRESULT recordset([in] IDispatch *v);
15539
15540     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15541     HRESULT recordset([retval, out] IDispatch **p);
15542
15543     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15544     HRESULT align([in] BSTR v);
15545
15546     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15547     HRESULT align([retval, out] BSTR *p);
15548
15549     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15550     HRESULT name([in] BSTR v);
15551
15552     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15553     HRESULT name([retval, out] BSTR *p);
15554
15555     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15556     HRESULT codeBase([in] BSTR v);
15557
15558     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15559     HRESULT codeBase([retval, out] BSTR *p);
15560
15561     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15562     HRESULT codeType([in] BSTR v);
15563
15564     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15565     HRESULT codeType([retval, out] BSTR *p);
15566
15567     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15568     HRESULT code([in] BSTR v);
15569
15570     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15571     HRESULT code([retval, out] BSTR *p);
15572
15573     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
15574     HRESULT BaseHref([retval, out] BSTR *p);
15575
15576     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15577     HRESULT type([in] BSTR v);
15578
15579     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15580     HRESULT type([retval, out] BSTR *p);
15581
15582     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
15583     HRESULT form([retval, out] IHTMLFormElement **p);
15584
15585     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15586     HRESULT width([in] VARIANT v);
15587
15588     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15589     HRESULT width([retval, out] VARIANT *p);
15590
15591     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15592     HRESULT height([in] VARIANT v);
15593
15594     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15595     HRESULT height([retval, out] VARIANT *p);
15596
15597     [propget, id(DISPID_IHTMLOBJECTELEMENT_READYSTATE), hidden]
15598     HRESULT readyState([retval, out] long *p);
15599
15600     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
15601     HRESULT onreadystatechange([in] VARIANT v);
15602
15603     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
15604     HRESULT onreadystatechange([retval, out] VARIANT *p);
15605
15606     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15607     HRESULT onerror([in] VARIANT v);
15608
15609     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15610     HRESULT onerror([retval, out] VARIANT *p);
15611
15612     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15613     HRESULT altHtml([in] BSTR v);
15614
15615     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15616     HRESULT altHtml([retval, out] BSTR *p);
15617
15618     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15619     HRESULT vspace([in] long v);
15620
15621     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15622     HRESULT vspace([retval, out] long *p);
15623
15624     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15625     HRESULT hspace([in] long v);
15626
15627     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15628     HRESULT hspace([retval, out] long *p);
15629 }
15630
15631 /*****************************************************************************
15632  *    IHTMLParamElement interface
15633  */
15634 [
15635     odl,
15636     oleautomation,
15637     dual,
15638     uuid(3050f83d-98b5-11cf-bb82-00aa00bdce0b)
15639 ]
15640 interface IHTMLParamElement : IDispatch
15641 {
15642     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15643     HRESULT name([in] BSTR v);
15644
15645     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15646     HRESULT name([retval, out] BSTR *p);
15647
15648     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15649     HRESULT value([in] BSTR v);
15650
15651     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15652     HRESULT value([retval, out] BSTR *p);
15653
15654     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15655     HRESULT type([in] BSTR v);
15656
15657     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15658     HRESULT type([retval, out] BSTR *p);
15659
15660     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15661     HRESULT valueType([in] BSTR v);
15662
15663     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15664     HRESULT valueType([retval, out] BSTR *p);
15665 }
15666
15667 /*****************************************************************************
15668  *    IHTMLParamElement2 interface
15669  */
15670 [
15671     odl,
15672     oleautomation,
15673     dual,
15674     uuid(30510444-98b5-11cf-bb82-00aa00bdce0b)
15675 ]
15676 interface IHTMLParamElement2 : IDispatch
15677 {
15678     [propput, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
15679     HRESULT name([in] BSTR v);
15680
15681     [propget, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
15682     HRESULT name([retval, out] BSTR *p);
15683
15684     [propput, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
15685     HRESULT type([in] BSTR v);
15686
15687     [propget, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
15688     HRESULT type([retval, out] BSTR *p);
15689
15690     [propput, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
15691     HRESULT value([in] BSTR v);
15692
15693     [propget, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
15694     HRESULT value([retval, out] BSTR *p);
15695
15696     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15697     HRESULT valueType([in] BSTR v);
15698
15699     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15700     HRESULT valueType([retval, out] BSTR *p);
15701 }
15702
15703 /*****************************************************************************
15704  *    DispHTMLObjectElement dispinterface
15705  */
15706 [
15707     hidden,
15708     uuid(3050f529-98b5-11cf-bb82-00aa00bdce0b)
15709 ]
15710 dispinterface DispHTMLObjectElement
15711 {
15712 properties:
15713 methods:
15714     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15715
15716     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
15717     IDispatch *object();
15718
15719     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15720     void recordset(IDispatch *v);
15721
15722     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15723     IDispatch *recordset();
15724
15725     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15726     void align(BSTR v);
15727
15728     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15729     BSTR align();
15730
15731     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15732     void name(BSTR v);
15733
15734     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15735     BSTR name();
15736
15737     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15738     void codeBase(BSTR v);
15739
15740     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15741     BSTR codeBase();
15742
15743     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15744     void codeType(BSTR v);
15745
15746     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15747     BSTR codeType();
15748
15749     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15750     void code(BSTR v);
15751
15752     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15753     BSTR code();
15754
15755     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
15756     BSTR BaseHref();
15757
15758     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15759     void type(BSTR v);
15760
15761     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15762     BSTR type();
15763
15764     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
15765     IHTMLFormElement *form();
15766
15767     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15768     void width(VARIANT v);
15769
15770     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15771     VARIANT width();
15772
15773     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15774     void height(VARIANT v);
15775
15776     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15777     VARIANT height();
15778
15779     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15780     void onerror(VARIANT v);
15781
15782     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15783     VARIANT onerror();
15784
15785     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15786     void altHtml(BSTR v);
15787
15788     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15789     BSTR altHtml();
15790
15791     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15792     void vspace(long v);
15793
15794     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15795     long vspace();
15796
15797     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15798     void hspace(long v);
15799
15800     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15801     long hspace();
15802
15803     [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
15804     IDispatch *namedRecordset(
15805             [in] BSTR dataMember,
15806             [optional, in] VARIANT *hierarchy);
15807
15808     [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
15809     void classid(BSTR v);
15810
15811     [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
15812     BSTR classid();
15813
15814     [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
15815     void data(BSTR v);
15816
15817     [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
15818     BSTR data();
15819
15820     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
15821     void archive(BSTR v);
15822
15823     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
15824     BSTR archive();
15825
15826     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
15827     void alt(BSTR v);
15828
15829     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
15830     BSTR alt();
15831
15832     [propput, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
15833     void declare(VARIANT_BOOL v);
15834
15835     [propget, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
15836     VARIANT_BOOL declare();
15837
15838     [propput, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
15839     void standby(BSTR v);
15840
15841     [propget, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
15842     BSTR standby();
15843
15844     [propput, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
15845     void border(VARIANT v);
15846
15847     [propget, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
15848     VARIANT border();
15849
15850     [propput, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
15851     void useMap(BSTR v);
15852
15853     [propget, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
15854     BSTR useMap();
15855
15856     [propget, id(DISPID_IHTMLOBJECTELEMENT4_CONTENTDOCUMENT)]
15857     IDispatch *contentDocument();
15858
15859     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
15860     void ie8_codeBase(BSTR v);
15861
15862     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
15863     BSTR ie8_codeBase();
15864
15865     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
15866     void ie8_data(BSTR v);
15867
15868     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
15869     BSTR ie8_data();
15870 }
15871
15872 /*****************************************************************************
15873  *    DispHTMLParamElement dispinterface
15874  */
15875 [
15876     hidden,
15877     uuid(3050f590-98b5-11cf-bb82-00aa00bdce0b)
15878 ]
15879 dispinterface DispHTMLParamElement
15880 {
15881 properties:
15882 methods:
15883     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15884
15885     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15886     void name(BSTR v);
15887
15888     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15889     BSTR name();
15890
15891     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15892     void value(BSTR v);
15893
15894     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15895     BSTR value();
15896
15897     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15898     void type(BSTR v);
15899
15900     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15901     BSTR type();
15902
15903     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15904     void valueType(BSTR v);
15905
15906     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15907     BSTR valueType();
15908
15909     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15910     void ie8_valueType(BSTR v);
15911
15912     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15913     BSTR ie8_valueType();
15914 }
15915
15916 /*****************************************************************************
15917  *    IHTMLFrameBase interface
15918  */
15919 [
15920     odl,
15921     oleautomation,
15922     dual,
15923     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
15924 ]
15925 interface IHTMLFrameBase : IDispatch
15926 {
15927     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
15928     HRESULT src([in] BSTR v);
15929
15930     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
15931     HRESULT src([out, retval] BSTR *p);
15932
15933     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
15934     HRESULT name([in] BSTR v);
15935
15936     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
15937     HRESULT name([out, retval] BSTR *p);
15938
15939     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
15940     HRESULT border([in] VARIANT v);
15941
15942     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
15943     HRESULT border([out, retval] VARIANT *p);
15944
15945     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
15946     HRESULT frameBorder([in] BSTR v);
15947
15948     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
15949     HRESULT frameBorder([out, retval] BSTR *p);
15950
15951     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
15952     HRESULT frameSpacing([in] VARIANT v);
15953
15954     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
15955     HRESULT frameSpacing([out, retval] VARIANT *p);
15956
15957     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
15958     HRESULT marginWidth([in] VARIANT v);
15959
15960     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
15961     HRESULT marginWidth([out, retval] VARIANT *p);
15962
15963     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
15964     HRESULT marginHeight([in] VARIANT v);
15965
15966     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
15967     HRESULT marginHeight([out, retval] VARIANT *p);
15968
15969     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
15970     HRESULT noResize([in] VARIANT_BOOL v);
15971
15972     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
15973     HRESULT noResize([out, retval] VARIANT_BOOL *p);
15974
15975     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
15976     HRESULT scrolling([in] BSTR v);
15977
15978     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
15979     HRESULT scrolling([out, retval] BSTR *p);
15980 }
15981
15982 #define WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL          \
15983     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
15984     void src(BSTR v);                                   \
15985                                                         \
15986     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
15987     BSTR src();                                         \
15988                                                         \
15989     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
15990     void name(BSTR v);                                  \
15991                                                         \
15992     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
15993     BSTR name();                                        \
15994                                                         \
15995     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
15996     void border(VARIANT v);                             \
15997                                                         \
15998     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
15999     VARIANT border();                                   \
16000                                                         \
16001     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
16002     void frameBorder(BSTR v);                           \
16003                                                         \
16004     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
16005     BSTR frameBorder();                                 \
16006                                                         \
16007     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
16008     void frameSpacing(VARIANT v);                       \
16009                                                         \
16010     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
16011     VARIANT frameSpacing();                             \
16012                                                         \
16013     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
16014     void marginWidth(VARIANT v);                        \
16015                                                         \
16016     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
16017     VARIANT marginWidth();                              \
16018                                                         \
16019     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
16020     void marginHeight(VARIANT v);                       \
16021                                                         \
16022     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
16023     VARIANT marginHeight();                             \
16024                                                         \
16025     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
16026     void noResize(VARIANT_BOOL v);                      \
16027                                                         \
16028     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
16029     VARIANT_BOOL noResize();                            \
16030                                                         \
16031     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
16032     void scrolling(BSTR v);                             \
16033                                                         \
16034     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
16035     BSTR scrolling()
16036
16037 /*****************************************************************************
16038  *    IHTMLFrameBase2 interface
16039  */
16040 [
16041     odl,
16042     oleautomation,
16043     dual,
16044     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
16045 ]
16046 interface IHTMLFrameBase2 : IDispatch
16047 {
16048     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
16049     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
16050
16051     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
16052     HRESULT onload([in] VARIANT v);
16053
16054     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
16055     HRESULT onload([retval, out] VARIANT *p);
16056
16057     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
16058     HRESULT onreadystatechange([in] VARIANT v);
16059
16060     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
16061     HRESULT onreadystatechange([retval, out] VARIANT *p);
16062
16063     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
16064     HRESULT readyState([retval, out] BSTR *p);
16065
16066     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
16067     HRESULT allowTransparency([in] VARIANT_BOOL v);
16068
16069     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
16070     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
16071 }
16072
16073 #define WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL                         \
16074     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]                 \
16075     IHTMLWindow2 *contentWindow();                                      \
16076                                                                         \
16077     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
16078     void onload(VARIANT v);                                             \
16079                                                                         \
16080     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
16081     VARIANT onload();                                                   \
16082                                                                         \
16083     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
16084     void allowTransparency(VARIANT_BOOL v);                             \
16085                                                                         \
16086     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
16087     VARIANT_BOOL allowTransparency()
16088
16089 #define WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL                           \
16090     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
16091     void longDesc(BSTR v);                                                \
16092                                                                           \
16093     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
16094     BSTR longDesc()
16095
16096
16097 #define WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL \
16098     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;  \
16099     WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL;   \
16100     WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL;  \
16101     WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL
16102
16103 /*****************************************************************************
16104  *    IHTMLFrameElement3 interface
16105  */
16106 [
16107     odl,
16108     oleautomation,
16109     dual,
16110     uuid(3051042d-98b5-11cf-bb82-00aa00bdce0b)
16111 ]
16112 interface IHTMLFrameElement3 : IDispatch
16113 {
16114     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
16115     HRESULT contentDocument([out, retval] IDispatch **p);
16116
16117     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16118     HRESULT src([in] BSTR v);
16119
16120     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16121     HRESULT src([out, retval] BSTR *p);
16122
16123     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16124     HRESULT longDesc([in] BSTR v);
16125
16126     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16127     HRESULT longDesc([out, retval] BSTR *p);
16128
16129     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16130     HRESULT frameBorder([in] BSTR v);
16131
16132     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16133     HRESULT frameBorder([out, retval] BSTR * p);
16134 }
16135
16136 /*****************************************************************************
16137  *    DispHTMLFrameElement dispinterface
16138  */
16139 [
16140     hidden,
16141     uuid(3050f513-98b5-11cf-bb82-00aa00bdce0b)
16142 ]
16143 dispinterface DispHTMLFrameElement
16144 {
16145 properties:
16146 methods:
16147     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
16148
16149     [propput, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
16150     void borderColor(VARIANT v);
16151
16152     [propget, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
16153     VARIANT borderColor();
16154
16155     [propput, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
16156     void height(VARIANT v);
16157
16158     [propget, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
16159     VARIANT height();
16160
16161     [propput, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
16162     void width(VARIANT v);
16163
16164     [propget, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
16165     VARIANT width();
16166
16167     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
16168     IDispatch *contentDocument();
16169
16170     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16171     void ie8_src(BSTR v);
16172
16173     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16174     BSTR ie8_src();
16175
16176     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16177     void ie8_longDesc(BSTR v);
16178
16179     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16180     BSTR ie8_longDesc();
16181
16182     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16183     void ie8_frameBorder(BSTR v);
16184
16185     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16186     BSTR ie8_frameBorder();
16187 }
16188
16189 /*****************************************************************************
16190  *    IHTMLIFrameElement interface
16191  */
16192 [
16193     odl,
16194     oleautomation,
16195     dual,
16196     uuid(3050f315-98b5-11cf-bb82-00aa00bdce0b)
16197 ]
16198 interface IHTMLIFrameElement : IDispatch
16199 {
16200     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16201     HRESULT vspace([in] LONG v);
16202
16203     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16204     HRESULT vspace([retval, out] LONG *p);
16205
16206     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16207     HRESULT hspace([in] LONG v);
16208
16209     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16210     HRESULT hspace([retval, out] LONG *p);
16211
16212     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16213     HRESULT align([in] BSTR v);
16214
16215     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16216     HRESULT align([retval, out] BSTR *p);
16217 }
16218
16219 /*****************************************************************************
16220  *    DispHTMLIFrame dispinterface
16221  */
16222 [
16223     hidden,
16224     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
16225 ]
16226 dispinterface DispHTMLIFrame
16227 {
16228 properties:
16229 methods:
16230     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
16231
16232     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16233     void vspace(LONG v);
16234
16235     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16236     LONG vspace();
16237
16238     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16239     void hspace(LONG v);
16240
16241     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16242     LONG hspace();
16243
16244     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16245     void align(BSTR v);
16246
16247     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16248     BSTR align();
16249
16250     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
16251     void height(VARIANT v);
16252
16253     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
16254     VARIANT height();
16255
16256     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
16257     void width(VARIANT v);
16258
16259     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
16260     VARIANT width();
16261 }
16262
16263 /*****************************************************************************
16264  *    IHTMLStyleElement interface
16265  */
16266 [
16267     odl,
16268     oleautomation,
16269     dual,
16270     uuid(3050f375-98b5-11cf-bb82-00aa00bdce0b)
16271 ]
16272 interface IHTMLStyleElement : IDispatch
16273 {
16274     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16275     HRESULT type([in] BSTR v);
16276
16277     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16278     HRESULT type([retval, out] BSTR *p);
16279
16280     [propget, id(DISPID_IHTMLSTYLEELEMENT_READYSTATE)]
16281     HRESULT readyState([retval, out] BSTR *p);
16282
16283     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16284     HRESULT onreadystatechange([in] VARIANT v);
16285
16286     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16287     HRESULT onreadystatechange([retval, out] VARIANT *p);
16288
16289     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16290     HRESULT onload([in] VARIANT v);
16291
16292     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16293     HRESULT onload([retval, out] VARIANT *p);
16294
16295     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16296     HRESULT onerror([in] VARIANT v);
16297
16298     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16299     HRESULT onerror([retval, out] VARIANT *p);
16300
16301     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
16302     HRESULT styleSheet([retval, out] IHTMLStyleSheet **p);
16303
16304     [propput, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
16305     HRESULT disabled([in] VARIANT_BOOL v);
16306
16307     [propget, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
16308     HRESULT disabled([retval, out] VARIANT_BOOL *p);
16309
16310     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16311     HRESULT media([in] BSTR v);
16312
16313     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16314     HRESULT media([retval, out] BSTR *p);
16315 }
16316
16317 /*****************************************************************************
16318  *    DispHTMLStyleElement dispinterface
16319  */
16320 [
16321     hidden,
16322     uuid(3050f511-98b5-11cf-bb82-00aa00bdce0b)
16323 ]
16324 dispinterface DispHTMLStyleElement
16325 {
16326 properties:
16327 methods:
16328     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16329
16330     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16331     void type(BSTR v);
16332
16333     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16334     BSTR type();
16335
16336     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16337     void onload(VARIANT v);
16338
16339     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16340     VARIANT onload();
16341
16342     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16343     void onerror(VARIANT v);
16344
16345     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16346     VARIANT onerror();
16347
16348     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
16349     IHTMLStyleSheet *styleSheet();
16350
16351     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16352     void media(BSTR v);
16353
16354     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16355     BSTR media();
16356 }
16357
16358 /*****************************************************************************
16359  *    IMarkupContainer interface
16360  */
16361 [
16362     object,
16363     pointer_default(unique),
16364     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
16365 ]
16366 interface IMarkupContainer : IUnknown
16367 {
16368     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
16369 }
16370
16371 /*****************************************************************************
16372  *    IMarkupPointer interface
16373  */
16374 [
16375     object,
16376     pointer_default(unique),
16377     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
16378 ]
16379 interface IMarkupPointer : IUnknown
16380 {
16381     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
16382
16383     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
16384
16385     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
16386
16387     HRESULT Cling([out] BOOL *pfCling);
16388
16389     HRESULT SetCling([in] BOOL fCLing);
16390
16391     HRESULT UnPosition();
16392
16393     HRESULT IsPositioned([out] BOOL *pfPositioned);
16394
16395     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
16396
16397     HRESULT MoveAdjacentToElement(
16398         [in] IHTMLElement *pElement,
16399         [in] ELEMENT_ADJACENCY eAdj);
16400
16401     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
16402
16403     HRESULT MoveToContainer(
16404         [in] IMarkupContainer *pContainer,
16405         [in] BOOL fAtStart);
16406
16407     HRESULT Left(
16408         [in] BOOL fMove,
16409         [out] MARKUP_CONTEXT_TYPE *pContext,
16410         [out] IHTMLElement **ppElement,
16411         [in, out] LONG *pcch,
16412         [out, size_is(*pcch)] OLECHAR *pchText);
16413
16414     HRESULT Right(
16415         [in] BOOL fMove,
16416         [out] MARKUP_CONTEXT_TYPE *pContext,
16417         [out] IHTMLElement **ppElement,
16418         [in, out] LONG *pcch,
16419         [out, size_is(*pcch)] OLECHAR *pchText);
16420
16421     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
16422
16423     HRESULT IsLeftOf(
16424         [in] IMarkupPointer *pPointerThat,
16425         [out] BOOL *pfResult);
16426
16427     HRESULT IsLeftOfOrEqualTo(
16428         [in] IMarkupPointer *pPointerThat,
16429         [out] BOOL *pfResult);
16430
16431     HRESULT IsRightOf(
16432         [in] IMarkupPointer *pPointerThat,
16433         [out] BOOL *pfResult);
16434
16435     HRESULT IsRightOfOrEqualTo(
16436         [in] IMarkupPointer *pPointerThat,
16437         [out] BOOL *pfResult);
16438
16439     HRESULT IsEqualTo(
16440         [in] IMarkupPointer *pPointerThat,
16441         [out] BOOL *pfAreEqual);
16442
16443     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
16444
16445     HRESULT FindText(
16446         [in] OLECHAR *pchFindText,
16447         [in] DWORD dwFlags,
16448         [in] IMarkupPointer *pIEndMatch,
16449         [in] IMarkupPointer *pIEndSearch);
16450 }
16451
16452 /*****************************************************************************
16453  *    ISegment interface
16454  */
16455 [
16456     object,
16457     pointer_default(unique),
16458     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
16459 ]
16460 interface ISegment : IUnknown
16461 {
16462     HRESULT GetPointers(
16463         [in] IMarkupPointer *pIStart,
16464         [in] IMarkupPointer *pIEnd);
16465 }
16466
16467 /*****************************************************************************
16468  *    IElementSegment interface
16469  */
16470 [
16471     object,
16472     pointer_default(unique),
16473     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
16474 ]
16475 interface IElementSegment : ISegment
16476 {
16477     HRESULT GetElement([out] IHTMLElement **ppIElement);
16478
16479     HRESULT SetPrimary([in] BOOL fPrimary);
16480
16481     HRESULT IsPrimary([out] BOOL *pfPrimary);
16482 }
16483
16484 /*****************************************************************************
16485  *    ISelectionServicesListener interface
16486  */
16487 [
16488     object,
16489     pointer_default(unique),
16490     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
16491 ]
16492 interface ISelectionServicesListener : IUnknown
16493 {
16494     HRESULT BeginSelectionUndo();
16495
16496     HRESULT EndSelectionUndo();
16497
16498     HRESULT OnSelectedElementExit(
16499         [in] IMarkupPointer *pIElementStart,
16500         [in] IMarkupPointer *pIElementEnd,
16501         [in] IMarkupPointer *pIElementContentStart,
16502         [in] IMarkupPointer *pIElementContentEnd);
16503
16504     HRESULT OnChangeType(
16505         [in] SELECTION_TYPE eType,
16506         [in] ISelectionServicesListener *pIListener);
16507
16508     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
16509 }
16510
16511 /*****************************************************************************
16512  *    ISelectionServices interface
16513  */
16514 [
16515     object,
16516     pointer_default(unique),
16517     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
16518 ]
16519 interface ISelectionServices : IUnknown
16520 {
16521     HRESULT SetSelectionType(
16522         [in] SELECTION_TYPE eType,
16523         [in] ISelectionServicesListener *pIListener);
16524
16525     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
16526
16527     HRESULT AddSegment(
16528         [in] IMarkupPointer *pIStart,
16529         [in] IMarkupPointer *pIEnd,
16530         [out] ISegment **ppISegmentAdded);
16531
16532     HRESULT AddElementSegment(
16533         [in] IHTMLElement *pIElement,
16534         [out] IElementSegment **ppISegmentAdded);
16535
16536     HRESULT RemoveSegment([in] ISegment *pISegment);
16537
16538     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
16539 }
16540
16541 /*****************************************************************************
16542  *    IHTMLEditDesigner interface
16543  */
16544 [
16545     object,
16546     pointer_default(unique),
16547     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
16548 ]
16549 interface IHTMLEditDesigner : IUnknown
16550 {
16551     HRESULT PreHandleEvent(
16552         [in] DISPID inEvtDispId,
16553         [in] IHTMLEventObj *pIEventObj);
16554
16555     HRESULT PostHandleEvent(
16556         [in] DISPID inEvtDispId,
16557         [in] IHTMLEventObj *pIEventObj);
16558
16559     HRESULT TranslateAccelerator(
16560         [in] DISPID inEvtDispId,
16561         [in] IHTMLEventObj *pIEventObj);
16562
16563     HRESULT PostEditorEventNotify(
16564         [in] DISPID inEvtDispId,
16565         [in] IHTMLEventObj *pIEventObj);
16566 }
16567
16568 /*****************************************************************************
16569  *    IHTMLEditServices interface
16570  */
16571 [
16572     object,
16573     pointer_default(unique),
16574     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
16575 ]
16576 interface IHTMLEditServices : IUnknown
16577 {
16578     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
16579
16580     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
16581
16582     HRESULT GetSelectionServices(
16583         [in] IMarkupContainer *pIContainer,
16584         [out] ISelectionServices **ppSelSvc);
16585
16586     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
16587
16588     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
16589
16590     HRESULT SelectRange(
16591         [in] IMarkupPointer* pStart,
16592         [in] IMarkupPointer* pEnd,
16593         [in] SELECTION_TYPE eType);
16594 }
16595
16596 /*****************************************************************************
16597  *    IElementBehaviorSite interface
16598  */
16599 [
16600     odl,
16601     uuid(3050F427-98B5-11CF-BB82-00AA00BDCE0B)
16602 ]
16603 interface IElementBehaviorSite : IUnknown {
16604     HRESULT GetElement([out, retval] IHTMLElement **ppElement);
16605     HRESULT RegisterNotification([in] long lEvent);
16606 }
16607
16608 /*****************************************************************************
16609  *    IElementBehavior interface
16610  */
16611 [
16612     odl,
16613     uuid(3050F425-98B5-11CF-BB82-00AA00BDCE0B)
16614 ]
16615 interface IElementBehavior : IUnknown {
16616     HRESULT Init([in] IElementBehaviorSite *pBehaviorSite);
16617     HRESULT Notify([in] long lEvent,  [in, out] VARIANT *pVar);
16618     HRESULT Detach();
16619 }
16620
16621 /*****************************************************************************
16622  *    IElementBehaviorFactory interface
16623  */
16624 [
16625     odl,
16626     uuid(3050f429-98b5-11cf-bb82-00aa00bdce0b)
16627 ]
16628 interface IElementBehaviorFactory : IUnknown
16629 {
16630     HRESULT FindBehavior(
16631         [in] BSTR bstrBehavior,
16632         [in] BSTR bstrBehaviorUrl,
16633         [in] IElementBehaviorSite *pSite,
16634         [out] IElementBehavior **ppBehavior);
16635 }
16636
16637 } /* library MSHTML */
16638
16639 interface IOleCommandTarget;
16640
16641 /*****************************************************************************
16642  *    IHTMLPrivateWindow interface
16643  */
16644 [
16645     object,
16646     uuid(3050f6dc-98b5-11cf-bb82-00aa00bdce0b),
16647     local
16648 ]
16649 interface IHTMLPrivateWindow : IUnknown
16650 {
16651     HRESULT SuperNavigate(BSTR url, BSTR arg2, BSTR arg3, BSTR arg4, VARIANT *post_data, VARIANT *headers, ULONG flags);
16652     HRESULT GetPendingUrl(BSTR *url);
16653     HRESULT SetPICSTarget(IOleCommandTarget *cmdtrg);
16654     HRESULT PICSComplete(int arg);
16655     HRESULT FindWindowByName(LPCWSTR name, IHTMLWindow2 **ret);
16656     HRESULT GetAddressBarUrl(BSTR *url);
16657 }