kernel32: Single thread test for InitOnceExecuteOnce().
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004-2010 Jacek Caban for CodeWeavers
3  * Copyright 2008      Konstantin Kondratyuk (Etersoft)
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18  */
19
20 #include <mshtmdid.h>
21 #include <mshtmcid.h>
22 #include <olectl.h>
23
24 import "ocidl.idl";
25 import "dimm.idl";
26 import "shtypes.idl";
27 import "dispex.idl";
28
29 cpp_quote("#include <olectl.h>")
30
31 cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
32 cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
33 cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
34 cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
35 cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
36
37 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
38 cpp_quote("#undef FindText")
39 cpp_quote("#endif")
40
41 typedef enum {
42     POINTER_GRAVITY_Left,
43     POINTER_GRAVITY_Right,
44     POINTER_GRAVITY_Max = 2147483647
45 } POINTER_GRAVITY;
46
47 typedef enum {
48     CONTEXT_TYPE_None,
49     CONTEXT_TYPE_Text,
50     CONTEXT_TYPE_EnterScope,
51     CONTEXT_TYPE_ExitScope,
52     CONTEXT_TYPE_NoScope,
53     MARKUP_CONTEXT_TYPE_Max = 2147483647
54 } MARKUP_CONTEXT_TYPE;
55
56 typedef enum {
57     ELEM_ADJ_BeforeBegin,
58     ELEM_ADJ_AfterBegin,
59     ELEM_ADJ_BeforeEnd,
60     ELEM_ADJ_AfterEnd,
61     ELEMENT_ADJACENCY_Max = 2147483647
62 } ELEMENT_ADJACENCY;
63
64 typedef enum {
65     MOVEUNIT_PREVCHAR,
66     MOVEUNIT_NEXTCHAR,
67     MOVEUNIT_PREVCLUSTERBEG,
68     MOVEUNIT_NEXTCLUSTERBEG,
69     MOVEUNIT_PREVCLUSTEREND,
70     MOVEUNIT_NEXTCLUSTEREND,
71     MOVEUNIT_PREVWORDBEG,
72     MOVEUNIT_NEXTWORDBEG,
73     MOVEUNIT_PREVWORDEND,
74     MOVEUNIT_NEXTWORDEND,
75     MOVEUNIT_PREVPROOFWORD,
76     MOVEUNIT_NEXTPROOFWORD,
77     MOVEUNIT_NEXTURLBEG,
78     MOVEUNIT_PREVURLBEG,
79     MOVEUNIT_NEXTURLEND,
80     MOVEUNIT_PREVURLEND,
81     MOVEUNIT_PREVSENTENCE,
82     MOVEUNIT_NEXTSENTENCE,
83     MOVEUNIT_PREVBLOCK,
84     MOVEUNIT_NEXTBLOCK,
85     MOVEUNIT_ACTION_Max = 2147483647
86 } MOVEUNIT_ACTION;
87
88 typedef enum _SELECTION_TYPE {
89     SELECTION_TYPE_None,
90     SELECTION_TYPE_Caret,
91     SELECTION_TYPE_Text,
92     SELECTION_TYPE_Control,
93     SELECTION_TYPE_Max = 2147483647
94 } SELECTION_TYPE;
95
96 [
97     version(4.0),
98     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
99 ]
100 library MSHTML
101 {
102
103 importlib("stdole2.tlb");
104
105 [
106     odl,
107     oleautomation,
108     dual,
109     uuid(3051049b-98b5-11cf-bb82-00aa00bdce0b)
110 ]
111 interface IHTMLDOMConstructor : IDispatch
112 {
113     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
114     HRESULT constructor([retval, out] IDispatch* * p);
115
116     HRESULT LookupGetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
117
118     HRESULT LookupSetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
119
120     HRESULT DefineGetter([in] BSTR propname, [in] VARIANT* pdispHandler);
121
122     HRESULT DefineSetter([in] BSTR propname, [in] VARIANT* pdispHandler);
123 }
124
125 #define WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL                     \
126     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]       \
127     IDispatch *constructor()
128
129 interface IHTMLDocument2;
130 interface IHTMLElement2;
131 interface IHTMLStyleSheetsCollection;
132 interface IHTMLFrameBase;
133 interface IHTMLStorage;
134 interface IDOMEvent;
135
136 /*****************************************************************************
137  *    IHTMLFiltersCollection interface
138  */
139 [
140     odl,
141     oleautomation,
142     dual,
143     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
144 ]
145 interface IHTMLFiltersCollection : IDispatch
146 {
147     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
148     HRESULT length([retval, out] LONG *p);
149
150     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
151     HRESULT _newEnum([retval, out] IUnknown **p);
152
153     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
154     HRESULT item(
155         [in] VARIANT *pvarIndex,
156         [retval, out] VARIANT *pvarResult);
157 }
158
159 /*****************************************************************************
160  *    IHTMLStyle interface
161  */
162 [
163     odl,
164     oleautomation,
165     dual,
166     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
167 ]
168 interface IHTMLStyle : IDispatch
169 {
170     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
171     HRESULT fontFamily([in] BSTR v);
172
173     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
174     HRESULT fontFamily([retval, out] BSTR *p);
175
176     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
177     HRESULT fontStyle([in] BSTR v);
178
179     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
180     HRESULT fontStyle([retval, out] BSTR *p);
181
182     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
183     HRESULT fontVariant([in] BSTR v);
184
185     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
186     HRESULT fontVariant([retval, out] BSTR *p);
187
188     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
189     HRESULT fontWeight([in] BSTR v);
190
191     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
192     HRESULT fontWeight([retval, out] BSTR *p);
193
194     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
195     HRESULT fontSize([in] VARIANT v);
196
197     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
198     HRESULT fontSize([retval, out] VARIANT *p);
199
200     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
201     HRESULT font([in] BSTR v);
202
203     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
204     HRESULT font([retval, out] BSTR *p);
205
206     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
207     HRESULT color([in] VARIANT v);
208
209     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
210     HRESULT color([retval, out] VARIANT *p);
211
212     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
213     HRESULT background([in] BSTR v);
214
215     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
216     HRESULT background([retval, out] BSTR *p);
217
218     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
219     HRESULT backgroundColor([in] VARIANT v);
220
221     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
222     HRESULT backgroundColor([retval, out] VARIANT *p);
223
224     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
225     HRESULT backgroundImage([in] BSTR v);
226
227     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
228     HRESULT backgroundImage([retval, out] BSTR *p);
229
230     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
231     HRESULT backgroundRepeat([in] BSTR v);
232
233     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
234     HRESULT backgroundRepeat([retval, out] BSTR *p);
235
236     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
237     HRESULT backgroundAttachment([in] BSTR v);
238
239     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
240     HRESULT backgroundAttachment([retval, out] BSTR *p);
241
242     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
243     HRESULT backgroundPosition([in] BSTR v);
244
245     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
246     HRESULT backgroundPosition([retval, out] BSTR *p);
247
248     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
249     HRESULT backgroundPositionX([in] VARIANT v);
250
251     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
252     HRESULT backgroundPositionX([retval, out] VARIANT *p);
253
254     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
255     HRESULT backgroundPositionY([in] VARIANT v);
256
257     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
258     HRESULT backgroundPositionY([retval, out] VARIANT *p);
259
260     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
261     HRESULT wordSpacing([in] VARIANT v);
262
263     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
264     HRESULT wordSpacing([retval, out] VARIANT *p);
265
266     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
267     HRESULT letterSpacing([in] VARIANT v);
268
269     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
270     HRESULT letterSpacing([retval, out] VARIANT *p);
271
272     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
273     HRESULT textDecoration([in] BSTR v);
274
275     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
276     HRESULT textDecoration([retval, out] BSTR *p);
277
278     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
279     HRESULT textDecorationNone([in] VARIANT_BOOL v);
280
281     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
282     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
283
284     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
285     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
286
287     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
288     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
289
290     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
291     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
292
293     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
294     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
295
296     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
297     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
298
299     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
300     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
301
302     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
303     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
304
305     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
306     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
307
308     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
309     HRESULT verticalAlign([in] VARIANT v);
310
311     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
312     HRESULT verticalAlign([retval, out] VARIANT *p);
313
314     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
315     HRESULT textTransform([in] BSTR v);
316
317     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
318     HRESULT textTransform([retval, out] BSTR *p);
319
320     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
321     HRESULT textAlign([in] BSTR v);
322
323     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
324     HRESULT textAlign([retval, out] BSTR *p);
325
326     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
327     HRESULT textIndent([in] VARIANT v);
328
329     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
330     HRESULT textIndent([retval, out] VARIANT *p);
331
332     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
333     HRESULT lineHeight([in] VARIANT v);
334
335     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
336     HRESULT lineHeight([retval, out] VARIANT *p);
337
338     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
339     HRESULT marginTop([in] VARIANT v);
340
341     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
342     HRESULT marginTop([retval, out] VARIANT *p);
343
344     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
345     HRESULT marginRight([in] VARIANT v);
346
347     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
348     HRESULT marginRight([retval, out] VARIANT *p);
349
350     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
351     HRESULT marginBottom([in] VARIANT v);
352
353     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
354     HRESULT marginBottom([retval, out] VARIANT *p);
355
356     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
357     HRESULT marginLeft([in] VARIANT v);
358
359     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
360     HRESULT marginLeft([retval, out] VARIANT *p);
361
362     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
363     HRESULT margin([in] BSTR v);
364
365     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
366     HRESULT margin([retval, out] BSTR *p);
367
368     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
369     HRESULT paddingTop([in] VARIANT v);
370
371     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
372     HRESULT paddingTop([retval, out] VARIANT *p);
373
374     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
375     HRESULT paddingRight([in] VARIANT v);
376
377     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
378     HRESULT paddingRight([retval, out] VARIANT *p);
379
380     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
381     HRESULT paddingBottom([in] VARIANT v);
382
383     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
384     HRESULT paddingBottom([retval, out] VARIANT *p);
385
386     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
387     HRESULT paddingLeft([in] VARIANT v);
388
389     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
390     HRESULT paddingLeft([retval, out] VARIANT *p);
391
392     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
393     HRESULT padding([in] BSTR v);
394
395     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
396     HRESULT padding([retval, out] BSTR *p);
397
398     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
399     HRESULT border([in] BSTR v);
400
401     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
402     HRESULT border([retval, out] BSTR *p);
403
404     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
405     HRESULT borderTop([in] BSTR v);
406
407     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
408     HRESULT borderTop([retval, out] BSTR *p);
409
410     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
411     HRESULT borderRight([in] BSTR v);
412
413     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
414     HRESULT borderRight([retval, out] BSTR *p);
415
416     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
417     HRESULT borderBottom([in] BSTR v);
418
419     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
420     HRESULT borderBottom([retval, out] BSTR *p);
421
422     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
423     HRESULT borderLeft([in] BSTR v);
424
425     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
426     HRESULT borderLeft([retval, out] BSTR *p);
427
428     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
429     HRESULT borderColor([in] BSTR v);
430
431     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
432     HRESULT borderColor([retval, out] BSTR *p);
433
434     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
435     HRESULT borderTopColor([in] VARIANT v);
436
437     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
438     HRESULT borderTopColor([retval, out] VARIANT *p);
439
440     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
441     HRESULT borderRightColor([in] VARIANT v);
442
443     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
444     HRESULT borderRightColor([retval, out] VARIANT *p);
445
446     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
447     HRESULT borderBottomColor([in] VARIANT v);
448
449     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
450     HRESULT borderBottomColor([retval, out] VARIANT *p);
451
452     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
453     HRESULT borderLeftColor([in] VARIANT v);
454
455     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
456     HRESULT borderLeftColor([retval, out] VARIANT *p);
457
458     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
459     HRESULT borderWidth([in] BSTR v);
460
461     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
462     HRESULT borderWidth([retval, out] BSTR *p);
463
464     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
465     HRESULT borderTopWidth([in] VARIANT v);
466
467     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
468     HRESULT borderTopWidth([retval, out] VARIANT *p);
469
470     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
471     HRESULT borderRightWidth([in] VARIANT v);
472
473     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
474     HRESULT borderRightWidth([retval, out] VARIANT *p);
475
476     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
477     HRESULT borderBottomWidth([in] VARIANT v);
478
479     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
480     HRESULT borderBottomWidth([retval, out] VARIANT *p);
481
482     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
483     HRESULT borderLeftWidth([in] VARIANT v);
484
485     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
486     HRESULT borderLeftWidth([retval, out] VARIANT *p);
487
488     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
489     HRESULT borderStyle([in] BSTR v);
490
491     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
492     HRESULT borderStyle([retval, out] BSTR *p);
493
494     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
495     HRESULT borderTopStyle([in] BSTR v);
496
497     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
498     HRESULT borderTopStyle([retval, out] BSTR *p);
499
500     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
501     HRESULT borderRightStyle([in] BSTR v);
502
503     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
504     HRESULT borderRightStyle([retval, out] BSTR *p);
505
506     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
507     HRESULT borderBottomStyle([in] BSTR v);
508
509     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
510     HRESULT borderBottomStyle([retval, out] BSTR *p);
511
512     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
513     HRESULT borderLeftStyle([in] BSTR v);
514
515     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
516     HRESULT borderLeftStyle([retval, out] BSTR *p);
517
518     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
519     HRESULT width([in] VARIANT v);
520
521     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
522     HRESULT width([retval, out] VARIANT *p);
523
524     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
525     HRESULT height([in] VARIANT v);
526
527     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
528     HRESULT height([retval, out] VARIANT *p);
529
530     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
531     HRESULT styleFloat([in] BSTR v);
532
533     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
534     HRESULT styleFloat([retval, out] BSTR *p);
535
536     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
537     HRESULT clear([in] BSTR v);
538
539     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
540     HRESULT clear([retval, out] BSTR *p);
541
542     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
543     HRESULT display([in] BSTR v);
544
545     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
546     HRESULT display([retval, out] BSTR *p);
547
548     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
549     HRESULT visibility([in] BSTR v);
550
551     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
552     HRESULT visibility([retval, out] BSTR *p);
553
554     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
555     HRESULT listStyleType([in] BSTR v);
556
557     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
558     HRESULT listStyleType([retval, out] BSTR *p);
559
560     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
561     HRESULT listStylePosition([in] BSTR v);
562
563     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
564     HRESULT listStylePosition([retval, out] BSTR *p);
565
566     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
567     HRESULT listStyleImage([in] BSTR v);
568
569     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
570     HRESULT listStyleImage([retval, out] BSTR *p);
571
572     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
573     HRESULT listStyle([in] BSTR v);
574
575     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
576     HRESULT listStyle([retval, out] BSTR *p);
577
578     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
579     HRESULT whiteSpace([in] BSTR v);
580
581     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
582     HRESULT whiteSpace([retval, out] BSTR *p);
583
584     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
585     HRESULT top([in] VARIANT v);
586
587     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
588     HRESULT top([retval, out] VARIANT *p);
589
590     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
591     HRESULT left([in] VARIANT v);
592
593     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
594     HRESULT left([retval, out] VARIANT *p);
595
596     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
597     HRESULT position([retval, out] BSTR *p);
598
599     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
600     HRESULT zIndex([in] VARIANT v);
601
602     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
603     HRESULT zIndex([retval, out] VARIANT *p);
604
605     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
606     HRESULT overflow([in] BSTR v);
607
608     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
609     HRESULT overflow([retval, out] BSTR *p);
610
611     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
612     HRESULT pageBreakBefore([in] BSTR v);
613
614     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
615     HRESULT pageBreakBefore([retval, out] BSTR *p);
616
617     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
618     HRESULT pageBreakAfter([in] BSTR v);
619
620     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
621     HRESULT pageBreakAfter([retval, out] BSTR *p);
622
623     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
624     HRESULT cssText([in] BSTR v);
625
626     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
627     HRESULT cssText([retval, out] BSTR *p);
628
629     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
630     HRESULT pixelTop([in] LONG v);
631
632     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
633     HRESULT pixelTop([retval, out] LONG *p);
634
635     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
636     HRESULT pixelLeft([in] LONG v);
637
638     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
639     HRESULT pixelLeft([retval, out] LONG *p);
640
641     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
642     HRESULT pixelWidth([in] LONG v);
643
644     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
645     HRESULT pixelWidth([retval, out] LONG *p);
646
647     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
648     HRESULT pixelHeight([in] LONG v);
649
650     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
651     HRESULT pixelHeight([retval, out] LONG *p);
652
653     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
654     HRESULT posTop([in] float v);
655
656     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
657     HRESULT posTop([retval, out] float *p);
658
659     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
660     HRESULT posLeft([in] float v);
661
662     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
663     HRESULT posLeft([retval, out] float *p);
664
665     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
666     HRESULT posWidth([in] float v);
667
668     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
669     HRESULT posWidth([retval, out] float *p);
670
671     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
672     HRESULT posHeight([in] float v);
673
674     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
675     HRESULT posHeight([retval, out] float *p);
676
677     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
678     HRESULT cursor([in] BSTR v);
679
680     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
681     HRESULT cursor([retval, out] BSTR *p);
682
683     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
684     HRESULT clip([in] BSTR v);
685
686     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
687     HRESULT clip([retval, out] BSTR *p);
688
689     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
690     HRESULT filter([in] BSTR v);
691
692     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
693     HRESULT filter([retval, out] BSTR *p);
694
695     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
696     HRESULT setAttribute(
697         [in] BSTR strAttributeName,
698         [in] VARIANT AttributeValue,
699         [defaultvalue(1), in] LONG lFlags);
700
701     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
702     HRESULT getAttribute(
703         [in] BSTR strAttributeName,
704         [defaultvalue(0), in] LONG lFlags,
705         [retval, out] VARIANT *AttributeValue);
706
707     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
708     HRESULT removeAttribute(
709         [in] BSTR strAttributeName,
710         [defaultvalue(1), in]
711         LONG lFlags,
712         [retval, out] VARIANT_BOOL *pfSuccess);
713
714     [id(DISPID_IHTMLSTYLE_TOSTRING)]
715     HRESULT toString([retval, out] BSTR *String);
716 }
717
718 /*****************************************************************************
719  *    IHTMLStyle2 interface
720  */
721 [
722     odl,
723     oleautomation,
724     dual,
725     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
726 ]
727 interface IHTMLStyle2 : IDispatch
728 {
729     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
730     HRESULT tableLayout([in] BSTR v);
731
732     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
733     HRESULT tableLayout([out, retval] BSTR *p);
734
735     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
736     HRESULT borderCollapse([in] BSTR v);
737
738     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
739     HRESULT borderCollapse([out, retval] BSTR *p);
740
741     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
742     HRESULT direction([in] BSTR v);
743
744     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
745     HRESULT direction([out, retval] BSTR *p);
746
747     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
748     HRESULT behavior([in] BSTR v);
749
750     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
751     HRESULT behavior([out, retval] BSTR *p);
752
753     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
754     HRESULT setExpression(
755             [in] BSTR propname,
756             [in] BSTR expression,
757             [in, defaultvalue("")] BSTR language);
758
759     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
760     HRESULT getExpression(
761             [in] BSTR propname,
762             [out, retval] VARIANT *expression);
763
764     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
765     HRESULT removeExpression(
766             [in] BSTR propname,
767             [out, retval] VARIANT_BOOL *pfSuccess);
768
769     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
770     HRESULT position([in] BSTR v);
771
772     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
773     HRESULT position([out, retval] BSTR *p);
774
775     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
776     HRESULT unicodeBidi([in] BSTR v);
777
778     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
779     HRESULT unicodeBidi([out, retval] BSTR *p);
780
781     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
782     HRESULT bottom([in] VARIANT v);
783
784     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
785     HRESULT bottom([out, retval] VARIANT *p);
786
787     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
788     HRESULT right([in] VARIANT v);
789
790     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
791     HRESULT right([out, retval] VARIANT *p);
792
793     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
794     HRESULT pixelBottom([in] LONG v);
795
796     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
797     HRESULT pixelBottom([out, retval] LONG *p);
798
799     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
800     HRESULT pixelRight([in] LONG v);
801
802     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
803     HRESULT pixelRight([out, retval] LONG *p);
804
805     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
806     HRESULT posBottom([in] float v);
807
808     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
809     HRESULT posBottom([out, retval] float *p);
810
811     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
812     HRESULT posRight([in] float v);
813
814     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
815     HRESULT posRight([out, retval] float *p);
816
817     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
818     HRESULT imeMode([in] BSTR v);
819
820     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
821     HRESULT imeMode([out, retval] BSTR *p);
822
823     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
824     HRESULT rubyAlign([in] BSTR v);
825
826     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
827     HRESULT rubyAlign([out, retval] BSTR *p);
828
829     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
830     HRESULT rubyPosition([in] BSTR v);
831
832     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
833     HRESULT rubyPosition([out, retval] BSTR *p);
834
835     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
836     HRESULT rubyOverhang([in] BSTR v);
837
838     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
839     HRESULT rubyOverhang([out, retval] BSTR *p);
840
841     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
842     HRESULT layoutGridChar([in] VARIANT v);
843
844     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
845     HRESULT layoutGridChar([out, retval] VARIANT *p);
846
847     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
848     HRESULT layoutGridLine([in] VARIANT v);
849
850     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
851     HRESULT layoutGridLine([out, retval] VARIANT *p);
852
853     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
854     HRESULT layoutGridMode([in] BSTR v);
855
856     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
857     HRESULT layoutGridMode([out, retval] BSTR *p);
858
859     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
860     HRESULT layoutGridType([in] BSTR v);
861
862     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
863     HRESULT layoutGridType([out, retval] BSTR *p);
864
865     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
866     HRESULT layoutGrid([in] BSTR v);
867
868     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
869     HRESULT layoutGrid([out, retval] BSTR *p);
870
871     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
872     HRESULT wordBreak([in] BSTR v);
873
874     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
875     HRESULT wordBreak([out, retval] BSTR *p);
876
877     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
878     HRESULT lineBreak([in] BSTR v);
879
880     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
881     HRESULT lineBreak([out, retval] BSTR *p);
882
883     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
884     HRESULT textJustify([in] BSTR v);
885
886     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
887     HRESULT textJustify([out, retval] BSTR *p);
888
889     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
890     HRESULT textJustifyTrim([in] BSTR v);
891
892     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
893     HRESULT textJustifyTrim([out, retval] BSTR *p);
894
895     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
896     HRESULT textKashida([in] VARIANT v);
897
898     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
899     HRESULT textKashida([out, retval] VARIANT *p);
900
901     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
902     HRESULT textAutospace([in] BSTR v);
903
904     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
905     HRESULT textAutospace([out, retval] BSTR *p);
906
907     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
908     HRESULT overflowX([in] BSTR v);
909
910     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
911     HRESULT overflowX([out, retval] BSTR *p);
912
913     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
914     HRESULT overflowY([in] BSTR v);
915
916     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
917     HRESULT overflowY([out, retval] BSTR *p);
918
919     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
920     HRESULT accelerator([in] BSTR v);
921
922     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
923     HRESULT accelerator([out, retval] BSTR *p);
924 }
925
926 /*****************************************************************************
927  *    IHTMLRuleStyle interface
928  */
929 [
930     odl,
931     oleautomation,
932     dual,
933     uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
934 ]
935 interface IHTMLRuleStyle : IDispatch
936 {
937     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
938     HRESULT fontFamily([in] BSTR v);
939
940     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
941     HRESULT fontFamily([retval, out] BSTR *p);
942
943     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
944     HRESULT fontStyle([in] BSTR v);
945
946     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
947     HRESULT fontStyle([retval, out] BSTR *p);
948
949     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
950     HRESULT fontVariant([in] BSTR v);
951
952     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
953     HRESULT fontVariant([retval, out] BSTR *p);
954
955     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
956     HRESULT fontWeight([in] BSTR v);
957
958     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
959     HRESULT fontWeight([retval, out] BSTR *p);
960
961     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
962     HRESULT fontSize([in] VARIANT v);
963
964     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
965     HRESULT fontSize([retval, out] VARIANT *p);
966
967     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
968     HRESULT font([in] BSTR v);
969
970     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
971     HRESULT font([retval, out] BSTR *p);
972
973     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
974     HRESULT color([in] VARIANT v);
975
976     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
977     HRESULT color([retval, out] VARIANT *p);
978
979     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
980     HRESULT background([in] BSTR v);
981
982     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
983     HRESULT background([retval, out] BSTR *p);
984
985     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
986     HRESULT backgroundColor([in] VARIANT v);
987
988     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
989     HRESULT backgroundColor([retval, out] VARIANT *p);
990
991     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
992     HRESULT backgroundImage([in] BSTR v);
993
994     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
995     HRESULT backgroundImage([retval, out] BSTR *p);
996
997     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
998     HRESULT backgroundRepeat([in] BSTR v);
999
1000     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
1001     HRESULT backgroundRepeat([retval, out] BSTR *p);
1002
1003     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1004     HRESULT backgroundAttachment([in] BSTR v);
1005
1006     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1007     HRESULT backgroundAttachment([retval, out] BSTR *p);
1008
1009     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1010     HRESULT backgroundPosition([in] BSTR v);
1011
1012     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1013     HRESULT backgroundPosition([retval, out] BSTR *p);
1014
1015     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1016     HRESULT backgroundPositionX([in] VARIANT v);
1017
1018     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1019     HRESULT backgroundPositionX([retval, out] VARIANT *p);
1020
1021     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1022     HRESULT backgroundPositionY([in] VARIANT v);
1023
1024     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1025     HRESULT backgroundPositionY([retval, out] VARIANT *p);
1026
1027     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1028     HRESULT wordSpacing([in] VARIANT v);
1029
1030     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1031     HRESULT wordSpacing([retval, out] VARIANT *p);
1032
1033     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1034     HRESULT letterSpacing([in] VARIANT v);
1035
1036     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1037     HRESULT letterSpacing([retval, out] VARIANT *p);
1038
1039     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1040     HRESULT textDecoration([in] BSTR v);
1041
1042     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1043     HRESULT textDecoration([retval, out] BSTR *p);
1044
1045     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1046     HRESULT textDecorationNone([in] VARIANT_BOOL v);
1047
1048     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1049     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1050
1051     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1052     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1053
1054     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1055     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1056
1057     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1058     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1059
1060     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1061     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1062
1063     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1064     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1065
1066     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1067     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1068
1069     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1070     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1071
1072     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1073     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1074
1075     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1076     HRESULT verticalAlign([in] VARIANT v);
1077
1078     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1079     HRESULT verticalAlign([retval, out] VARIANT *p);
1080
1081     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1082     HRESULT textTransform([in] BSTR v);
1083
1084     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1085     HRESULT textTransform([retval, out] BSTR *p);
1086
1087     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1088     HRESULT textAlign([in] BSTR v);
1089
1090     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1091     HRESULT textAlign([retval, out] BSTR *p);
1092
1093     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1094     HRESULT textIndent([in] VARIANT v);
1095
1096     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1097     HRESULT textIndent([retval, out] VARIANT *p);
1098
1099     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1100     HRESULT lineHeight([in] VARIANT v);
1101
1102     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1103     HRESULT lineHeight([retval, out] VARIANT *p);
1104
1105     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1106     HRESULT marginTop([in] VARIANT v);
1107
1108     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1109     HRESULT marginTop([retval, out] VARIANT *p);
1110
1111     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1112     HRESULT marginRight([in] VARIANT v);
1113
1114     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1115     HRESULT marginRight([retval, out] VARIANT *p);
1116
1117     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1118     HRESULT marginBottom([in] VARIANT v);
1119
1120     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1121     HRESULT marginBottom([retval, out] VARIANT *p);
1122
1123     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1124     HRESULT marginLeft([in] VARIANT v);
1125
1126     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1127     HRESULT marginLeft([retval, out] VARIANT *p);
1128
1129     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1130     HRESULT margin([in] BSTR v);
1131
1132     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1133     HRESULT margin([retval, out] BSTR *p);
1134
1135     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1136     HRESULT paddingTop([in] VARIANT v);
1137
1138     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1139     HRESULT paddingTop([retval, out] VARIANT *p);
1140
1141     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1142     HRESULT paddingRight([in] VARIANT v);
1143
1144     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1145     HRESULT paddingRight([retval, out] VARIANT *p);
1146
1147     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1148     HRESULT paddingBottom([in] VARIANT v);
1149
1150     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1151     HRESULT paddingBottom([retval, out] VARIANT *p);
1152
1153     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1154     HRESULT paddingLeft([in] VARIANT v);
1155
1156     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1157     HRESULT paddingLeft([retval, out] VARIANT *p);
1158
1159     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1160     HRESULT padding([in] BSTR v);
1161
1162     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1163     HRESULT padding([retval, out] BSTR *p);
1164
1165     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1166     HRESULT border([in] BSTR v);
1167
1168     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1169     HRESULT border([retval, out] BSTR *p);
1170
1171     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1172     HRESULT borderTop([in] BSTR v);
1173
1174     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1175     HRESULT borderTop([retval, out] BSTR *p);
1176
1177     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1178     HRESULT borderRight([in] BSTR v);
1179
1180     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1181     HRESULT borderRight([retval, out] BSTR *p);
1182
1183     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1184     HRESULT borderBottom([in] BSTR v);
1185
1186     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1187     HRESULT borderBottom([retval, out] BSTR *p);
1188
1189     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1190     HRESULT borderLeft([in] BSTR v);
1191
1192     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1193     HRESULT borderLeft([retval, out] BSTR *p);
1194
1195     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1196     HRESULT borderColor([in] BSTR v);
1197
1198     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1199     HRESULT borderColor([retval, out] BSTR *p);
1200
1201     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1202     HRESULT borderTopColor([in] VARIANT v);
1203
1204     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1205     HRESULT borderTopColor([retval, out] VARIANT *p);
1206
1207     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1208     HRESULT borderRightColor([in] VARIANT v);
1209
1210     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1211     HRESULT borderRightColor([retval, out] VARIANT *p);
1212
1213     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1214     HRESULT borderBottomColor([in] VARIANT v);
1215
1216     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1217     HRESULT borderBottomColor([retval, out] VARIANT *p);
1218
1219     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1220     HRESULT borderLeftColor([in] VARIANT v);
1221
1222     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1223     HRESULT borderLeftColor([retval, out] VARIANT *p);
1224
1225     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1226     HRESULT borderWidth([in] BSTR v);
1227
1228     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1229     HRESULT borderWidth([retval, out] BSTR *p);
1230
1231     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1232     HRESULT borderTopWidth([in] VARIANT v);
1233
1234     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1235     HRESULT borderTopWidth([retval, out] VARIANT *p);
1236
1237     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1238     HRESULT borderRightWidth([in] VARIANT v);
1239
1240     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1241     HRESULT borderRightWidth([retval, out] VARIANT *p);
1242
1243     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1244     HRESULT borderBottomWidth([in] VARIANT v);
1245
1246     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1247     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1248
1249     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1250     HRESULT borderLeftWidth([in] VARIANT v);
1251
1252     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1253     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1254
1255     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1256     HRESULT borderStyle([in] BSTR v);
1257
1258     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1259     HRESULT borderStyle([retval, out] BSTR *p);
1260
1261     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1262     HRESULT borderTopStyle([in] BSTR v);
1263
1264     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1265     HRESULT borderTopStyle([retval, out] BSTR *p);
1266
1267     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1268     HRESULT borderRightStyle([in] BSTR v);
1269
1270     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1271     HRESULT borderRightStyle([retval, out] BSTR *p);
1272
1273     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1274     HRESULT borderBottomStyle([in] BSTR v);
1275
1276     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1277     HRESULT borderBottomStyle([retval, out] BSTR *p);
1278
1279     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1280     HRESULT borderLeftStyle([in] BSTR v);
1281
1282     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1283     HRESULT borderLeftStyle([retval, out] BSTR *p);
1284
1285     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1286     HRESULT width([in] VARIANT v);
1287
1288     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1289     HRESULT width([retval, out] VARIANT *p);
1290
1291     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1292     HRESULT height([in] VARIANT v);
1293
1294     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1295     HRESULT height([retval, out] VARIANT *p);
1296
1297     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1298     HRESULT styleFloat([in] BSTR v);
1299
1300     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1301     HRESULT styleFloat([retval, out] BSTR *p);
1302
1303     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1304     HRESULT clear([in] BSTR v);
1305
1306     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1307     HRESULT clear([retval, out] BSTR *p);
1308
1309     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1310     HRESULT display([in] BSTR v);
1311
1312     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1313     HRESULT display([retval, out] BSTR *p);
1314
1315     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1316     HRESULT visibility([in] BSTR v);
1317
1318     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1319     HRESULT visibility([retval, out] BSTR *p);
1320
1321     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1322     HRESULT listStyleType([in] BSTR v);
1323
1324     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1325     HRESULT listStyleType([retval, out] BSTR *p);
1326
1327     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1328     HRESULT listStylePosition([in] BSTR v);
1329
1330     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1331     HRESULT listStylePosition([retval, out] BSTR *p);
1332
1333     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1334     HRESULT listStyleImage([in] BSTR v);
1335
1336     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1337     HRESULT listStyleImage([retval, out] BSTR *p);
1338
1339     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1340     HRESULT listStyle([in] BSTR v);
1341
1342     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1343     HRESULT listStyle([retval, out] BSTR *p);
1344
1345     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1346     HRESULT whiteSpace([in] BSTR v);
1347
1348     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1349     HRESULT whiteSpace([retval, out] BSTR *p);
1350
1351     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1352     HRESULT top([in] VARIANT v);
1353
1354     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1355     HRESULT top([retval, out] VARIANT *p);
1356
1357     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1358     HRESULT left([in] VARIANT v);
1359
1360     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1361     HRESULT left([retval, out] VARIANT *p);
1362
1363     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1364     HRESULT position([retval, out] BSTR *p);
1365
1366     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1367     HRESULT zIndex([in] VARIANT v);
1368
1369     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1370     HRESULT zIndex([retval, out] VARIANT *p);
1371
1372     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1373     HRESULT overflow([in] BSTR v);
1374
1375     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1376     HRESULT overflow([retval, out] BSTR *p);
1377
1378     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1379     HRESULT pageBreakBefore([in] BSTR v);
1380
1381     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1382     HRESULT pageBreakBefore([retval, out] BSTR *p);
1383
1384     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1385     HRESULT pageBreakAfter([in] BSTR v);
1386
1387     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1388     HRESULT pageBreakAfter([retval, out] BSTR *p);
1389
1390     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1391     HRESULT cssText([in] BSTR v);
1392
1393     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1394     HRESULT cssText([retval, out] BSTR *p);
1395
1396     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1397     HRESULT cursor([in] BSTR v);
1398
1399     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1400     HRESULT cursor([retval, out] BSTR *p);
1401
1402     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1403     HRESULT clip([in] BSTR v);
1404
1405     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1406     HRESULT clip([retval, out] BSTR *p);
1407
1408     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1409     HRESULT filter([in] BSTR v);
1410
1411     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1412     HRESULT filter([retval, out] BSTR *p);
1413
1414     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1415     HRESULT setAttribute(
1416         [in] BSTR strAttributeName,
1417         [in] VARIANT AttributeValue,
1418         [defaultvalue(1), in] LONG lFlags);
1419
1420     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1421     HRESULT getAttribute(
1422         [in] BSTR strAttributeName,
1423         [defaultvalue(0), in] LONG lFlags,
1424         [retval, out] VARIANT *AttributeValue);
1425
1426     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1427     HRESULT removeAttribute(
1428         [in] BSTR strAttributeName,
1429         [defaultvalue(1), in] LONG lFlags,
1430         [retval, out] VARIANT_BOOL *pfSuccess);
1431 }
1432
1433 /*****************************************************************************
1434  *    DispHTMLStyle dispinterface
1435  */
1436 [
1437     hidden,
1438     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1439 ]
1440 dispinterface DispHTMLStyle
1441 {
1442 properties:
1443 methods:
1444     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1445     void fontFamily(BSTR v);
1446
1447     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1448     BSTR fontFamily();
1449
1450     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1451     void fontStyle(BSTR v);
1452
1453     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1454     BSTR fontStyle();
1455
1456     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1457     void fontVariant(BSTR v);
1458
1459     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1460     BSTR fontVariant();
1461
1462     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1463     void fontWeight(BSTR v);
1464
1465     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1466     BSTR fontWeight();
1467
1468     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1469     void fontSize(VARIANT v);
1470
1471     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1472     VARIANT fontSize();
1473
1474     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1475     void font(BSTR v);
1476
1477     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1478     BSTR font();
1479
1480     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1481     void color(VARIANT v);
1482
1483     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1484     VARIANT color();
1485
1486     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1487     void background(BSTR v);
1488
1489     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1490     BSTR background();
1491
1492     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1493     void backgroundColor(VARIANT v);
1494
1495     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1496     VARIANT backgroundColor();
1497
1498     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1499     void backgroundImage(BSTR v);
1500
1501     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1502     BSTR backgroundImage();
1503
1504     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1505     void backgroundRepeat(BSTR v);
1506
1507     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1508     BSTR backgroundRepeat();
1509
1510     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1511     void backgroundAttachment(BSTR v);
1512
1513     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1514     BSTR backgroundAttachment();
1515
1516     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1517     void backgroundPosition(BSTR v);
1518
1519     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1520     BSTR backgroundPosition();
1521
1522     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1523     void backgroundPositionX(VARIANT v);
1524
1525     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1526     VARIANT backgroundPositionX();
1527
1528     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1529     void backgroundPositionY(VARIANT v);
1530
1531     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1532     VARIANT backgroundPositionY();
1533
1534     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1535     void wordSpacing(VARIANT v);
1536
1537     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1538     VARIANT wordSpacing();
1539
1540     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1541     void letterSpacing(VARIANT v);
1542
1543     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1544     VARIANT letterSpacing();
1545
1546     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1547     void textDecoration(BSTR v);
1548
1549     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1550     BSTR textDecoration();
1551
1552     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1553     void textDecorationNone(VARIANT_BOOL v);
1554
1555     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1556     VARIANT_BOOL textDecorationNone();
1557
1558     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1559     void textDecorationUnderline(VARIANT_BOOL v);
1560
1561     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1562     VARIANT_BOOL textDecorationUnderline();
1563
1564     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1565     void textDecorationOverline(VARIANT_BOOL v);
1566
1567     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1568     VARIANT_BOOL textDecorationOverline();
1569
1570     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1571     void textDecorationLineThrough(VARIANT_BOOL v);
1572
1573     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1574     VARIANT_BOOL textDecorationLineThrough();
1575
1576     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1577     void textDecorationBlink(VARIANT_BOOL v);
1578
1579     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1580     VARIANT_BOOL textDecorationBlink();
1581
1582     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1583     void verticalAlign(VARIANT v);
1584
1585     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1586     VARIANT verticalAlign();
1587
1588     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1589     void textTransform(BSTR v);
1590
1591     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1592     BSTR textTransform();
1593
1594     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1595     void textAlign(BSTR v);
1596
1597     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1598     BSTR textAlign();
1599
1600     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1601     void textIndent(VARIANT v);
1602
1603     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1604     VARIANT textIndent();
1605
1606     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1607     void lineHeight(VARIANT v);
1608
1609     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1610     VARIANT lineHeight();
1611
1612     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1613     void marginTop(VARIANT v);
1614
1615     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1616     VARIANT marginTop();
1617
1618     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1619     void marginRight(VARIANT v);
1620
1621     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1622     VARIANT marginRight();
1623
1624     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1625     void marginBottom(VARIANT v);
1626
1627     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1628     VARIANT marginBottom();
1629
1630     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1631     void marginLeft(VARIANT v);
1632
1633     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1634     VARIANT marginLeft();
1635
1636     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1637     void margin(BSTR v);
1638
1639     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1640     BSTR margin();
1641
1642     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1643     void paddingTop(VARIANT v);
1644
1645     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1646     VARIANT paddingTop();
1647
1648     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1649     void paddingRight(VARIANT v);
1650
1651     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1652     VARIANT paddingRight();
1653
1654     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1655     void paddingBottom(VARIANT v);
1656
1657     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1658     VARIANT paddingBottom();
1659
1660     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1661     void paddingLeft(VARIANT v);
1662
1663     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1664     VARIANT paddingLeft();
1665
1666     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1667     void padding(BSTR v);
1668
1669     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1670     BSTR padding();
1671
1672     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1673     void border(BSTR v);
1674
1675     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1676     BSTR border();
1677
1678     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1679     void borderTop(BSTR v);
1680
1681     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1682     BSTR borderTop();
1683
1684     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1685     void borderRight(BSTR v);
1686
1687     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1688     BSTR borderRight();
1689
1690     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1691     void borderBottom(BSTR v);
1692
1693     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1694     BSTR borderBottom();
1695
1696     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1697     void borderLeft(BSTR v);
1698
1699     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1700     BSTR borderLeft();
1701
1702     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1703     void borderColor(BSTR v);
1704
1705     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1706     BSTR borderColor();
1707
1708     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1709     void borderTopColor(VARIANT v);
1710
1711     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1712     VARIANT borderTopColor();
1713
1714     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1715     void borderRightColor(VARIANT v);
1716
1717     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1718     VARIANT borderRightColor();
1719
1720     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1721     void borderBottomColor(VARIANT v);
1722
1723     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1724     VARIANT borderBottomColor();
1725
1726     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1727     void borderLeftColor(VARIANT v);
1728
1729     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1730     VARIANT borderLeftColor();
1731
1732     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1733     void borderWidth(BSTR v);
1734
1735     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1736     BSTR borderWidth();
1737
1738     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1739     void borderTopWidth(VARIANT v);
1740
1741     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1742     VARIANT borderTopWidth();
1743
1744     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1745     void borderRightWidth(VARIANT v);
1746
1747     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1748     VARIANT borderRightWidth();
1749
1750     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1751     void borderBottomWidth(VARIANT v);
1752
1753     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1754     VARIANT borderBottomWidth();
1755
1756     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1757     void borderLeftWidth(VARIANT v);
1758
1759     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1760     VARIANT borderLeftWidth();
1761
1762     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1763     void borderStyle(BSTR v);
1764
1765     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1766     BSTR borderStyle();
1767
1768     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1769     void borderTopStyle(BSTR v);
1770
1771     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1772     BSTR borderTopStyle();
1773
1774     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1775     void borderRightStyle(BSTR v);
1776
1777     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1778     BSTR borderRightStyle();
1779
1780     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1781     void borderBottomStyle(BSTR v);
1782
1783     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1784     BSTR borderBottomStyle();
1785
1786     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1787     void borderLeftStyle(BSTR v);
1788
1789     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1790     BSTR borderLeftStyle();
1791
1792     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1793     void width(VARIANT v);
1794
1795     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1796     VARIANT width();
1797
1798     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1799     void height(VARIANT v);
1800
1801     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1802     VARIANT height();
1803
1804     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1805     void styleFloat(BSTR v);
1806
1807     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1808     BSTR styleFloat();
1809
1810     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1811     void clear(BSTR v);
1812
1813     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1814     BSTR clear();
1815
1816     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1817     void display(BSTR v);
1818
1819     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1820     BSTR display();
1821
1822     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1823     void visibility(BSTR v);
1824
1825     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1826     BSTR visibility();
1827
1828     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1829     void listStyleType(BSTR v);
1830
1831     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1832     BSTR listStyleType();
1833
1834     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1835     void listStylePosition(BSTR v);
1836
1837     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1838     BSTR listStylePosition();
1839
1840     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1841     void listStyleImage(BSTR v);
1842
1843     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1844     BSTR listStyleImage();
1845
1846     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1847     void listStyle(BSTR v);
1848
1849     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1850     BSTR listStyle();
1851
1852     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1853     void whiteSpace(BSTR v);
1854
1855     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1856     BSTR whiteSpace();
1857
1858     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1859     void top(VARIANT v);
1860
1861     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1862     VARIANT top();
1863
1864     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1865     void left(VARIANT v);
1866
1867     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1868     VARIANT left();
1869
1870     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1871     void zIndex(VARIANT v);
1872
1873     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1874     VARIANT zIndex();
1875
1876     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1877     void overflow(BSTR v);
1878
1879     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1880     BSTR overflow();
1881
1882     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1883     void pageBreakBefore(BSTR v);
1884
1885     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1886     BSTR pageBreakBefore();
1887
1888     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1889     void pageBreakAfter(BSTR v);
1890
1891     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1892     BSTR pageBreakAfter();
1893
1894     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1895     void cssText(BSTR v);
1896
1897     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1898     BSTR cssText();
1899
1900     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1901     void pixelTop(LONG v);
1902
1903     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1904     LONG pixelTop();
1905
1906     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1907     void pixelLeft(LONG v);
1908
1909     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1910     LONG pixelLeft();
1911
1912     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1913     void pixelWidth(LONG v);
1914
1915     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1916     LONG pixelWidth();
1917
1918     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1919     void pixelHeight(LONG v);
1920
1921     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1922     LONG pixelHeight();
1923
1924     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1925     void posTop(float v);
1926
1927     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1928     float posTop();
1929
1930     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1931     void posLeft(float v);
1932
1933     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1934     float posLeft();
1935
1936     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1937     void posWidth(float v);
1938
1939     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1940     float posWidth();
1941
1942     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1943     void posHeight(float v);
1944
1945     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1946     float posHeight();
1947
1948     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1949     void cursor(BSTR v);
1950
1951     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1952     BSTR cursor();
1953
1954     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1955     void clip(BSTR v);
1956
1957     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1958     BSTR clip();
1959
1960     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1961     void filter(BSTR v);
1962
1963     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1964     BSTR filter();
1965
1966     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1967     void setAttribute(
1968             [in] BSTR strAttributeName,
1969             [in] VARIANT AttributeValue,
1970             [in, defaultvalue(1)] LONG lFlags);
1971
1972     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1973     VARIANT getAttribute(
1974             [in] BSTR strAttributeName,
1975             [in, defaultvalue(0)] LONG lFlags);
1976
1977     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1978     VARIANT_BOOL removeAttribute(
1979             [in] BSTR strAttributeName,
1980             [in, defaultvalue(1)] LONG lFlags);
1981
1982     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1983     BSTR toString();
1984
1985     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1986     void tableLayout(BSTR v);
1987
1988     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1989     BSTR tableLayout();
1990
1991     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1992     void borderCollapse(BSTR v);
1993
1994     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1995     BSTR borderCollapse();
1996
1997     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1998     void direction(BSTR v);
1999
2000     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
2001     BSTR direction();
2002
2003     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2004     void behavior(BSTR v);
2005
2006     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2007     BSTR behavior();
2008
2009     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
2010     void setExpression(
2011             [in] BSTR propname,
2012             [in] BSTR expression,
2013             [in, defaultvalue("")] BSTR language);
2014
2015     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
2016     VARIANT getExpression([in] BSTR propname);
2017
2018     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
2019     VARIANT_BOOL removeExpression([in] BSTR propname);
2020
2021     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2022     void position(BSTR v);
2023
2024     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2025     BSTR position();
2026
2027     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2028     void unicodeBidi(BSTR v);
2029
2030     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2031     BSTR unicodeBidi();
2032
2033     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2034     void bottom(VARIANT v);
2035
2036     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2037     VARIANT bottom();
2038
2039     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2040     void right(VARIANT v);
2041
2042     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2043     VARIANT right();
2044
2045     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2046     void pixelBottom(LONG v);
2047
2048     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2049     LONG pixelBottom();
2050
2051     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2052     void pixelRight(LONG v);
2053
2054     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2055     LONG pixelRight();
2056
2057     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2058     void posBottom(float v);
2059
2060     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2061     float posBottom();
2062
2063     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2064     void posRight(float v);
2065
2066     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2067     float posRight();
2068
2069     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2070     void imeMode(BSTR v);
2071
2072     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2073     BSTR imeMode();
2074
2075     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2076     void rubyAlign(BSTR v);
2077
2078     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2079     BSTR rubyAlign();
2080
2081     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2082     void rubyPosition(BSTR v);
2083
2084     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2085     BSTR rubyPosition();
2086
2087     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2088     void rubyOverhang(BSTR v);
2089
2090     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2091     BSTR rubyOverhang();
2092
2093     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2094     void layoutGridChar(VARIANT v);
2095
2096     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2097     VARIANT layoutGridChar();
2098
2099     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2100     void layoutGridLine(VARIANT v);
2101
2102     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2103     VARIANT layoutGridLine();
2104
2105     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2106     void layoutGridMode(BSTR v);
2107
2108     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2109     BSTR layoutGridMode();
2110
2111     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2112     void layoutGridType(BSTR v);
2113
2114     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2115     BSTR layoutGridType();
2116
2117     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2118     void layoutGrid(BSTR v);
2119
2120     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2121     BSTR layoutGrid();
2122
2123     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2124     void wordBreak(BSTR v);
2125
2126     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2127     BSTR wordBreak();
2128
2129     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2130     void lineBreak(BSTR v);
2131
2132     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2133     BSTR lineBreak();
2134
2135     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2136     void textJustify(BSTR v);
2137
2138     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2139     BSTR textJustify();
2140
2141     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2142     void textJustifyTrim(BSTR v);
2143
2144     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2145     BSTR textJustifyTrim();
2146
2147     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2148     void textKashida(VARIANT v);
2149
2150     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2151     VARIANT textKashida();
2152
2153     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2154     void textAutospace(BSTR v);
2155
2156     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2157     BSTR textAutospace();
2158
2159     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2160     void overflowX(BSTR v);
2161
2162     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2163     BSTR overflowX();
2164
2165     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2166     void overflowY(BSTR v);
2167
2168     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2169     BSTR overflowY();
2170
2171     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2172     void accelerator(BSTR v);
2173
2174     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2175     BSTR accelerator();
2176
2177     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2178     void layoutFlow(BSTR v);
2179
2180     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2181     BSTR layoutFlow();
2182
2183     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2184     void zoom(VARIANT v);
2185
2186     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2187     VARIANT zoom();
2188
2189     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2190     void wordWrap(BSTR v);
2191
2192     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2193     BSTR wordWrap();
2194
2195     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2196     void textUnderlinePosition(BSTR v);
2197
2198     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2199     BSTR textUnderlinePosition();
2200
2201     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2202     void scrollbarBaseColor(VARIANT v);
2203
2204     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2205     VARIANT scrollbarBaseColor();
2206
2207     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2208     void scrollbarFaceColor(VARIANT v);
2209
2210     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2211     VARIANT scrollbarFaceColor();
2212
2213     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2214     void scrollbar3dLightColor(VARIANT v);
2215
2216     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2217     VARIANT scrollbar3dLightColor();
2218
2219     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2220     void scrollbarShadowColor(VARIANT v);
2221
2222     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2223     VARIANT scrollbarShadowColor();
2224
2225     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2226     void scrollbarHighlightColor(VARIANT v);
2227
2228     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2229     VARIANT scrollbarHighlightColor();
2230
2231     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2232     void scrollbarDarkShadowColor(VARIANT v);
2233
2234     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2235     VARIANT scrollbarDarkShadowColor();
2236
2237     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2238     void scrollbarArrowColor(VARIANT v);
2239
2240     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2241     VARIANT scrollbarArrowColor();
2242
2243     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2244     void scrollbarTrackColor(VARIANT v);
2245
2246     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2247     VARIANT scrollbarTrackColor();
2248
2249     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2250     void writingMode(BSTR v);
2251
2252     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2253     BSTR writingMode();
2254
2255     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2256     void textAlignLast(BSTR v);
2257
2258     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2259     BSTR textAlignLast();
2260
2261     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2262     void textKashidaSpace(VARIANT v);
2263
2264     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2265     VARIANT textKashidaSpace();
2266
2267     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2268     void textOverflow(BSTR v);
2269
2270     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2271     BSTR textOverflow();
2272
2273     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2274     void minHeight(VARIANT v);
2275
2276     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2277     VARIANT minHeight();
2278
2279     [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2280     void msInterpolationMode(BSTR v);
2281
2282     [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2283     BSTR msInterpolationMode();
2284
2285     [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2286     void maxHeight(VARIANT v);
2287
2288     [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2289     VARIANT maxHeight();
2290
2291     [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2292     void minWidth(VARIANT v);
2293
2294     [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2295     VARIANT minWidth();
2296
2297     [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2298     void maxWidth(VARIANT v);
2299
2300     [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2301     VARIANT maxWidth();
2302
2303     [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2304     void content(BSTR v);
2305
2306     [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2307     BSTR content();
2308
2309     [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2310     void captionSide(BSTR v);
2311
2312     [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2313     BSTR captionSide();
2314
2315     [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2316     void counterIncrement(BSTR v);
2317
2318     [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2319     BSTR counterIncrement();
2320
2321     [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2322     void counterReset(BSTR v);
2323
2324     [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2325     BSTR counterReset();
2326
2327     [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2328     void outline(BSTR v);
2329
2330     [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2331     BSTR outline();
2332
2333     [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2334     void outlineWidth(VARIANT v);
2335
2336     [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2337     VARIANT outlineWidth();
2338
2339     [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2340     void outlineStyle(BSTR v);
2341
2342     [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2343     BSTR outlineStyle();
2344
2345     [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2346     void outlineColor(VARIANT v);
2347
2348     [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2349     VARIANT outlineColor();
2350
2351     [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2352     void boxSizing(BSTR v);
2353
2354     [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2355     BSTR boxSizing();
2356
2357     [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2358     void borderSpacing(BSTR v);
2359
2360     [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2361     BSTR borderSpacing();
2362
2363     [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2364     void orphans(VARIANT v);
2365
2366     [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2367     VARIANT orphans();
2368
2369     [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2370     void widows(VARIANT v);
2371
2372     [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2373     VARIANT widows();
2374
2375     [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2376     void pageBreakInside(BSTR v);
2377
2378     [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2379     BSTR pageBreakInside();
2380
2381     [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2382     void emptyCells(BSTR v);
2383
2384     [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2385     BSTR emptyCells();
2386
2387     [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2388     void msBlockProgression(BSTR v);
2389
2390     [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2391     BSTR msBlockProgression();
2392
2393     [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2394     void quotes(BSTR v);
2395
2396     [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2397     BSTR quotes();
2398
2399     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
2400     IDispatch *constructor();
2401 }
2402
2403 [
2404     odl,
2405     oleautomation,
2406     dual,
2407     uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2408 ]
2409 interface IHTMLStyle3 : IDispatch
2410 {
2411     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2412     HRESULT layoutFlow([in] BSTR v);
2413
2414     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2415     HRESULT layoutFlow([retval, out] BSTR * p);
2416
2417     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2418     HRESULT zoom([in] VARIANT v);
2419
2420     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2421     HRESULT zoom([retval, out] VARIANT * p);
2422
2423     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2424     HRESULT wordWrap([in] BSTR v);
2425
2426     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2427     HRESULT wordWrap([retval, out] BSTR * p);
2428
2429     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2430     HRESULT textUnderlinePosition([in] BSTR v);
2431
2432     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2433     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2434
2435     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2436     HRESULT scrollbarBaseColor([in] VARIANT v);
2437
2438     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2439     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2440
2441     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2442     HRESULT scrollbarFaceColor([in] VARIANT v);
2443
2444     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2445     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2446
2447     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2448     HRESULT scrollbar3dLightColor([in] VARIANT v);
2449
2450     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2451     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2452
2453     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2454     HRESULT scrollbarShadowColor([in] VARIANT v);
2455
2456     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2457     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2458
2459     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2460     HRESULT scrollbarHighlightColor([in] VARIANT v);
2461
2462     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2463     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2464
2465     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2466     HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2467
2468     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2469     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2470
2471     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2472     HRESULT scrollbarArrowColor([in] VARIANT v);
2473
2474     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2475     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2476
2477     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2478     HRESULT scrollbarTrackColor([in] VARIANT v);
2479
2480     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2481     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2482
2483     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2484     HRESULT writingMode([in] BSTR v);
2485
2486     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2487     HRESULT writingMode([retval, out] BSTR * p);
2488
2489     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2490     HRESULT textAlignLast([in] BSTR v);
2491
2492     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2493     HRESULT textAlignLast([retval, out] BSTR * p);
2494
2495     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2496     HRESULT textKashidaSpace([in] VARIANT v);
2497
2498     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2499     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2500 }
2501
2502 /*****************************************************************************
2503  *    IHTMLSytyle4 interface
2504  */
2505 [
2506     odl,
2507     oleautomation,
2508     dual,
2509     uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2510 ]
2511 interface IHTMLStyle4 : IDispatch
2512 {
2513     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2514     HRESULT textOverflow([in] BSTR v);
2515
2516     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2517     HRESULT textOverflow([retval, out] BSTR * p);
2518
2519     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2520     HRESULT minHeight([in] VARIANT v);
2521
2522     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2523     HRESULT minHeight([retval, out] VARIANT * p);
2524 }
2525
2526 /*****************************************************************************
2527  *    IHTMLSytyle5 interface
2528  */
2529 [
2530     odl,
2531     oleautomation,
2532     dual,
2533     uuid(3050f33a-98b5-11cf-bb82-00aa00bdce0b)
2534 ]
2535 interface IHTMLStyle5 : IDispatch
2536 {
2537     [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2538     HRESULT msInterpolationMode([in] BSTR v);
2539
2540     [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2541     HRESULT msInterpolationMode([out, retval] BSTR *p);
2542
2543     [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2544     HRESULT maxHeight([in] VARIANT v);
2545
2546     [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2547     HRESULT maxHeight([out, retval] VARIANT *p);
2548
2549     [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2550     HRESULT minWidth([in] VARIANT v);
2551
2552     [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2553     HRESULT minWidth([out, retval] VARIANT *p);
2554
2555     [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2556     HRESULT maxWidth([in] VARIANT v);
2557
2558     [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2559     HRESULT maxWidth([out, retval] VARIANT *p);
2560 }
2561
2562 /*****************************************************************************
2563  *    IHTMLSytyle6 interface
2564  */
2565 [
2566     odl,
2567     oleautomation,
2568     dual,
2569     uuid(30510480-98b5-11cf-bb82-00aa00bdce0b)
2570 ]
2571 interface IHTMLStyle6 : IDispatch
2572 {
2573     [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2574     HRESULT content([in] BSTR v);
2575
2576     [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2577     HRESULT content([out, retval] BSTR *p);
2578
2579     [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2580     HRESULT captionSide([in] BSTR v);
2581
2582     [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2583     HRESULT captionSide([retval, out] BSTR *p);
2584
2585     [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2586     HRESULT counterIncrement([in] BSTR v);
2587
2588     [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2589     HRESULT counterIncrement([out, retval] BSTR *p);
2590
2591     [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2592     HRESULT counterReset([in] BSTR v);
2593
2594     [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2595     HRESULT counterReset([out, retval] BSTR *p);
2596
2597     [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2598     HRESULT outline([in] BSTR v);
2599
2600     [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2601     HRESULT outline([out, retval] BSTR *p);
2602
2603     [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2604     HRESULT outlineWidth([in] VARIANT v);
2605
2606     [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2607     HRESULT outlineWidth([out, retval] VARIANT *p);
2608
2609     [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2610     HRESULT outlineStyle([in] BSTR v);
2611
2612     [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2613     HRESULT outlineStyle([out, retval] BSTR *p);
2614
2615     [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2616     HRESULT outlineColor([in] VARIANT v);
2617
2618     [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2619     HRESULT outlineColor([out, retval] VARIANT *p);
2620
2621     [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2622     HRESULT boxSizing([in] BSTR v);
2623
2624     [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2625     HRESULT boxSizing([out, retval] BSTR *p);
2626
2627     [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2628     HRESULT borderSpacing([in] BSTR v);
2629
2630     [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2631     HRESULT borderSpacing([out, retval] BSTR *p);
2632
2633     [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2634     HRESULT orphans([in] VARIANT v);
2635
2636     [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2637     HRESULT orphans([out, retval] VARIANT *p);
2638
2639     [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2640     HRESULT widows([in] VARIANT v);
2641
2642     [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2643     HRESULT widows([out, retval] VARIANT *p);
2644
2645     [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2646     HRESULT pageBreakInside([in] BSTR v);
2647
2648     [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2649     HRESULT pageBreakInside([out, retval] BSTR *p);
2650
2651     [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2652     HRESULT emptyCells([in] BSTR v);
2653
2654     [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2655     HRESULT emptyCells([out, retval] BSTR *p);
2656
2657     [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2658     HRESULT msBlockProgression([in] BSTR v);
2659
2660     [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2661     HRESULT msBlockProgression([out, retval] BSTR *p);
2662
2663     [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2664     HRESULT quotes([in] BSTR v);
2665
2666     [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2667     HRESULT quotes([out, retval] BSTR *p);
2668 }
2669
2670 [
2671     noncreatable,
2672     uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2673 ]
2674 coclass HTMLStyle
2675 {
2676     [default] dispinterface DispHTMLStyle;
2677     interface IHTMLStyle;
2678     interface IHTMLStyle2;
2679     interface IHTMLStyle3;
2680     interface IHTMLStyle4;
2681     interface IHTMLStyle5;
2682     interface IHTMLStyle6;
2683 }
2684
2685 /*****************************************************************************
2686  *    IHTMLRenderStyle interface
2687  */
2688 [
2689     odl,
2690     oleautomation,
2691     dual,
2692     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2693 ]
2694 interface IHTMLRenderStyle : IDispatch
2695 {
2696     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2697     HRESULT textLineThroughStyle([in] BSTR v);
2698
2699     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2700     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2701
2702     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2703     HRESULT textUnderlineStyle([in] BSTR v);
2704
2705     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2706     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2707
2708     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2709     HRESULT textEffect([in] BSTR v);
2710
2711     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2712     HRESULT textEffect([retval, out] BSTR *p);
2713
2714     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2715     HRESULT textColor([in] VARIANT v);
2716
2717     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2718     HRESULT textColor([retval, out] VARIANT *p);
2719
2720     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2721     HRESULT textBackgroundColor([in] VARIANT v);
2722
2723     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2724     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2725
2726     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2727     HRESULT textDecorationColor([in] VARIANT v);
2728
2729     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2730     HRESULT textDecorationColor([retval, out] VARIANT *p);
2731
2732     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2733     HRESULT renderingPriority([in] LONG v);
2734
2735     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2736     HRESULT renderingPriority([retval, out] LONG *p);
2737
2738     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2739     HRESULT defaultTextSelection([in] BSTR v);
2740
2741     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2742     HRESULT defaultTextSelection([retval, out] BSTR *p);
2743
2744     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2745     HRESULT textDecoration([in] BSTR v);
2746
2747     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2748     HRESULT textDecoration([retval, out] BSTR *p);
2749 }
2750
2751 /*****************************************************************************
2752  *    IHTMLCurrentStyle interface
2753  */
2754 [
2755     odl,
2756     oleautomation,
2757     dual,
2758     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2759 ]
2760 interface IHTMLCurrentStyle : IDispatch
2761 {
2762     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2763     HRESULT position([retval, out] BSTR *p);
2764
2765     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2766     HRESULT styleFloat([retval, out] BSTR *p);
2767
2768     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2769     HRESULT color([retval, out] VARIANT *p);
2770
2771     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2772     HRESULT backgroundColor([retval, out] VARIANT *p);
2773
2774     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2775     HRESULT fontFamily([retval, out] BSTR *p);
2776
2777     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2778     HRESULT fontStyle([retval, out] BSTR *p);
2779
2780     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2781     HRESULT fontVariant([retval, out] BSTR *p);
2782
2783     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2784     HRESULT fontWeight([retval, out] VARIANT *p);
2785
2786     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2787     HRESULT fontSize([retval, out] VARIANT *p);
2788
2789     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2790     HRESULT backgroundImage([retval, out] BSTR *p);
2791
2792     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2793     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2794
2795     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2796     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2797
2798     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2799     HRESULT backgroundRepeat([retval, out] BSTR *p);
2800
2801     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2802     HRESULT borderLeftColor([retval, out] VARIANT *p);
2803
2804     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2805     HRESULT borderTopColor([retval, out] VARIANT *p);
2806
2807     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2808     HRESULT borderRightColor([retval, out] VARIANT *p);
2809
2810     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2811     HRESULT borderBottomColor([retval, out] VARIANT *p);
2812
2813     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2814     HRESULT borderTopStyle([retval, out] BSTR *p);
2815
2816     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2817     HRESULT borderRightStyle([retval, out] BSTR *p);
2818
2819     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2820     HRESULT borderBottomStyle([retval, out] BSTR *p);
2821
2822     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2823     HRESULT borderLeftStyle([retval, out] BSTR *p);
2824
2825     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2826     HRESULT borderTopWidth([retval, out] VARIANT *p);
2827
2828     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2829     HRESULT borderRightWidth([retval, out] VARIANT *p);
2830
2831     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2832     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2833
2834     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2835     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2836
2837     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2838     HRESULT left([retval, out] VARIANT *p);
2839
2840     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2841     HRESULT top([retval, out] VARIANT *p);
2842
2843     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2844     HRESULT width([retval, out] VARIANT *p);
2845
2846     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2847     HRESULT height([retval, out] VARIANT *p);
2848
2849     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2850     HRESULT paddingLeft([retval, out] VARIANT *p);
2851
2852     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2853     HRESULT paddingTop([retval, out] VARIANT *p);
2854
2855     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2856     HRESULT paddingRight([retval, out] VARIANT *p);
2857
2858     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2859     HRESULT paddingBottom([retval, out] VARIANT *p);
2860
2861     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2862     HRESULT textAlign([retval, out] BSTR *p);
2863
2864     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2865     HRESULT textDecoration([retval, out] BSTR *p);
2866
2867     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2868     HRESULT display([retval, out] BSTR *p);
2869
2870     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2871     HRESULT visibility([retval, out] BSTR *p);
2872
2873     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2874     HRESULT zIndex([retval, out] VARIANT *p);
2875
2876     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2877     HRESULT letterSpacing([retval, out] VARIANT *p);
2878
2879     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2880     HRESULT lineHeight([retval, out] VARIANT *p);
2881
2882     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2883     HRESULT textIndent([retval, out] VARIANT *p);
2884
2885     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2886     HRESULT verticalAlign([retval, out] VARIANT *p);
2887
2888     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2889     HRESULT backgroundAttachment([retval, out] BSTR *p);
2890
2891     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2892     HRESULT marginTop([retval, out] VARIANT *p);
2893
2894     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2895     HRESULT marginRight([retval, out] VARIANT *p);
2896
2897     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2898     HRESULT marginBottom([retval, out] VARIANT *p);
2899
2900     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2901     HRESULT marginLeft([retval, out] VARIANT *p);
2902
2903     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2904     HRESULT clear([retval, out] BSTR *p);
2905
2906     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2907     HRESULT listStyleType([retval, out] BSTR *p);
2908
2909     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2910     HRESULT listStylePosition([retval, out] BSTR *p);
2911
2912     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2913     HRESULT listStyleImage([retval, out] BSTR *p);
2914
2915     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2916     HRESULT clipTop([retval, out] VARIANT *p);
2917
2918     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2919     HRESULT clipRight([retval, out] VARIANT *p);
2920
2921     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2922     HRESULT clipBottom([retval, out] VARIANT *p);
2923
2924     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2925     HRESULT clipLeft([retval, out] VARIANT *p);
2926
2927     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2928     HRESULT overflow([retval, out] BSTR *p);
2929
2930     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2931     HRESULT pageBreakBefore([retval, out] BSTR *p);
2932
2933     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2934     HRESULT pageBreakAfter([retval, out] BSTR *p);
2935
2936     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2937     HRESULT cursor([retval, out] BSTR *p);
2938
2939     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2940     HRESULT tableLayout([retval, out] BSTR *p);
2941
2942     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2943     HRESULT borderCollapse([retval, out] BSTR *p);
2944
2945     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2946     HRESULT direction([retval, out] BSTR *p);
2947
2948     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2949     HRESULT behavior([retval, out] BSTR *p);
2950
2951     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2952     HRESULT getAttribute(
2953         [in] BSTR strAttributeName,
2954         [defaultvalue(0), in] LONG lFlags,
2955         [retval, out] VARIANT *AttributeValue);
2956
2957     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2958     HRESULT unicodeBidi([retval, out] BSTR *p);
2959
2960     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2961     HRESULT right([retval, out] VARIANT *p);
2962
2963     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2964     HRESULT bottom([retval, out] VARIANT *p);
2965
2966     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2967     HRESULT imeMode([retval, out] BSTR *p);
2968
2969     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2970     HRESULT rubyAlign([retval, out] BSTR *p);
2971
2972     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2973     HRESULT rubyPosition([retval, out] BSTR *p);
2974
2975     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2976     HRESULT rubyOverhang([retval, out] BSTR *p);
2977
2978     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2979     HRESULT textAutospace([retval, out] BSTR *p);
2980
2981     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2982     HRESULT lineBreak([retval, out] BSTR *p);
2983
2984     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2985     HRESULT wordBreak([retval, out] BSTR *p);
2986
2987     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2988     HRESULT textJustify([retval, out] BSTR *p);
2989
2990     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2991     HRESULT textJustifyTrim([retval, out] BSTR *p);
2992
2993     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2994     HRESULT textKashida([retval, out] VARIANT *p);
2995
2996     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2997     HRESULT blockDirection([retval, out] BSTR *p);
2998
2999     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3000     HRESULT layoutGridChar([retval, out] VARIANT *p);
3001
3002     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3003     HRESULT layoutGridLine([retval, out] VARIANT *p);
3004
3005     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3006     HRESULT layoutGridMode([retval, out] BSTR *p);
3007
3008     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3009     HRESULT layoutGridType([retval, out] BSTR *p);
3010
3011     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3012     HRESULT borderStyle([retval, out] BSTR *p);
3013
3014     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3015     HRESULT borderColor([retval, out] BSTR *p);
3016
3017     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3018     HRESULT borderWidth([retval, out] BSTR *p);
3019
3020     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3021     HRESULT padding([retval, out] BSTR *p);
3022
3023     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3024     HRESULT margin([retval, out] BSTR *p);
3025
3026     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3027     HRESULT accelerator([retval, out] BSTR *p);
3028
3029     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3030     HRESULT overflowX([retval, out] BSTR *p);
3031
3032     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3033     HRESULT overflowY([retval, out] BSTR *p);
3034
3035     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3036     HRESULT textTransform([retval, out] BSTR *p);
3037 }
3038
3039 /*****************************************************************************
3040  *    IHTMLCurrentStyle2 interface
3041  */
3042 [
3043     odl,
3044     oleautomation,
3045     dual,
3046     uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
3047 ]
3048 interface IHTMLCurrentStyle2 : IDispatch
3049 {
3050     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3051     HRESULT layoutFlow([retval, out] BSTR * p);
3052
3053     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3054     HRESULT wordWrap([retval, out] BSTR * p);
3055
3056     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3057     HRESULT textUnderlinePosition([retval, out] BSTR * p);
3058
3059     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3060     HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
3061
3062     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3063     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
3064
3065     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3066     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
3067
3068     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3069     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
3070
3071     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3072     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
3073
3074     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3075     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
3076
3077     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3078     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
3079
3080     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3081     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
3082
3083     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3084     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
3085
3086     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3087     HRESULT writingMode([retval, out] BSTR * p);
3088
3089     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3090     HRESULT zoom([retval, out] VARIANT * p);
3091
3092     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3093     HRESULT filter([retval, out] BSTR * p);
3094
3095     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3096     HRESULT textAlignLast([retval, out] BSTR * p);
3097
3098     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3099     HRESULT textKashidaSpace([retval, out] VARIANT * p);
3100
3101     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3102     HRESULT isBlock([retval, out] VARIANT_BOOL * p);
3103 }
3104
3105 /*****************************************************************************
3106  *    IHTMLCurrentStyle3 interface
3107  */
3108 [
3109     odl,
3110     oleautomation,
3111     dual,
3112     uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
3113 ]
3114 interface IHTMLCurrentStyle3 : IDispatch
3115 {
3116     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3117     HRESULT textOverflow([retval, out] BSTR * p);
3118
3119     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3120     HRESULT minHeight([retval, out] VARIANT * p);
3121
3122     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3123     HRESULT wordSpacing([retval, out] VARIANT * p);
3124
3125     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3126     HRESULT whiteSpace([retval, out] BSTR * p);
3127 }
3128
3129 /*****************************************************************************
3130  *    IHTMLCurrentStyle4 interface
3131  */
3132 [
3133     odl,
3134     oleautomation,
3135     dual,
3136     uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
3137 ]
3138 interface IHTMLCurrentStyle4 : IDispatch
3139 {
3140     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3141     HRESULT msInterpolationMode([retval, out] BSTR * p);
3142
3143     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3144     HRESULT maxHeight([retval, out] VARIANT * p);
3145
3146     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3147     HRESULT minWidth([retval, out] VARIANT * p);
3148
3149     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3150     HRESULT maxWidth([retval, out] VARIANT * p);
3151 }
3152
3153 /*****************************************************************************
3154  *    DispHTMLCurrentStyle dispinterface
3155  */
3156 [
3157     hidden,
3158     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
3159 ]
3160 dispinterface DispHTMLCurrentStyle
3161 {
3162 properties:
3163 methods:
3164     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
3165     BSTR position();
3166
3167     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
3168     BSTR styleFloat();
3169
3170     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
3171     VARIANT color();
3172
3173     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
3174     VARIANT backgroundColor();
3175
3176     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
3177     BSTR fontFamily();
3178
3179     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
3180     BSTR fontStyle();
3181
3182     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
3183     BSTR fontVariant();
3184
3185     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
3186     VARIANT fontWeight();
3187
3188     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
3189     VARIANT fontSize();
3190
3191     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
3192     BSTR backgroundImage();
3193
3194     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
3195     VARIANT backgroundPositionX();
3196
3197     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
3198     VARIANT backgroundPositionY();
3199
3200     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
3201     BSTR backgroundRepeat();
3202
3203     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
3204     VARIANT borderLeftColor();
3205
3206     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
3207     VARIANT borderTopColor();
3208
3209     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
3210     VARIANT borderRightColor();
3211
3212     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
3213     VARIANT borderBottomColor();
3214
3215     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
3216     BSTR borderTopStyle();
3217
3218     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
3219     BSTR borderRightStyle();
3220
3221     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
3222     BSTR borderBottomStyle();
3223
3224     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
3225     BSTR borderLeftStyle();
3226
3227     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
3228     VARIANT borderTopWidth();
3229
3230     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
3231     VARIANT borderRightWidth();
3232
3233     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
3234     VARIANT borderBottomWidth();
3235
3236     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
3237     VARIANT borderLeftWidth();
3238
3239     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
3240     VARIANT left();
3241
3242     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
3243     VARIANT top();
3244
3245     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
3246     VARIANT width();
3247
3248     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
3249     VARIANT height();
3250
3251     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
3252     VARIANT paddingLeft();
3253
3254     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
3255     VARIANT paddingTop();
3256
3257     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
3258     VARIANT paddingRight();
3259
3260     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
3261     VARIANT paddingBottom();
3262
3263     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
3264     BSTR textAlign();
3265
3266     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
3267     BSTR textDecoration();
3268
3269     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
3270     BSTR display();
3271
3272     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
3273     BSTR visibility();
3274
3275     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
3276     VARIANT zIndex();
3277
3278     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
3279     VARIANT letterSpacing();
3280
3281     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
3282     VARIANT lineHeight();
3283
3284     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
3285     VARIANT textIndent();
3286
3287     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
3288     VARIANT verticalAlign();
3289
3290     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
3291     BSTR backgroundAttachment();
3292
3293     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
3294     VARIANT marginTop();
3295
3296     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3297     VARIANT marginRight();
3298
3299     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3300     VARIANT marginBottom();
3301
3302     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3303     VARIANT marginLeft();
3304
3305     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3306     BSTR clear();
3307
3308     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3309     BSTR listStyleType();
3310
3311     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3312     BSTR listStylePosition();
3313
3314     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3315     BSTR listStyleImage();
3316
3317     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3318     VARIANT clipTop();
3319
3320     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3321     VARIANT clipRight();
3322
3323     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3324     VARIANT clipBottom();
3325
3326     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3327     VARIANT clipLeft();
3328
3329     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3330     BSTR overflow();
3331
3332     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3333     BSTR pageBreakBefore();
3334
3335     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3336     BSTR pageBreakAfter();
3337
3338     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3339     BSTR cursor();
3340
3341     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3342     BSTR tableLayout();
3343
3344     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3345     BSTR borderCollapse();
3346
3347     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3348     BSTR direction();
3349
3350     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3351     BSTR behavior();
3352
3353     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3354     VARIANT getAttribute(
3355             [in] BSTR strAttributeName,
3356             [in, defaultvalue(0)] LONG lFlags);
3357
3358     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3359     BSTR unicodeBidi();
3360
3361     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3362     VARIANT right();
3363
3364     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3365     VARIANT bottom();
3366
3367     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3368     BSTR imeMode();
3369
3370     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3371     BSTR rubyAlign();
3372
3373     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3374     BSTR rubyPosition();
3375
3376     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3377     BSTR rubyOverhang();
3378
3379     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3380     BSTR textAutospace();
3381
3382     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3383     BSTR lineBreak();
3384
3385     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3386     BSTR wordBreak();
3387
3388     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3389     BSTR textJustify();
3390
3391     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3392     BSTR textJustifyTrim();
3393
3394     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3395     VARIANT textKashida();
3396
3397     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3398     BSTR blockDirection();
3399
3400     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3401     VARIANT layoutGridChar();
3402
3403     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3404     VARIANT layoutGridLine();
3405
3406     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3407     BSTR layoutGridMode();
3408
3409     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3410     BSTR layoutGridType();
3411
3412     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3413     BSTR borderStyle();
3414
3415     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3416     BSTR borderColor();
3417
3418     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3419     BSTR borderWidth();
3420
3421     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3422     BSTR padding();
3423
3424     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3425     BSTR margin();
3426
3427     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3428     BSTR accelerator();
3429
3430     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3431     BSTR overflowX();
3432
3433     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3434     BSTR overflowY();
3435
3436     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3437     BSTR textTransform();
3438
3439     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3440     BSTR layoutFlow();
3441
3442     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3443     BSTR wordWrap();
3444
3445     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3446     BSTR textUnderlinePosition();
3447
3448     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3449     VARIANT_BOOL hasLayout();
3450
3451     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3452     VARIANT scrollbarBaseColor();
3453
3454     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3455     VARIANT scrollbarFaceColor();
3456
3457     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3458     VARIANT scrollbar3dLightColor();
3459
3460     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3461     VARIANT scrollbarShadowColor();
3462
3463     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3464     VARIANT scrollbarHighlightColor();
3465
3466     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3467     VARIANT scrollbarDarkShadowColor();
3468
3469     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3470     VARIANT scrollbarArrowColor();
3471
3472     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3473     VARIANT scrollbarTrackColor();
3474
3475     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3476     BSTR writingMode();
3477
3478     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3479     VARIANT zoom();
3480
3481     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3482     BSTR filter();
3483
3484     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3485     BSTR textAlignLast();
3486
3487     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3488     VARIANT textKashidaSpace();
3489
3490     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3491     VARIANT_BOOL isBlock();
3492
3493     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3494     BSTR textOverflow();
3495
3496     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3497     VARIANT minHeight();
3498
3499     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3500     VARIANT wordSpacing();
3501
3502     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3503     BSTR whiteSpace();
3504
3505     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3506     BSTR msInterpolationMode();
3507
3508     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3509     VARIANT maxHeight();
3510
3511     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3512     VARIANT minWidth();
3513
3514     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3515     VARIANT maxWidth();
3516 }
3517
3518 [
3519     noncreatable,
3520     uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3521 ]
3522 coclass HTMLCurrentStyle
3523 {
3524     [default] dispinterface DispHTMLCurrentStyle;
3525     interface IHTMLCurrentStyle;
3526     interface IHTMLCurrentStyle2;
3527     interface IHTMLCurrentStyle3;
3528     interface IHTMLCurrentStyle4;
3529 }
3530
3531 /*****************************************************************************
3532  *    IHTMLRect interface
3533  */
3534 [
3535     odl,
3536     oleautomation,
3537     dual,
3538     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3539 ]
3540 interface IHTMLRect : IDispatch
3541 {
3542     [propput, id(DISPID_IHTMLRECT_LEFT)]
3543     HRESULT left([in] LONG v);
3544
3545     [propget, id(DISPID_IHTMLRECT_LEFT)]
3546     HRESULT left([retval, out] LONG *p);
3547
3548     [propput, id(DISPID_IHTMLRECT_TOP)]
3549     HRESULT top([in] LONG v);
3550
3551     [propget, id(DISPID_IHTMLRECT_TOP)]
3552     HRESULT top([retval, out] LONG *p);
3553
3554     [propput, id(DISPID_IHTMLRECT_RIGHT)]
3555     HRESULT right([in] LONG v);
3556
3557     [propget, id(DISPID_IHTMLRECT_RIGHT)]
3558     HRESULT right([retval, out] LONG *p);
3559
3560     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3561     HRESULT bottom([in] LONG v);
3562
3563     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3564     HRESULT bottom([retval, out] LONG *p);
3565 }
3566
3567 /*****************************************************************************
3568  *    IHTMLRectCollection interface
3569  */
3570 [
3571     odl,
3572     oleautomation,
3573     dual,
3574     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3575 ]
3576 interface IHTMLRectCollection : IDispatch
3577 {
3578     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3579     HRESULT length([retval, out] LONG *p);
3580
3581     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3582     HRESULT _newEnum([retval, out] IUnknown **p);
3583
3584     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3585     HRESULT item(
3586         [in] VARIANT *pvarIndex,
3587         [retval, out] VARIANT *pvarResult);
3588 }
3589
3590 /*****************************************************************************
3591  *    IHTMLDOMNode interface
3592  */
3593 [
3594     odl,
3595     oleautomation,
3596     dual,
3597     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3598 ]
3599 interface IHTMLDOMNode : IDispatch
3600 {
3601     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3602     HRESULT nodeType([retval, out] LONG *p);
3603
3604     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3605     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3606
3607     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3608     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3609
3610     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3611     HRESULT childNodes([retval, out] IDispatch **p);
3612
3613     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3614     HRESULT attributes([retval, out] IDispatch **p);
3615
3616     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3617     HRESULT insertBefore(
3618         [in] IHTMLDOMNode *newChild,
3619         [optional, in] VARIANT refChild,
3620         [retval, out] IHTMLDOMNode **node);
3621
3622     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3623     HRESULT removeChild(
3624         [in] IHTMLDOMNode *oldChild,
3625         [retval, out] IHTMLDOMNode **node);
3626
3627     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3628     HRESULT replaceChild(
3629         [in] IHTMLDOMNode *newChild,
3630         [in] IHTMLDOMNode *oldChild,
3631         [retval, out] IHTMLDOMNode **node);
3632
3633     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3634     HRESULT cloneNode(
3635         [in] VARIANT_BOOL fDeep,
3636         [retval, out] IHTMLDOMNode **clonedNode);
3637
3638     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3639     HRESULT removeNode(
3640         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3641         [retval, out] IHTMLDOMNode **removed);
3642
3643     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3644     HRESULT swapNode(
3645         [in] IHTMLDOMNode *otherNode,
3646         [retval, out] IHTMLDOMNode **swappedNode);
3647
3648     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3649     HRESULT replaceNode(
3650         [in] IHTMLDOMNode *replacement,
3651         [retval, out] IHTMLDOMNode **replaced);
3652
3653     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3654     HRESULT appendChild(
3655         [in] IHTMLDOMNode *newChild,
3656         [retval, out] IHTMLDOMNode **node);
3657
3658     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3659     HRESULT nodeName([retval, out] BSTR *p);
3660
3661     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3662     HRESULT nodeValue([in] VARIANT v);
3663
3664     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3665     HRESULT nodeValue([retval, out] VARIANT *p);
3666
3667     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3668     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3669
3670     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3671     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3672
3673     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3674     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3675
3676     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3677     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3678 }
3679
3680 #define WINE_IHTMLDOMNODE_DISPINTERFACE_DECL                            \
3681     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]                         \
3682     LONG nodeType();                                                    \
3683                                                                         \
3684     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]                       \
3685     IHTMLDOMNode* parentNode();                                         \
3686                                                                         \
3687     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]                             \
3688     VARIANT_BOOL hasChildNodes();                                       \
3689                                                                         \
3690     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]                       \
3691     IDispatch* childNodes();                                            \
3692                                                                         \
3693     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]                       \
3694     IDispatch* attributes();                                            \
3695                                                                         \
3696     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]                              \
3697     IHTMLDOMNode* insertBefore(                                         \
3698             [in] IHTMLDOMNode* newChild,                                \
3699             [optional, in] VARIANT refChild);                           \
3700                                                                         \
3701     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]                               \
3702     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);             \
3703                                                                         \
3704     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]                              \
3705     IHTMLDOMNode* replaceChild(                                         \
3706         [in] IHTMLDOMNode* newChild,                                    \
3707         [in] IHTMLDOMNode* oldChild);                                   \
3708                                                                         \
3709     [id(DISPID_IHTMLDOMNODE_CLONENODE)]                                 \
3710     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);                   \
3711                                                                         \
3712     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]                                \
3713     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep); \
3714                                                                         \
3715     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]                                  \
3716     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);               \
3717                                                                         \
3718     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]                               \
3719     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);          \
3720                                                                         \
3721     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]                               \
3722     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);             \
3723                                                                         \
3724     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]                         \
3725     BSTR nodeName();                                                    \
3726                                                                         \
3727     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3728     void nodeValue(VARIANT v);                                          \
3729                                                                         \
3730     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3731     VARIANT nodeValue();                                                \
3732                                                                         \
3733     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]                       \
3734     IHTMLDOMNode* firstChild();                                         \
3735                                                                         \
3736     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]                        \
3737     IHTMLDOMNode* lastChild();                                          \
3738                                                                         \
3739     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]                  \
3740     IHTMLDOMNode* previousSibling();                                    \
3741                                                                         \
3742     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]                      \
3743     IHTMLDOMNode* nextSibling()
3744
3745 /*****************************************************************************
3746  *    IHTMLDOMNode2 interface
3747  */
3748 [
3749     odl,
3750     oleautomation,
3751     dual,
3752     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3753 ]
3754 interface IHTMLDOMNode2 : IDispatch
3755 {
3756     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3757     HRESULT ownerDocument([retval, out] IDispatch **p);
3758 }
3759
3760 #define WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL           \
3761     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]   \
3762     IDispatch *ownerDocument()
3763
3764 #define WINE_HTMLDOMNODE_DISPINTERFACE_DECL     \
3765     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;       \
3766     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL
3767
3768 /*****************************************************************************
3769  *    IHTMLDOMAttribute interface
3770  */
3771 [
3772     odl,
3773     oleautomation,
3774     dual,
3775     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3776 ]
3777 interface IHTMLDOMAttribute : IDispatch
3778 {
3779     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3780     HRESULT nodeName([retval, out] BSTR *p);
3781
3782     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3783     HRESULT nodeValue([in] VARIANT v);
3784
3785     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3786     HRESULT nodeValue([retval, out] VARIANT *p);
3787
3788     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3789     HRESULT specified([retval, out] VARIANT_BOOL *p);
3790 }
3791
3792 /*****************************************************************************
3793  *    IHTMLDOMAttribute2 interface
3794  */
3795 [
3796     odl,
3797     oleautomation,
3798     dual,
3799     uuid(3050f810-98b5-11cf-bb82-00aa00bdce0b)
3800 ]
3801 interface IHTMLDOMAttribute2 : IDispatch
3802 {
3803     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3804     HRESULT name([retval, out] BSTR *p);
3805
3806     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3807     HRESULT value([in] BSTR v);
3808
3809     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3810     HRESULT value([retval, out] BSTR *p);
3811
3812     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3813     HRESULT expando([retval, out] VARIANT_BOOL *p);
3814
3815     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3816     HRESULT nodeType([retval, out] long *p);
3817
3818     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3819     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3820
3821     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
3822     HRESULT childNodes([retval, out] IDispatch **p);
3823
3824     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
3825     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3826
3827     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
3828     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3829
3830     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
3831     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3832
3833     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
3834     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3835
3836     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
3837     HRESULT attributes([retval, out] IDispatch **p);
3838
3839     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
3840     HRESULT ownerDocument([retval, out] IDispatch **p);
3841
3842     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
3843     HRESULT insertBefore(
3844             [in] IHTMLDOMNode *newChild,
3845             [optional, in] VARIANT refChild,
3846             [retval, out] IHTMLDOMNode **node);
3847
3848     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
3849     HRESULT replaceChild(
3850             [in] IHTMLDOMNode *newChild,
3851             [in] IHTMLDOMNode *oldChild,
3852             [retval, out] IHTMLDOMNode **node);
3853
3854     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
3855     HRESULT removeChild(
3856             [in] IHTMLDOMNode *oldChild,
3857             [retval, out] IHTMLDOMNode **node);
3858
3859     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
3860     HRESULT appendChild(
3861             [in] IHTMLDOMNode *newChild,
3862             [retval, out] IHTMLDOMNode **node);
3863
3864     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
3865     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3866
3867     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
3868     HRESULT cloneNode(
3869             [in] VARIANT_BOOL fDeep,
3870             [retval, out] IHTMLDOMAttribute **clonedNode);
3871 }
3872
3873 /*****************************************************************************
3874  *    IHTMLDOMTextNode interface
3875  */
3876 [
3877     odl,
3878     oleautomation,
3879     dual,
3880     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3881 ]
3882 interface IHTMLDOMTextNode : IDispatch
3883 {
3884     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3885     HRESULT data([in] BSTR v);
3886
3887     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3888     HRESULT data([out, retval] BSTR *p);
3889
3890     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3891     HRESULT toString([out, retval] BSTR *String);
3892
3893     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3894     HRESULT length([out, retval] LONG *p);
3895
3896     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3897     HRESULT splitText(
3898             [in] LONG offset,
3899             [out, retval] IHTMLDOMNode **pRetNode);
3900 }
3901
3902 /*****************************************************************************
3903  *    IHTMLDOMTextNode2 interface
3904  */
3905 [
3906     odl,
3907     oleautomation,
3908     dual,
3909     uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
3910 ]
3911 interface IHTMLDOMTextNode2 : IDispatch
3912 {
3913     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3914     HRESULT substringData([in] LONG offset,[in] LONG Count,[retval, out] BSTR* pbstrsubString);
3915
3916     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3917     HRESULT appendData([in] BSTR bstrstring);
3918
3919     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3920     HRESULT insertData([in] LONG offset,[in] BSTR bstrstring);
3921
3922     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3923     HRESULT deleteData([in] LONG offset,[in] LONG Count);
3924
3925     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3926     HRESULT replaceData([in] LONG offset,[in] LONG Count,[in] BSTR bstrstring);
3927 }
3928
3929 [
3930     noncreatable,
3931     uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
3932 ]
3933 coclass HTMLDOMTextNode
3934 {
3935     [default]           dispinterface DispHTMLDOMTextNode;
3936                         interface IHTMLDOMTextNode;
3937                         interface IHTMLDOMTextNode2;
3938                         interface IHTMLDOMNode;
3939                         interface IHTMLDOMNode2;
3940 }
3941
3942 /*****************************************************************************
3943  *    IHTMLDOMImplementation interface
3944  */
3945 [
3946     odl,
3947     oleautomation,
3948     dual,
3949     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3950 ]
3951 interface IHTMLDOMImplementation : IDispatch
3952 {
3953     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3954     HRESULT hasFeature(
3955         [in] BSTR bstrfeature,
3956         [optional, in] VARIANT version,
3957         [retval, out] VARIANT_BOOL *pfHasFeature);
3958 }
3959
3960 /*****************************************************************************
3961  *    DispHTMLDOMAttribute dispinterface
3962  */
3963 [
3964     hidden,
3965     uuid(3050f564-98b5-11cf-bb82-00aa00bdce0b)
3966 ]
3967 dispinterface DispHTMLDOMAttribute
3968 {
3969  properties:
3970     methods:
3971     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3972     BSTR nodeName();
3973
3974     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3975     void nodeValue(VARIANT v);
3976
3977     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3978     VARIANT nodeValue();
3979
3980     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3981     VARIANT_BOOL specified();
3982
3983     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3984     BSTR name();
3985
3986     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3987     void value(BSTR v);
3988
3989     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3990     BSTR value();
3991
3992     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3993     VARIANT_BOOL expando();
3994
3995     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3996     long nodeType();
3997
3998     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3999     IHTMLDOMNode *parentNode();
4000
4001     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
4002     IDispatch *childNodes();
4003
4004     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
4005     IHTMLDOMNode *firstChild();
4006
4007     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
4008     IHTMLDOMNode *lastChild();
4009
4010     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
4011     IHTMLDOMNode *previousSibling();
4012
4013     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
4014     IHTMLDOMNode *nextSibling();
4015
4016     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
4017     IDispatch *attributes();
4018
4019     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
4020     IDispatch *ownerDocument();
4021
4022     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
4023     IHTMLDOMNode *insertBefore(
4024             [in] IHTMLDOMNode *newChild,
4025             [optional, in] VARIANT refChild);
4026
4027     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
4028     IHTMLDOMNode *replaceChild(
4029             [in] IHTMLDOMNode *newChild,
4030             [in] IHTMLDOMNode *oldChild);
4031
4032     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
4033     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
4034
4035     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
4036     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
4037
4038     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
4039     VARIANT_BOOL hasChildNodes();
4040
4041     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
4042     IHTMLDOMAttribute *cloneNode([in] VARIANT_BOOL fDeep);
4043
4044     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
4045     void ie8_nodeValue(VARIANT v);
4046
4047     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
4048     VARIANT ie8_nodeValue();
4049
4050     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
4051     void ie8_value(BSTR v);
4052
4053     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
4054     BSTR ie8_value();
4055
4056     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_SPECIFIED)]
4057     VARIANT_BOOL ie8_specified();
4058
4059     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_OWNERELEMENT)]
4060     IHTMLElement2 *ownerElement();
4061
4062     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
4063 }
4064
4065 /*****************************************************************************
4066  *    IHTMLDocumentCompatibleInfo interface
4067  */
4068 [
4069     odl,
4070     oleautomation,
4071     dual,
4072     uuid(3051041a-98b5-11cf-bb82-00aa00bdce0b)
4073 ]
4074 interface IHTMLDocumentCompatibleInfo : IDispatch
4075 {
4076     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_USERAGENT)]
4077     HRESULT userAgent([retval, out] BSTR *p);
4078
4079     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_VERSION)]
4080     HRESULT version([retval, out] BSTR *p);
4081 }
4082
4083 /*****************************************************************************
4084  *    IHTMLDocumentCompatibleInfoCollection interface
4085  */
4086 [
4087     odl,
4088     oleautomation,
4089     dual,
4090     uuid(30510418-98b5-11cf-bb82-00aa00bdce0b)
4091 ]
4092 interface IHTMLDocumentCompatibleInfoCollection : IDispatch
4093 {
4094     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_LENGTH)]
4095     HRESULT length([retval, out] long *p);
4096
4097     [id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_ITEM)]
4098     HRESULT item([in] long i, [retval, out]IHTMLDocumentCompatibleInfo **p);
4099 }
4100
4101 /*****************************************************************************
4102  *    DispHTMLDOMTextNode dispinterface
4103  */
4104 [
4105     hidden,
4106     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
4107 ]
4108 dispinterface DispHTMLDOMTextNode
4109 {
4110 properties:
4111 methods:
4112     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4113     void data(BSTR v);
4114
4115     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4116     BSTR data();
4117
4118     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
4119     BSTR toString();
4120
4121     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
4122     LONG length();
4123
4124     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
4125     IHTMLDOMNode *splitText([in] LONG offset);
4126
4127     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
4128     BSTR substringData(
4129             [in] LONG offset,
4130             [in] LONG Count);
4131
4132     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
4133     void appendData([in] BSTR bstrstring);
4134
4135     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
4136     void insertData(
4137             [in] LONG offset,
4138             [in] BSTR bstrstring);
4139
4140     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
4141     void deleteData(
4142             [in] LONG offset,
4143             [in] LONG Count);
4144
4145     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
4146     void replaceData(
4147             [in] LONG offset,
4148             [in] LONG Count,
4149             [in] BSTR bstrstring);
4150
4151     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
4152 }
4153
4154 /*****************************************************************************
4155  *    IHTMLAttributeCollection interface
4156  */
4157 [
4158     odl,
4159     oleautomation,
4160     dual,
4161     uuid(3050f4c3-98b5-11cf-bb82-00aa00bdce0b)
4162 ]
4163 interface IHTMLAttributeCollection : IDispatch
4164 {
4165     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION_LENGTH)]
4166     HRESULT length(
4167             [retval, out] long *p);
4168
4169     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION__NEWENUM), hidden, restricted]
4170     HRESULT _newEnum(
4171             [retval, out] IUnknown **p);
4172
4173     [id(DISPID_IHTMLATTRIBUTECOLLECTION_ITEM)]
4174     HRESULT item(
4175             [optional, in] VARIANT *name,
4176             [retval, out] IDispatch **pdisp);
4177 }
4178
4179 /*****************************************************************************
4180  *    IHTMLAttributeCollection2 interface
4181  */
4182 [
4183     odl,
4184     oleautomation,
4185     dual,
4186     uuid(3050f80a-98b5-11cf-bb82-00aa00bdce0b)
4187     ]
4188 interface IHTMLAttributeCollection2 : IDispatch
4189 {
4190     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_GETNAMEDITEM)]
4191     HRESULT getNamedItem(
4192             [in] BSTR bstrName,
4193             [retval, out] IHTMLDOMAttribute **newretNode);
4194
4195     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_SETNAMEDITEM)]
4196     HRESULT setNamedItem(
4197             [in] IHTMLDOMAttribute *ppNode,
4198             [retval, out] IHTMLDOMAttribute **newretNode);
4199
4200     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_REMOVENAMEDITEM)]
4201     HRESULT removeNamedItem(
4202             [in] BSTR bstrName,
4203             [retval, out] IHTMLDOMAttribute **newretNode);
4204 }
4205
4206 /*****************************************************************************
4207  *    IHTMLAttributeCollection3 interface
4208  */
4209 [
4210     odl,
4211     oleautomation,
4212     dual,
4213     uuid(30510469-98b5-11cf-bb82-00aa00bdce0b)
4214 ]
4215 interface IHTMLAttributeCollection3 : IDispatch
4216 {
4217     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
4218     HRESULT getNamedItem(
4219             [in] BSTR bstrName,
4220             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4221
4222     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
4223     HRESULT setNamedItem(
4224             [in] IHTMLDOMAttribute *pNodeIn,
4225             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4226
4227     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
4228     HRESULT removeNamedItem(
4229             [in] BSTR bstrName,
4230             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4231
4232     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
4233     HRESULT item(
4234             [in] long index,
4235             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4236
4237     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
4238     HRESULT length([retval, out] long *p);
4239 }
4240
4241 /*****************************************************************************
4242  *    DispHTMLAttributeCollection dispinterface
4243  */
4244 [
4245     hidden,
4246     uuid(3050f56c-98b5-11cf-bb82-00aa00bdce0b)
4247 ]
4248 dispinterface DispHTMLAttributeCollection
4249 {
4250 properties:
4251 methods:
4252     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION_LENGTH)]
4253     long length();
4254
4255     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION__NEWENUM), hidden, restricted]
4256     IUnknown *_newEnum();
4257
4258     [id(DISPID_IHTMLATTRIBUTECOLLECTION_ITEM)]
4259     IDispatch *item([optional, in] VARIANT *name);
4260
4261     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_GETNAMEDITEM)]
4262     IHTMLDOMAttribute *getNamedItem([in] BSTR bstrName);
4263
4264     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_SETNAMEDITEM)]
4265     IHTMLDOMAttribute *setNamedItem([in] IHTMLDOMAttribute *ppNode);
4266
4267     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_REMOVENAMEDITEM)]
4268     IHTMLDOMAttribute *removeNamedItem([in] BSTR bstrName);
4269
4270     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
4271     IHTMLDOMAttribute *ie8_getNamedItem([in] BSTR bstrName);
4272
4273     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
4274     IHTMLDOMAttribute *ie8_setNamedItem([in] IHTMLDOMAttribute *pNodeIn);
4275
4276     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
4277     IHTMLDOMAttribute *ie8_removeNamedItem([in] BSTR bstrName);
4278
4279     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
4280     IHTMLDOMAttribute *ie8_item([in] long index);
4281
4282     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
4283     long ie8_length();
4284
4285     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
4286     IDispatch *constructor();
4287 }
4288
4289 /*****************************************************************************
4290  *    IHTMLDOMChildrenCollection interface
4291  */
4292 [
4293     odl,
4294     oleautomation,
4295     dual,
4296     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
4297 ]
4298 interface IHTMLDOMChildrenCollection : IDispatch
4299 {
4300     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
4301     HRESULT length([out, retval] LONG *p);
4302
4303     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
4304     HRESULT _newEnum([out, retval] IUnknown **p);
4305
4306     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
4307     HRESULT item(
4308             [in] LONG index,
4309             [out, retval] IDispatch **ppItem);
4310 }
4311
4312 /*****************************************************************************
4313  *    DispDOMChildrenCollection dispinterface
4314  */
4315 [
4316     hidden,
4317     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
4318 ]
4319 dispinterface DispDOMChildrenCollection
4320 {
4321 properties:
4322 methods:
4323     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
4324     LONG length();
4325
4326     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
4327     IUnknown *_newEnum();
4328
4329     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
4330     IDispatch *item([in] LONG index);
4331 }
4332
4333 interface IHTMLElementCollection;
4334
4335 /*****************************************************************************
4336  *    IHTMLElement interface
4337  */
4338 [
4339     odl,
4340     dual,
4341     oleautomation,
4342     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
4343 ]
4344 interface IHTMLElement : IDispatch
4345 {
4346     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
4347     HRESULT setAttribute(
4348         [in] BSTR strAttributeName,
4349         [in] VARIANT AttributeValue,
4350         [defaultvalue(1), in] LONG lFlags);
4351
4352     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
4353     HRESULT getAttribute(
4354         [in] BSTR strAttributeName,
4355         [defaultvalue(0), in] LONG lFlags,
4356         [retval, out] VARIANT *AttributeValue);
4357
4358     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
4359     HRESULT removeAttribute(
4360         [in] BSTR strAttributeName,
4361         [defaultvalue(1), in] LONG lFlags,
4362         [retval, out] VARIANT_BOOL *pfSuccess);
4363
4364     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
4365     HRESULT className([in] BSTR v);
4366
4367     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
4368     HRESULT className([retval, out] BSTR *p);
4369
4370     [propput, id(DISPID_IHTMLELEMENT_ID)]
4371     HRESULT id([in] BSTR v);
4372
4373     [propget, id(DISPID_IHTMLELEMENT_ID)]
4374     HRESULT id([retval, out] BSTR *p);
4375
4376     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4377     HRESULT tagName([retval, out] BSTR *p);
4378
4379     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4380     HRESULT parentElement([retval, out] IHTMLElement **p);
4381
4382     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
4383     HRESULT style([retval, out] IHTMLStyle **p);
4384
4385     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
4386     HRESULT onhelp([in] VARIANT v);
4387
4388     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
4389     HRESULT onhelp([retval, out] VARIANT *p);
4390
4391     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
4392     HRESULT onclick([in] VARIANT v);
4393
4394     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
4395     HRESULT onclick([retval, out] VARIANT *p);
4396
4397     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4398     HRESULT ondblclick([in] VARIANT v);
4399
4400     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4401     HRESULT ondblclick([retval, out] VARIANT *p);
4402
4403     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4404     HRESULT onkeydown([in] VARIANT v);
4405
4406     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4407     HRESULT onkeydown([retval, out] VARIANT *p);
4408
4409     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4410     HRESULT onkeyup([in] VARIANT v);
4411
4412     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4413     HRESULT onkeyup([retval, out] VARIANT *p);
4414
4415     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4416     HRESULT onkeypress([in] VARIANT v);
4417
4418     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4419     HRESULT onkeypress([retval, out] VARIANT *p);
4420
4421     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4422     HRESULT onmouseout([in] VARIANT v);
4423
4424     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4425     HRESULT onmouseout([retval, out] VARIANT *p);
4426
4427     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4428     HRESULT onmouseover([in] VARIANT v);
4429
4430     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4431     HRESULT onmouseover([retval, out] VARIANT *p);
4432
4433     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4434     HRESULT onmousemove([in] VARIANT v);
4435
4436     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4437     HRESULT onmousemove([retval, out] VARIANT *p);
4438
4439     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4440     HRESULT onmousedown([in] VARIANT v);
4441
4442     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4443     HRESULT onmousedown([retval, out] VARIANT *p);
4444
4445     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4446     HRESULT onmouseup([in] VARIANT v);
4447
4448     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4449     HRESULT onmouseup([retval, out] VARIANT *p);
4450
4451     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4452     HRESULT document([retval, out] IDispatch **p);
4453
4454     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
4455     HRESULT title([in] BSTR v);
4456
4457     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
4458     HRESULT title([retval, out] BSTR *p);
4459
4460     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4461     HRESULT language([in] BSTR v);
4462
4463     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4464     HRESULT language([retval, out] BSTR *p);
4465
4466     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4467     HRESULT onselectstart([in] VARIANT v);
4468
4469     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4470     HRESULT onselectstart([retval, out] VARIANT *p);
4471
4472     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4473     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
4474
4475     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4476     HRESULT contains(
4477         [in] IHTMLElement *pChild,
4478         [retval, out] VARIANT_BOOL *pfResult);
4479
4480     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
4481     HRESULT sourceIndex([retval, out] LONG *p);
4482
4483     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4484     HRESULT recordNumber([retval, out] VARIANT *p);
4485
4486     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4487     HRESULT lang([in] BSTR v);
4488
4489     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4490     HRESULT lang([retval, out] BSTR *p);
4491
4492     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4493     HRESULT offsetLeft([retval, out] LONG *p);
4494
4495     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4496     HRESULT offsetTop([retval, out] LONG *p);
4497
4498     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4499     HRESULT offsetWidth([retval, out] LONG *p);
4500
4501     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4502     HRESULT offsetHeight([retval, out] LONG *p);
4503
4504     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4505     HRESULT offsetParent([retval, out] IHTMLElement **p);
4506
4507     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4508     HRESULT innerHTML([in] BSTR v);
4509
4510     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4511     HRESULT innerHTML([retval, out] BSTR *p);
4512
4513     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4514     HRESULT innerText([in] BSTR v);
4515
4516     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4517     HRESULT innerText([retval, out] BSTR *p);
4518
4519     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4520     HRESULT outerHTML([in] BSTR v);
4521
4522     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4523     HRESULT outerHTML([retval, out] BSTR *p);
4524
4525     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4526     HRESULT outerText([in] BSTR v);
4527
4528     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4529     HRESULT outerText([retval, out] BSTR *p);
4530
4531     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4532     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
4533
4534     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4535     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
4536
4537     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4538     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
4539
4540     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4541     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
4542
4543     [id(DISPID_IHTMLELEMENT_CLICK)]
4544     HRESULT click();
4545
4546     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4547     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
4548
4549     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4550     HRESULT ondragstart([in] VARIANT v);
4551
4552     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4553     HRESULT ondragstart([retval, out] VARIANT *p);
4554
4555     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4556     HRESULT toString([retval, out] BSTR *String);
4557
4558     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4559     HRESULT onbeforeupdate([in] VARIANT v);
4560
4561     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4562     HRESULT onbeforeupdate([retval, out] VARIANT *p);
4563
4564     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4565     HRESULT onafterupdate([in] VARIANT v);
4566
4567     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4568     HRESULT onafterupdate([retval, out] VARIANT *p);
4569
4570     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4571     HRESULT onerrorupdate([in] VARIANT v);
4572
4573     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4574     HRESULT onerrorupdate([retval, out] VARIANT *p);
4575
4576     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4577     HRESULT onrowexit([in] VARIANT v);
4578
4579     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4580     HRESULT onrowexit([retval, out] VARIANT *p);
4581
4582     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4583     HRESULT onrowenter([in] VARIANT v);
4584
4585     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4586     HRESULT onrowenter([retval, out] VARIANT *p);
4587
4588     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4589     HRESULT ondatasetchanged([in] VARIANT v);
4590
4591     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4592     HRESULT ondatasetchanged([retval, out] VARIANT *p);
4593
4594     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4595     HRESULT ondataavailable([in] VARIANT v);
4596
4597     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4598     HRESULT ondataavailable([retval, out] VARIANT *p);
4599
4600     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4601     HRESULT ondatasetcomplete([in] VARIANT v);
4602
4603     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4604     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
4605
4606     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4607     HRESULT onfilterchange([in] VARIANT v);
4608
4609     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4610     HRESULT onfilterchange([retval, out] VARIANT *p);
4611
4612     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4613     HRESULT children([retval, out] IDispatch **p);
4614
4615     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4616     HRESULT all([retval, out] IDispatch **p);
4617 }
4618
4619 #define WINE_IHTMLELEMENT_DISPINTERFACE_DECL                            \
4620     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]                              \
4621     void setAttribute(                                                  \
4622         [in] BSTR strAttributeName,                                     \
4623         [in] VARIANT AttValue,                                          \
4624         [defaultvalue(1), in] LONG lFlags);                             \
4625                                                                         \
4626     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]                              \
4627     VARIANT getAttribute(                                               \
4628         [in] BSTR strAttributeName,                                     \
4629         [defaultvalue(0), in] LONG lFlags);                             \
4630                                                                         \
4631     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]                           \
4632     VARIANT_BOOL removeAttribute(                                       \
4633         [in] BSTR strAttributeName,                                     \
4634         [defaultvalue(1), in] LONG lFlags);                             \
4635                                                                         \
4636     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4637     void className(BSTR v);                                             \
4638                                                                         \
4639     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4640     BSTR className();                                                   \
4641                                                                         \
4642     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4643     void id(BSTR v);                                                    \
4644                                                                         \
4645     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4646     BSTR id();                                                          \
4647                                                                         \
4648     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]                          \
4649     BSTR tagName();                                                     \
4650                                                                         \
4651     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]                    \
4652     IHTMLElement *parentElement();                                      \
4653                                                                         \
4654     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]              \
4655     IHTMLStyle *style();                                                \
4656                                                                         \
4657     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4658     void onhelp(VARIANT v);                                             \
4659                                                                         \
4660     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4661     VARIANT onhelp();                                                   \
4662                                                                         \
4663     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4664     void onclick(VARIANT v);                                            \
4665                                                                         \
4666     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4667     VARIANT onclick();                                                  \
4668                                                                         \
4669     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4670     void ondblclick(VARIANT v);                                         \
4671                                                                         \
4672     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4673     VARIANT ondblclick();                                               \
4674                                                                         \
4675     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4676     void onkeydown(VARIANT v);                                          \
4677                                                                         \
4678     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4679     VARIANT onkeydown();                                                \
4680                                                                         \
4681     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4682     void onkeyup(VARIANT v);                                            \
4683                                                                         \
4684     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4685     VARIANT onkeyup();                                                  \
4686                                                                         \
4687     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4688     void onkeypress(VARIANT v);                                         \
4689                                                                         \
4690     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4691     VARIANT onkeypress();                                               \
4692                                                                         \
4693     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4694     void onmouseout(VARIANT v);                                         \
4695                                                                         \
4696     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4697     VARIANT onmouseout();                                               \
4698                                                                         \
4699     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4700     void onmouseover(VARIANT v);                                        \
4701                                                                         \
4702     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4703     VARIANT onmouseover();                                              \
4704                                                                         \
4705     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4706     void onmousemove(VARIANT v);                                        \
4707                                                                         \
4708     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4709     VARIANT onmousemove();                                              \
4710                                                                         \
4711     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4712     void onmousedown(VARIANT v);                                        \
4713                                                                         \
4714     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4715     VARIANT onmousedown();                                              \
4716                                                                         \
4717     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4718     void onmouseup(VARIANT v);                                          \
4719                                                                         \
4720     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4721     VARIANT onmouseup();                                                \
4722                                                                         \
4723     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();  \
4724                                                                         \
4725     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4726     void title(BSTR v);                                                 \
4727                                                                         \
4728     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4729     BSTR title();                                                       \
4730                                                                         \
4731     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4732     void language(BSTR v);                                              \
4733                                                                         \
4734     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4735     BSTR language();                                                    \
4736                                                                         \
4737     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4738     void onselectstart(VARIANT v);                                      \
4739                                                                         \
4740     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4741     VARIANT onselectstart();                                            \
4742                                                                         \
4743     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]                            \
4744     void scrollIntoView([optional, in] VARIANT varargStart);            \
4745                                                                         \
4746     [id(DISPID_IHTMLELEMENT_CONTAINS)]                                  \
4747     VARIANT_BOOL contains([in] IHTMLElement* pChild);                   \
4748                                                                         \
4749     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]            \
4750     LONG sourceIndex();                                                 \
4751                                                                         \
4752     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]                     \
4753     VARIANT recordNumber();                                             \
4754                                                                         \
4755     [propput, id(DISPID_IHTMLELEMENT_LANG)]                             \
4756     void lang(BSTR v);                                                  \
4757                                                                         \
4758     [propget, id(DISPID_IHTMLELEMENT_LANG)]                             \
4759     BSTR lang();                                                        \
4760                                                                         \
4761     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]                       \
4762     LONG offsetLeft();                                                  \
4763                                                                         \
4764     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]                        \
4765     LONG offsetTop();                                                   \
4766                                                                         \
4767     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]                      \
4768     LONG offsetWidth();                                                 \
4769                                                                         \
4770     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]                     \
4771     LONG offsetHeight();                                                \
4772                                                                         \
4773     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]                     \
4774     IHTMLElement* offsetParent();                                       \
4775                                                                         \
4776     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4777     void innerHTML(BSTR v);                                             \
4778                                                                         \
4779     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4780     BSTR innerHTML();                                                   \
4781                                                                         \
4782     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4783     void innerText(BSTR v);                                             \
4784                                                                         \
4785     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4786     BSTR innerText();                                                   \
4787                                                                         \
4788     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4789     void outerHTML(BSTR v);                                             \
4790                                                                         \
4791     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4792     BSTR outerHTML();                                                   \
4793                                                                         \
4794     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4795     void outerText(BSTR v);                                             \
4796                                                                         \
4797     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4798     BSTR outerText();                                                   \
4799                                                                         \
4800     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]                        \
4801     void insertAdjacentHTML(                                            \
4802         [in] BSTR where,                                                \
4803         [in] BSTR html);                                                \
4804                                                                         \
4805     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]                        \
4806     void insertAdjacentText(                                            \
4807         [in] BSTR where,                                                \
4808         [in] BSTR text);                                                \
4809                                                                         \
4810     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]                   \
4811     IHTMLElement* parentTextEdit();                                     \
4812                                                                         \
4813     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]                       \
4814     VARIANT_BOOL isTextEdit();                                          \
4815                                                                         \
4816     [id(DISPID_IHTMLELEMENT_CLICK)]                                     \
4817     void click();                                                       \
4818                                                                         \
4819     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]                          \
4820     IHTMLFiltersCollection* filters();                                  \
4821                                                                         \
4822     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4823     void ondragstart(VARIANT v);                                        \
4824                                                                         \
4825     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4826     VARIANT ondragstart();                                              \
4827                                                                         \
4828     [id(DISPID_IHTMLELEMENT_TOSTRING)]                                  \
4829     BSTR toString();                                                    \
4830                                                                         \
4831     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4832     void onbeforeupdate(VARIANT v);                                     \
4833                                                                         \
4834     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4835     VARIANT onbeforeupdate();                                           \
4836                                                                         \
4837     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4838     void onafterupdate(VARIANT v);                                      \
4839                                                                         \
4840     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4841     VARIANT onafterupdate();                                            \
4842                                                                         \
4843     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4844     void onerrorupdate(VARIANT v);                                      \
4845                                                                         \
4846     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4847     VARIANT onerrorupdate();                                            \
4848                                                                         \
4849     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4850     void onrowexit(VARIANT v);                                          \
4851                                                                         \
4852     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4853     VARIANT onrowexit();                                                \
4854                                                                         \
4855     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4856     void onrowenter(VARIANT v);                                         \
4857                                                                         \
4858     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4859     VARIANT onrowenter();                                               \
4860                                                                         \
4861     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4862     void ondatasetchanged(VARIANT v);                                   \
4863                                                                         \
4864     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4865     VARIANT ondatasetchanged();                                         \
4866                                                                         \
4867     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4868     void ondataavailable(VARIANT v);                                    \
4869                                                                         \
4870     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4871     VARIANT ondataavailable();                                          \
4872                                                                         \
4873     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4874     void ondatasetcomplete(VARIANT v);                                  \
4875                                                                         \
4876     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4877     VARIANT ondatasetcomplete();                                        \
4878                                                                         \
4879     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4880     void onfilterchange(VARIANT v);                                     \
4881                                                                         \
4882     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4883     VARIANT onfilterchange();                                           \
4884                                                                         \
4885     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]                         \
4886     IDispatch* children();                                              \
4887                                                                         \
4888     [propget, id(DISPID_IHTMLELEMENT_ALL)]                              \
4889     IDispatch* all()
4890
4891 /*****************************************************************************
4892  *    IHTMLElement2 interface
4893  */
4894 [
4895     odl,
4896     oleautomation,
4897     dual,
4898     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
4899 ]
4900 interface IHTMLElement2 : IDispatch
4901 {
4902     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4903     HRESULT scopeName([retval, out] BSTR *p);
4904
4905     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4906     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
4907
4908     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4909     HRESULT releaseCapture();
4910
4911     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4912     HRESULT onlosecapture([in] VARIANT v);
4913
4914     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4915     HRESULT onlosecapture([retval, out] VARIANT *p);
4916
4917     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4918     HRESULT componentFromPoint(
4919         [in] LONG x,
4920         [in] LONG y,
4921         [retval, out] BSTR *component);
4922
4923     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4924     HRESULT doScroll([optional, in] VARIANT component);
4925
4926     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4927     HRESULT onscroll([in] VARIANT v);
4928
4929     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4930     HRESULT onscroll([retval, out] VARIANT *p);
4931
4932     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4933     HRESULT ondrag([in] VARIANT v);
4934
4935     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4936     HRESULT ondrag([retval, out] VARIANT *p);
4937
4938     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4939     HRESULT ondragend([in] VARIANT v);
4940
4941     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4942     HRESULT ondragend([retval, out] VARIANT *p);
4943
4944     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4945     HRESULT ondragenter([in] VARIANT v);
4946
4947     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4948     HRESULT ondragenter([retval, out] VARIANT *p);
4949
4950     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4951     HRESULT ondragover([in] VARIANT v);
4952
4953     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4954     HRESULT ondragover([retval, out] VARIANT *p);
4955
4956     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4957     HRESULT ondragleave([in] VARIANT v);
4958
4959     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4960     HRESULT ondragleave([retval, out] VARIANT *p);
4961
4962     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4963     HRESULT ondrop([in] VARIANT v);
4964
4965     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4966     HRESULT ondrop([retval, out] VARIANT *p);
4967
4968     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4969     HRESULT onbeforecut([in] VARIANT v);
4970
4971     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4972     HRESULT onbeforecut([retval, out] VARIANT *p);
4973
4974     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4975     HRESULT oncut([in] VARIANT v);
4976
4977     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4978     HRESULT oncut([retval, out] VARIANT *p);
4979
4980     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4981     HRESULT onbeforecopy([in] VARIANT v);
4982
4983     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4984     HRESULT onbeforecopy([retval, out] VARIANT *p);
4985
4986     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4987     HRESULT oncopy([in] VARIANT v);
4988
4989     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4990     HRESULT oncopy([retval, out] VARIANT *p);
4991
4992     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4993     HRESULT onbeforepaste([in] VARIANT v);
4994
4995     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4996     HRESULT onbeforepaste([retval, out] VARIANT *p);
4997
4998     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4999     HRESULT onpaste([in] VARIANT v);
5000
5001     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5002     HRESULT onpaste([retval, out] VARIANT *p);
5003
5004     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
5005     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
5006
5007     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5008     HRESULT onpropertychange([in] VARIANT v);
5009
5010     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5011     HRESULT onpropertychange([retval, out] VARIANT *p);
5012
5013     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
5014     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
5015
5016     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
5017     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
5018
5019     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
5020     HRESULT setExpression(
5021         [in] BSTR propname,
5022         [in] BSTR expression,
5023         [defaultvalue(""), in] BSTR language);
5024
5025     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
5026     HRESULT getExpression(
5027         [in] BSTR propname,
5028         [retval, out] VARIANT *expression);
5029
5030     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
5031     HRESULT removeExpression(
5032         [in] BSTR propname,
5033         [retval, out] VARIANT_BOOL *pfSuccess);
5034
5035     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5036     HRESULT tabIndex([in] short v);
5037
5038     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5039     HRESULT tabIndex([retval, out] short *p);
5040
5041     [id(DISPID_IHTMLELEMENT2_FOCUS)]
5042     HRESULT focus();
5043
5044     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5045     HRESULT accessKey([in] BSTR v);
5046
5047     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5048     HRESULT accessKey([retval, out] BSTR *p);
5049
5050     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5051     HRESULT onblur([in] VARIANT v);
5052
5053     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5054     HRESULT onblur([retval, out] VARIANT *p);
5055
5056     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5057     HRESULT onfocus([in] VARIANT v);
5058
5059     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5060     HRESULT onfocus([retval, out] VARIANT *p);
5061
5062     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5063     HRESULT onresize([in] VARIANT v);
5064
5065     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5066     HRESULT onresize([retval, out] VARIANT *p);
5067
5068     [id(DISPID_IHTMLELEMENT2_BLUR)]
5069     HRESULT blur();
5070
5071     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
5072     HRESULT addFilter([in] IUnknown *pUnk);
5073
5074     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
5075     HRESULT removeFilter([in] IUnknown *pUnk);
5076
5077     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
5078     HRESULT clientHeight([retval, out] LONG *p);
5079
5080     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
5081     HRESULT clientWidth([retval, out] LONG *p);
5082
5083     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
5084     HRESULT clientTop([retval, out] LONG *p);
5085
5086     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
5087     HRESULT clientLeft([retval, out] LONG *p);
5088
5089     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
5090     HRESULT attachEvent(
5091         [in] BSTR event,
5092         [in] IDispatch *pDisp,
5093         [retval, out] VARIANT_BOOL *pfResult);
5094
5095     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
5096     HRESULT detachEvent(
5097         [in] BSTR event,
5098         [in] IDispatch *pDisp);
5099
5100     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
5101     HRESULT readyState([retval, out] VARIANT *p);
5102
5103     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5104     HRESULT onreadystatechange([in] VARIANT v);
5105
5106     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5107     HRESULT onreadystatechange([retval, out] VARIANT *p);
5108
5109     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5110     HRESULT onrowsdelete([in] VARIANT v);
5111
5112     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5113     HRESULT onrowsdelete([retval, out] VARIANT *p);
5114
5115     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5116     HRESULT onrowsinserted([in] VARIANT v);
5117
5118     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5119     HRESULT onrowsinserted([retval, out] VARIANT *p);
5120
5121     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5122     HRESULT oncellchange([in] VARIANT v);
5123
5124     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5125     HRESULT oncellchange([retval, out] VARIANT *p);
5126
5127     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5128     HRESULT dir([in] BSTR v);
5129
5130     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5131     HRESULT dir([retval, out] BSTR *p);
5132
5133     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5134     HRESULT createControlRange([retval, out] IDispatch **range);
5135
5136     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5137     HRESULT scrollHeight([retval, out] LONG *p);
5138
5139     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5140     HRESULT scrollWidth([retval, out] LONG *p);
5141
5142     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5143     HRESULT scrollTop([in] LONG v);
5144
5145     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5146     HRESULT scrollTop([retval, out] LONG *p);
5147
5148     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5149     HRESULT scrollLeft([in] LONG v);
5150
5151     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5152     HRESULT scrollLeft([retval, out] LONG *p);
5153
5154     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5155     HRESULT clearAttributes();
5156
5157     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
5158     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
5159
5160     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5161     HRESULT oncontextmenu([in] VARIANT v);
5162
5163     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5164     HRESULT oncontextmenu([retval, out] VARIANT *p);
5165
5166     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5167     HRESULT insertAdjacentElement(
5168         [in] BSTR where,
5169         [in] IHTMLElement *insertedElement,
5170         [retval, out] IHTMLElement **inserted);
5171
5172     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5173     HRESULT applyElement(
5174         [in] IHTMLElement *apply,
5175         [in] BSTR where,
5176         [retval, out] IHTMLElement **applied);
5177
5178     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5179     HRESULT getAdjacentText(
5180         [in] BSTR where,
5181         [retval, out] BSTR *text);
5182
5183     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5184     HRESULT replaceAdjacentText(
5185         [in] BSTR where,
5186         [in] BSTR newText,
5187         [retval, out] BSTR *oldText);
5188
5189     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5190     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
5191
5192     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5193     HRESULT addBehavior(
5194         [in] BSTR bstrUrl,
5195         [optional, in] VARIANT *pvarFactory,
5196         [retval, out] LONG *pCookie);
5197
5198     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5199     HRESULT removeBehavior(
5200         [in] LONG cookie,
5201         [retval, out] VARIANT_BOOL *pfResult);
5202
5203     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5204     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
5205
5206     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5207     HRESULT behaviorUrns([retval, out] IDispatch **p);
5208
5209     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5210     HRESULT tagUrn([in] BSTR v);
5211
5212     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5213     HRESULT tagUrn([retval, out] BSTR *p);
5214
5215     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5216     HRESULT onbeforeeditfocus([in] VARIANT v);
5217
5218     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5219     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
5220
5221     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5222     HRESULT readyStateValue([retval, out] LONG *p);
5223
5224     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5225     HRESULT getElementsByTagName(
5226         [in] BSTR v,
5227         [retval, out] IHTMLElementCollection **pelColl);
5228 }
5229
5230 #define WINE_IHTMLELEMENT2_DISPINTERFACE_DECL                           \
5231     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]                       \
5232     BSTR scopeName();                                                   \
5233                                                                         \
5234     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]                               \
5235     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture); \
5236                                                                         \
5237     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]                           \
5238     void releaseCapture();                                              \
5239                                                                         \
5240     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
5241     void onlosecapture(VARIANT v);                                      \
5242                                                                         \
5243     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
5244     VARIANT onlosecapture();                                            \
5245                                                                         \
5246     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]                       \
5247     BSTR componentFromPoint([in] LONG x,[in] LONG y);                   \
5248                                                                         \
5249     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]                                 \
5250     void doScroll([optional, in] VARIANT component);                    \
5251                                                                         \
5252     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
5253     void onscroll(VARIANT v);                                           \
5254                                                                         \
5255     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
5256     VARIANT onscroll();                                                 \
5257                                                                         \
5258     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
5259     void ondrag(VARIANT v);                                             \
5260                                                                         \
5261     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
5262     VARIANT ondrag();                                                   \
5263                                                                         \
5264     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
5265     void ondragend(VARIANT v);                                          \
5266                                                                         \
5267     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
5268     VARIANT ondragend();                                                \
5269                                                                         \
5270     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
5271     void ondragenter(VARIANT v);                                        \
5272                                                                         \
5273     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
5274     VARIANT ondragenter();                                              \
5275                                                                         \
5276     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
5277     void ondragover(VARIANT v);                                         \
5278                                                                         \
5279     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
5280     VARIANT ondragover();                                               \
5281                                                                         \
5282     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
5283     void ondragleave(VARIANT v);                                        \
5284                                                                         \
5285     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
5286     VARIANT ondragleave();                                              \
5287                                                                         \
5288     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
5289     void ondrop(VARIANT v);                                             \
5290                                                                         \
5291     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
5292     VARIANT ondrop();                                                   \
5293                                                                         \
5294     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
5295     void onbeforecut(VARIANT v);                                        \
5296                                                                         \
5297     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
5298     VARIANT onbeforecut();                                              \
5299                                                                         \
5300     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
5301     void oncut(VARIANT v);                                              \
5302                                                                         \
5303     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
5304     VARIANT oncut();                                                    \
5305                                                                         \
5306     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
5307     void onbeforecopy(VARIANT v);                                       \
5308                                                                         \
5309     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
5310     VARIANT onbeforecopy();                                             \
5311                                                                         \
5312     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
5313     void oncopy(VARIANT v);                                             \
5314                                                                         \
5315     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
5316     VARIANT oncopy();                                                   \
5317                                                                         \
5318     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
5319     void onbeforepaste(VARIANT v);                                      \
5320                                                                         \
5321     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
5322     VARIANT onbeforepaste();                                            \
5323                                                                         \
5324     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
5325     void onpaste(VARIANT v);                                            \
5326                                                                         \
5327     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
5328     VARIANT onpaste();                                                  \
5329                                                                         \
5330     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]      \
5331     IHTMLCurrentStyle* currentStyle();                                  \
5332                                                                         \
5333     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
5334     void onpropertychange(VARIANT v);                                   \
5335                                                                         \
5336     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
5337     VARIANT onpropertychange();                                         \
5338                                                                         \
5339     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]                           \
5340     IHTMLRectCollection* getClientRects();                              \
5341                                                                         \
5342     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]                    \
5343     IHTMLRect* getBoundingClientRect();                                 \
5344                                                                         \
5345     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]                            \
5346     void setExpression(                                                 \
5347         [in] BSTR propname,                                             \
5348         [in] BSTR expr,                                                 \
5349         [defaultvalue(""), in] BSTR lang);                              \
5350                                                                         \
5351     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]                            \
5352     VARIANT getExpression([in] BSTR propname);                          \
5353                                                                         \
5354     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]                         \
5355     VARIANT_BOOL removeExpression([in] BSTR propname);                  \
5356                                                                         \
5357     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
5358     void tabIndex(short v);                                             \
5359                                                                         \
5360     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
5361     short tabIndex();                                                   \
5362                                                                         \
5363     [id(DISPID_IHTMLELEMENT2_FOCUS)]                                    \
5364     void focus();                                                       \
5365                                                                         \
5366     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
5367     void accessKey(BSTR v);                                             \
5368                                                                         \
5369     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
5370     BSTR accessKey();                                                   \
5371                                                                         \
5372     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5373     void onblur(VARIANT v);                                             \
5374                                                                         \
5375     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5376     VARIANT onblur();                                                   \
5377                                                                         \
5378     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5379     void onfocus(VARIANT v);                                            \
5380                                                                         \
5381     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5382     VARIANT onfocus();                                                  \
5383                                                                         \
5384     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5385     void onresize(VARIANT v);                                           \
5386                                                                         \
5387     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5388     VARIANT onresize();                                                 \
5389                                                                         \
5390     [id(DISPID_IHTMLELEMENT2_BLUR)]                                     \
5391     void blur();                                                        \
5392                                                                         \
5393     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]                                \
5394     void addFilter([in] IUnknown* pUnk);                                \
5395                                                                         \
5396     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]                             \
5397     void removeFilter([in] IUnknown* pUnk);                             \
5398                                                                         \
5399     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] \
5400     LONG clientHeight();                                                \
5401                                                                         \
5402     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] \
5403     LONG clientWidth();                                                 \
5404                                                                         \
5405     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] \
5406     LONG clientTop();                                                   \
5407                                                                         \
5408     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] \
5409     LONG clientLeft();                                                  \
5410                                                                         \
5411     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]                              \
5412     VARIANT_BOOL attachEvent(                                           \
5413             [in] BSTR event,                                            \
5414             [in] IDispatch* pDisp);                                     \
5415                                                                         \
5416     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]                              \
5417     void detachEvent(                                                   \
5418             [in] BSTR event,                                            \
5419             [in] IDispatch* pDisp);                                     \
5420                                                                         \
5421     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState(); \
5422                                                                         \
5423     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5424     void onreadystatechange(VARIANT v);                                 \
5425                                                                         \
5426     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5427     VARIANT onreadystatechange();                                       \
5428                                                                         \
5429     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5430     void onrowsdelete(VARIANT v);                                       \
5431                                                                         \
5432     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5433     VARIANT onrowsdelete();                                             \
5434                                                                         \
5435     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5436     void onrowsinserted(VARIANT v);                                     \
5437                                                                         \
5438     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5439     VARIANT onrowsinserted();                                           \
5440                                                                         \
5441     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5442     void oncellchange(VARIANT v);                                       \
5443                                                                         \
5444     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5445     VARIANT oncellchange();                                             \
5446                                                                         \
5447     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5448     void dir(BSTR v);                                                   \
5449                                                                         \
5450     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5451     BSTR dir();                                                         \
5452                                                                         \
5453     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]                       \
5454     IDispatch* createControlRange();                                    \
5455                                                                         \
5456     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] \
5457     LONG scrollHeight();                                                \
5458                                                                         \
5459     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] \
5460     LONG scrollWidth();                                                 \
5461                                                                         \
5462     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5463     void scrollTop(LONG v);                                             \
5464                                                                         \
5465     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5466     LONG scrollTop();                                                   \
5467                                                                         \
5468     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5469     void scrollLeft(LONG v);                                            \
5470                                                                         \
5471     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5472     LONG scrollLeft();                                                  \
5473                                                                         \
5474     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]                          \
5475     void clearAttributes();                                             \
5476                                                                         \
5477     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5478     void oncontextmenu(VARIANT v);                                      \
5479                                                                         \
5480     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5481     VARIANT oncontextmenu();                                            \
5482                                                                         \
5483     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]                    \
5484     IHTMLElement* insertAdjacentElement(                                \
5485         [in] BSTR where,                                                \
5486         [in] IHTMLElement* insertedElement);                            \
5487                                                                         \
5488     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]                             \
5489     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where); \
5490                                                                         \
5491     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]                          \
5492     BSTR getAdjacentText([in] BSTR where);                              \
5493                                                                         \
5494     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]                      \
5495     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);        \
5496                                                                         \
5497     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]                 \
5498     VARIANT_BOOL canHaveChildren();                                     \
5499                                                                         \
5500     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]                              \
5501     LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory); \
5502                                                                         \
5503     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]                           \
5504     VARIANT_BOOL removeBehavior([in] LONG cookie);                      \
5505                                                                         \
5506     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]      \
5507     IHTMLStyle* runtimeStyle();                                         \
5508                                                                         \
5509     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]                    \
5510     IDispatch* behaviorUrns();                                          \
5511                                                                         \
5512     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5513     void tagUrn(BSTR v);                                                \
5514                                                                         \
5515     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5516     BSTR tagUrn();                                                      \
5517                                                                         \
5518     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5519     void onbeforeeditfocus(VARIANT v);                                  \
5520                                                                         \
5521     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5522     VARIANT onbeforeeditfocus();                                        \
5523                                                                         \
5524     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] \
5525     LONG readyStateValue();                                             \
5526                                                                         \
5527     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]                     \
5528     IHTMLElementCollection* getElementsByTagName([in] BSTR v)
5529
5530 /*****************************************************************************
5531  *    IHTMLElement3 interface
5532  */
5533 [
5534     odl,
5535     oleautomation,
5536     dual,
5537     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
5538 ]
5539 interface IHTMLElement3 : IDispatch
5540 {
5541     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
5542     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
5543
5544     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5545     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
5546
5547     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5548     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
5549
5550     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5551     HRESULT onlayoutcomplete([in] VARIANT v);
5552
5553     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5554     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
5555
5556     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5557     HRESULT onpage([in] VARIANT v);
5558
5559     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5560     HRESULT onpage([retval, out] VARIANT * p);
5561
5562     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5563     HRESULT inflateBlock([in] VARIANT_BOOL v);
5564
5565     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5566     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
5567
5568     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5569     HRESULT onbeforedeactivate([in] VARIANT v);
5570
5571     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5572     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
5573
5574     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
5575
5576     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5577     HRESULT contentEditable([in] BSTR v);
5578
5579     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5580     HRESULT contentEditable([retval, out] BSTR * p);
5581
5582     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5583     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
5584
5585     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5586     HRESULT hideFocus([in] VARIANT_BOOL v);
5587
5588     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5589     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
5590
5591     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5592     HRESULT disabled([in] VARIANT_BOOL v);
5593
5594     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5595     HRESULT disabled([retval, out] VARIANT_BOOL * p);
5596
5597     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5598     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
5599
5600     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5601     HRESULT onmove([in] VARIANT v);
5602
5603     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5604     HRESULT onmove([retval, out] VARIANT * p);
5605
5606     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5607     HRESULT oncontrolselect([in] VARIANT v);
5608
5609     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5610     HRESULT oncontrolselect([retval, out] VARIANT * p);
5611
5612     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5613     HRESULT fireEvent(
5614         [in] BSTR bstrEventName,
5615         [optional, in] VARIANT* pvarEventObject,
5616         [retval, out] VARIANT_BOOL* pfCancelled);
5617
5618     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5619     HRESULT onresizestart([in] VARIANT v);
5620
5621     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5622     HRESULT onresizestart([retval, out] VARIANT * p);
5623
5624     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5625     HRESULT onresizeend([in] VARIANT v);
5626
5627     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5628     HRESULT onresizeend([retval, out] VARIANT * p);
5629
5630     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5631     HRESULT onmovestart([in] VARIANT v);
5632
5633     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5634     HRESULT onmovestart([retval, out] VARIANT * p);
5635
5636     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5637     HRESULT onmoveend([in] VARIANT v);
5638
5639     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5640     HRESULT onmoveend([retval, out] VARIANT * p);
5641
5642     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5643     HRESULT onmouseenter([in] VARIANT v);
5644
5645     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5646     HRESULT onmouseenter([retval, out] VARIANT * p);
5647
5648     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5649     HRESULT onmouseleave([in] VARIANT v);
5650
5651     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5652     HRESULT onmouseleave([retval, out] VARIANT * p);
5653
5654     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5655     HRESULT onactivate([in] VARIANT v);
5656
5657     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5658     HRESULT onactivate([retval, out] VARIANT * p);
5659
5660     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5661     HRESULT ondeactivate([in] VARIANT v);
5662
5663     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5664     HRESULT ondeactivate([retval, out] VARIANT * p);
5665
5666     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
5667     VARIANT_BOOL* pfRet);
5668
5669     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5670     HRESULT glyphMode([retval, out] LONG * p);
5671 }
5672
5673 #define WINE_IHTMLELEMENT3_DISPINTERFACE_DECL                           \
5674                                                                         \
5675     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]                          \
5676     void mergeAttributes(                                               \
5677             [in] IHTMLElement* mergeThis,                               \
5678             [optional, in] VARIANT* pvarFlags);                         \
5679                                                                         \
5680     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]                     \
5681     VARIANT_BOOL isMultiLine();                                         \
5682                                                                         \
5683     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]                     \
5684     VARIANT_BOOL canHaveHTML();                                         \
5685                                                                         \
5686     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5687     void onlayoutcomplete(VARIANT v);                                   \
5688                                                                         \
5689     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5690     VARIANT onlayoutcomplete();                                         \
5691                                                                         \
5692     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5693     void onpage(VARIANT v);                                             \
5694                                                                         \
5695     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5696     VARIANT onpage();                                                   \
5697                                                                         \
5698     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5699     void inflateBlock(VARIANT_BOOL v);                                  \
5700                                                                         \
5701     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5702     VARIANT_BOOL inflateBlock();                                        \
5703                                                                         \
5704     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5705     void onbeforedeactivate(VARIANT v);                                 \
5706                                                                         \
5707     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5708     VARIANT onbeforedeactivate();                                       \
5709                                                                         \
5710     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]                                \
5711     void setActive();                                                   \
5712                                                                         \
5713     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5714     void contentEditable(BSTR v);                                       \
5715                                                                         \
5716     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5717     BSTR contentEditable();                                             \
5718                                                                         \
5719     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]               \
5720     VARIANT_BOOL isContentEditable();                                   \
5721                                                                         \
5722     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5723     void hideFocus(VARIANT_BOOL v);                                     \
5724                                                                         \
5725     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5726     VARIANT_BOOL hideFocus();                                           \
5727                                                                         \
5728     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5729     void disabled(VARIANT_BOOL v);                                      \
5730                                                                         \
5731     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5732     VARIANT_BOOL disabled();                                            \
5733                                                                         \
5734     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]                      \
5735     VARIANT_BOOL isDisabled();                                          \
5736                                                                         \
5737     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5738     void onmove(VARIANT v);                                             \
5739                                                                         \
5740     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5741     VARIANT onmove();                                                   \
5742                                                                         \
5743     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5744     void oncontrolselect(VARIANT v);                                    \
5745                                                                         \
5746     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5747     VARIANT oncontrolselect();                                          \
5748                                                                         \
5749     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]                                \
5750     VARIANT_BOOL fireEvent(                                             \
5751         [in] BSTR bstrEventName,                                        \
5752         [optional, in] VARIANT* pvarEventObject);                       \
5753                                                                         \
5754     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5755     void onresizestart(VARIANT v);                                      \
5756                                                                         \
5757     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5758     VARIANT onresizestart();                                            \
5759                                                                         \
5760     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5761     void onresizeend(VARIANT v);                                        \
5762                                                                         \
5763     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5764     VARIANT onresizeend();                                              \
5765                                                                         \
5766     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5767     void onmovestart(VARIANT v);                                        \
5768                                                                         \
5769     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5770     VARIANT onmovestart();                                              \
5771                                                                         \
5772     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5773     void onmoveend(VARIANT v);                                          \
5774                                                                         \
5775     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5776     VARIANT onmoveend();                                                \
5777                                                                         \
5778     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5779     void onmouseenter(VARIANT v);                                       \
5780                                                                         \
5781     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5782     VARIANT onmouseenter();                                             \
5783                                                                         \
5784     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5785     void onmouseleave(VARIANT v);                                       \
5786                                                                         \
5787     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5788     VARIANT onmouseleave();                                             \
5789                                                                         \
5790     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5791     void onactivate(VARIANT v);                                         \
5792                                                                         \
5793     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5794     VARIANT onactivate();                                               \
5795                                                                         \
5796     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5797     void ondeactivate(VARIANT v);                                       \
5798                                                                         \
5799     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5800     VARIANT ondeactivate();                                             \
5801                                                                         \
5802     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]                                 \
5803     VARIANT_BOOL dragDrop();                                            \
5804                                                                         \
5805     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] \
5806     LONG glyphMode()
5807
5808 /*****************************************************************************
5809  *    IHTMLElement4 interface
5810  */
5811 [
5812     odl,
5813     oleautomation,
5814     dual,
5815     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
5816 ]
5817 interface IHTMLElement4 : IDispatch
5818 {
5819     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5820     HRESULT onmousewheel([in] VARIANT v);
5821
5822     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5823     HRESULT onmousewheel([retval, out] VARIANT * p);
5824
5825     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5826     HRESULT normalize();
5827
5828     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5829     HRESULT getAttributeNode([in] BSTR bstrname,
5830         [retval, out] IHTMLDOMAttribute** ppAttribute);
5831
5832     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5833     HRESULT setAttributeNode(
5834         [in] IHTMLDOMAttribute* pattr,
5835         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5836
5837     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5838     HRESULT removeAttributeNode(
5839         [in] IHTMLDOMAttribute* pattr,
5840         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5841
5842     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5843     HRESULT onbeforeactivate([in] VARIANT v);
5844
5845     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5846     HRESULT onbeforeactivate([retval, out] VARIANT * p);
5847
5848     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5849     HRESULT onfocusin([in] VARIANT v);
5850
5851     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5852     HRESULT onfocusin([retval, out] VARIANT * p);
5853
5854     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5855     HRESULT onfocusout([in] VARIANT v);
5856
5857     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5858     HRESULT onfocusout([retval, out] VARIANT * p);
5859 }
5860
5861 #define WINE_IHTMLELEMENT4_DISPINTERFACE_DECL                           \
5862     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5863     void onmousewheel(VARIANT v);                                       \
5864                                                                         \
5865     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5866     VARIANT onmousewheel();                                             \
5867                                                                         \
5868     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]                                \
5869     void normalize();                                                   \
5870                                                                         \
5871     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]                         \
5872     IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);            \
5873                                                                         \
5874     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]                         \
5875     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr); \
5876                                                                         \
5877     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]                      \
5878     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr); \
5879                                                                         \
5880     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5881     void onbeforeactivate(VARIANT v);                                   \
5882                                                                         \
5883     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5884     VARIANT onbeforeactivate();                                         \
5885                                                                         \
5886     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5887     void onfocusin(VARIANT v);                                          \
5888                                                                         \
5889     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5890     VARIANT onfocusin();                                                \
5891                                                                         \
5892     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5893     void onfocusout(VARIANT v);                                         \
5894                                                                         \
5895     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5896     VARIANT onfocusout()
5897
5898 #define WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL                \
5899     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)]                 \
5900     IHTMLElement *querySelector([in] BSTR v);                   \
5901                                                                 \
5902     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)]              \
5903     IHTMLDOMChildrenCollection *querySelectorAll([in] BSTR v)
5904
5905 /*****************************************************************************
5906  *    IHTMLUniqueName interface
5907  */
5908 [
5909     odl,
5910     oleautomation,
5911     dual,
5912     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
5913 ]
5914 interface IHTMLUniqueName : IDispatch
5915 {
5916     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5917     HRESULT uniqueNumber([retval, out] LONG * p);
5918
5919     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5920     HRESULT uniqueID([retval, out] BSTR * p);
5921 }
5922
5923 #define WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL                 \
5924     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]  \
5925     LONG uniqueNumber();                                        \
5926                                                                 \
5927     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]      \
5928     BSTR uniqueID()
5929
5930 #define WINE_IHTMLELEMENT5_DISPINTERFACE_DECL                           \
5931     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)]                     \
5932     IHTMLDOMAttribute2 *ie8_getAttributeNode([in] BSTR bstrname);       \
5933                                                                         \
5934     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)]                     \
5935     IHTMLDOMAttribute2 *ie8_setAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5936                                                                         \
5937     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)]                  \
5938     IHTMLDOMAttribute2 *ie8_removeAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5939                                                                         \
5940     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)]                             \
5941     VARIANT_BOOL hasAttribute([in] BSTR name);                          \
5942                                                                         \
5943     [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5944     void role(BSTR v);                                                  \
5945                                                                         \
5946     [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5947     BSTR role();                                                        \
5948                                                                         \
5949     [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5950     void ariaBusy(BSTR v);                                              \
5951                                                                         \
5952     [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5953     BSTR ariaBusy();                                                    \
5954                                                                         \
5955     [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5956     void ariaChecked(BSTR v);                                           \
5957                                                                         \
5958     [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5959     BSTR ariaChecked();                                                 \
5960                                                                         \
5961     [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5962     void ariaDisabled(BSTR v);                                          \
5963                                                                         \
5964     [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5965     BSTR ariaDisabled();                                                \
5966                                                                         \
5967     [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5968     void ariaExpanded(BSTR v);                                          \
5969                                                                         \
5970     [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5971     BSTR ariaExpanded();                                                \
5972                                                                         \
5973     [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable]\
5974     void ariaHaspopup(BSTR v);                                          \
5975                                                                         \
5976     [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] \
5977     BSTR ariaHaspopup();                                                \
5978                                                                         \
5979     [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5980     void ariaHidden(BSTR v);                                            \
5981                                                                         \
5982     [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5983     BSTR ariaHidden();                                                  \
5984                                                                         \
5985     [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5986     void ariaInvalid(BSTR v);                                           \
5987                                                                         \
5988     [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5989     BSTR ariaInvalid();                                                 \
5990                                                                         \
5991     [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5992     void ariaMultiselectable(BSTR v);                                   \
5993                                                                         \
5994     [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5995     BSTR ariaMultiselectable();                                         \
5996                                                                         \
5997     [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5998     void ariaPressed(BSTR v);                                           \
5999                                                                         \
6000     [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
6001     BSTR ariaPressed();                                                 \
6002                                                                         \
6003     [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
6004     void ariaReadonly(BSTR v);                                          \
6005                                                                         \
6006     [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
6007     BSTR ariaReadonly();                                                \
6008                                                                         \
6009     [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
6010     void ariaRequired(BSTR v);                                          \
6011                                                                         \
6012     [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
6013     BSTR ariaRequired();                                                \
6014                                                                         \
6015     [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
6016     void ariaSecret(BSTR v);                                            \
6017                                                                         \
6018     [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
6019     BSTR ariaSecret();                                                  \
6020                                                                         \
6021     [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
6022     void ariaSelected(BSTR v);                                          \
6023                                                                         \
6024     [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
6025     BSTR ariaSelected();                                                \
6026                                                                         \
6027     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)]                         \
6028     VARIANT ie8_getAttribute([in] BSTR strAttributeName);               \
6029                                                                         \
6030     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)]                         \
6031     void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue); \
6032                                                                         \
6033     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)]                      \
6034     VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);       \
6035                                                                         \
6036     [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)]                  \
6037     IHTMLAttributeCollection3 *ie8_attributes();                        \
6038                                                                         \
6039     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
6040     void ariaValuenow(BSTR v);                                          \
6041                                                                         \
6042     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
6043     BSTR ariaValuenow();                                                \
6044                                                                         \
6045     [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
6046     void ariaPosinset(short v);                                         \
6047                                                                         \
6048     [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
6049     short ariaPosinset();                                               \
6050                                                                         \
6051     [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
6052     void ariaSetsize(short v);                                          \
6053                                                                         \
6054     [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
6055     short ariaSetsize();                                                \
6056                                                                         \
6057     [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
6058     void ariaLevel(short v);                                            \
6059                                                                         \
6060     [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
6061     short ariaLevel();                                                  \
6062                                                                         \
6063     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
6064     void ariaValuemin(BSTR v);                                          \
6065                                                                         \
6066     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
6067     BSTR ariaValuemin();                                                \
6068                                                                         \
6069     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
6070     void ariaValuemax(BSTR v);                                          \
6071                                                                         \
6072     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
6073     BSTR ariaValuemax();                                                \
6074                                                                         \
6075     [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
6076     void ariaControls(BSTR v);                                          \
6077                                                                         \
6078     [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
6079     BSTR ariaControls();                                                \
6080                                                                         \
6081     [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
6082     void ariaDescribedby(BSTR v);                                       \
6083                                                                         \
6084     [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
6085     BSTR ariaDescribedby();                                             \
6086                                                                         \
6087     [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
6088     void ariaFlowto(BSTR v);                                            \
6089                                                                         \
6090     [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
6091     BSTR ariaFlowto();                                                  \
6092                                                                         \
6093     [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
6094     void ariaLabelledby(BSTR v);                                        \
6095                                                                         \
6096     [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
6097     BSTR ariaLabelledby();                                              \
6098                                                                         \
6099     [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
6100     void ariaActivedescendant(BSTR v);                                  \
6101                                                                         \
6102     [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
6103     BSTR ariaActivedescendant();                                        \
6104                                                                         \
6105     [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
6106     void ariaOwns(BSTR v);                                              \
6107                                                                         \
6108     [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
6109     BSTR ariaOwns();                                                    \
6110                                                                         \
6111     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)]                            \
6112     VARIANT_BOOL hasAttributes();                                       \
6113                                                                         \
6114     [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
6115     void ariaLive(BSTR v);                                              \
6116                                                                         \
6117     [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
6118     BSTR ariaLive();                                                    \
6119                                                                         \
6120     [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
6121     void ariaRelevant(BSTR v);                                          \
6122                                                                         \
6123     [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
6124     BSTR ariaRelevant()
6125
6126 [
6127     odl,
6128     oleautomation,
6129     dual,
6130     uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
6131 ]
6132 interface IHTMLDatabinding : IDispatch
6133 {
6134     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6135     HRESULT dataFld([in] BSTR v);
6136
6137     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6138     HRESULT dataFld([retval, out] BSTR * p);
6139
6140     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6141     HRESULT dataSrc([in] BSTR v);
6142
6143     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6144     HRESULT dataSrc([retval, out] BSTR * p);
6145
6146     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6147     HRESULT dataFormatAs([in] BSTR v);
6148
6149     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6150     HRESULT dataFormatAs([retval, out] BSTR * p);
6151 }
6152
6153 #define WINE_IHTMLDATABINDING_DISPINTERFACE_DECL        \
6154     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
6155     void dataFld(BSTR v);                               \
6156                                                         \
6157     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
6158     BSTR dataFld();                                     \
6159                                                         \
6160     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
6161     void dataSrc(BSTR v);                               \
6162                                                         \
6163     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
6164     BSTR dataSrc();                                     \
6165                                                         \
6166     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
6167     void dataFormatAs(BSTR v);                          \
6168                                                         \
6169     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
6170     BSTR dataFormatAs()
6171
6172 #define WINE_HTMLELEMENT_DISPINTERFACE_DECL     \
6173     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
6174     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
6175     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
6176     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
6177     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
6178     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
6179     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
6180     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
6181
6182 #define WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL \
6183     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
6184     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
6185     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
6186     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
6187     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
6188     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
6189     WINE_IHTMLDATABINDING_DISPINTERFACE_DECL;   \
6190     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
6191     WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL;   \
6192     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
6193
6194 /*****************************************************************************
6195  *    IHTMLGenericElement interface
6196  */
6197 [
6198     odl,
6199     oleautomation,
6200     dual,
6201     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
6202 ]
6203 interface IHTMLGenericElement : IDispatch
6204 {
6205     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
6206     HRESULT recordset([out, retval] IDispatch **p);
6207
6208     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
6209     HRESULT namedRecordset(
6210             [in] BSTR dataMember,
6211             [in, optional] VARIANT *hierarchy,
6212             [out, retval] IDispatch **ppRecordset);
6213 }
6214
6215 /*****************************************************************************
6216  *    DispHTMLGenericElement dispinterface
6217  */
6218 [
6219     hidden,
6220     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
6221 ]
6222 dispinterface DispHTMLGenericElement
6223 {
6224 properties:
6225 methods:
6226     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6227
6228     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
6229     IDispatch *recordset();
6230
6231     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
6232     IDispatch *namedRecordset(
6233             [in] BSTR dataMember,
6234             [in, optional] VARIANT *hierarchy);
6235 }
6236
6237 /*****************************************************************************
6238  *    IHTMLStyleSheetRule interface
6239  */
6240 [
6241     odl,
6242     oleautomation,
6243     dual,
6244     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
6245 ]
6246 interface IHTMLStyleSheetRule : IDispatch
6247 {
6248     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6249     HRESULT selectorText([in] BSTR v);
6250
6251     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6252     HRESULT selectorText([retval, out] BSTR *p);
6253
6254     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
6255     HRESULT style([retval, out] IHTMLRuleStyle **p);
6256
6257     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
6258     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6259 }
6260
6261 [
6262     hidden,
6263     uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b)
6264 ]
6265 dispinterface DispHTMLStyleSheetRule
6266 {
6267 properties:
6268 methods:
6269     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6270     void selectorText(BSTR v);
6271
6272     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6273     BSTR selectorText();
6274
6275     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable]
6276     IHTMLRuleStyle* style();
6277
6278     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
6279     VARIANT_BOOL readOnly();
6280
6281     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6282 }
6283
6284 [
6285     noncreatable,
6286     uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b)
6287 ]
6288 coclass HTMLStyleSheetRule
6289 {
6290     [default]           dispinterface DispHTMLStyleSheetRule;
6291                         interface IHTMLStyleSheetRule;
6292                         interface IHTMLDOMConstructor;
6293 }
6294
6295 /*****************************************************************************
6296  *    IHTMLStyleSheetRulesCollection interface
6297  */
6298 [
6299     odl,
6300     oleautomation,
6301     dual,
6302     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
6303 ]
6304 interface IHTMLStyleSheetRulesCollection : IDispatch
6305 {
6306     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
6307     HRESULT length([retval, out] LONG *p);
6308
6309     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
6310     HRESULT item(
6311         [in] LONG index,
6312         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
6313 }
6314
6315 [
6316     hidden,
6317     uuid(3050f52f-98b5-11cf-bb82-00aa00bdce0b)
6318 ]
6319 dispinterface DispHTMLStyleSheetRulesCollection
6320 {
6321 properties:
6322 methods:
6323     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
6324     long length();
6325
6326     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
6327     IHTMLStyleSheetRule* item([in] long index);
6328
6329     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6330 }
6331
6332 [
6333     noncreatable,
6334     uuid(3050f3cd-98b5-11cf-bb82-00aa00bdce0b)
6335 ]
6336 coclass HTMLStyleSheetRulesCollection
6337 {
6338     [default]           dispinterface DispHTMLStyleSheetRulesCollection;
6339                         interface IHTMLStyleSheetRulesCollection;
6340                         interface IHTMLDOMConstructor;
6341 }
6342
6343 [
6344     odl,
6345     oleautomation,
6346     dual,
6347     uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
6348 ]
6349 interface IHTMLStyleSheetPage : IDispatch
6350 {
6351     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
6352     HRESULT selector([retval, out] BSTR *p);
6353
6354     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
6355     HRESULT pseudoClass([retval, out] BSTR *p);
6356 }
6357
6358 [
6359     hidden,
6360     uuid(3050f540-98b5-11cf-bb82-00aa00bdce0b)
6361 ]
6362 dispinterface DispHTMLStyleSheetPage
6363 {
6364 properties:
6365 methods:
6366     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
6367     BSTR selector();
6368
6369     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
6370     BSTR pseudoClass();
6371
6372     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6373 }
6374 [
6375     noncreatable,
6376     uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b)
6377 ]
6378 coclass HTMLStyleSheetPage
6379 {
6380     [default]           dispinterface DispHTMLStyleSheetPage;
6381                         interface IHTMLStyleSheetPage;
6382                         interface IHTMLDOMConstructor;
6383 }
6384
6385 [
6386     odl,
6387     oleautomation,
6388     dual,
6389     uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
6390 ]
6391 interface IHTMLStyleSheetPagesCollection : IDispatch
6392 {
6393     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6394     HRESULT length([retval, out] LONG *p);
6395
6396     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6397     HRESULT item(
6398         [in] LONG index,
6399         [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
6400 }
6401
6402 [
6403     hidden,
6404     uuid(3050f543-98b5-11cf-bb82-00aa00bdce0b)
6405 ]
6406 dispinterface DispHTMLStyleSheetPagesCollection
6407 {
6408 properties:
6409 methods:
6410     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6411     long length();
6412
6413     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6414     IHTMLStyleSheetPage* item([in] long index);
6415
6416     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6417 }
6418
6419 [
6420     noncreatable,
6421     uuid(3050f7f1-98b5-11cf-bb82-00aa00bdce0b)
6422 ]
6423 coclass HTMLStyleSheetPagesCollection
6424 {
6425     [default]           dispinterface DispHTMLStyleSheetPagesCollection;
6426                         interface IHTMLStyleSheetPagesCollection;
6427                         interface IHTMLDOMConstructor;
6428 }
6429
6430 /*****************************************************************************
6431  *    IHTMLStyleSheet interface
6432  */
6433 [
6434     odl,
6435     oleautomation,
6436     dual,
6437     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
6438 ]
6439 interface IHTMLStyleSheet : IDispatch
6440 {
6441     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6442     HRESULT title([in] BSTR v);
6443
6444     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6445     HRESULT title([retval, out] BSTR *p);
6446
6447     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6448     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
6449
6450     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6451     HRESULT owningElement([retval, out] IHTMLElement **p);
6452
6453     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6454     HRESULT disabled([in] VARIANT_BOOL v);
6455
6456     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6457     HRESULT disabled([retval, out] VARIANT_BOOL *p);
6458
6459     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6460     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6461
6462     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6463     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
6464
6465     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6466     HRESULT href([in] BSTR v);
6467
6468     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6469     HRESULT href([retval, out] BSTR *p);
6470
6471     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6472     HRESULT type([retval, out] BSTR *p);
6473
6474     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6475     HRESULT id([retval, out] BSTR *p);
6476
6477     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6478     HRESULT addImport(
6479         [in] BSTR bstrURL,
6480         [defaultvalue(-1), in] LONG lIndex,
6481         [retval, out] LONG *plIndex);
6482
6483     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6484     HRESULT addRule(
6485         [in] BSTR bstrSelector,
6486         [in] BSTR bstrStyle,
6487         [defaultvalue(-1), in] LONG lIndex,
6488         [retval, out] LONG *plNewIndex);
6489
6490     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6491     HRESULT removeImport([in] LONG lIndex);
6492
6493     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6494     HRESULT removeRule([in] LONG lIndex);
6495
6496     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6497     HRESULT media([in] BSTR v);
6498
6499     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6500     HRESULT media([retval, out] BSTR *p);
6501
6502     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6503     HRESULT cssText([in] BSTR v);
6504
6505     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6506     HRESULT cssText([retval, out] BSTR *p);
6507
6508     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6509     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
6510 }
6511
6512 /*****************************************************************************
6513  *    IHTMLStyleSheet2 interface
6514  */
6515 [
6516     odl,
6517     oleautomation,
6518     dual,
6519     uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
6520 ]
6521 interface IHTMLStyleSheet2 : IDispatch
6522 {
6523     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6524     HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
6525
6526     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6527     HRESULT addPageRule(
6528         [in] BSTR bstrSelector,
6529         [in] BSTR bstrStyle,
6530         [defaultvalue(-1), in] LONG lIndex,
6531         [retval, out] LONG *plNewIndex);
6532 }
6533
6534 [
6535     hidden,
6536     uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
6537 ]
6538 dispinterface DispHTMLStyleSheet
6539 {
6540 properties:
6541 methods:
6542     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6543     void title(BSTR v);
6544
6545     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6546     BSTR title();
6547
6548     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6549     IHTMLStyleSheet* parentStyleSheet();
6550
6551     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6552     IHTMLElement* owningElement();
6553
6554     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6555     void disabled(VARIANT_BOOL v);
6556
6557     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6558     VARIANT_BOOL disabled();
6559
6560     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6561     VARIANT_BOOL readOnly();
6562
6563     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6564     IHTMLStyleSheetsCollection* imports();
6565
6566     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6567     void href(BSTR v);
6568
6569     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6570     BSTR href();
6571
6572     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6573     BSTR type();
6574
6575     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6576     BSTR id();
6577
6578     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6579     LONG addImport(
6580         [in] BSTR bstrURL,
6581         [defaultvalue(-1), in] LONG lIndex);
6582
6583     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6584     LONG addRule(
6585         [in] BSTR bstrSelector,
6586         [in] BSTR bstrStyle,
6587         [defaultvalue(-1), in] LONG lIndex);
6588
6589     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6590     void removeImport([in] LONG lIndex);
6591
6592     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6593     void removeRule([in] LONG lIndex);
6594
6595     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6596     void media(BSTR v);
6597
6598     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6599     BSTR media();
6600
6601     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6602     void cssText(BSTR v);
6603
6604     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6605     BSTR cssText();
6606
6607     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6608     IHTMLStyleSheetRulesCollection* rules();
6609
6610     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6611     IHTMLStyleSheetPagesCollection* pages();
6612
6613     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6614     LONG addPageRule(
6615         [in] BSTR bstrSelector,
6616         [in] BSTR bstrStyle,
6617         [defaultvalue(-1), in] LONG lIndex);
6618 }
6619
6620 [
6621     noncreatable,
6622     uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
6623 ]
6624 coclass HTMLStyleSheet
6625 {
6626     [default]           dispinterface DispHTMLStyleSheet;
6627                         interface IHTMLStyleSheet;
6628                         interface IHTMLStyleSheet2;
6629 }
6630
6631 /*****************************************************************************
6632  *    IHTMLStyleSheetsCollection interface
6633  */
6634 [
6635     odl,
6636     oleautomation,
6637     dual,
6638     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
6639 ]
6640 interface IHTMLStyleSheetsCollection : IDispatch
6641 {
6642     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6643     HRESULT length([retval, out] LONG *p);
6644
6645     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
6646     HRESULT _newEnum([retval, out] IUnknown **p);
6647
6648     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6649     HRESULT item(
6650         [in] VARIANT *pvarIndex,
6651         [retval, out] VARIANT *pvarResult);
6652 }
6653
6654 /*****************************************************************************
6655  *    DispHTMLStyleSheetsCollection dispinterface
6656  */
6657 [
6658     hidden,
6659     uuid(3050f547-98b5-11cf-bb82-00aa00bdce0b)
6660 ]
6661 dispinterface DispHTMLStyleSheetsCollection
6662 {
6663 properties:
6664 methods:
6665     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6666     long length();
6667
6668     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM), hidden, restricted]
6669     IUnknown *_newEnum();
6670
6671     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6672     VARIANT item([in] VARIANT *pvarIndex);
6673
6674     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
6675     IDispatch *constructor();
6676 }
6677
6678 /*****************************************************************************
6679  *    IHTMLTxtRange interface
6680  */
6681 [
6682     odl,
6683     oleautomation,
6684     dual,
6685     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
6686 ]
6687 interface IHTMLTxtRange : IDispatch
6688 {
6689     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
6690     HRESULT htmlText([retval, out] BSTR *p);
6691
6692     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
6693     HRESULT text([in] BSTR v);
6694
6695     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
6696     HRESULT text([retval, out] BSTR *p);
6697
6698     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
6699     HRESULT parentElement([retval, out] IHTMLElement **parent);
6700
6701     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
6702     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
6703
6704     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
6705     HRESULT inRange(
6706         [in] IHTMLTxtRange *Range,
6707         [retval, out] VARIANT_BOOL *InRange);
6708
6709     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
6710     HRESULT isEqual(
6711         [in] IHTMLTxtRange *Range,
6712         [retval, out] VARIANT_BOOL *IsEqual);
6713
6714     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
6715     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
6716
6717     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
6718     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
6719
6720     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
6721     HRESULT expand(
6722         [in] BSTR Unit,
6723         [retval, out] VARIANT_BOOL *Success);
6724
6725     [id(DISPID_IHTMLTXTRANGE_MOVE)]
6726     HRESULT move(
6727         [in] BSTR Unit,
6728         [defaultvalue(1), in] LONG Count,
6729         [retval, out] LONG *ActualCount);
6730
6731     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
6732     HRESULT moveStart(
6733         [in] BSTR Unit,
6734         [defaultvalue(1), in] LONG Count,
6735         [retval, out] LONG *ActualCount);
6736
6737     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
6738     HRESULT moveEnd(
6739         [in] BSTR Unit,
6740         [defaultvalue(1), in] LONG Count,
6741         [retval, out] LONG *ActualCount);
6742
6743     [id(DISPID_IHTMLTXTRANGE_SELECT)]
6744     HRESULT select();
6745
6746     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
6747     HRESULT pasteHTML([in] BSTR html);
6748
6749     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
6750     HRESULT moveToElementText([in] IHTMLElement *element);
6751
6752     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
6753     HRESULT setEndPoint(
6754         [in] BSTR how,
6755         [in] IHTMLTxtRange *SourceRange);
6756
6757     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
6758     HRESULT compareEndPoints(
6759         [in] BSTR how,
6760         [in] IHTMLTxtRange *SourceRange,
6761         [retval, out] LONG *ret);
6762
6763     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
6764     HRESULT findText(
6765         [in] BSTR String,
6766         [defaultvalue(1073741823), in] LONG count,
6767         [defaultvalue(0), in] LONG Flags,
6768         [retval, out] VARIANT_BOOL *Success);
6769
6770     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
6771     HRESULT moveToPoint(
6772         [in] LONG x,
6773         [in] LONG y);
6774
6775     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
6776     HRESULT getBookmark([retval, out] BSTR *Boolmark);
6777
6778     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
6779     HRESULT moveToBookmark(
6780         [in] BSTR Bookmark,
6781         [retval, out] VARIANT_BOOL *Success);
6782
6783     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
6784     HRESULT queryCommandSupported(
6785         [in] BSTR cmdID,
6786         [retval, out] VARIANT_BOOL *pfRet);
6787
6788     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
6789     HRESULT queryCommandEnabled(
6790         [in] BSTR cmdID,
6791         [retval, out] VARIANT_BOOL *pfRet);
6792
6793     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
6794     HRESULT queryCommandState(
6795         [in] BSTR cmdID,
6796         [retval, out] VARIANT_BOOL *pfRet);
6797
6798     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
6799     HRESULT queryCommandIndeterm(
6800         [in] BSTR cmdID,
6801         [retval, out] VARIANT_BOOL *pfRet);
6802
6803     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
6804     HRESULT queryCommandText(
6805         [in] BSTR cmdID,
6806         [retval, out] BSTR *pcmdText);
6807
6808     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
6809     HRESULT queryCommandValue(
6810         [in] BSTR cmdID,
6811         [retval, out] VARIANT *pcmdValue);
6812
6813     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
6814     HRESULT execCommand(
6815         [in] BSTR cmdID,
6816         [defaultvalue(0), in] VARIANT_BOOL showUI,
6817         [optional, in] VARIANT value,
6818         [retval, out] VARIANT_BOOL *pfRet);
6819
6820     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
6821     HRESULT execCommandShowHelp(
6822         [in] BSTR cmdID,
6823         [retval, out] VARIANT_BOOL *pfRet);
6824 }
6825
6826 [
6827     noncreatable,
6828     uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
6829 ]
6830 coclass HTMLStyleSheetsCollection
6831 {
6832     [default]           interface IHTMLStyleSheetsCollection;
6833 }
6834
6835 /*****************************************************************************
6836  *    IHTMLFormElement interface
6837  */
6838 [
6839     odl,
6840     oleautomation,
6841     dual,
6842     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
6843 ]
6844 interface IHTMLFormElement : IDispatch
6845 {
6846     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6847     HRESULT action([in] BSTR v);
6848
6849     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6850     HRESULT action([retval, out] BSTR *p);
6851
6852     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
6853     HRESULT dir([in] BSTR v);
6854
6855     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
6856     HRESULT dir([retval, out] BSTR *p);
6857
6858     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6859     HRESULT encoding([in] BSTR v);
6860
6861     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6862     HRESULT encoding([retval, out] BSTR *p);
6863
6864     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6865     HRESULT method([in] BSTR v);
6866
6867     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6868     HRESULT method([retval, out] BSTR *p);
6869
6870     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6871     HRESULT elements([retval, out] IDispatch **p);
6872
6873     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6874     HRESULT target([in] BSTR v);
6875
6876     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6877     HRESULT target([retval, out] BSTR *p);
6878
6879     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6880     HRESULT name([in] BSTR v);
6881
6882     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6883     HRESULT name([retval, out] BSTR *p);
6884
6885     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6886     HRESULT onsubmit([in] VARIANT v);
6887
6888     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6889     HRESULT onsubmit([retval, out] VARIANT *p);
6890
6891     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6892     HRESULT onreset([in] VARIANT v);
6893
6894     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6895     HRESULT onreset([retval, out] VARIANT *p);
6896
6897     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6898     HRESULT submit();
6899
6900     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6901     HRESULT reset();
6902
6903     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6904     HRESULT length([in] LONG v);
6905
6906     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6907     HRESULT length([retval, out] LONG *p);
6908
6909     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
6910     HRESULT _newEnum([retval, out] IUnknown **p);
6911
6912     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6913     HRESULT item(
6914         [optional, in] VARIANT name,
6915         [optional, in] VARIANT index,
6916         [retval, out] IDispatch **pdisp);
6917
6918     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6919     HRESULT tags(
6920         [in] VARIANT tagName,
6921         [retval, out] IDispatch **pdisp);
6922 }
6923
6924 /*****************************************************************************
6925  *    DispHTMLFormElement dispinterface
6926  */
6927 [
6928     hidden,
6929     uuid(3050F510-98B5-11CF-BB82-00AA00BDCE0B)
6930 ]
6931 dispinterface DispHTMLFormElement
6932 {
6933 properties:
6934 methods:
6935     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6936
6937     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6938     void action(BSTR v);
6939
6940     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6941     BSTR action();
6942
6943     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6944     void encoding(BSTR v);
6945
6946     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6947     BSTR encoding();
6948
6949     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6950     void method(BSTR v);
6951
6952     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6953     BSTR method();
6954
6955     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6956     IDispatch *elements();
6957
6958     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6959     void target(BSTR v);
6960
6961     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6962     BSTR target();
6963
6964     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6965     void name(BSTR v);
6966
6967     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6968     BSTR name();
6969
6970     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6971     void onsubmit(VARIANT v);
6972
6973     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6974     VARIANT onsubmit();
6975
6976     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6977     void onreset(VARIANT v);
6978
6979     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6980     VARIANT onreset();
6981
6982     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6983     void submit();
6984
6985     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6986     void reset();
6987
6988     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6989     void length(long v);
6990
6991     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6992     long length();
6993
6994     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM), hidden, restricted]
6995     IUnknown *_newEnum();
6996
6997     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6998     IDispatch *item(VARIANT name, VARIANT index);
6999
7000     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
7001     IDispatch *tags(VARIANT tagName);
7002 }
7003
7004 [
7005     hidden,
7006     uuid(3050F364-98B5-11CF-BB82-00AA00BDCE0B)
7007 ]
7008 dispinterface HTMLFormElementEvents
7009 {
7010 properties:
7011 methods:
7012     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
7013     VARIANT_BOOL onhelp();
7014
7015     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
7016     VARIANT_BOOL onclick();
7017
7018     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
7019     VARIANT_BOOL ondblclick();
7020
7021     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
7022     VARIANT_BOOL onkeypress();
7023
7024     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
7025     void onkeydown();
7026
7027     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
7028     void onkeyup();
7029
7030     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
7031     void onmouseout();
7032
7033     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
7034     void onmouseover();
7035
7036     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
7037     void onmousemove();
7038
7039     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
7040     void onmousedown();
7041
7042     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
7043     void onmouseup();
7044
7045     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
7046     VARIANT_BOOL onselectstart();
7047
7048     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
7049     void onfilterchange();
7050
7051     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
7052     VARIANT_BOOL ondragstart();
7053
7054     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
7055     VARIANT_BOOL onbeforeupdate();
7056
7057     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
7058     void onafterupdate();
7059
7060     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
7061     VARIANT_BOOL onerrorupdate();
7062
7063     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
7064     VARIANT_BOOL onrowexit();
7065
7066     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
7067     void onrowenter();
7068
7069     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
7070     void ondatasetchanged();
7071
7072     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
7073     void ondataavailable();
7074
7075     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
7076     void ondatasetcomplete();
7077
7078     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
7079     void onlosecapture();
7080
7081     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
7082     void onpropertychange();
7083
7084     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
7085     void onscroll();
7086
7087     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
7088     void onfocus();
7089
7090     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
7091     void onblur();
7092
7093     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
7094     void onresize();
7095
7096     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
7097     VARIANT_BOOL ondrag();
7098
7099     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
7100     void ondragend();
7101
7102     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
7103     VARIANT_BOOL ondragenter();
7104
7105     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
7106     VARIANT_BOOL ondragover();
7107
7108     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
7109     void ondragleave();
7110
7111     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
7112     VARIANT_BOOL ondrop();
7113
7114     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
7115     VARIANT_BOOL onbeforecut();
7116
7117     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
7118     VARIANT_BOOL oncut();
7119
7120     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
7121     VARIANT_BOOL onbeforecopy();
7122
7123     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
7124     VARIANT_BOOL oncopy();
7125
7126     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
7127     VARIANT_BOOL onbeforepaste();
7128
7129     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
7130     VARIANT_BOOL onpaste();
7131
7132     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
7133     VARIANT_BOOL oncontextmenu();
7134
7135     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
7136     void onrowsdelete();
7137
7138     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
7139     void onrowsinserted();
7140
7141     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
7142     void oncellchange();
7143
7144     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
7145     void onreadystatechange();
7146
7147     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
7148     void onbeforeeditfocus();
7149
7150     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
7151     void onlayoutcomplete();
7152
7153     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
7154     void onpage();
7155
7156     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
7157     VARIANT_BOOL onbeforedeactivate();
7158
7159     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
7160     VARIANT_BOOL onbeforeactivate();
7161
7162     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
7163     void onmove();
7164
7165     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
7166     VARIANT_BOOL oncontrolselect();
7167
7168     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
7169     VARIANT_BOOL onmovestart();
7170
7171     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
7172     void onmoveend();
7173
7174     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
7175     VARIANT_BOOL onresizestart();
7176
7177     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
7178     void onresizeend();
7179
7180     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
7181     void onmouseenter();
7182
7183     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
7184     void onmouseleave();
7185
7186     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
7187     VARIANT_BOOL onmousewheel();
7188
7189     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
7190     void onactivate();
7191
7192     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
7193     void ondeactivate();
7194
7195     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
7196     void onfocusin();
7197
7198     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
7199     void onfocusout();
7200
7201     [id(DISPID_HTMLFORMELEMENTEVENTS_ONSUBMIT)]
7202     VARIANT_BOOL onsubmit();
7203
7204     [id(DISPID_HTMLFORMELEMENTEVENTS_ONRESET)]
7205     VARIANT_BOOL onreset();
7206 }
7207
7208 interface IHTMLEventObj;
7209
7210 [
7211     hidden,
7212     uuid(3050F614-98B5-11CF-BB82-00AA00BDCE0B)
7213 ]
7214 dispinterface HTMLFormElementEvents2
7215 {
7216 properties:
7217 methods:
7218     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
7219     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
7220
7221     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
7222     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
7223
7224     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
7225     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
7226
7227     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
7228     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
7229
7230     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
7231     void onkeydown([in] IHTMLEventObj* pEvtObj);
7232
7233     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
7234     void onkeyup([in] IHTMLEventObj* pEvtObj);
7235
7236     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
7237     void onmouseout([in] IHTMLEventObj* pEvtObj);
7238
7239     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
7240     void onmouseover([in] IHTMLEventObj* pEvtObj);
7241
7242     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
7243     void onmousemove([in] IHTMLEventObj* pEvtObj);
7244
7245     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
7246     void onmousedown([in] IHTMLEventObj* pEvtObj);
7247
7248     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
7249     void onmouseup([in] IHTMLEventObj* pEvtObj);
7250
7251     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
7252     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
7253
7254     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
7255     void onfilterchange([in] IHTMLEventObj* pEvtObj);
7256
7257     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
7258     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
7259
7260     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
7261     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
7262
7263     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
7264     void onafterupdate([in] IHTMLEventObj* pEvtObj);
7265
7266     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
7267     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
7268
7269     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
7270     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
7271
7272     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
7273     void onrowenter([in] IHTMLEventObj* pEvtObj);
7274
7275     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
7276     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
7277
7278     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
7279     void ondataavailable([in] IHTMLEventObj* pEvtObj);
7280
7281     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
7282     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
7283
7284     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
7285     void onlosecapture([in] IHTMLEventObj* pEvtObj);
7286
7287     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
7288     void onpropertychange([in] IHTMLEventObj* pEvtObj);
7289
7290     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
7291     void onscroll([in] IHTMLEventObj* pEvtObj);
7292
7293     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
7294     void onfocus([in] IHTMLEventObj* pEvtObj);
7295
7296     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
7297     void onblur([in] IHTMLEventObj* pEvtObj);
7298
7299     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
7300     void onresize([in] IHTMLEventObj* pEvtObj);
7301
7302     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
7303     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
7304
7305     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
7306     void ondragend([in] IHTMLEventObj* pEvtObj);
7307
7308     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
7309     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
7310
7311     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
7312     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
7313
7314     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
7315     void ondragleave([in] IHTMLEventObj* pEvtObj);
7316
7317     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
7318     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
7319
7320     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
7321     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
7322
7323     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
7324     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
7325
7326     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
7327     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
7328
7329     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
7330     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
7331
7332     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
7333     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
7334
7335     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
7336     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
7337
7338     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
7339     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
7340
7341     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
7342     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
7343
7344     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
7345     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
7346
7347     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
7348     void oncellchange([in] IHTMLEventObj* pEvtObj);
7349
7350     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
7351     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
7352
7353     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
7354     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
7355
7356     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
7357     void onpage([in] IHTMLEventObj* pEvtObj);
7358
7359     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
7360     void onmouseenter([in] IHTMLEventObj* pEvtObj);
7361
7362     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
7363     void onmouseleave([in] IHTMLEventObj* pEvtObj);
7364
7365     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
7366     void onactivate([in] IHTMLEventObj* pEvtObj);
7367
7368     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
7369     void ondeactivate([in] IHTMLEventObj* pEvtObj);
7370
7371     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
7372     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
7373
7374     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
7375     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
7376
7377     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
7378     void onfocusin([in] IHTMLEventObj* pEvtObj);
7379
7380     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
7381     void onfocusout([in] IHTMLEventObj* pEvtObj);
7382
7383     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
7384     void onmove([in] IHTMLEventObj* pEvtObj);
7385
7386     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
7387     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
7388
7389     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
7390     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
7391
7392     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
7393     void onmoveend([in] IHTMLEventObj* pEvtObj);
7394
7395     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
7396     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
7397
7398     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
7399     void onresizeend([in] IHTMLEventObj* pEvtObj);
7400
7401     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
7402     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
7403
7404     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONSUBMIT)]
7405     VARIANT_BOOL onsubmit([in] IHTMLEventObj* pEvtObj);
7406
7407     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONRESET)]
7408     VARIANT_BOOL onreset([in] IHTMLEventObj* pEvtObj);
7409 }
7410
7411 [
7412     noncreatable,
7413     uuid(3050F24D-98B5-11CF-BB82-00AA00BDCE0B)
7414 ]
7415 coclass HTMLFormElement
7416 {
7417     [default]           dispinterface DispHTMLFormElement;
7418     [source, default]   dispinterface HTMLFormElementEvents;
7419     [source]            dispinterface HTMLFormElementEvents2;
7420                         interface IHTMLElement;
7421                         interface IHTMLElement2;
7422                         interface IHTMLElement3;
7423                         interface IHTMLElement4;
7424                         interface IHTMLUniqueName;
7425                         interface IHTMLDOMNode;
7426                         interface IHTMLDOMNode2;
7427                         interface IHTMLDOMConstructor;
7428                         interface IHTMLFormElement;
7429 }
7430
7431 /*****************************************************************************
7432  *    IHTMLTextContainer interface
7433  */
7434 [
7435     odl,
7436     oleautomation,
7437     dual,
7438     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
7439 ]
7440 interface IHTMLTextContainer : IDispatch
7441 {
7442     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
7443     HRESULT createControlRange([retval, out] IDispatch **range);
7444
7445     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
7446     HRESULT scrollHeight([retval, out] LONG *p);
7447
7448     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
7449     HRESULT scrollWidth([retval, out] LONG *p);
7450
7451     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7452     HRESULT scrollTop([in] LONG v);
7453
7454     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7455     HRESULT scrollTop([retval, out] LONG *p);
7456
7457     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7458     HRESULT scrollLeft([in] LONG v);
7459
7460     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7461     HRESULT scrollLeft([retval, out] LONG *p);
7462
7463     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7464     HRESULT onscroll([in] VARIANT v);
7465
7466     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7467     HRESULT onscroll([retval, out] VARIANT *p);
7468 }
7469
7470 /*****************************************************************************
7471  *    IHTMLImgElement interface
7472  */
7473 [
7474     odl,
7475     oleautomation,
7476     dual,
7477     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
7478 ]
7479 interface IHTMLImgElement : IDispatch
7480 {
7481     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7482     HRESULT isMap([in] VARIANT_BOOL v);
7483
7484     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7485     HRESULT isMap([retval, out] VARIANT_BOOL *p);
7486
7487     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7488     HRESULT useMap([in] BSTR v);
7489
7490     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7491     HRESULT useMap([retval, out] BSTR *p);
7492
7493     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7494     HRESULT mimeType([retval, out] BSTR *p);
7495
7496     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7497     HRESULT fileSize([retval, out] BSTR *p);
7498
7499     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7500     HRESULT fileCreatedDate([retval, out] BSTR *p);
7501
7502     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7503     HRESULT fileModifiedDate([retval, out] BSTR *p);
7504
7505     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7506     HRESULT fileUpdatedDate([retval, out] BSTR *p);
7507
7508     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7509     HRESULT protocol([retval, out] BSTR *p);
7510
7511     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7512     HRESULT href([retval, out] BSTR *p);
7513
7514     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7515     HRESULT nameProp([retval, out] BSTR *p);
7516
7517     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7518     HRESULT border([in] VARIANT v);
7519
7520     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7521     HRESULT border([retval, out] VARIANT *p);
7522
7523     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7524     HRESULT vspace([in] LONG v);
7525
7526     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7527     HRESULT vspace([retval, out] LONG *p);
7528
7529     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7530     HRESULT hspace([in] LONG v);
7531
7532     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7533     HRESULT hspace([retval, out] LONG *p);
7534
7535     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
7536     HRESULT alt([in] BSTR v);
7537
7538     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
7539     HRESULT alt([retval, out] BSTR *p);
7540
7541     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
7542     HRESULT src([in] BSTR v);
7543
7544     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
7545     HRESULT src([retval, out] BSTR *p);
7546
7547     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7548     HRESULT lowsrc([in] BSTR v);
7549
7550     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7551     HRESULT lowsrc([retval, out] BSTR *p);
7552
7553     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
7554     HRESULT vrml([in] BSTR v);
7555
7556     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
7557     HRESULT vrml([retval, out] BSTR *p);
7558
7559     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7560     HRESULT dynsrc([in] BSTR v);
7561
7562     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7563     HRESULT dynsrc([retval, out] BSTR *p);
7564
7565     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
7566     HRESULT readyState([retval, out] BSTR *p);
7567
7568     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7569     HRESULT complete([retval, out] VARIANT_BOOL *p);
7570
7571     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7572     HRESULT loop([in] VARIANT v);
7573
7574     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7575     HRESULT loop([retval, out] VARIANT *p);
7576
7577     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7578     HRESULT align([in] BSTR v);
7579
7580     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7581     HRESULT align([retval, out] BSTR *p);
7582
7583     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7584     HRESULT onload([in] VARIANT v);
7585
7586     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7587     HRESULT onload([retval, out] VARIANT *p);
7588
7589     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7590     HRESULT onerror([in] VARIANT v);
7591
7592     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7593     HRESULT onerror([retval, out] VARIANT *p);
7594
7595     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7596     HRESULT onabort([in] VARIANT v);
7597
7598     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7599     HRESULT onabort([retval, out] VARIANT *p);
7600
7601     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
7602     HRESULT name([in] BSTR v);
7603
7604     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
7605     HRESULT name([retval, out] BSTR *p);
7606
7607     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7608     HRESULT width([in] LONG v);
7609
7610     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7611     HRESULT width([retval, out] LONG *p);
7612
7613     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7614     HRESULT height([in] LONG v);
7615
7616     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7617     HRESULT height([retval, out] LONG *p);
7618
7619     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
7620     HRESULT start([in] BSTR v);
7621
7622     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
7623     HRESULT start([retval, out] BSTR *p);
7624 }
7625
7626 /*****************************************************************************
7627  *    IHTMLImageElementFactory interface
7628  */
7629 [
7630     odl,
7631     oleautomation,
7632     dual,
7633     uuid(3050F38E-98B5-11CF-BB82-00AA00BDCE0B)
7634 ]
7635 interface IHTMLImageElementFactory : IDispatch
7636 {
7637     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
7638     HRESULT create(
7639         [optional, in] VARIANT width,
7640         [optional, in] VARIANT height,
7641         [retval, out]  IHTMLImgElement **elem);
7642 }
7643
7644 /*****************************************************************************
7645  *    DispHTMLImg interface
7646  */
7647 [
7648     hidden,
7649     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
7650 ]
7651 dispinterface DispHTMLImg
7652 {
7653 properties:
7654 methods:
7655     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7656
7657     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7658     void isMap(VARIANT_BOOL v);
7659
7660     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7661     VARIANT_BOOL isMap();
7662
7663     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7664     void useMap(BSTR v);
7665
7666     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7667     BSTR useMap();
7668
7669     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7670     BSTR mimeType();
7671
7672     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7673     BSTR fileSize();
7674
7675     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7676     BSTR fileCreatedDate();
7677
7678     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7679     BSTR fileModifiedDate();
7680
7681     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7682     BSTR fileUpdatedDate();
7683
7684     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7685     BSTR protocol();
7686
7687     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7688     BSTR href();
7689
7690     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7691     BSTR nameProp();
7692
7693     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7694     void border(VARIANT v);
7695
7696     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7697     VARIANT border();
7698
7699     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7700     void vspace(LONG v);
7701
7702     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7703     LONG vspace();
7704
7705     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7706     void hspace(LONG v);
7707
7708     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7709     LONG hspace();
7710
7711     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7712     void alt(BSTR v);
7713
7714     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7715     BSTR alt();
7716
7717     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7718     void src(BSTR v);
7719
7720     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7721     BSTR src();
7722
7723     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7724     void lowsrc(BSTR v);
7725
7726     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7727     BSTR lowsrc();
7728
7729     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7730     void vrml(BSTR v);
7731
7732     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7733     BSTR vrml();
7734
7735     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7736     void dynsrc(BSTR v);
7737
7738     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7739     BSTR dynsrc();
7740
7741     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7742     VARIANT_BOOL complete();
7743
7744     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7745     void loop(VARIANT v);
7746
7747     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7748     VARIANT loop();
7749
7750     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7751     void align(BSTR v);
7752
7753     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7754     BSTR align();
7755
7756     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7757     void onload(VARIANT v);
7758
7759     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7760     VARIANT onload();
7761
7762     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7763     void onerror(VARIANT v);
7764
7765     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7766     VARIANT onerror();
7767
7768     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7769     void onabort(VARIANT v);
7770
7771     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7772     VARIANT onabort();
7773
7774     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7775     void name(BSTR v);
7776
7777     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7778     BSTR name();
7779
7780     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7781     void width(LONG v);
7782
7783     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7784     LONG width();
7785
7786     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7787     void height(LONG v);
7788
7789     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7790     LONG height();
7791
7792     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7793     void start(BSTR v);
7794
7795     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7796     BSTR start();
7797
7798     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7799     void longDesc(BSTR v);
7800
7801     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7802     BSTR longDesc();
7803 }
7804
7805 /*****************************************************************************
7806  *    IHTMLXMLHttpRequest interface
7807  */
7808 [
7809     odl,
7810     oleautomation,
7811     dual,
7812     uuid(3051040a-98b5-11cf-bb82-00aa00bdce0b)
7813 ]
7814 interface IHTMLXMLHttpRequest : IDispatch
7815 {
7816     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_READYSTATE)]
7817     HRESULT readyState([out, retval] long *p);
7818
7819     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEBODY)]
7820     HRESULT responseBody([out, retval] VARIANT *p);
7821
7822     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSETEXT)]
7823     HRESULT responseText([out, retval] BSTR *p);
7824
7825     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEXML)]
7826     HRESULT responseXML([out, retval] IDispatch **p);
7827
7828     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUS)]
7829     HRESULT status([out, retval] long *p);
7830
7831     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUSTEXT)]
7832     HRESULT statusText([out, retval] BSTR *p);
7833
7834     [propput, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable]
7835     HRESULT onreadystatechange([in] VARIANT v);
7836
7837     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable]
7838     HRESULT onreadystatechange([out, retval] VARIANT *p);
7839
7840     [id(DISPID_IHTMLXMLHTTPREQUEST_ABORT)] HRESULT abort();
7841
7842     [id(DISPID_IHTMLXMLHTTPREQUEST_OPEN)]
7843     HRESULT open(
7844             [in] BSTR bstrMethod,
7845             [in] BSTR bstrUrl,
7846             [in] VARIANT varAsync,
7847             [in, optional] VARIANT varUser,
7848             [in, optional] VARIANT varPassword);
7849
7850     [id(DISPID_IHTMLXMLHTTPREQUEST_SEND)]
7851     HRESULT send([in, optional] VARIANT varBody);
7852
7853     [id(DISPID_IHTMLXMLHTTPREQUEST_GETALLRESPONSEHEADERS)]
7854     HRESULT getAllResponseHeaders([out, retval] BSTR *p);
7855
7856     [id(DISPID_IHTMLXMLHTTPREQUEST_GETRESPONSEHEADER)]
7857     HRESULT getResponseHeader(
7858             [in] BSTR bstrHeader,
7859             [out, retval] BSTR *p);
7860
7861     [id(DISPID_IHTMLXMLHTTPREQUEST_SETREQUESTHEADER)]
7862     HRESULT setRequestHeader(
7863             [in] BSTR bstrHeader,
7864             [in] BSTR bstrValue);
7865 }
7866
7867 /*****************************************************************************
7868  *    IHTMLXMLHttpRequest2 interface
7869  */
7870 [
7871     odl,
7872     oleautomation,
7873     dual,
7874     uuid(30510482-98b5-11cf-bb82-00aa00bdce0b)
7875 ]
7876 interface IHTMLXMLHttpRequest2 : IDispatch
7877 {
7878     [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)]
7879     HRESULT timeout([in] long v);
7880
7881     [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)]
7882     HRESULT timeout([out, retval] long *p);
7883
7884     [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable]
7885     HRESULT ontimeout([in] VARIANT v);
7886
7887     [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable]
7888     HRESULT ontimeout([out, retval] VARIANT *p);
7889 }
7890
7891 /*****************************************************************************
7892  *    IHTMLXMLHttpRequestFactory interface
7893  */
7894 [
7895     odl,
7896     oleautomation,
7897     dual,
7898     uuid(3051040c-98b5-11cf-bb82-00aa00bdce0b)
7899 ]
7900 interface IHTMLXMLHttpRequestFactory : IDispatch
7901 {
7902     [id(DISPID_IHTMLXMLHTTPREQUESTFACTORY_CREATE)]
7903     HRESULT create([out, retval] IHTMLXMLHttpRequest **p);
7904 }
7905
7906 /*****************************************************************************
7907  *    DispHTMLXMLHttpRequest dispinterface
7908  */
7909 [
7910     hidden,
7911     uuid(3050f596-98b5-11cf-bb82-00aa00bdce0b)
7912 ]
7913 dispinterface DispHTMLXMLHttpRequest
7914 {
7915 properties:
7916 methods:
7917     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_READYSTATE)]
7918     long readyState();
7919
7920     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEBODY)]
7921     VARIANT responseBody();
7922
7923     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSETEXT)]
7924     BSTR responseText();
7925
7926     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEXML)]
7927     IDispatch *responseXML();
7928
7929     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUS)]
7930     long status();
7931
7932     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUSTEXT)]
7933     BSTR statusText();
7934
7935     [propput, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable]
7936     void onreadystatechange(VARIANT v);
7937
7938     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable]
7939     VARIANT onreadystatechange();
7940
7941     [id(DISPID_IHTMLXMLHTTPREQUEST_ABORT)]
7942     void abort();
7943
7944     [id(DISPID_IHTMLXMLHTTPREQUEST_OPEN)]
7945     void open(
7946             [in] BSTR bstrMethod,
7947             [in] BSTR bstrUrl,
7948             [in] VARIANT varAsync,
7949             [in, optional] VARIANT varUser,
7950             [in, optional] VARIANT varPassword);
7951
7952     [id(DISPID_IHTMLXMLHTTPREQUEST_SEND)]
7953     void send([in, optional] VARIANT varBody);
7954
7955     [id(DISPID_IHTMLXMLHTTPREQUEST_GETALLRESPONSEHEADERS)]
7956     BSTR getAllResponseHeaders();
7957
7958     [id(DISPID_IHTMLXMLHTTPREQUEST_GETRESPONSEHEADER)]
7959     BSTR getResponseHeader([in] BSTR bstrHeader);
7960
7961     [id(DISPID_IHTMLXMLHTTPREQUEST_SETREQUESTHEADER)]
7962     void setRequestHeader(
7963             [in] BSTR bstrHeader,
7964             [in] BSTR bstrValue);
7965
7966     [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)]
7967     void timeout(long v);
7968
7969     [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)]
7970     long timeout();
7971
7972     [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable]
7973     void ontimeout(VARIANT v);
7974
7975     [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable]
7976     VARIANT ontimeout();
7977
7978     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
7979
7980
7981     [id(DISPID_IEVENTTARGET_ADDEVENTLISTENER)]
7982     void addEventListener(
7983             [in] BSTR type,
7984             [in] IDispatch *listener,
7985             [in] VARIANT_BOOL useCapture);
7986
7987     [id(DISPID_IEVENTTARGET_REMOVEEVENTLISTENER)]
7988     void removeEventListener(
7989             [in] BSTR type,
7990             [in] IDispatch *listener,
7991             [in] VARIANT_BOOL useCapture);
7992
7993     [id(DISPID_IEVENTTARGET_DISPATCHEVENT)]
7994     VARIANT_BOOL dispatchEvent([in] IDOMEvent *evt);
7995 }
7996
7997 /*****************************************************************************
7998  *    IHTMLControlElement interface
7999  */
8000 [
8001     odl,
8002     oleautomation,
8003     dual,
8004     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
8005 ]
8006 interface IHTMLControlElement : IDispatch
8007 {
8008     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
8009     HRESULT tabIndex([in] short v);
8010
8011     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
8012     HRESULT tabIndex([retval, out] short * p);
8013
8014     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
8015     HRESULT focus();
8016
8017     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
8018     HRESULT accessKey([in] BSTR v);
8019
8020     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
8021     HRESULT accessKey([retval, out] BSTR * p);
8022
8023     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
8024     HRESULT onblur([in] VARIANT v);
8025
8026     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
8027     HRESULT onblur([retval, out] VARIANT * p);
8028
8029     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
8030     HRESULT onfocus([in] VARIANT v);
8031
8032     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
8033     HRESULT onfocus([retval, out] VARIANT * p);
8034
8035     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
8036     HRESULT onresize([in] VARIANT v);
8037
8038     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
8039     HRESULT onresize([retval, out] VARIANT * p);
8040
8041     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
8042     HRESULT blur();
8043
8044     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
8045     HRESULT addFilter([in] IUnknown* pUnk);
8046
8047     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
8048     HRESULT removeFilter([in] IUnknown* pUnk);
8049
8050     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
8051     HRESULT clientHeight([retval, out] LONG * p);
8052
8053     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
8054     HRESULT clientWidth([retval, out] LONG * p);
8055
8056     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
8057     HRESULT clientTop([retval, out] LONG * p);
8058
8059     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
8060     HRESULT clientLeft([retval, out] LONG * p);
8061 }
8062
8063 /*****************************************************************************
8064  *    IHTMLBodyElement interface
8065  */
8066 [
8067     odl,
8068     oleautomation,
8069     dual,
8070     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
8071 ]
8072 interface IHTMLBodyElement : IDispatch
8073 {
8074     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8075     HRESULT background([in] BSTR v);
8076
8077     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8078     HRESULT background([retval, out] BSTR *p);
8079
8080     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8081     HRESULT bgProperties([in] BSTR v);
8082
8083     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8084     HRESULT bgProperties([retval, out] BSTR *p);
8085
8086     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8087     HRESULT leftMargin([in] VARIANT v);
8088
8089     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8090     HRESULT leftMargin([retval, out] VARIANT *p);
8091
8092     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8093     HRESULT topMargin([in] VARIANT v);
8094
8095     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8096     HRESULT topMargin([retval, out] VARIANT *p);
8097
8098     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8099     HRESULT rightMargin([in] VARIANT v);
8100
8101     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8102     HRESULT rightMargin([retval, out] VARIANT *p);
8103
8104     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8105     HRESULT bottomMargin([in] VARIANT v);
8106
8107     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8108     HRESULT bottomMargin([retval, out] VARIANT *p);
8109
8110     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8111     HRESULT noWrap([in] VARIANT_BOOL v);
8112
8113     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8114     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
8115
8116     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8117     HRESULT bgColor([in] VARIANT v);
8118
8119     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8120     HRESULT bgColor([retval, out] VARIANT *p);
8121
8122     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8123     HRESULT text([in] VARIANT v);
8124
8125     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8126     HRESULT text([retval, out] VARIANT *p);
8127
8128     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8129     HRESULT link([in] VARIANT v);
8130
8131     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8132     HRESULT link([retval, out] VARIANT *p);
8133
8134     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8135     HRESULT vLink([in] VARIANT v);
8136
8137     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8138     HRESULT vLink([retval, out] VARIANT *p);
8139
8140     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8141     HRESULT aLink([in] VARIANT v);
8142
8143     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8144     HRESULT aLink([retval, out] VARIANT *p);
8145
8146     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8147     HRESULT onload([in] VARIANT v);
8148
8149     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8150     HRESULT onload([retval, out] VARIANT *p);
8151
8152     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8153     HRESULT onunload([in] VARIANT v);
8154
8155     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8156     HRESULT onunload([retval, out] VARIANT *p);
8157
8158     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8159     HRESULT scroll([in] BSTR v);
8160
8161     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8162     HRESULT scroll([retval, out] BSTR *p);
8163
8164     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8165     HRESULT onselect([in] VARIANT v);
8166
8167     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8168     HRESULT onselect([retval, out] VARIANT *p);
8169
8170     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8171     HRESULT onbeforeunload([in] VARIANT v);
8172
8173     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8174     HRESULT onbeforeunload([retval, out] VARIANT *p);
8175
8176     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8177     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8178 }
8179
8180 /*****************************************************************************
8181  *    IHTMLBodyElement2 interface
8182  */
8183 [
8184     odl,
8185     oleautomation,
8186     dual,
8187     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
8188 ]
8189 interface IHTMLBodyElement2 : IDispatch
8190 {
8191     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8192     HRESULT onbeforeprint([in] VARIANT v);
8193
8194     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8195     HRESULT onbeforeprint([retval, out] VARIANT *p);
8196
8197     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8198     HRESULT onafterprint([in] VARIANT v);
8199
8200     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8201     HRESULT onafterprint([retval, out] VARIANT *p);
8202 }
8203
8204 [
8205     hidden,
8206     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
8207 ]
8208 dispinterface DispHTMLBody
8209 {
8210 properties:
8211 methods:
8212     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8213
8214     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8215     void background(BSTR v);
8216
8217     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8218     BSTR background();
8219
8220     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8221     void bgProperties(BSTR v);
8222
8223     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8224     BSTR bgProperties();
8225
8226     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8227     void leftMargin(VARIANT v);
8228
8229     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8230     VARIANT leftMargin();
8231
8232     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8233     void topMargin(VARIANT v);
8234
8235     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8236     VARIANT topMargin();
8237
8238     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8239     void rightMargin(VARIANT v);
8240
8241     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8242     VARIANT rightMargin();
8243
8244     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8245     void bottomMargin(VARIANT v);
8246
8247     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8248     VARIANT bottomMargin();
8249
8250     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8251     void noWrap(VARIANT_BOOL v);
8252
8253     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8254     VARIANT_BOOL noWrap();
8255
8256     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8257     void bgColor(VARIANT v);
8258
8259     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8260     VARIANT bgColor();
8261
8262     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8263     void text(VARIANT v);
8264
8265     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8266     VARIANT text();
8267
8268     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8269     void link(VARIANT v);
8270
8271     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8272     VARIANT link();
8273
8274     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8275     void vLink(VARIANT v);
8276
8277     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8278     VARIANT vLink();
8279
8280     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8281     void aLink(VARIANT v);
8282
8283     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8284     VARIANT aLink();
8285
8286     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8287     void onload(VARIANT v);
8288
8289     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8290     VARIANT onload();
8291
8292     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8293     void onunload(VARIANT v);
8294
8295     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8296     VARIANT onunload();
8297
8298     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8299     void scroll(BSTR v);
8300
8301     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8302     BSTR scroll();
8303
8304     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8305     void onselect(VARIANT v);
8306
8307     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8308     VARIANT onselect();
8309
8310     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8311     void onbeforeunload(VARIANT v);
8312
8313     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8314     VARIANT onbeforeunload();
8315
8316     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8317     IHTMLTxtRange* createTextRange();
8318
8319     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8320     void onbeforeprint(VARIANT v);
8321
8322     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8323     VARIANT onbeforeprint();
8324
8325     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8326     void onafterprint(VARIANT v);
8327
8328     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8329     VARIANT onafterprint();
8330 }
8331
8332 [
8333     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
8334 ]
8335 coclass HTMLBody
8336 {
8337     [default]           dispinterface DispHTMLBody;
8338     [source, default]   dispinterface HTMLTextContainerEvents;
8339     [source]            dispinterface HTMLTextContainerEvents2;
8340                         interface IHTMLElement;
8341                         interface IHTMLElement2;
8342                         interface IHTMLElement3;
8343                         interface IHTMLElement4;
8344                         interface IHTMLUniqueName;
8345                         interface IHTMLDOMNode;
8346                         interface IHTMLDOMNode2;
8347                         interface IHTMLControlElement;
8348                         interface IHTMLTextContainer;
8349                         interface IHTMLBodyElement;
8350                         interface IHTMLBodyElement2;
8351 }
8352
8353 /*****************************************************************************
8354  *    IHTMLAnchorElement interface
8355  */
8356 [
8357     odl,
8358     oleautomation,
8359     dual,
8360     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
8361 ]
8362 interface IHTMLAnchorElement : IDispatch
8363 {
8364     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8365     HRESULT href([in] BSTR v);
8366
8367     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8368     HRESULT href([retval, out] BSTR *p);
8369
8370     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8371     HRESULT target([in] BSTR v);
8372
8373     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8374     HRESULT target([retval, out] BSTR *p);
8375
8376     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8377     HRESULT rel([in] BSTR v);
8378
8379     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8380     HRESULT rel([retval, out] BSTR *p);
8381
8382     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8383     HRESULT rev([in] BSTR v);
8384
8385     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8386     HRESULT rev([retval, out] BSTR *p);
8387
8388     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8389     HRESULT urn([in] BSTR v);
8390
8391     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8392     HRESULT urn([retval, out] BSTR *p);
8393
8394     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8395     HRESULT Methods([in] BSTR v);
8396
8397     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8398     HRESULT Methods([retval, out] BSTR *p);
8399
8400     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8401     HRESULT name([in] BSTR v);
8402
8403     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8404     HRESULT name([retval, out] BSTR *p);
8405
8406     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8407     HRESULT host([in] BSTR v);
8408
8409     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8410     HRESULT host([retval, out] BSTR *p);
8411
8412     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8413     HRESULT hostname([in] BSTR v);
8414
8415     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8416     HRESULT hostname([retval, out] BSTR *p);
8417
8418     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8419     HRESULT pathname([in] BSTR v);
8420
8421     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8422     HRESULT pathname([retval, out] BSTR *p);
8423
8424     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8425     HRESULT port([in] BSTR v);
8426
8427     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8428     HRESULT port([retval, out] BSTR *p);
8429
8430     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8431     HRESULT protocol([in] BSTR v);
8432
8433     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8434     HRESULT protocol([retval, out] BSTR *p);
8435
8436     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8437     HRESULT search([in] BSTR v);
8438
8439     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8440     HRESULT search([retval, out] BSTR *p);
8441
8442     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8443     HRESULT hash([in] BSTR v);
8444
8445     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8446     HRESULT hash([retval, out] BSTR *p);
8447
8448     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8449     HRESULT onblur([in] VARIANT v);
8450
8451     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8452     HRESULT onblur([retval, out] VARIANT *p);
8453
8454     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8455     HRESULT onfocus([in] VARIANT v);
8456
8457     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8458     HRESULT onfocus([retval, out] VARIANT *p);
8459
8460     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8461     HRESULT accessKey([in] BSTR v);
8462
8463     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8464     HRESULT accessKey([retval, out] BSTR *p);
8465
8466     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8467     HRESULT protocolLong([retval, out] BSTR *p);
8468
8469     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8470     HRESULT mimeType([retval, out] BSTR *p);
8471
8472     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8473     HRESULT nameProp([retval, out] BSTR *p);
8474
8475     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8476     HRESULT tabIndex([in] short v);
8477
8478     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8479     HRESULT tabIndex([retval, out] short *p);
8480
8481     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
8482     HRESULT focus();
8483
8484     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
8485     HRESULT blur();
8486 }
8487
8488 /*****************************************************************************
8489  *    DispHTMLAnchorElement dispinterface
8490  */
8491 [
8492     hidden,
8493     uuid(3050f502-98b5-11cf-bb82-00aa00bdce0b)
8494 ]
8495 dispinterface DispHTMLAnchorElement
8496 {
8497 properties:
8498 methods:
8499     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8500
8501     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8502     void href(BSTR v);
8503
8504     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8505     BSTR href();
8506
8507     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8508     void target(BSTR v);
8509
8510     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8511     BSTR target();
8512
8513     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8514     void rel(BSTR v);
8515
8516     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8517     BSTR rel();
8518
8519     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8520     void rev(BSTR v);
8521
8522     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8523     BSTR rev();
8524
8525     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8526     void urn(BSTR v);
8527
8528     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8529     BSTR urn();
8530
8531     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8532     void Methods(BSTR v);
8533
8534     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8535     BSTR Methods();
8536
8537     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8538     void name(BSTR v);
8539
8540     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8541     BSTR name();
8542
8543     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8544     void host(BSTR v);
8545
8546     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8547     BSTR host();
8548
8549     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8550     void hostname(BSTR v);
8551
8552     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8553     BSTR hostname();
8554
8555     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8556     void pathname(BSTR v);
8557
8558     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8559     BSTR pathname();
8560
8561     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8562     void port(BSTR v);
8563
8564     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8565     BSTR port();
8566
8567     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8568     void protocol(BSTR v);
8569
8570     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8571     BSTR protocol();
8572
8573     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8574     void search(BSTR v);
8575
8576     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8577     BSTR search();
8578
8579     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8580     void hash(BSTR v);
8581
8582     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8583     BSTR hash();
8584
8585     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8586     BSTR protocolLong();
8587
8588     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8589     BSTR mimeType();
8590
8591     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8592     BSTR nameProp();
8593
8594     [propput, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8595     void charset(BSTR v);
8596
8597     [propget, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8598     BSTR charset();
8599
8600     [propput, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8601     void coords(BSTR v);
8602
8603     [propget, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8604     BSTR coords();
8605
8606     [propput, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8607     void hreflang(BSTR v);
8608
8609     [propget, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8610     BSTR hreflang();
8611
8612     [propput, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8613     void shape(BSTR v);
8614
8615     [propget, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8616     BSTR shape();
8617
8618     [propput, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8619     void type(BSTR v);
8620
8621     [propget, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8622     BSTR type();
8623
8624     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8625     void ie8_shape(BSTR v);
8626
8627     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8628     BSTR ie8_shape();
8629
8630     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8631     void ie8_coords(BSTR v);
8632
8633     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8634     BSTR ie8_coords();
8635
8636     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8637     void ie8_href(BSTR v);
8638
8639     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8640     BSTR ie8_href();
8641 }
8642
8643 /*****************************************************************************
8644  *    IHTMLElementCollection interface
8645  */
8646 [
8647     odl,
8648     oleautomation,
8649     dual,
8650     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
8651 ]
8652 interface IHTMLElementCollection : IDispatch
8653 {
8654     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8655     HRESULT toString([retval, out] BSTR *String);
8656
8657     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8658     HRESULT length([in] LONG v);
8659
8660     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8661     HRESULT length([retval, out] LONG *p);
8662
8663     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
8664     HRESULT _newEnum([retval, out] IUnknown **p);
8665
8666     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8667     HRESULT item(
8668         [optional, in] VARIANT name,
8669         [optional, in] VARIANT index,
8670         [retval,  out] IDispatch **pdisp);
8671
8672     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8673     HRESULT tags(
8674         [in] VARIANT tagName,
8675         [retval, out] IDispatch **pdisp);
8676 }
8677
8678 /*****************************************************************************
8679  *    DispHTMLElementCollection dispinterface
8680  */
8681 [
8682     hidden,
8683     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
8684 ]
8685 dispinterface DispHTMLElementCollection
8686 {
8687 properties:
8688 methods:
8689     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8690     BSTR toString();
8691
8692     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8693     void length(LONG v);
8694
8695     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8696     LONG length();
8697
8698     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
8699     IUnknown *_newEnum();
8700
8701     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8702     IDispatch *item(
8703             [in, optional] VARIANT name,
8704             [in, optional] VARIANT index);
8705
8706     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8707     IDispatch *tags(
8708             [in] VARIANT tagName);
8709
8710     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
8711     IDispatch *urns([in] VARIANT urn);
8712
8713     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
8714     IDispatch *namedItem([in] BSTR name);
8715 }
8716
8717 /*****************************************************************************
8718  *    IHTMLSelectElement interface
8719  */
8720 [
8721     odl,
8722     oleautomation,
8723     dual,
8724     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
8725 ]
8726 interface IHTMLSelectElement : IDispatch
8727 {
8728     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8729     HRESULT size([in] LONG v);
8730
8731     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8732     HRESULT size([retval, out] LONG *p);
8733
8734     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8735     HRESULT multiple([in] VARIANT_BOOL v);
8736
8737     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8738     HRESULT multiple([retval, out] VARIANT_BOOL *p);
8739
8740     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8741     HRESULT name([in] BSTR v);
8742
8743     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8744     HRESULT name([retval, out] BSTR *p);
8745
8746     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8747     HRESULT options([retval, out] IDispatch **p);
8748
8749     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8750     HRESULT onchange([in] VARIANT v);
8751
8752     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8753     HRESULT onchange([retval, out] VARIANT *p);
8754
8755     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8756     HRESULT selectedIndex([in] LONG v);
8757
8758     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8759     HRESULT selectedIndex([retval, out] LONG *p);
8760
8761     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8762     HRESULT type([retval, out] BSTR *p);
8763
8764     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8765     HRESULT value([in] BSTR v);
8766
8767     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8768     HRESULT value([retval, out] BSTR *p);
8769
8770     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8771     HRESULT disabled([in] VARIANT_BOOL v);
8772
8773     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8774     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8775
8776     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8777     HRESULT form([retval, out] IHTMLFormElement **p);
8778
8779     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8780     HRESULT add(
8781         [in] IHTMLElement *element,
8782         [optional, in] VARIANT before);
8783
8784     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8785     HRESULT remove([defaultvalue(-1), in] LONG index);
8786
8787     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8788     HRESULT length([in] LONG v);
8789
8790     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8791     HRESULT length([retval, out] LONG *p);
8792
8793     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8794     HRESULT _newEnum([retval, out] IUnknown **p);
8795
8796     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8797     HRESULT item(
8798         [optional, in] VARIANT name,
8799         [optional, in] VARIANT index,
8800         [retval, out] IDispatch **pdisp);
8801
8802     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8803     HRESULT tags(
8804         [in] VARIANT tagName,
8805         [retval, out] IDispatch **pdisp);
8806 }
8807
8808 /*****************************************************************************
8809  *    DispHTMLSelectElement dispinterface
8810  */
8811 [
8812     hidden,
8813     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8814 ]
8815 dispinterface DispHTMLSelectElement
8816 {
8817 properties:
8818 methods:
8819     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8820
8821     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8822     void size(LONG v);
8823
8824     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8825     LONG size();
8826
8827     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8828     void multiple(VARIANT_BOOL v);
8829
8830     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8831     VARIANT_BOOL multiple();
8832
8833     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8834     void name(BSTR v);
8835
8836     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8837     BSTR name();
8838
8839     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8840     IDispatch *options();
8841
8842     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8843     void onchange(VARIANT v);
8844
8845     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8846     VARIANT onchange();
8847
8848     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8849     void selectedIndex(LONG v);
8850
8851     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8852     LONG selectedIndex();
8853
8854     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8855     BSTR type();
8856
8857     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8858     void value(BSTR v);
8859
8860     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8861     BSTR value();
8862
8863     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8864     IHTMLFormElement *form();
8865
8866     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8867     void add(
8868             [in] IHTMLElement *element,
8869             [in, optional] VARIANT before);
8870
8871     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8872     void remove([in, defaultvalue(-1)] LONG index);
8873
8874     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8875     void length(LONG v);
8876
8877     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8878     LONG length();
8879
8880     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8881     IUnknown *_newEnum();
8882
8883     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8884     IDispatch *item(
8885             [in, optional] VARIANT name,
8886             [in, optional] VARIANT index);
8887
8888     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8889     IDispatch *tags([in] VARIANT tagName);
8890
8891     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
8892     IDispatch *urns([in] VARIANT urn);
8893
8894     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
8895     IDispatch *namedItem([in] BSTR name);
8896 }
8897
8898 /*****************************************************************************
8899  *    IHTMLSelectionObject interface
8900  */
8901 [
8902     odl,
8903     oleautomation,
8904     dual,
8905     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
8906 ]
8907 interface IHTMLSelectionObject : IDispatch
8908 {
8909     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
8910     HRESULT createRange([retval, out] IDispatch **range);
8911
8912     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
8913     HRESULT empty();
8914
8915     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
8916     HRESULT clear();
8917
8918     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
8919     HRESULT type([retval, out] BSTR *p);
8920 }
8921
8922 /*****************************************************************************
8923  *    IHTMLOptionElement interface
8924  */
8925 [
8926     odl,
8927     oleautomation,
8928     dual,
8929     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
8930 ]
8931 interface IHTMLOptionElement : IDispatch
8932 {
8933     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8934     HRESULT selected([in] VARIANT_BOOL v);
8935
8936     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8937     HRESULT selected([retval, out] VARIANT_BOOL *p);
8938
8939     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8940     HRESULT value([in] BSTR v);
8941
8942     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8943     HRESULT value([retval, out] BSTR *p);
8944
8945     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8946     HRESULT defaultSelected([in] VARIANT_BOOL v);
8947
8948     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8949     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
8950
8951     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8952     HRESULT index([in] LONG v);
8953
8954     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8955     HRESULT index([retval, out] LONG *p);
8956
8957     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8958     HRESULT text([in] BSTR v);
8959
8960     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8961     HRESULT text([retval, out] BSTR *p);
8962
8963     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8964     HRESULT form([retval, out] IHTMLFormElement **p);
8965 }
8966
8967 [
8968     odl,
8969     oleautomation,
8970     dual,
8971     uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
8972 ]
8973 interface IHTMLOptionElement3 : IDispatch
8974 {
8975     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8976     HRESULT label([in] BSTR v);
8977
8978     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8979     HRESULT label([retval, out] BSTR * p);
8980 }
8981
8982 /*****************************************************************************
8983  *    IHTMLOptionElementFactory interface
8984  */
8985 [
8986     odl,
8987     oleautomation,
8988     dual,
8989     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
8990 ]
8991 interface IHTMLOptionElementFactory : IDispatch
8992 {
8993     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
8994     HRESULT create(
8995         [optional, in] VARIANT text,
8996         [optional, in] VARIANT value,
8997         [optional, in] VARIANT defaultselected,
8998         [optional, in] VARIANT selected,
8999         [retval, out] IHTMLOptionElement **optelem);
9000 }
9001
9002 /*****************************************************************************
9003  *    DispHTMLOptionElement dispinterface
9004  */
9005 [
9006     hidden,
9007     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
9008 ]
9009 dispinterface DispHTMLOptionElement
9010 {
9011 properties:
9012 methods:
9013     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9014
9015     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9016     void selected(VARIANT_BOOL v);
9017
9018     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9019     VARIANT_BOOL selected();
9020
9021     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9022     void value(BSTR v);
9023
9024     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9025     BSTR value();
9026
9027     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9028     void defaultSelected(VARIANT_BOOL v);
9029
9030     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9031     VARIANT_BOOL defaultSelected();
9032
9033     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9034     void index(LONG v);
9035
9036     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9037     LONG index();
9038
9039     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9040     void text(BSTR v);
9041
9042     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9043     BSTR text();
9044
9045     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9046     IHTMLFormElement *form();
9047
9048     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9049     void label(BSTR v);
9050
9051     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9052     BSTR label();
9053 }
9054
9055 [
9056     noncreatable,
9057     uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
9058 ]
9059 coclass HTMLOptionElement
9060 {
9061     [default]           dispinterface DispHTMLOptionElement;
9062     [source, default]   dispinterface HTMLElementEvents;
9063     [source]            dispinterface HTMLElementEvents2;
9064                         interface IHTMLElement;
9065                         interface IHTMLElement2;
9066                         interface IHTMLElement3;
9067                         interface IHTMLElement4;
9068                         interface IHTMLUniqueName;
9069                         interface IHTMLDOMNode;
9070                         interface IHTMLDOMNode2;
9071                         interface IHTMLDatabinding;
9072                         interface IHTMLOptionElement;
9073                         interface IHTMLOptionElement3;
9074 }
9075
9076 /*****************************************************************************
9077  *    IHTMLInputElement interface
9078  */
9079 [
9080     odl,
9081     oleautomation,
9082     dual,
9083     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
9084 ]
9085 interface IHTMLInputElement : IDispatch
9086 {
9087     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9088     HRESULT type([in] BSTR v);
9089
9090     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9091     HRESULT type([retval, out] BSTR *p);
9092
9093     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9094     HRESULT value([in] BSTR v);
9095
9096     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9097     HRESULT value([retval, out] BSTR *p);
9098
9099     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9100     HRESULT name([in] BSTR v);
9101
9102     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9103     HRESULT name([retval, out] BSTR *p);
9104
9105     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9106     HRESULT status([in] VARIANT_BOOL v);
9107
9108     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9109     HRESULT status([retval, out] VARIANT_BOOL *p);
9110
9111     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
9112     HRESULT disabled([in] VARIANT_BOOL v);
9113
9114     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
9115     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9116
9117     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
9118     HRESULT form([retval, out] IHTMLFormElement **p);
9119
9120     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9121     HRESULT size([in] LONG v);
9122
9123     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9124     HRESULT size([retval, out] LONG *p);
9125
9126     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9127     HRESULT maxLength([in] LONG v);
9128
9129     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9130     HRESULT maxLength([retval, out] LONG *p);
9131
9132     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
9133     HRESULT select();
9134
9135     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9136     HRESULT onchange([in] VARIANT v);
9137
9138     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9139     HRESULT onchange([retval, out] VARIANT *p);
9140
9141     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9142     HRESULT onselect([in] VARIANT v);
9143
9144     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9145     HRESULT onselect([retval, out] VARIANT *p);
9146
9147     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9148     HRESULT defaultValue([in] BSTR v);
9149
9150     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9151     HRESULT defaultValue([retval, out] BSTR *p);
9152
9153     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9154     HRESULT readOnly([in] VARIANT_BOOL v);
9155
9156     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9157     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9158
9159     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
9160     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9161
9162     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9163     HRESULT indeterminate([in] VARIANT_BOOL v);
9164
9165     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9166     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
9167
9168     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9169     HRESULT defaultChecked([in] VARIANT_BOOL v);
9170
9171     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9172     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
9173
9174     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9175     HRESULT checked([in] VARIANT_BOOL v);
9176
9177     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9178     HRESULT checked([retval, out] VARIANT_BOOL *p);
9179
9180     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9181     HRESULT border([in] VARIANT v);
9182
9183     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9184     HRESULT border([retval, out] VARIANT *p);
9185
9186     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9187     HRESULT vspace([in] LONG v);
9188
9189     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9190     HRESULT vspace([retval, out] LONG *p);
9191
9192     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9193     HRESULT hspace([in] LONG v);
9194
9195     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9196     HRESULT hspace([retval, out] LONG *p);
9197
9198     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9199     HRESULT alt([in] BSTR v);
9200
9201     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9202     HRESULT alt([retval, out] BSTR *p);
9203
9204     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9205     HRESULT src([in] BSTR v);
9206
9207     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9208     HRESULT src([retval, out] BSTR *p);
9209
9210     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9211     HRESULT lowsrc([in] BSTR v);
9212
9213     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9214     HRESULT lowsrc([retval, out] BSTR *p);
9215
9216     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9217     HRESULT vrml([in] BSTR v);
9218
9219     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9220     HRESULT vrml([retval, out] BSTR *p);
9221
9222     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9223     HRESULT dynsrc([in] BSTR v);
9224
9225     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9226     HRESULT dynsrc([retval, out] BSTR *p);
9227
9228     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
9229     HRESULT readyState([retval, out] BSTR *p);
9230
9231     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9232     HRESULT complete([retval, out] VARIANT_BOOL *p);
9233
9234     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9235     HRESULT loop([in] VARIANT v);
9236
9237     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9238     HRESULT loop([retval, out] VARIANT *p);
9239
9240     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9241     HRESULT align([in] BSTR v);
9242
9243     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9244     HRESULT align([retval, out] BSTR *p);
9245
9246     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9247     HRESULT onload([in] VARIANT v);
9248
9249     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9250     HRESULT onload([retval, out] VARIANT *p);
9251
9252     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9253     HRESULT onerror([in] VARIANT v);
9254
9255     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9256     HRESULT onerror([retval, out] VARIANT *p);
9257
9258     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9259     HRESULT onabort([in] VARIANT v);
9260
9261     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9262     HRESULT onabort([retval, out] VARIANT *p);
9263
9264     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9265     HRESULT width([in] LONG v);
9266
9267     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9268     HRESULT width([retval, out] LONG *p);
9269
9270     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9271     HRESULT height([in] LONG v);
9272
9273     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9274     HRESULT height([retval, out] LONG *p);
9275
9276     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9277     HRESULT start([in] BSTR v);
9278
9279     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9280     HRESULT start([retval, out] BSTR *p);
9281 }
9282
9283 /*****************************************************************************
9284  *    IHTMLInputTextElement interface
9285  */
9286 [
9287     odl,
9288     oleautomation,
9289     dual,
9290     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
9291 ]
9292 interface IHTMLInputTextElement : IDispatch
9293 {
9294     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
9295     HRESULT type([retval, out] BSTR *p);
9296
9297     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9298     HRESULT value([in] BSTR v);
9299
9300     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9301     HRESULT value([retval, out] BSTR *p);
9302
9303     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9304     HRESULT name([in] BSTR v);
9305
9306     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9307     HRESULT name([retval, out] BSTR *p);
9308
9309     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9310     HRESULT status([in] VARIANT v);
9311
9312     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9313     HRESULT status([retval, out] VARIANT *p);
9314
9315     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9316     HRESULT disabled([in] VARIANT_BOOL v);
9317
9318     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9319     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9320
9321     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
9322     HRESULT form([retval, out] IHTMLFormElement **p);
9323
9324     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9325     HRESULT defaultValue([in] BSTR v);
9326
9327     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9328     HRESULT defaultValue([retval, out] BSTR *p);
9329
9330     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9331     HRESULT size([in] LONG v);
9332
9333     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9334     HRESULT size([retval, out] LONG *p);
9335
9336     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9337     HRESULT maxLength([in] LONG v);
9338
9339     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9340     HRESULT maxLength([retval, out] LONG *p);
9341
9342     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
9343     HRESULT select();
9344
9345     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9346     HRESULT onchange([in] VARIANT v);
9347
9348     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9349     HRESULT onchange([retval, out] VARIANT *p);
9350
9351     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9352     HRESULT onselect([in] VARIANT v);
9353
9354     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9355     HRESULT onselect([retval, out] VARIANT *p);
9356
9357     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9358     HRESULT readOnly([in] VARIANT_BOOL v);
9359
9360     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9361     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9362
9363     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
9364     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9365 }
9366
9367 [
9368     hidden,
9369     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
9370 ]
9371 dispinterface DispHTMLInputElement
9372 {
9373 properties:
9374 methods:
9375     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9376
9377     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9378     void type(BSTR v);
9379
9380     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9381     BSTR type();
9382
9383     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9384     void value(BSTR v);
9385
9386     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9387     BSTR value();
9388
9389     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9390     void name(BSTR v);
9391
9392     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9393     BSTR name();
9394
9395     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9396     void status(VARIANT_BOOL v);
9397
9398     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9399     VARIANT_BOOL status();
9400
9401     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
9402     IHTMLFormElement *form();
9403
9404     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9405     void size(LONG v);
9406
9407     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9408     LONG size();
9409
9410     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9411     void maxLength(LONG v);
9412
9413     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9414     LONG maxLength();
9415
9416     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
9417     void select();
9418
9419     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9420     void onchange(VARIANT v);
9421
9422     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9423     VARIANT onchange();
9424
9425     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9426     void onselect(VARIANT v);
9427
9428     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9429     VARIANT onselect();
9430
9431     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9432     void defaultValue(BSTR v);
9433
9434     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9435     BSTR defaultValue();
9436
9437     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9438     void readOnly(VARIANT_BOOL v);
9439
9440     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9441     VARIANT_BOOL readOnly();
9442
9443     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
9444     IHTMLTxtRange *createTextRange();
9445
9446     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9447     void indeterminate(VARIANT_BOOL v);
9448
9449     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9450     VARIANT_BOOL indeterminate();
9451
9452     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9453     void defaultChecked(VARIANT_BOOL v);
9454
9455     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9456     VARIANT_BOOL defaultChecked();
9457
9458     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9459     void checked(VARIANT_BOOL v);
9460
9461     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9462     VARIANT_BOOL checked();
9463
9464     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9465     void border(VARIANT v);
9466
9467     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9468     VARIANT border();
9469
9470     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9471     void vspace(LONG v);
9472
9473     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9474     LONG vspace();
9475
9476     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9477     void hspace(LONG v);
9478
9479     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9480     LONG hspace();
9481
9482     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9483     void alt(BSTR v);
9484
9485     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9486     BSTR alt();
9487
9488     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9489     void src(BSTR v);
9490
9491     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9492     BSTR src();
9493
9494     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9495     void lowsrc(BSTR v);
9496
9497     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9498     BSTR lowsrc();
9499
9500     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9501     void vrml(BSTR v);
9502
9503     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9504     BSTR vrml();
9505
9506     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9507     void dynsrc(BSTR v);
9508
9509     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9510     BSTR dynsrc();
9511
9512     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9513     VARIANT_BOOL complete();
9514
9515     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9516     void loop(VARIANT v);
9517
9518     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9519     VARIANT loop();
9520
9521     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9522     void align(BSTR v);
9523
9524     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9525     BSTR align();
9526
9527     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9528     void onload(VARIANT v);
9529
9530     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9531     VARIANT onload();
9532
9533     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9534     void onerror(VARIANT v);
9535
9536     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9537     VARIANT onerror();
9538
9539     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9540     void onabort(VARIANT v);
9541
9542     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9543     VARIANT onabort();
9544
9545     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9546     void width(LONG v);
9547
9548     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9549     LONG width();
9550
9551     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9552     void height(LONG v);
9553
9554     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9555     LONG height();
9556
9557     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9558     void start(BSTR v);
9559
9560     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9561     BSTR start();
9562
9563     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9564     void accept(BSTR v);
9565
9566     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9567     BSTR accept();
9568
9569     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9570     void useMap(BSTR v);
9571
9572     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9573     BSTR useMap();
9574 }
9575
9576 /*****************************************************************************
9577  *    IHTMLTextAreaElement interface
9578  */
9579 [
9580     odl,
9581     oleautomation,
9582     dual,
9583     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
9584 ]
9585 interface IHTMLTextAreaElement : IDispatch
9586 {
9587     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9588     HRESULT type([retval, out] BSTR *p);
9589
9590     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9591     HRESULT value([in] BSTR v);
9592
9593     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9594     HRESULT value([retval, out] BSTR *p);
9595
9596     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9597     HRESULT name([in] BSTR v);
9598
9599     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9600     HRESULT name([retval, out] BSTR *p);
9601
9602     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9603     HRESULT status([in] VARIANT v);
9604
9605     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9606     HRESULT status([retval, out] VARIANT *p);
9607
9608     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9609     HRESULT disabled([in] VARIANT_BOOL v);
9610
9611     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9612     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9613
9614     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9615     HRESULT form([retval, out] IHTMLFormElement **p);
9616
9617     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9618     HRESULT defaultValue([in] BSTR v);
9619
9620     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9621     HRESULT defaultValue([retval, out] BSTR *p);
9622
9623     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9624     HRESULT select();
9625
9626     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9627     HRESULT onchange([in] VARIANT v);
9628
9629     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9630     HRESULT onchange([retval, out] VARIANT *p);
9631
9632     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9633     HRESULT onselect([in] VARIANT v);
9634
9635     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9636     HRESULT onselect([retval, out] VARIANT *p);
9637
9638     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9639     HRESULT readOnly([in] VARIANT_BOOL v);
9640
9641     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9642     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9643
9644     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9645     HRESULT rows([in] LONG v);
9646
9647     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9648     HRESULT rows([retval, out] LONG *p);
9649
9650     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9651     HRESULT cols([in] LONG v);
9652
9653     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9654     HRESULT cols([retval, out] LONG *p);
9655
9656     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9657     HRESULT wrap([in] BSTR v);
9658
9659     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9660     HRESULT wrap([retval, out] BSTR *p);
9661
9662     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9663     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9664 }
9665
9666 /*****************************************************************************
9667  *    DispHTMLTextAreaElement dispinterface
9668  */
9669 [
9670     hidden,
9671     uuid(3050f521-98b5-11cf-bb82-00aa00bdce0b)
9672 ]
9673 dispinterface DispHTMLTextAreaElement
9674 {
9675 properties:
9676 methods:
9677     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9678
9679     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9680     BSTR type();
9681
9682     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9683     void value(BSTR v);
9684
9685     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9686     BSTR value();
9687
9688     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9689     void name(BSTR v);
9690
9691     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9692     BSTR name();
9693
9694     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9695     void status(VARIANT v);
9696
9697     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9698     VARIANT status();
9699
9700     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9701     IHTMLFormElement *form();
9702
9703     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9704     void defaultValue(BSTR v);
9705
9706     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9707     BSTR defaultValue();
9708
9709     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9710     void select();
9711
9712     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9713     void onchange(VARIANT v);
9714
9715     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9716     VARIANT onchange();
9717
9718     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9719     void onselect(VARIANT v);
9720
9721     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9722     VARIANT onselect();
9723
9724     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9725     void readOnly(VARIANT_BOOL v);
9726
9727     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9728     VARIANT_BOOL readOnly();
9729
9730     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9731     void rows(LONG v);
9732
9733     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9734     LONG rows();
9735
9736     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9737     void cols(LONG v);
9738
9739     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9740     LONG cols();
9741
9742     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9743     void wrap(BSTR v);
9744
9745     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9746     BSTR wrap();
9747
9748     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9749     IHTMLTxtRange *createTextRange();
9750 }
9751
9752 /*****************************************************************************
9753  *    IHTMLHeadElement interface
9754  */
9755 [
9756     odl,
9757     oleautomation,
9758     dual,
9759     uuid(3050f81d-98b5-11cf-bb82-00aa00bdce0b)
9760 ]
9761 interface IHTMLHeadElement : IDispatch
9762 {
9763     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9764     HRESULT profile([in] BSTR v);
9765
9766     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9767     HRESULT profile([retval, out] BSTR *p);
9768 }
9769
9770 /*****************************************************************************
9771  *    IHTMLHeadElement2 interface
9772  */
9773 [
9774     odl,
9775     oleautomation,
9776     dual,
9777     uuid(3051042f-98b5-11cf-bb82-00aa00bdce0b)
9778 ]
9779 interface IHTMLHeadElement2 : IDispatch
9780 {
9781     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9782     HRESULT profile([in] BSTR v);
9783
9784     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9785     HRESULT profile([retval, out] BSTR *p);
9786 }
9787
9788 /*****************************************************************************
9789  *    IHTMLTitleElement interface
9790  */
9791 [
9792     odl,
9793     oleautomation,
9794     dual,
9795     uuid(3050f322-98b5-11cf-bb82-00aa00bdce0b)
9796 ]
9797 interface IHTMLTitleElement : IDispatch
9798 {
9799     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9800     HRESULT text([in] BSTR v);
9801
9802     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9803     HRESULT text([retval, out] BSTR *p);
9804 }
9805
9806 /*****************************************************************************
9807  *    IHTMLMetaElement interface
9808  */
9809 [
9810     odl,
9811     oleautomation,
9812     dual,
9813     uuid(3050f203-98b5-11cf-bb82-00aa00bdce0b)
9814 ]
9815 interface IHTMLMetaElement : IDispatch
9816 {
9817     [propput, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
9818     HRESULT httpEquiv([in] BSTR v);
9819
9820     [propget, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
9821     HRESULT httpEquiv([out, retval] BSTR *p);
9822
9823     [propput, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
9824     HRESULT content([in] BSTR v);
9825
9826     [propget, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
9827     HRESULT content([out, retval] BSTR *p);
9828
9829     [propput, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
9830     HRESULT name([in] BSTR v);
9831
9832     [propget, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
9833     HRESULT name([out, retval] BSTR *p);
9834
9835     [propput, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
9836     HRESULT url([in] BSTR v);
9837
9838     [propget, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
9839     HRESULT url([out, retval] BSTR *p);
9840
9841     [propput, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
9842     HRESULT charset([in] BSTR v);
9843
9844     [propget, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
9845     HRESULT charset([out, retval] BSTR *p);
9846 }
9847
9848 /*****************************************************************************
9849  *    IHTMLMetaElement2 interface
9850  */
9851 [
9852     odl,
9853     oleautomation,
9854     dual,
9855     uuid(3050f81f-98b5-11cf-bb82-00aa00bdce0b)
9856 ]
9857 interface IHTMLMetaElement2 : IDispatch
9858 {
9859     [propput, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
9860     HRESULT scheme([in] BSTR v);
9861
9862     [propget, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
9863     HRESULT scheme([out, retval] BSTR *p);
9864 }
9865
9866 /*****************************************************************************
9867  *    IHTMLMetaElement3 interface
9868  */
9869 [
9870     odl,
9871     oleautomation,
9872     dual,
9873     uuid(30510495-98b5-11cf-bb82-00aa00bdce0b)
9874 ]
9875 interface IHTMLMetaElement3 : IDispatch
9876 {
9877     [propput, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
9878     HRESULT url([in] BSTR v);
9879
9880     [propget, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
9881     HRESULT url([out, retval] BSTR *p);
9882 }
9883
9884 /*****************************************************************************
9885  *    DispHTMLHeadElement interface
9886  */
9887 [
9888     hidden,
9889     uuid(3050f561-98b5-11cf-bb82-00aa00bdce0b)
9890 ]
9891 dispinterface DispHTMLHeadElement
9892 {
9893 properties:
9894 methods:
9895     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9896
9897     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9898     void profile(BSTR v);
9899
9900     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9901     BSTR profile();
9902
9903     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9904     void ie8_profile(BSTR v);
9905
9906     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9907     BSTR ie8_profile();
9908 }
9909
9910 /*****************************************************************************
9911  *    DispHTMLTitleElement interface
9912  */
9913 [
9914     hidden,
9915     uuid(3050f516-98b5-11cf-bb82-00aa00bdce0b)
9916 ]
9917 dispinterface DispHTMLTitleElement
9918 {
9919 properties:
9920 methods:
9921     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9922
9923     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9924     void text(BSTR v);
9925
9926     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9927     BSTR text();
9928 }
9929
9930 /*****************************************************************************
9931  *    DispHTMLMetaElement dispinterface
9932  */
9933 [
9934     hidden,
9935     uuid(3050f517-98b5-11cf-bb82-00aa00bdce0b)
9936 ]
9937 dispinterface DispHTMLMetaElement
9938 {
9939 properties:
9940 methods:
9941     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9942
9943     [propput, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
9944     void httpEquiv(BSTR v);
9945
9946     [propget, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
9947     BSTR httpEquiv();
9948
9949     [propput, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
9950     void content(BSTR v);
9951
9952     [propget, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
9953     BSTR content();
9954
9955     [propput, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
9956     void name(BSTR v);
9957
9958     [propget, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
9959     BSTR name();
9960
9961     [propput, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
9962     void url(BSTR v);
9963
9964     [propget, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
9965     BSTR url();
9966
9967     [propput, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
9968     void charset(BSTR v);
9969
9970     [propget, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
9971     BSTR charset();
9972
9973     [propput, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
9974     void scheme(BSTR v);
9975
9976     [propget, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
9977     BSTR scheme();
9978
9979     [propput, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
9980     void ie8_url(BSTR v);
9981
9982     [propget, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
9983     BSTR ie8_url();
9984 }
9985
9986 /*****************************************************************************
9987  *    DispHTMLUnknownElement dispinterface
9988  */
9989 [
9990     hidden,
9991     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
9992 ]
9993 dispinterface DispHTMLUnknownElement
9994 {
9995 properties:
9996 methods:
9997     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9998 }
9999
10000 /*****************************************************************************
10001  *    IOmHistory interface
10002  */
10003 [
10004     odl,
10005     oleautomation,
10006     dual,
10007     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
10008 ]
10009 interface IOmHistory : IDispatch
10010 {
10011     [propget, id(DISPID_IOMHISTORY_LENGTH)]
10012     HRESULT length([retval, out] short *p);
10013
10014     [id(DISPID_IOMHISTORY_BACK)]
10015     HRESULT back([optional, in] VARIANT *pvargdistance);
10016
10017     [id(DISPID_IOMHISTORY_FORWARD)]
10018     HRESULT forward([optional, in] VARIANT *pvargdistance);
10019
10020     [id(DISPID_IOMHISTORY_GO)]
10021     HRESULT go([optional, in] VARIANT *pvargdistance);
10022 }
10023
10024 [
10025     noncreatable,
10026     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
10027 ]
10028 coclass HTMLHistory
10029 {
10030     [default]           interface IOmHistory;
10031 }
10032
10033 /*****************************************************************************
10034  *    IHTMLMimeTypesCollection interface
10035  */
10036 [
10037     odl,
10038     oleautomation,
10039     dual,
10040     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
10041 ]
10042 interface IHTMLMimeTypesCollection : IDispatch
10043 {
10044     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
10045     HRESULT length([retval, out] LONG *p);
10046 }
10047
10048 [
10049     noncreatable,
10050     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
10051 ]
10052 coclass CMimeTypes
10053 {
10054     [default]           interface IHTMLMimeTypesCollection;
10055 }
10056
10057 /*****************************************************************************
10058  *    IHTMLPluginsCollection interface
10059  */
10060 [
10061     odl,
10062     oleautomation,
10063     dual,
10064     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
10065 ]
10066 interface IHTMLPluginsCollection : IDispatch
10067 {
10068     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
10069     HRESULT length([retval, out] LONG *p);
10070
10071     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
10072     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
10073 }
10074
10075 [
10076     hidden,
10077     uuid(3050f54a-98b5-11cf-bb82-00aa00bdce0b)
10078 ]
10079 dispinterface DispCPlugins
10080 {
10081  properties:
10082 methods:
10083     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
10084     long length();
10085
10086     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
10087     void refresh([defaultvalue(0), in] VARIANT_BOOL reload);
10088
10089     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
10090     IDispatch *constructor();
10091 }
10092
10093 [
10094     noncreatable,
10095     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
10096 ]
10097 coclass CPlugins
10098 {
10099     [default]  dispinterface DispCPlugins;
10100                interface IHTMLPluginsCollection;
10101                interface IHTMLDOMConstructor;
10102 }
10103
10104 /*****************************************************************************
10105  *    IHTMLOpsProfile interface
10106  */
10107 [
10108     odl,
10109     oleautomation,
10110     dual,
10111     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
10112 ]
10113 interface IHTMLOpsProfile : IDispatch
10114 {
10115     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
10116     HRESULT addRequest(
10117         [in] BSTR name,
10118         [optional, in] VARIANT reserved,
10119         [retval, out] VARIANT_BOOL *success);
10120
10121     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
10122     HRESULT clearRequest();
10123
10124     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
10125     HRESULT doRequest(
10126         [in] VARIANT usage,
10127         [optional, in] VARIANT fname,
10128         [optional, in] VARIANT domain,
10129         [optional, in] VARIANT path,
10130         [optional, in] VARIANT expire,
10131         [optional, in] VARIANT reserved);
10132
10133     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
10134     HRESULT getAttribute(
10135         [in] BSTR name,
10136         [retval, out] BSTR *value);
10137
10138     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
10139     HRESULT setAttribute(
10140         [in] BSTR name,
10141         [in] BSTR value,
10142         [optional, in] VARIANT prefs,
10143         [retval, out] VARIANT_BOOL *success);
10144
10145     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
10146     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
10147
10148     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
10149     HRESULT addReadRequest(
10150         [in] BSTR name,
10151         [optional, in] VARIANT reserved,
10152         [retval, out] VARIANT_BOOL *success);
10153
10154     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
10155     HRESULT doReadRequest(
10156         [in] VARIANT usage,
10157         [optional, in] VARIANT fname,
10158         [optional, in] VARIANT domain,
10159         [optional, in] VARIANT path,
10160         [optional, in] VARIANT expire,
10161         [optional, in] VARIANT reserved);
10162
10163     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
10164     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
10165 }
10166
10167 [
10168     noncreatable,
10169     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
10170 ]
10171 coclass COpsProfile
10172 {
10173     [default]           interface IHTMLOpsProfile;
10174 }
10175
10176 /*****************************************************************************
10177  *    IOmNavigator interface
10178  */
10179 [
10180     odl,
10181     oleautomation,
10182     dual,
10183     uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
10184 ]
10185 interface IOmNavigator : IDispatch
10186 {
10187     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
10188     HRESULT appCodeName([retval, out] BSTR *p);
10189
10190     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
10191     HRESULT appName([retval, out] BSTR *p);
10192
10193     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
10194     HRESULT appVersion([retval, out] BSTR *p);
10195
10196     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
10197     HRESULT userAgent([retval, out] BSTR *p);
10198
10199     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
10200     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
10201
10202     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
10203     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
10204
10205     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
10206     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
10207
10208     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
10209     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
10210
10211     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
10212     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
10213
10214     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
10215     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
10216
10217     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
10218     HRESULT toString([retval, out] BSTR *String);
10219
10220     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
10221     HRESULT cpuClass([retval, out] BSTR *p);
10222
10223     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
10224     HRESULT systemLanguage([retval, out] BSTR *p);
10225
10226     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
10227     HRESULT browserLanguage([retval, out] BSTR *p);
10228
10229     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
10230     HRESULT userLanguage([retval, out] BSTR *p);
10231
10232     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
10233     HRESULT platform([retval, out] BSTR *p);
10234
10235     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
10236     HRESULT appMinorVersion([retval, out] BSTR *p);
10237
10238     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
10239     HRESULT connectionSpeed([retval, out] LONG *p);
10240
10241     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
10242     HRESULT onLine([retval, out] VARIANT_BOOL *p);
10243
10244     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
10245     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
10246 }
10247
10248 /*****************************************************************************
10249  *    DispHTMLNavigator dispinterface
10250  */
10251 [
10252     hidden,
10253     uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
10254 ]
10255 dispinterface DispHTMLNavigator
10256 {
10257 properties:
10258 methods:
10259     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
10260     BSTR appCodeName();
10261
10262     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
10263     BSTR appName();
10264
10265     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
10266     BSTR appVersion();
10267
10268     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
10269     BSTR userAgent();
10270
10271     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
10272     VARIANT_BOOL javaEnabled();
10273
10274     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
10275     VARIANT_BOOL taintEnabled();
10276
10277     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
10278     IHTMLMimeTypesCollection *mimeTypes();
10279
10280     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
10281     IHTMLPluginsCollection *plugins();
10282
10283     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
10284     VARIANT_BOOL cookieEnabled();
10285
10286     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
10287     IHTMLOpsProfile *opsProfile();
10288
10289     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
10290     BSTR toString();
10291
10292     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
10293     BSTR cpuClass();
10294
10295     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
10296     BSTR systemLanguage();
10297
10298     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
10299     BSTR browserLanguage();
10300
10301     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
10302     BSTR userLanguage();
10303
10304     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
10305     BSTR platform();
10306
10307     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
10308     BSTR appMinorVersion();
10309
10310     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
10311     LONG connectionSpeed();
10312
10313     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
10314     VARIANT_BOOL onLine();
10315
10316     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
10317     IHTMLOpsProfile *userProfile();
10318
10319     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
10320 }
10321
10322 [
10323     noncreatable,
10324     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
10325 ]
10326 coclass HTMLNavigator
10327 {
10328     [default]  dispinterface DispHTMLNavigator;
10329                interface IOmNavigator;
10330 }
10331
10332 /*****************************************************************************
10333  *    IHTMLLocation interface
10334  */
10335 [
10336     odl,
10337     oleautomation,
10338     dual,
10339     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
10340 ]
10341 interface IHTMLLocation : IDispatch
10342 {
10343     [propput, id(DISPID_IHTMLLOCATION_HREF)]
10344     HRESULT href([in] BSTR v);
10345
10346     [propget, id(DISPID_IHTMLLOCATION_HREF)]
10347     HRESULT href([retval, out] BSTR *p);
10348
10349     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10350     HRESULT protocol([in] BSTR v);
10351
10352     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10353     HRESULT protocol([retval, out] BSTR *p);
10354
10355     [propput, id(DISPID_IHTMLLOCATION_HOST)]
10356     HRESULT host([in] BSTR v);
10357
10358     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10359     HRESULT host([retval, out] BSTR *p);
10360
10361     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10362     HRESULT hostname([in] BSTR v);
10363
10364     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10365     HRESULT hostname([retval, out] BSTR *p);
10366
10367     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10368     HRESULT port([in] BSTR v);
10369
10370     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10371     HRESULT port([retval, out] BSTR *p);
10372
10373     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10374     HRESULT pathname([in] BSTR v);
10375
10376     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10377     HRESULT pathname([retval, out] BSTR *p);
10378
10379     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10380     HRESULT search([in] BSTR v);
10381
10382     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10383     HRESULT search([retval, out] BSTR *p);
10384
10385     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10386     HRESULT hash([in] BSTR v);
10387
10388     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10389     HRESULT hash([retval, out] BSTR *p);
10390
10391     [id(DISPID_IHTMLLOCATION_RELOAD)]
10392     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
10393
10394     [id(DISPID_IHTMLLOCATION_REPLACE)]
10395     HRESULT replace([in] BSTR bstr);
10396
10397     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10398     HRESULT assign([in] BSTR bstr);
10399
10400     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10401     HRESULT toString([retval, out] BSTR *String);
10402 }
10403
10404 /*****************************************************************************
10405  *    DispHTMLHistory dispinterface
10406  */
10407 [
10408     hidden,
10409     uuid(3050f549-98b5-11cf-bb82-00aa00bdce0b)
10410 ]
10411 dispinterface DispHTMLHistory
10412 {
10413 properties:
10414 methods:
10415     [propget, id(DISPID_IOMHISTORY_LENGTH)]
10416     short length();
10417
10418     [id(DISPID_IOMHISTORY_BACK)]
10419     void back([optional, in] VARIANT *pvargdistance);
10420
10421     [id(DISPID_IOMHISTORY_FORWARD)]
10422     void forward([optional, in] VARIANT *pvargdistance);
10423
10424     [id(DISPID_IOMHISTORY_GO)]
10425     void go([optional, in] VARIANT *pvargdistance);
10426
10427     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
10428     IDispatch *constructor();
10429 }
10430
10431 /*****************************************************************************
10432  *    DispHTMLLocation dispinterface
10433  */
10434 [
10435     hidden,
10436     uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
10437 ]
10438 dispinterface DispHTMLLocation
10439 {
10440 properties:
10441 methods:
10442     [propput, id(DISPID_IHTMLLOCATION_HREF)]
10443     void href(BSTR v);
10444
10445     [propget, id(DISPID_IHTMLLOCATION_HREF)]
10446     BSTR href();
10447
10448     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10449     void protocol(BSTR v);
10450
10451     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10452     BSTR protocol();
10453
10454     [propput, id(DISPID_IHTMLLOCATION_HOST)]
10455     void host(BSTR v);
10456
10457     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10458     BSTR host();
10459
10460     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10461     void hostname(BSTR v);
10462
10463     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10464     BSTR hostname();
10465
10466     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10467     void port(BSTR v);
10468
10469     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10470     BSTR port();
10471
10472     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10473     void pathname(BSTR v);
10474
10475     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10476     BSTR pathname();
10477
10478     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10479     void search(BSTR v);
10480
10481     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10482     BSTR search();
10483
10484     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10485     void hash(BSTR v);
10486
10487     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10488     BSTR hash();
10489
10490     [id(DISPID_IHTMLLOCATION_RELOAD)]
10491     void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
10492
10493     [id(DISPID_IHTMLLOCATION_REPLACE)]
10494     void replace([in] BSTR bstr);
10495
10496     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10497     void assign([in] BSTR bstr);
10498
10499     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10500     BSTR toString();
10501
10502     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
10503 }
10504
10505 [
10506     noncreatable,
10507     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
10508 ]
10509 coclass HTMLLocation
10510 {
10511     [default]  dispinterface DispHTMLLocation;
10512                interface IHTMLLocation;
10513 }
10514
10515 [
10516     odl,
10517     oleautomation,
10518     dual,
10519     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
10520 ]
10521 interface IHTMLBookmarkCollection : IDispatch
10522 {
10523     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
10524     HRESULT length([out, retval] LONG *p);
10525
10526     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
10527     HRESULT _newEnum([out, retval] IUnknown **p);
10528
10529     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
10530     HRESULT item(
10531             [in] LONG index,
10532             [out, retval] VARIANT *pVarBookmark);
10533 }
10534
10535 /*****************************************************************************
10536  *    IHTMLDataTransfer interface
10537  */
10538 [
10539     odl,
10540     oleautomation,
10541     dual,
10542     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
10543 ]
10544 interface IHTMLDataTransfer : IDispatch
10545 {
10546     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
10547     HRESULT setData(
10548             [in] BSTR format,
10549             [in] VARIANT *data,
10550             [out, retval] VARIANT_BOOL *pret);
10551
10552     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
10553     HRESULT getData(
10554             [in] BSTR format,
10555             [out, retval] VARIANT *pvarRet);
10556
10557     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
10558     HRESULT clearData(
10559             [in] BSTR format,
10560             [out, retval] VARIANT_BOOL *pret);
10561
10562     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10563     HRESULT dropEffect([in] BSTR v);
10564
10565     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10566     HRESULT dropEffect([out, retval] BSTR *p);
10567
10568     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10569     HRESULT effectAllowed([in] BSTR v);
10570
10571     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10572     HRESULT effectAllowed([out, retval] BSTR *p);
10573 }
10574
10575 /*****************************************************************************
10576  *    IHTMLEventObj interface
10577  */
10578 [
10579     odl,
10580     oleautomation,
10581     dual,
10582     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
10583 ]
10584 interface IHTMLEventObj : IDispatch
10585 {
10586     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
10587     HRESULT srcElement([retval, out] IHTMLElement **p);
10588
10589     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
10590     HRESULT altKey([retval, out] VARIANT_BOOL *p);
10591
10592     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
10593     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
10594
10595     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
10596     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
10597
10598     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10599     HRESULT returnValue([in] VARIANT v);
10600
10601     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10602     HRESULT returnValue([retval, out] VARIANT *p);
10603
10604     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10605     HRESULT cancelBubble([in] VARIANT_BOOL v);
10606
10607     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10608     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
10609
10610     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
10611     HRESULT fromElement([retval, out] IHTMLElement **p);
10612
10613     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
10614     HRESULT toElement([retval, out] IHTMLElement **p);
10615
10616     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10617     HRESULT keyCode([in] LONG v);
10618
10619     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10620     HRESULT keyCode([retval, out] LONG *p);
10621
10622     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
10623     HRESULT button([retval, out] LONG *p);
10624
10625     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
10626     HRESULT type([retval, out] BSTR *p);
10627
10628     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
10629     HRESULT qualifier([retval, out] BSTR *p);
10630
10631     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
10632     HRESULT reason([retval, out] LONG *p);
10633
10634     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
10635     HRESULT x([retval, out] LONG *p);
10636
10637     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
10638     HRESULT y([retval, out] LONG *p);
10639
10640     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
10641     HRESULT clientX([retval, out] LONG *p);
10642
10643     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
10644     HRESULT clientY([retval, out] LONG *p);
10645
10646     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
10647     HRESULT offsetX([retval, out] LONG *p);
10648
10649     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
10650     HRESULT offsetY([retval, out] LONG *p);
10651
10652     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
10653     HRESULT screenX([retval, out] LONG *p);
10654
10655     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
10656     HRESULT screenY([retval, out] LONG *p);
10657
10658     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
10659     HRESULT srcFilter([retval, out] IDispatch **p);
10660 }
10661
10662 /*****************************************************************************
10663  *    DispCEventObj dispinterface
10664  */
10665 [
10666     hidden,
10667     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
10668 ]
10669 dispinterface DispCEventObj
10670 {
10671 properties:
10672 methods:
10673     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10674     void returnValue(VARIANT v);
10675
10676     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10677     VARIANT returnValue();
10678
10679     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10680     void cancelBubble(VARIANT_BOOL v);
10681
10682     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10683     VARIANT_BOOL cancelBubble();
10684
10685     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10686     void keyCode(LONG v);
10687
10688     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10689     LONG keyCode();
10690
10691     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
10692     void setAttribute(
10693             [in] BSTR strAttributeName,
10694             [in] VARIANT AttributeValue,
10695             [in, defaultvalue(1)] LONG lFlags);
10696
10697     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
10698     VARIANT getAttribute(
10699             [in] BSTR strAttributeName,
10700             [in, defaultvalue(0)] LONG lFlags);
10701
10702     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
10703     VARIANT_BOOL removeAttribute(
10704             [in] BSTR strAttributeName,
10705             [in, defaultvalue(1)] LONG lFlags);
10706
10707     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
10708     void propertyName(BSTR v);
10709
10710     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
10711     BSTR propertyName();
10712
10713     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
10714     void bookmarks(IHTMLBookmarkCollection *v);
10715
10716     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
10717     IHTMLBookmarkCollection *bookmarks();
10718
10719     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
10720     void recordset(IDispatch *v);
10721
10722     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
10723     IDispatch *recordset();
10724
10725     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
10726     void dataFld(BSTR v);
10727
10728     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
10729     BSTR dataFld();
10730
10731     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
10732     void boundElements(IHTMLElementCollection *v);
10733
10734     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
10735     IHTMLElementCollection *boundElements();
10736
10737     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
10738     void repeat(VARIANT_BOOL v);
10739
10740     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
10741     VARIANT_BOOL repeat();
10742
10743     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
10744     void srcUrn(BSTR v);
10745
10746     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
10747     BSTR srcUrn();
10748
10749     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
10750     void srcElement(IHTMLElement *v);
10751
10752     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
10753     IHTMLElement *srcElement();
10754
10755     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
10756     void altKey(VARIANT_BOOL v);
10757
10758     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
10759     VARIANT_BOOL altKey();
10760
10761     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
10762     void ctrlKey(VARIANT_BOOL v);
10763
10764     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
10765     VARIANT_BOOL ctrlKey();
10766
10767     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
10768     void shiftKey(VARIANT_BOOL v);
10769
10770     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
10771     VARIANT_BOOL shiftKey();
10772
10773     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
10774     void fromElement(IHTMLElement *v);
10775
10776     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
10777     IHTMLElement *fromElement();
10778
10779     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
10780     void toElement(IHTMLElement *v);
10781
10782     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
10783     IHTMLElement *toElement();
10784
10785     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
10786     void button(LONG v);
10787
10788     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
10789     LONG button();
10790
10791     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
10792     void type(BSTR v);
10793
10794     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
10795     BSTR type();
10796
10797     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
10798     void qualifier(BSTR v);
10799
10800     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
10801     BSTR qualifier();
10802
10803     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
10804     void reason(LONG v);
10805
10806     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
10807     LONG reason();
10808
10809     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
10810     void x(LONG v);
10811
10812     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
10813     LONG x();
10814
10815     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
10816     void y(LONG v);
10817
10818     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
10819     LONG y();
10820
10821     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
10822     void clientX(LONG v);
10823
10824     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
10825     LONG clientX();
10826
10827     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
10828     void clientY(LONG v);
10829
10830     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
10831     LONG clientY();
10832     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
10833     void offsetX(LONG v);
10834
10835     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
10836     LONG offsetX();
10837
10838     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
10839     void offsetY(LONG v);
10840
10841     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
10842     LONG offsetY();
10843
10844     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
10845     void screenX(LONG v);
10846
10847     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
10848     LONG screenX();
10849
10850     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
10851     void screenY(LONG v);
10852
10853     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
10854     LONG screenY();
10855
10856     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
10857     void srcFilter(IDispatch *v);
10858
10859     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
10860     IDispatch *srcFilter();
10861
10862     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
10863     IHTMLDataTransfer *dataTransfer();
10864
10865     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
10866     VARIANT_BOOL contentOverflow();
10867
10868     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
10869     void shiftLeft(VARIANT_BOOL v);
10870
10871     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
10872     VARIANT_BOOL shiftLeft();
10873
10874     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
10875     void altLeft(VARIANT_BOOL v);
10876
10877     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
10878     VARIANT_BOOL altLeft();
10879
10880     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
10881     void ctrlLeft(VARIANT_BOOL v);
10882
10883     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
10884     VARIANT_BOOL ctrlLeft();
10885
10886     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
10887     LONG_PTR imeCompositionChange();
10888
10889     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
10890     LONG_PTR imeNotifyCommand();
10891
10892     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
10893     LONG_PTR imeNotifyData();
10894
10895     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
10896     LONG_PTR imeRequest();
10897
10898     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
10899     LONG_PTR imeRequestData();
10900
10901     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
10902     LONG_PTR keyboardLayout();
10903
10904     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
10905     LONG behaviorCookie();
10906
10907     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
10908     LONG behaviorPart();
10909
10910     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
10911     BSTR nextPage();
10912
10913     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
10914     LONG wheelDelta();
10915 }
10916
10917 /*****************************************************************************
10918  *    IHTMLFramesCollection2 interface
10919  */
10920 [
10921     odl,
10922     oleautomation,
10923     dual,
10924     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
10925 ]
10926 interface IHTMLFramesCollection2 : IDispatch
10927 {
10928     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10929     HRESULT item(
10930         [in] VARIANT *pvarIndex,
10931         [retval, out] VARIANT *pvarResult);
10932
10933     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10934     HRESULT length([retval, out] LONG *p);
10935 }
10936
10937 /*****************************************************************************
10938  *    IHTMLScreen interface
10939  */
10940 [
10941     odl,
10942     oleautomation,
10943     dual,
10944     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
10945 ]
10946 interface IHTMLScreen : IDispatch
10947 {
10948     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
10949     HRESULT colorDepth([retval, out] LONG *p);
10950
10951     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10952     HRESULT bufferDepth([in] LONG v);
10953
10954     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10955     HRESULT bufferDepth([retval, out] LONG *p);
10956
10957     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10958     HRESULT width([retval, out] LONG *p);
10959
10960     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10961     HRESULT height([retval, out] LONG *p);
10962
10963     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10964     HRESULT updateInterval([in] LONG v);
10965
10966     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10967     HRESULT updateInterval([retval, out] LONG *p);
10968
10969     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
10970     HRESULT availHeight([retval, out] LONG *p);
10971
10972     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
10973     HRESULT availWidth([retval, out] LONG *p);
10974
10975     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10976     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
10977 }
10978
10979 /*****************************************************************************
10980  *    IHTMLWindow2 interface
10981  */
10982 [
10983     odl,
10984     oleautomation,
10985     dual,
10986     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
10987 ]
10988 interface IHTMLWindow2 : IHTMLFramesCollection2
10989 {
10990     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10991     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
10992
10993     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10994     HRESULT defaultStatus([in] BSTR v);
10995
10996     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10997     HRESULT defaultStatus([retval, out] BSTR *p);
10998
10999     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11000     HRESULT status([in] BSTR v);
11001
11002     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11003     HRESULT status([retval, out] BSTR *p);
11004
11005     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
11006     HRESULT setTimeout(
11007         [in] BSTR expression,
11008         [in] LONG msec,
11009         [optional, in] VARIANT *language,
11010         [retval, out] LONG *timerID);
11011
11012     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11013     HRESULT clearTimeout([in] LONG timerID);
11014
11015     [id(DISPID_IHTMLWINDOW2_ALERT)]
11016     HRESULT alert([defaultvalue(""), in] BSTR message);
11017
11018     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11019     HRESULT confirm(
11020         [defaultvalue(""), in] BSTR message,
11021         [retval, out] VARIANT_BOOL *confirmed);
11022
11023     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11024     HRESULT prompt(
11025         [defaultvalue(""), in] BSTR message,
11026         [defaultvalue("undefined"), in] BSTR defstr,
11027         [retval, out] VARIANT *textdata);
11028
11029     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11030     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
11031
11032     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11033     HRESULT location([retval, out] IHTMLLocation **p);
11034
11035     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11036     HRESULT history([retval, out] IOmHistory **p);
11037
11038     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11039     HRESULT close();
11040
11041     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11042     HRESULT opener([in] VARIANT v);
11043
11044     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11045     HRESULT opener([retval, out] VARIANT *p);
11046
11047     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11048     HRESULT navigator([retval, out] IOmNavigator **p);
11049
11050     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11051     HRESULT name([in] BSTR v);
11052
11053     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11054     HRESULT name([retval, out] BSTR *p);
11055
11056     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11057     HRESULT parent([retval, out] IHTMLWindow2 **p);
11058
11059     [id(DISPID_IHTMLWINDOW2_OPEN)]
11060     HRESULT open(
11061         [defaultvalue(""), in] BSTR url,
11062         [defaultvalue(""), in] BSTR name,
11063         [defaultvalue(""), in] BSTR features,
11064         [defaultvalue(0), in] VARIANT_BOOL replace,
11065         [retval, out] IHTMLWindow2 **pomWindowResult);
11066
11067     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11068     HRESULT self([retval, out] IHTMLWindow2 **p);
11069
11070     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11071     HRESULT top([retval, out] IHTMLWindow2 **p);
11072
11073     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11074     HRESULT window([retval, out] IHTMLWindow2 **p);
11075
11076     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11077     HRESULT navigate([in] BSTR url);
11078
11079     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
11080     HRESULT onfocus([in] VARIANT v);
11081
11082     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
11083     HRESULT onfocus([retval, out] VARIANT *p);
11084
11085     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
11086     HRESULT onblur([in] VARIANT v);
11087
11088     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
11089     HRESULT onblur([retval, out] VARIANT *p);
11090
11091     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
11092     HRESULT onload([in] VARIANT v);
11093
11094     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
11095     HRESULT onload([retval, out] VARIANT *p);
11096
11097     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
11098     HRESULT onbeforeunload([in] VARIANT v);
11099
11100     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
11101     HRESULT onbeforeunload([retval, out] VARIANT *p);
11102
11103     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
11104     HRESULT onunload([in] VARIANT v);
11105
11106     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
11107     HRESULT onunload([retval, out] VARIANT *p);
11108
11109     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
11110     HRESULT onhelp([in] VARIANT v);
11111
11112     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
11113     HRESULT onhelp([retval, out] VARIANT *p);
11114
11115     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
11116     HRESULT onerror([in] VARIANT v);
11117
11118     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
11119     HRESULT onerror([retval, out] VARIANT *p);
11120
11121     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
11122     HRESULT onresize([in] VARIANT v);
11123
11124     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
11125     HRESULT onresize([retval, out] VARIANT *p);
11126
11127     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
11128     HRESULT onscroll([in] VARIANT v);
11129
11130     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
11131     HRESULT onscroll([retval, out] VARIANT *p);
11132
11133     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
11134     HRESULT document([retval, out] IHTMLDocument2 **p);
11135
11136     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11137     HRESULT event([retval, out] IHTMLEventObj **p);
11138
11139     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
11140     HRESULT _newEnum([retval, out] IUnknown **p);
11141
11142     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11143     HRESULT showModalDialog(
11144         [in] BSTR dialog,
11145         [optional, in] VARIANT *varArgIn,
11146         [optional, in] VARIANT *varOptions,
11147         [retval, out] VARIANT *varArgOut);
11148
11149     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11150     HRESULT showHelp(
11151         [in] BSTR helpURL,
11152         [optional, in] VARIANT helpArg,
11153         [defaultvalue(""), in] BSTR features);
11154
11155     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11156     HRESULT screen([retval, out] IHTMLScreen **p);
11157
11158     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11159     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
11160
11161     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11162     HRESULT focus();
11163
11164     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11165     HRESULT closed([retval, out] VARIANT_BOOL *p);
11166
11167     [id(DISPID_IHTMLWINDOW2_BLUR)]
11168     HRESULT blur();
11169
11170     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11171     HRESULT scroll([in] LONG x, [in] LONG y);
11172
11173     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11174     HRESULT clientInformation([retval, out] IOmNavigator **p);
11175
11176     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
11177     HRESULT setInterval([
11178         in] BSTR expression,
11179         [in] LONG msec,
11180         [optional, in] VARIANT *language,
11181         [retval, out] LONG *timerID);
11182
11183     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11184     HRESULT clearInterval([in] LONG timerID);
11185
11186     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11187     HRESULT offscreenBuffering([in] VARIANT v);
11188
11189     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11190     HRESULT offscreenBuffering([retval, out] VARIANT *p);
11191
11192     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11193     HRESULT execScript(
11194         [in] BSTR scode,
11195         [defaultvalue("JScript"), in] BSTR language,
11196         [retval, out] VARIANT *pvarRet);
11197
11198     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11199     HRESULT toString([retval, out] BSTR *String);
11200
11201     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11202     HRESULT scrollBy([in] LONG x, [in] LONG y);
11203
11204     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11205     HRESULT scrollTo([in] LONG x, [in] LONG y);
11206
11207     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11208     HRESULT moveTo([in] LONG x, [in] LONG y);
11209
11210     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11211     HRESULT moveBy([in] LONG x, [in] LONG y);
11212
11213     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11214     HRESULT resizeTo([in] LONG x, [in] LONG y);
11215
11216     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11217     HRESULT resizeBy([in] LONG x, [in] LONG y);
11218
11219     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11220     HRESULT external([retval, out] IDispatch **p);
11221 }
11222
11223 /*****************************************************************************
11224  *    IHTMLWindow3 interface
11225  */
11226 [
11227     odl,
11228     oleautomation,
11229     dual,
11230     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
11231 ]
11232 interface IHTMLWindow3 : IDispatch
11233 {
11234     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11235     HRESULT screenLeft([out, retval] LONG *p);
11236
11237     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11238     HRESULT screenTop([out, retval] LONG *p);
11239
11240     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11241     HRESULT attachEvent(
11242             [in] BSTR event,
11243             [in] IDispatch *pDisp,
11244             [out, retval] VARIANT_BOOL *pfResult);
11245
11246     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11247     HRESULT detachEvent(
11248             [in] BSTR event,
11249             [in] IDispatch *pDisp);
11250
11251     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11252     HRESULT setTimeout(
11253             [in] VARIANT *expression,
11254             [in] LONG msec,
11255             [in, optional] VARIANT *language,
11256             [out, retval] LONG *timerID);
11257
11258     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11259     HRESULT setInterval(
11260             [in] VARIANT *expression,
11261             [in] LONG msec,
11262             [in, optional] VARIANT *language,
11263             [out, retval] LONG *timerID);
11264
11265     [id(DISPID_IHTMLWINDOW3_PRINT)]
11266     HRESULT print();
11267
11268     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11269     HRESULT onbeforeprint([in] VARIANT v);
11270
11271     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11272     HRESULT onbeforeprint([out, retval] VARIANT *p);
11273
11274     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11275     HRESULT onafterprint([in] VARIANT v);
11276
11277     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11278     HRESULT onafterprint([out, retval] VARIANT *p);
11279
11280     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11281     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
11282
11283     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11284     HRESULT showModelessDialog(
11285             [in, defaultvalue("")] BSTR url,
11286             [in, optional] VARIANT *varArgIn,
11287             [in, optional] VARIANT *options,
11288             [out, retval] IHTMLWindow2 **pDialog);
11289 }
11290
11291 /*****************************************************************************
11292  *    IHTMLWindow4 interface
11293  */
11294 [
11295     odl,
11296     oleautomation,
11297     dual,
11298     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
11299 ]
11300 interface IHTMLWindow4 : IDispatch
11301 {
11302     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11303     HRESULT createPopup([optional, in] VARIANT* varArgIn,
11304                         [retval, out] IDispatch** ppPopup);
11305
11306     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11307     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
11308 }
11309
11310 /*****************************************************************************
11311  *    IHTMLWindow5 interface
11312  */
11313 [
11314     odl,
11315     oleautomation,
11316     dual,
11317     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
11318 ]
11319 interface IHTMLWindow5 : IDispatch
11320 {
11321     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11322     HRESULT XMLHttpRequest([in] VARIANT v);
11323
11324     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11325     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
11326 }
11327
11328 /*****************************************************************************
11329  *    IHTMLWindow6 interface
11330  */
11331 [
11332     odl,
11333     oleautomation,
11334     dual,
11335     uuid(30510453-98b5-11cf-bb82-00aa00bdce0b)
11336 ]
11337 interface IHTMLWindow6 : IDispatch
11338 {
11339     [propput, id(DISPID_IHTMLWINDOW6_XDOMAINREQUEST)]
11340     HRESULT XDomainRequest([in] VARIANT v);
11341
11342     [propget, id(DISPID_IHTMLWINDOW6_XDOMAINREQUEST)]
11343     HRESULT XDomainRequest([out, retval] VARIANT *p);
11344
11345     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
11346     HRESULT sessionStorage([out, retval] IHTMLStorage **p);
11347
11348     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
11349     HRESULT localStorage([out, retval] IHTMLStorage **p);
11350
11351     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11352     HRESULT onhashchange([in] VARIANT v);
11353
11354     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11355     HRESULT onhashchange([out, retval] VARIANT *p);
11356
11357     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
11358     HRESULT maxConnectionsPerServer([out, retval] long *p);
11359
11360     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
11361     HRESULT postMessage(
11362             [in] BSTR msg,
11363             [in, optional] VARIANT targetOrigin);
11364
11365     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
11366     HRESULT toStaticHTML(
11367             [in] BSTR bstrHTML,
11368             [out, retval] BSTR *pbstrStaticHTML);
11369
11370     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11371     HRESULT onmessage([in] VARIANT v);
11372
11373     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11374     HRESULT onmessage([out, retval] VARIANT *p);
11375
11376     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
11377     HRESULT msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
11378 }
11379
11380 /*****************************************************************************
11381  *    DispHTMLScreen dispinterface
11382  */
11383 [
11384     hidden,
11385     uuid(3050f591-98b5-11cf-bb82-00aa00bdce0b)
11386 ]
11387 dispinterface DispHTMLScreen
11388 {
11389 properties:
11390 methods:
11391     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
11392     long colorDepth();
11393
11394     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11395     void bufferDepth(long v);
11396
11397     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11398     long bufferDepth();
11399
11400     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
11401     long width();
11402
11403     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
11404     long height();
11405
11406     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11407     void updateInterval(long v);
11408
11409     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11410     long updateInterval();
11411
11412     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
11413     long availHeight();
11414
11415     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
11416     long availWidth();
11417
11418     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
11419     VARIANT_BOOL fontSmoothingEnabled();
11420
11421     [propget, id(DISPID_IHTMLSCREEN2_LOGICALXDPI)]
11422     long logicalXDPI();
11423
11424     [propget, id(DISPID_IHTMLSCREEN2_LOGICALYDPI)]
11425     long logicalYDPI();
11426
11427     [propget, id(DISPID_IHTMLSCREEN2_DEVICEXDPI)]
11428     long deviceXDPI();
11429
11430     [propget, id(DISPID_IHTMLSCREEN2_DEVICEYDPI)]
11431     long deviceYDPI();
11432
11433     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMXDPI)]
11434     long systemXDPI();
11435
11436     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMYDPI)]
11437     long systemYDPI();
11438
11439     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
11440     IDispatch *constructor();
11441 }
11442
11443 /*****************************************************************************
11444  *    DispHTMLWindow2 dispinterface
11445  */
11446 [
11447     hidden,
11448     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
11449 ]
11450 dispinterface DispHTMLWindow2
11451 {
11452 properties:
11453 methods:
11454     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11455     VARIANT item([in] VARIANT *pvarIndex);
11456
11457     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11458     LONG length();
11459
11460     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11461     IHTMLFramesCollection2 *frames();
11462
11463     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11464     void defaultStatus(BSTR v);
11465
11466     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11467     BSTR defaultStatus();
11468
11469     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11470     void status(BSTR v);
11471
11472     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11473     BSTR status();
11474
11475     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11476     void clearTimeout([in] LONG timerID);
11477
11478     [id(DISPID_IHTMLWINDOW2_ALERT)]
11479     void alert([in, defaultvalue("")] BSTR message);
11480
11481     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11482     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
11483
11484     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11485     VARIANT prompt(
11486             [in, defaultvalue("")] BSTR message,
11487             [in, defaultvalue("undefined")] BSTR defstr);
11488
11489     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11490     IHTMLImageElementFactory *Image();
11491
11492     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11493     IHTMLLocation *location();
11494
11495     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11496     IOmHistory *history();
11497
11498     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11499     void close();
11500
11501     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11502     void opener(VARIANT v);
11503
11504     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11505     VARIANT opener();
11506
11507     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11508     IOmNavigator *navigator();
11509
11510     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11511     void name(BSTR v);
11512
11513     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11514     BSTR name();
11515
11516     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11517     IHTMLWindow2 *parent();
11518
11519     [id(DISPID_IHTMLWINDOW2_OPEN)]
11520     IHTMLWindow2 *open(
11521             [in, defaultvalue("")] BSTR url,
11522             [in, defaultvalue("")] BSTR name,
11523             [in, defaultvalue("")] BSTR features,
11524             [in, defaultvalue(0)]  VARIANT_BOOL replace);
11525
11526     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11527     IHTMLWindow2 *self();
11528
11529     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11530     IHTMLWindow2 *top();
11531
11532     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11533     IHTMLWindow2 *window();
11534
11535     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11536     void navigate([in] BSTR url);
11537
11538     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11539     void onfocus(VARIANT v);
11540
11541     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11542     VARIANT onfocus();
11543
11544     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11545     void onblur(VARIANT v);
11546
11547     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11548     VARIANT onblur();
11549
11550     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11551     VARIANT onload();
11552
11553     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11554     void onbeforeunload(VARIANT v);
11555
11556     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11557     VARIANT onbeforeunload();
11558
11559     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11560     void onunload(VARIANT v);
11561
11562     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11563     VARIANT onunload();
11564
11565     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11566     void onhelp(VARIANT v);
11567
11568     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11569     VARIANT onhelp();
11570
11571     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11572     void onerror(VARIANT v);
11573
11574     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11575     VARIANT onerror();
11576
11577     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11578     void onresize(VARIANT v);
11579
11580     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11581     VARIANT onresize();
11582
11583     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11584     void onscroll(VARIANT v);
11585
11586     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11587     VARIANT onscroll();
11588
11589     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11590     IHTMLDocument2 *document();
11591
11592     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11593     IHTMLEventObj *event();
11594
11595     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11596     IUnknown *_newEnum();
11597
11598     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11599     VARIANT showModalDialog(
11600             [in] BSTR dialog,
11601             [in, optional] VARIANT *varArgIn,
11602             [in, optional] VARIANT *varOptions);
11603
11604     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11605     void showHelp(
11606             [in] BSTR helpURL,
11607             [in, optional] VARIANT helpArg,
11608             [in, defaultvalue("")] BSTR features);
11609
11610     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11611     IHTMLScreen *screen();
11612
11613     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11614     IHTMLOptionElementFactory *Option();
11615
11616     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11617     void focus();
11618
11619     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11620     VARIANT_BOOL closed();
11621
11622     [id(DISPID_IHTMLWINDOW2_BLUR)]
11623     void blur();
11624
11625     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11626     void scroll([in] LONG x, [in] LONG y);
11627
11628     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11629     IOmNavigator *clientInformation();
11630
11631     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11632     void clearInterval([in] LONG timerID);
11633
11634     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11635     void offscreenBuffering(VARIANT v);
11636
11637     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11638     VARIANT offscreenBuffering();
11639
11640     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11641     VARIANT execScript(
11642             [in] BSTR _code,
11643             [in, defaultvalue("JScript")] BSTR language);
11644
11645     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11646     BSTR toString();
11647
11648     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11649     void scrollBy([in] LONG x, [in] LONG y);
11650
11651     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11652     void scrollTo([in] LONG x, [in] LONG y);
11653
11654     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11655     void moveTo([in] LONG x, [in] LONG y);
11656
11657     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11658     void moveBy([in] LONG x, [in] LONG y);
11659
11660     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11661     void resizeTo([in] LONG x, [in] LONG y);
11662
11663     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11664     void resizeBy([in] LONG x, [in] LONG y);
11665
11666     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11667     IDispatch *external();
11668
11669     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11670     LONG screenLeft();
11671
11672     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11673     LONG screenTop();
11674
11675     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11676     VARIANT_BOOL attachEvent(
11677              [in] BSTR event,
11678              [in] IDispatch *pDisp);
11679
11680     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11681     void detachEvent(
11682             [in] BSTR event,
11683             [in] IDispatch *pDisp);
11684
11685     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11686     LONG setTimeout(
11687             [in] VARIANT *expression,
11688             [in] LONG msec,
11689             [in, optional] VARIANT *language);
11690
11691     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11692     LONG setInterval(
11693             [in] VARIANT *expression,
11694             [in] LONG msec,
11695             [in, optional] VARIANT *language);
11696
11697     [id(DISPID_IHTMLWINDOW3_PRINT)]
11698     void print();
11699
11700     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11701     void onbeforeprint(VARIANT v);
11702
11703     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11704     VARIANT onbeforeprint();
11705
11706     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11707     void onafterprint(VARIANT v);
11708
11709     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11710     VARIANT onafterprint();
11711
11712     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11713     IHTMLDataTransfer *clipboardData();
11714
11715     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11716     IHTMLWindow2 *showModelessDialog(
11717             [in, defaultvalue("")] BSTR url,
11718             [in, optional] VARIANT *varArgIn,
11719             [in, optional] VARIANT *options);
11720
11721     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11722     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
11723
11724     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11725     IHTMLFrameBase *frameElement();
11726
11727     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
11728     IHTMLStorage *sessionStorage();
11729
11730     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
11731     IHTMLStorage *localStorage();
11732
11733     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11734     void onhashchange(VARIANT v);
11735
11736     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11737     VARIANT onhashchange();
11738
11739     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
11740     long maxConnectionsPerServer();
11741
11742     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
11743     void postMessage(
11744             [in] BSTR msg,
11745             [in, optional] VARIANT targetOrigin);
11746
11747     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
11748     BSTR toStaticHTML([in] BSTR bstrHTML);
11749
11750     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11751     void onmessage(VARIANT v);
11752
11753     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11754     VARIANT onmessage();
11755
11756     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
11757     void msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
11758
11759     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
11760 }
11761
11762 /*****************************************************************************
11763  *    DispHTMLWindowProxy dispinterface
11764  */
11765 [
11766     hidden,
11767     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
11768 ]
11769 dispinterface DispHTMLWindowProxy
11770 {
11771 properties:
11772 methods:
11773     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11774     VARIANT item([in] VARIANT* pvarIndex);
11775
11776     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11777     LONG length();
11778
11779     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11780     IHTMLFramesCollection2* frames();
11781
11782     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11783     void defaultStatus(BSTR v);
11784
11785     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11786     BSTR defaultStatus();
11787
11788     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11789     void status(BSTR v);
11790
11791     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11792     BSTR status();
11793
11794     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11795     void clearTimeout([in] LONG timerID);
11796
11797     [id(DISPID_IHTMLWINDOW2_ALERT)]
11798     void alert([defaultvalue(""), in] BSTR message);
11799
11800     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11801     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
11802
11803     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11804     VARIANT prompt([defaultvalue(""), in] BSTR message,
11805                    [defaultvalue("undefined"), in] BSTR defstr);
11806
11807     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11808     IHTMLImageElementFactory* Image();
11809
11810     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11811     IHTMLLocation* location();
11812
11813     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11814     IOmHistory* history();
11815
11816     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11817     void close();
11818
11819     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11820     void opener(VARIANT v);
11821
11822     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11823     VARIANT opener();
11824
11825     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11826     IOmNavigator* navigator();
11827
11828     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11829     void name(BSTR v);
11830
11831     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11832     BSTR name();
11833
11834     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11835     IHTMLWindow2* parent();
11836
11837     [id(DISPID_IHTMLWINDOW2_OPEN)]
11838     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
11839                        [defaultvalue(""), in] BSTR name,
11840                        [defaultvalue(""), in] BSTR features,
11841                        [defaultvalue(0), in] VARIANT_BOOL replace);
11842
11843     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11844     IHTMLWindow2* self();
11845
11846     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11847     IHTMLWindow2* top();
11848
11849     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11850     IHTMLWindow2* window();
11851
11852     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11853     void navigate([in] BSTR url);
11854
11855     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11856     void onfocus(VARIANT v);
11857
11858     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11859     VARIANT onfocus();
11860
11861     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11862     void onblur(VARIANT v);
11863
11864     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11865     VARIANT onblur();
11866
11867     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11868     void onload(VARIANT v);
11869
11870     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11871     VARIANT onload();
11872
11873     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11874     void onbeforeunload(VARIANT v);
11875
11876     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11877     VARIANT onbeforeunload();
11878
11879     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11880     void onunload(VARIANT v);
11881
11882     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11883     VARIANT onunload();
11884
11885     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11886     void onhelp(VARIANT v);
11887
11888     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11889     VARIANT onhelp();
11890
11891     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11892     void onerror(VARIANT v);
11893
11894     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11895     VARIANT onerror();
11896
11897     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11898     void onresize(VARIANT v);
11899
11900     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11901     VARIANT onresize();
11902
11903     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11904     void onscroll(VARIANT v);
11905
11906     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11907     VARIANT onscroll();
11908
11909     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11910     IHTMLDocument2* document();
11911
11912     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11913     IHTMLEventObj* event();
11914
11915     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11916     IUnknown* _newEnum();
11917
11918     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11919     VARIANT showModalDialog([in] BSTR dialog,
11920                             [optional, in] VARIANT* varArgIn,
11921                             [optional, in] VARIANT* varOptions);
11922
11923     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11924     void showHelp([in] BSTR helpURL,
11925                   [optional, in] VARIANT helpArg,
11926                   [defaultvalue(""), in] BSTR features);
11927
11928     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11929     IHTMLScreen* screen();
11930
11931     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11932     IHTMLOptionElementFactory* Option();
11933
11934     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11935     void focus();
11936
11937     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11938     VARIANT_BOOL closed();
11939
11940     [id(DISPID_IHTMLWINDOW2_BLUR)]
11941     void blur();
11942
11943     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11944     void scroll([in] LONG x,
11945                 [in] LONG y);
11946
11947     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11948     IOmNavigator* clientInformation();
11949
11950     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11951     void clearInterval([in] LONG timerID);
11952
11953     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11954     void offscreenBuffering(VARIANT v);
11955
11956     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11957     VARIANT offscreenBuffering();
11958
11959     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11960     VARIANT execScript([in] BSTR code,
11961                        [defaultvalue("JScript"), in] BSTR language);
11962
11963     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11964     BSTR toString();
11965
11966     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11967     void scrollBy([in] LONG x,
11968                   [in] LONG y);
11969
11970     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11971     void scrollTo([in] LONG x,
11972                   [in] LONG y);
11973
11974     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11975     void moveTo([in] LONG x,
11976                 [in] LONG y);
11977
11978     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11979     void moveBy([in] LONG x,
11980                 [in] LONG y);
11981
11982     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11983     void resizeTo([in] LONG x,
11984                   [in] LONG y);
11985
11986     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11987     void resizeBy([in] LONG x,
11988                   [in] LONG y);
11989
11990     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11991     IDispatch* external();
11992
11993     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11994     LONG screenLeft();
11995
11996     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11997     LONG screenTop();
11998
11999     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
12000     VARIANT_BOOL attachEvent([in] BSTR event,
12001                              [in] IDispatch* pDisp);
12002
12003     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
12004     void detachEvent([in] BSTR event,
12005                      [in] IDispatch* pDisp);
12006
12007     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
12008     LONG setTimeout([in] VARIANT* expression,
12009                     [in] LONG msec,
12010                     [optional, in] VARIANT* language);
12011
12012     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
12013     LONG setInterval([in] VARIANT* expression,
12014                      [in] LONG msec,
12015                      [optional, in] VARIANT* language);
12016
12017     [id(DISPID_IHTMLWINDOW3_PRINT)]
12018     void print();
12019
12020     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12021     void onbeforeprint(VARIANT v);
12022
12023     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
12024     VARIANT onbeforeprint();
12025
12026     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12027     void onafterprint(VARIANT v);
12028
12029     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
12030     VARIANT onafterprint();
12031
12032     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
12033     IHTMLDataTransfer* clipboardData();
12034
12035     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
12036     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
12037                                      [optional, in] VARIANT* varArgIn,
12038                                      [optional, in] VARIANT* options);
12039
12040     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
12041     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
12042
12043     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
12044     IHTMLFrameBase* frameElement();
12045
12046     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
12047     void XMLHttpRequest(VARIANT v);
12048
12049     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
12050     VARIANT XMLHttpRequest();
12051
12052     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
12053     IHTMLStorage *sessionStorage();
12054
12055     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
12056     IHTMLStorage *localStorage();
12057
12058     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
12059     void onhashchange(VARIANT v);
12060
12061     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
12062     VARIANT onhashchange();
12063
12064     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
12065     long maxConnectionsPerServer();
12066
12067     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
12068     void postMessage(
12069             [in] BSTR msg,
12070             [in, optional] VARIANT targetOrigin);
12071
12072     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
12073     BSTR toStaticHTML([in] BSTR bstrHTML);
12074
12075     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
12076     void onmessage(VARIANT v);
12077
12078     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
12079     VARIANT onmessage();
12080
12081     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
12082     void msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
12083
12084     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
12085 }
12086
12087 /*****************************************************************************
12088  *    HTMLWindowEvents interface
12089  */
12090 [
12091     hidden,
12092     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
12093 ]
12094 dispinterface HTMLWindowEvents
12095 {
12096 properties:
12097 methods:
12098     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
12099     void onload();
12100
12101     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
12102     void onunload();
12103
12104     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
12105     VARIANT_BOOL onhelp();
12106
12107     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
12108     void onfocus();
12109
12110     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
12111     void onblur();
12112
12113     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
12114     void onerror([in] BSTR description,
12115                  [in] BSTR url,
12116                  [in] LONG line);
12117
12118     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
12119     void onresize();
12120
12121     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
12122     void onscroll();
12123
12124     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
12125     void onbeforeunload();
12126
12127     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
12128     void onbeforeprint();
12129
12130     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
12131     void onafterprint();
12132 }
12133
12134 /*****************************************************************************
12135  *    HTMLWindowEvents2 interface
12136  */
12137 [
12138     hidden,
12139     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
12140 ]
12141 dispinterface HTMLWindowEvents2
12142 {
12143 properties:
12144 methods:
12145     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
12146     void onload([in] IHTMLEventObj* pEvtObj);
12147
12148     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
12149     void onunload([in] IHTMLEventObj* pEvtObj);
12150
12151     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
12152     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
12153
12154     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
12155     void onfocus([in] IHTMLEventObj* pEvtObj);
12156
12157     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
12158     void onblur([in] IHTMLEventObj* pEvtObj);
12159
12160     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
12161     void onerror([in] BSTR description,
12162                  [in] BSTR url,
12163                  [in] LONG line);
12164
12165     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
12166     void onresize([in] IHTMLEventObj* pEvtObj);
12167
12168     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
12169     void onscroll([in] IHTMLEventObj* pEvtObj);
12170
12171     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
12172     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
12173
12174     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
12175     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
12176
12177     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
12178     void onafterprint([in] IHTMLEventObj* pEvtObj);
12179 }
12180
12181 /*****************************************************************************
12182  *    HTMLWindowProxy class
12183  */
12184 [
12185     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
12186 ]
12187 coclass HTMLWindowProxy
12188 {
12189     [default]           dispinterface DispHTMLWindowProxy;
12190     [source, default]   dispinterface HTMLWindowEvents;
12191     [source]            dispinterface HTMLWindowEvents2;
12192                         interface IHTMLWindow2;
12193                         interface IHTMLWindow3;
12194                         interface IHTMLWindow4;
12195                         interface IHTMLWindow5;
12196 }
12197
12198 /*****************************************************************************
12199  *    HTMLDocumentEvents2 interface
12200  */
12201 [
12202     hidden,
12203     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
12204 ]
12205 dispinterface HTMLDocumentEvents2
12206 {
12207     properties:
12208     methods:
12209     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
12210     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
12211
12212     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
12213     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
12214
12215     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
12216     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
12217
12218     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
12219     void onkeydown([in] IHTMLEventObj *pEvtObj);
12220
12221     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
12222     void onkeyup([in] IHTMLEventObj *pEvtObj);
12223
12224     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
12225     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
12226
12227     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
12228     void onmousedown([in] IHTMLEventObj *pEvtObj);
12229
12230     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
12231     void onmousemove([in] IHTMLEventObj *pEvtObj);
12232
12233     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
12234     void onmouseup([in] IHTMLEventObj *pEvtObj);
12235
12236     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
12237     void onmouseout([in] IHTMLEventObj *pEvtObj);
12238
12239     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
12240     void onmouseover([in] IHTMLEventObj *pEvtObj);
12241
12242     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
12243     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
12244
12245     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
12246     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
12247
12248     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
12249     void onafterupdate([in] IHTMLEventObj *pEvtObj);
12250
12251     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
12252     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
12253
12254     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
12255     void onrowenter([in] IHTMLEventObj *pEvtObj);
12256
12257     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
12258     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
12259
12260     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
12261     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
12262
12263     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
12264     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
12265
12266     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
12267     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
12268
12269     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
12270     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
12271
12272     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
12273     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
12274
12275     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
12276     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
12277
12278     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
12279     void oncellchange([in] IHTMLEventObj *pEvtObj);
12280
12281     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
12282     void onpropertychange([in] IHTMLEventObj *pEvtObj);
12283
12284     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
12285     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
12286
12287     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
12288     void ondataavailable([in] IHTMLEventObj *pEvtObj);
12289
12290     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
12291     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
12292
12293     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
12294     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
12295
12296     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
12297     void onselectionchange([in] IHTMLEventObj *pEvtObj);
12298
12299     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
12300     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
12301
12302     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
12303     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
12304
12305     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
12306     void onfocusin([in] IHTMLEventObj *pEvtObj);
12307
12308     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
12309     void onfocusout([in] IHTMLEventObj *pEvtObj);
12310
12311     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
12312     void onactivate([in] IHTMLEventObj *pEvtObj);
12313
12314     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
12315     void ondeactivate([in] IHTMLEventObj *pEvtObj);
12316
12317     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
12318     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
12319
12320     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
12321     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
12322 }
12323
12324 /*****************************************************************************
12325  *    HTMLDocumentEvents interface
12326  */
12327 [
12328     hidden,
12329     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
12330 ]
12331 dispinterface HTMLDocumentEvents
12332 {
12333     properties:
12334     methods:
12335     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
12336     VARIANT_BOOL onhelp();
12337
12338     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
12339     VARIANT_BOOL onclick();
12340
12341     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
12342     VARIANT_BOOL ondblclick();
12343
12344     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
12345     void onkeydown();
12346
12347     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
12348     void onkeyup();
12349
12350     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
12351     VARIANT_BOOL onkeypress();
12352
12353     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
12354     void onmousedown();
12355
12356     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
12357     void onmousemove();
12358
12359     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
12360     void onmouseup();
12361
12362     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
12363     void onmouseout();
12364
12365     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
12366     void onmouseover();
12367
12368     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
12369     void onreadystatechange();
12370
12371     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
12372     VARIANT_BOOL onbeforeupdate();
12373
12374     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
12375     void onafterupdate();
12376
12377     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
12378     VARIANT_BOOL onrowexit();
12379
12380     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
12381     void onrowenter();
12382
12383     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
12384     VARIANT_BOOL ondragstart();
12385
12386     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
12387     VARIANT_BOOL onselectstart();
12388
12389     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
12390     VARIANT_BOOL onerrorupdate();
12391
12392     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
12393     VARIANT_BOOL oncontextmenu();
12394
12395     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
12396     VARIANT_BOOL onstop();
12397
12398     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
12399     void onrowsdelete();
12400
12401     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
12402     void onrowsinserted();
12403
12404     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
12405     void oncellchange();
12406
12407     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
12408     void onpropertychange();
12409
12410     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
12411     void ondatasetchanged();
12412
12413     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
12414     void ondataavailable();
12415
12416     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
12417     void ondatasetcomplete();
12418
12419     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
12420     void onbeforeeditfocus();
12421
12422     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
12423     void onselectionchange();
12424
12425     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
12426     VARIANT_BOOL oncontrolselect();
12427
12428     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
12429     VARIANT_BOOL onmousewheel();
12430
12431     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
12432     void onfocusin();
12433
12434     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
12435     void onfocusout();
12436
12437     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
12438     void onactivate();
12439
12440     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
12441     void ondeactivate();
12442
12443     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
12444     VARIANT_BOOL onbeforeactivate();
12445
12446     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
12447     VARIANT_BOOL onbeforedeactivate();
12448 }
12449
12450 /*****************************************************************************
12451  *    HTMLTextContainerEvents interface
12452  */
12453 [
12454     hidden,
12455     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
12456 ]
12457 dispinterface HTMLTextContainerEvents
12458 {
12459 properties:
12460
12461 methods:
12462     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
12463     VARIANT_BOOL onhelp();
12464
12465     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
12466     VARIANT_BOOL onclick();
12467
12468     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
12469     VARIANT_BOOL ondblclick();
12470
12471     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
12472     VARIANT_BOOL onkeypress();
12473
12474     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
12475     void onkeydown();
12476
12477     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
12478     void onkeyup();
12479
12480     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
12481     void onmouseout();
12482
12483     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
12484     void onmouseover();
12485
12486     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
12487     void onmousemove();
12488
12489     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
12490     void onmousedown();
12491
12492     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
12493     void onmouseup();
12494
12495     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
12496     VARIANT_BOOL onselectstart();
12497
12498     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
12499     void onfilterchange();
12500
12501     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
12502     VARIANT_BOOL ondragstart();
12503
12504     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
12505     VARIANT_BOOL onbeforeupdate();
12506
12507     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
12508     void onafterupdate();
12509
12510     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
12511     VARIANT_BOOL onerrorupdate();
12512
12513     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
12514     VARIANT_BOOL onrowexit();
12515
12516     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
12517     void onrowenter();
12518
12519     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
12520     void ondatasetchanged();
12521
12522     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
12523     void ondataavailable();
12524
12525     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
12526     void ondatasetcomplete();
12527
12528     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
12529     void onlosecapture();
12530
12531     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
12532     void onpropertychange();
12533
12534     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
12535     void onscroll();
12536
12537     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
12538     void onfocus();
12539
12540     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
12541     void onblur();
12542
12543     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
12544     void onresize();
12545
12546     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
12547     VARIANT_BOOL ondrag();
12548
12549     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
12550     void ondragend();
12551
12552     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
12553     VARIANT_BOOL ondragenter();
12554
12555     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
12556     VARIANT_BOOL ondragover();
12557
12558     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
12559     void ondragleave();
12560
12561     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
12562     VARIANT_BOOL ondrop();
12563
12564     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
12565     VARIANT_BOOL onbeforecut();
12566
12567     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
12568     VARIANT_BOOL oncut();
12569
12570     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
12571     VARIANT_BOOL onbeforecopy();
12572
12573     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
12574     VARIANT_BOOL oncopy();
12575
12576     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
12577     VARIANT_BOOL onbeforepaste();
12578
12579     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
12580     VARIANT_BOOL onpaste();
12581
12582     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
12583     VARIANT_BOOL oncontextmenu();
12584
12585     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
12586     void onrowsdelete();
12587
12588     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
12589     void onrowsinserted();
12590
12591     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
12592     void oncellchange();
12593
12594     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
12595     void onreadystatechange();
12596
12597     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
12598     void onbeforeeditfocus();
12599
12600     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
12601     void onlayoutcomplete();
12602
12603     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
12604     void onpage();
12605
12606     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
12607     VARIANT_BOOL onbeforedeactivate();
12608
12609     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
12610     VARIANT_BOOL onbeforeactivate();
12611
12612     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
12613     void onmove();
12614
12615     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
12616     VARIANT_BOOL oncontrolselect();
12617
12618     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
12619     VARIANT_BOOL onmovestart();
12620
12621     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
12622     void onmoveend();
12623
12624     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
12625     VARIANT_BOOL onresizestart();
12626
12627     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
12628     void onresizeend();
12629
12630     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
12631     void onmouseenter();
12632
12633     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
12634     void onmouseleave();
12635
12636     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
12637     VARIANT_BOOL onmousewheel();
12638
12639     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
12640     void onactivate();
12641
12642     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
12643     void ondeactivate();
12644
12645     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
12646     void onfocusin();
12647
12648     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
12649     void onfocusout();
12650
12651     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
12652     void onchange();
12653
12654     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
12655     void onselect();
12656 }
12657
12658 /*****************************************************************************
12659  *    HTMLTextContainerEvents2 interface
12660  */
12661 [
12662     hidden,
12663     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
12664 ]
12665 dispinterface HTMLTextContainerEvents2
12666 {
12667 properties:
12668 methods:
12669     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
12670     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
12671
12672     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
12673     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
12674
12675     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
12676     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
12677
12678     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
12679     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
12680
12681     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
12682     void onkeydown([in] IHTMLEventObj* pEvtObj);
12683
12684     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
12685     void onkeyup([in] IHTMLEventObj* pEvtObj);
12686
12687     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
12688     void onmouseout([in] IHTMLEventObj* pEvtObj);
12689
12690     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
12691     void onmouseover([in] IHTMLEventObj* pEvtObj);
12692
12693     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
12694     void onmousemove([in] IHTMLEventObj* pEvtObj);
12695
12696     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
12697     void onmousedown([in] IHTMLEventObj* pEvtObj);
12698
12699     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
12700     void onmouseup([in] IHTMLEventObj* pEvtObj);
12701
12702     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
12703     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
12704
12705     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
12706     void onfilterchange([in] IHTMLEventObj* pEvtObj);
12707
12708     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
12709     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
12710
12711     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
12712     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
12713
12714     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
12715     void onafterupdate([in] IHTMLEventObj* pEvtObj);
12716
12717     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
12718     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
12719
12720     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
12721     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
12722
12723     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
12724     void onrowenter([in] IHTMLEventObj* pEvtObj);
12725
12726     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
12727     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
12728
12729     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
12730     void ondataavailable([in] IHTMLEventObj* pEvtObj);
12731
12732     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
12733     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
12734
12735     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
12736     void onlosecapture([in] IHTMLEventObj* pEvtObj);
12737
12738     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
12739     void onpropertychange([in] IHTMLEventObj* pEvtObj);
12740
12741     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
12742     void onscroll([in] IHTMLEventObj* pEvtObj);
12743
12744     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
12745     void onfocus([in] IHTMLEventObj* pEvtObj);
12746
12747     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
12748     void onblur([in] IHTMLEventObj* pEvtObj);
12749
12750     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
12751     void onresize([in] IHTMLEventObj* pEvtObj);
12752
12753     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
12754     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
12755
12756     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
12757     void ondragend([in] IHTMLEventObj* pEvtObj);
12758
12759     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
12760     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
12761
12762     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
12763     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
12764
12765     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
12766     void ondragleave([in] IHTMLEventObj* pEvtObj);
12767
12768     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
12769     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
12770
12771     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
12772     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
12773
12774     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
12775     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
12776
12777     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
12778     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
12779
12780     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
12781     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
12782
12783     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
12784     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
12785
12786     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
12787     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
12788
12789     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
12790     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
12791
12792     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
12793     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
12794
12795     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
12796     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
12797
12798     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
12799     void oncellchange([in] IHTMLEventObj* pEvtObj);
12800
12801     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
12802     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
12803
12804     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
12805     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
12806
12807     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
12808     void onpage([in] IHTMLEventObj* pEvtObj);
12809
12810     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
12811     void onmouseenter([in] IHTMLEventObj* pEvtObj);
12812
12813     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
12814     void onmouseleave([in] IHTMLEventObj* pEvtObj);
12815
12816     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
12817     void onactivate([in] IHTMLEventObj* pEvtObj);
12818
12819     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
12820     void ondeactivate([in] IHTMLEventObj* pEvtObj);
12821
12822     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
12823     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
12824
12825     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
12826     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
12827
12828     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
12829     void onfocusin([in] IHTMLEventObj* pEvtObj);
12830
12831     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
12832     void onfocusout([in] IHTMLEventObj* pEvtObj);
12833
12834     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
12835     void onmove([in] IHTMLEventObj* pEvtObj);
12836
12837     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
12838     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
12839
12840     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
12841     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
12842
12843     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
12844     void onmoveend([in] IHTMLEventObj* pEvtObj);
12845
12846     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
12847     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
12848
12849     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
12850     void onresizeend([in] IHTMLEventObj* pEvtObj);
12851
12852     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
12853     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
12854
12855     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
12856     void onchange([in] IHTMLEventObj* pEvtObj);
12857
12858     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
12859     void onselect([in] IHTMLEventObj* pEvtObj);
12860 }
12861
12862 /*****************************************************************************
12863  *    IHTMLDocument interface
12864  */
12865 [
12866     odl,
12867     oleautomation,
12868     dual,
12869     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
12870 ]
12871 interface IHTMLDocument : IDispatch
12872 {
12873     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
12874     HRESULT Script([retval, out] IDispatch **p);
12875 }
12876
12877 /*****************************************************************************
12878  *    IHTMLDocument2 interface
12879  */
12880 [
12881     odl,
12882     oleautomation,
12883     dual,
12884     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
12885 ]
12886 interface IHTMLDocument2 : IHTMLDocument
12887 {
12888     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
12889     HRESULT all([retval, out] IHTMLElementCollection **p);
12890
12891     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
12892     HRESULT body([retval, out] IHTMLElement **p);
12893
12894     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
12895     HRESULT activeElement([retval, out] IHTMLElement **p);
12896
12897     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
12898     HRESULT images([retval, out] IHTMLElementCollection **p);
12899
12900     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
12901     HRESULT applets([retval, out] IHTMLElementCollection **p);
12902
12903     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
12904     HRESULT links([retval, out] IHTMLElementCollection **p);
12905
12906     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
12907     HRESULT forms([retval, out] IHTMLElementCollection **p);
12908
12909     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
12910     HRESULT anchors([retval, out] IHTMLElementCollection **p);
12911
12912     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12913     HRESULT title([in] BSTR v);
12914
12915     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12916     HRESULT title([retval, out] BSTR *p);
12917
12918     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
12919     HRESULT scripts([retval, out] IHTMLElementCollection **p);
12920
12921     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
12922     HRESULT designMode([in] BSTR v);
12923
12924     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
12925     HRESULT designMode([retval, out] BSTR *p);
12926
12927     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
12928     HRESULT selection([retval, out] IHTMLSelectionObject **p);
12929
12930     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
12931      HRESULT readyState([retval, out] BSTR *p);
12932
12933     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
12934     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
12935
12936     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
12937     HRESULT embeds([retval, out] IHTMLElementCollection **p);
12938
12939     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
12940     HRESULT plugins([retval, out] IHTMLElementCollection **p);
12941
12942     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12943     HRESULT alinkColor([in] VARIANT v);
12944
12945     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12946     HRESULT alinkColor([retval, out] VARIANT *p);
12947
12948     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12949     HRESULT bgColor([in] VARIANT v);
12950
12951     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12952     HRESULT bgColor([retval, out] VARIANT *p);
12953
12954     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12955     HRESULT fgColor([in] VARIANT v);
12956
12957     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12958     HRESULT fgColor([retval, out] VARIANT *p);
12959
12960     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12961     HRESULT linkColor([in] VARIANT v);
12962
12963     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12964     HRESULT linkColor([retval, out] VARIANT *p);
12965
12966     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12967     HRESULT vlinkColor([in] VARIANT v);
12968
12969     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12970     HRESULT vlinkColor([retval, out] VARIANT *p);
12971
12972     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
12973     HRESULT referrer([retval, out] BSTR *p);
12974
12975     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
12976     HRESULT location([retval, out] IHTMLLocation **p);
12977
12978     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
12979     HRESULT lastModified([retval, out] BSTR *p);
12980
12981     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
12982     HRESULT URL([in] BSTR v);
12983
12984     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
12985     HRESULT URL([retval, out] BSTR *p);
12986
12987     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12988     HRESULT domain([in] BSTR v);
12989
12990     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12991     HRESULT domain([retval, out] BSTR *p);
12992
12993     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12994     HRESULT cookie([in] BSTR v);
12995
12996     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12997     HRESULT cookie([retval, out] BSTR *p);
12998
12999     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
13000     HRESULT expando([in] VARIANT_BOOL v);
13001
13002     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
13003     HRESULT expando([retval, out] VARIANT_BOOL *p);
13004
13005     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
13006      HRESULT charset([in] BSTR v);
13007
13008     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
13009     HRESULT charset([retval, out] BSTR *p);
13010
13011     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13012     HRESULT defaultCharset([in] BSTR v);
13013
13014     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13015     HRESULT defaultCharset([retval, out] BSTR *p);
13016
13017     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
13018     HRESULT mimeType([retval, out] BSTR *p);
13019
13020     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
13021     HRESULT fileSize([retval, out] BSTR *p);
13022
13023     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
13024     HRESULT fileCreatedDate([retval, out] BSTR *p);
13025
13026     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
13027     HRESULT fileModifiedDate([retval, out] BSTR *p);
13028
13029     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
13030     HRESULT fileUpdatedDate([retval, out] BSTR *p);
13031
13032     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
13033     HRESULT security([retval, out] BSTR *p);
13034
13035     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
13036     HRESULT protocol([retval, out] BSTR *p);
13037
13038     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
13039      HRESULT nameProp([retval, out] BSTR *p);
13040
13041     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
13042     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
13043
13044     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
13045     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
13046
13047     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
13048     HRESULT open(
13049         [defaultvalue("text/html"), in] BSTR url,
13050         [optional, in] VARIANT name,
13051         [optional, in] VARIANT features,
13052         [optional, in] VARIANT replace,
13053         [retval, out]  IDispatch **pomWindowResult);
13054
13055     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
13056     HRESULT close();
13057
13058     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
13059     HRESULT clear();
13060
13061     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
13062     HRESULT queryCommandSupported(
13063         [in] BSTR cmdID,
13064         [retval, out] VARIANT_BOOL *pfRet);
13065
13066     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
13067     HRESULT queryCommandEnabled(
13068         [in] BSTR cmdID,
13069         [retval, out] VARIANT_BOOL *pfRet);
13070
13071     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
13072     HRESULT queryCommandState(
13073         [in] BSTR cmdID,
13074         [retval, out] VARIANT_BOOL *pfRet);
13075
13076     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
13077     HRESULT queryCommandIndeterm(
13078         [in] BSTR cmdID,
13079         [retval, out] VARIANT_BOOL *pfRet);
13080
13081     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
13082     HRESULT queryCommandText(
13083         [in] BSTR cmdID,
13084         [retval, out] BSTR *pcmdText);
13085
13086     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
13087     HRESULT queryCommandValue(
13088         [in] BSTR cmdID,
13089         [retval, out] VARIANT *pcmdValue);
13090
13091     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
13092     HRESULT execCommand(
13093         [in] BSTR cmdID,
13094         [defaultvalue(0), in] VARIANT_BOOL showUI,
13095         [optional, in] VARIANT value,
13096         [retval, out] VARIANT_BOOL *pfRet);
13097
13098     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
13099     HRESULT execCommandShowHelp(
13100         [in] BSTR cmdID,
13101         [retval, out] VARIANT_BOOL *pfRet);
13102
13103     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
13104      HRESULT createElement(
13105         [in] BSTR eTag,
13106         [retval, out] IHTMLElement **newElem);
13107
13108     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
13109     HRESULT onhelp([in] VARIANT v);
13110
13111     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
13112     HRESULT onhelp([retval, out] VARIANT *p);
13113
13114     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
13115     HRESULT onclick([in] VARIANT v);
13116
13117     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
13118     HRESULT onclick([retval, out] VARIANT *p);
13119
13120     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
13121     HRESULT ondblclick([in] VARIANT v);
13122
13123     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
13124     HRESULT ondblclick([retval, out] VARIANT *p);
13125
13126     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
13127     HRESULT onkeyup([in] VARIANT v);
13128
13129     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
13130     HRESULT onkeyup([retval, out] VARIANT *p);
13131
13132     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
13133     HRESULT onkeydown([in] VARIANT v);
13134
13135     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
13136     HRESULT onkeydown([retval, out] VARIANT *p);
13137
13138     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
13139      HRESULT onkeypress([in] VARIANT v);
13140
13141     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
13142     HRESULT onkeypress([retval, out] VARIANT *p);
13143
13144     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
13145     HRESULT onmouseup([in] VARIANT v);
13146
13147     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
13148     HRESULT onmouseup([retval, out] VARIANT *p);
13149
13150     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
13151     HRESULT onmousedown([in] VARIANT v);
13152
13153     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
13154     HRESULT onmousedown([retval, out] VARIANT *p);
13155
13156     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
13157     HRESULT onmousemove([in] VARIANT v);
13158
13159     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
13160     HRESULT onmousemove([retval, out] VARIANT *p);
13161
13162     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
13163     HRESULT onmouseout([in] VARIANT v);
13164
13165     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
13166     HRESULT onmouseout([retval, out] VARIANT *p);
13167
13168     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
13169     HRESULT onmouseover([in] VARIANT v);
13170
13171     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
13172     HRESULT onmouseover([retval, out] VARIANT *p);
13173
13174     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
13175     HRESULT onreadystatechange([in] VARIANT v);
13176
13177     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
13178     HRESULT onreadystatechange([retval, out] VARIANT *p);
13179
13180     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
13181     HRESULT onafterupdate([in] VARIANT v);
13182
13183     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
13184     HRESULT onafterupdate([retval, out] VARIANT *p);
13185
13186     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
13187     HRESULT onrowexit([in] VARIANT v);
13188
13189     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
13190     HRESULT onrowexit([retval, out] VARIANT *p);
13191
13192     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
13193     HRESULT onrowenter([in] VARIANT v);
13194
13195     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
13196     HRESULT onrowenter([retval, out] VARIANT *p);
13197
13198     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
13199     HRESULT ondragstart([in] VARIANT v);
13200
13201     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
13202     HRESULT ondragstart([retval, out] VARIANT *p);
13203
13204     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
13205     HRESULT onselectstart([in] VARIANT v);
13206
13207     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
13208     HRESULT onselectstart([retval, out] VARIANT *p);
13209
13210     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
13211     HRESULT elementFromPoint(
13212         [in] LONG x,
13213         [in] LONG y,
13214         [retval, out] IHTMLElement **elementHit);
13215
13216     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
13217     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
13218
13219     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
13220     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
13221
13222     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
13223     HRESULT onbeforeupdate([in] VARIANT v);
13224
13225     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
13226     HRESULT onbeforeupdate([retval, out] VARIANT *p);
13227
13228     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
13229     HRESULT onerrorupdate([in] VARIANT v);
13230
13231     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
13232     HRESULT onerrorupdate([retval, out] VARIANT *p);
13233
13234     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
13235     HRESULT toString([retval, out] BSTR *String);
13236
13237     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
13238     HRESULT createStyleSheet(
13239         [defaultvalue(""), in] BSTR bstrHref,
13240         [defaultvalue(-1), in] LONG lIndex,
13241         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
13242 }
13243
13244 /*****************************************************************************
13245  *    IHTMLDocument3 interface
13246  */
13247 [
13248     odl,
13249     oleautomation,
13250     dual,
13251     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
13252 ]
13253 interface IHTMLDocument3 : IDispatch
13254 {
13255     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
13256     HRESULT releaseCapture();
13257
13258     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
13259     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
13260
13261     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
13262     HRESULT createTextNode(
13263         [in] BSTR text,
13264         [retval, out] IHTMLDOMNode **newTextNode);
13265
13266     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
13267     HRESULT documentElement([retval, out] IHTMLElement **p);
13268
13269     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
13270     HRESULT uniqueID([retval, out] BSTR *p);
13271
13272     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
13273     HRESULT attachEvent(
13274         [in] BSTR event,
13275         [in] IDispatch* pDisp,
13276         [retval, out] VARIANT_BOOL *pfResult);
13277
13278     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
13279     HRESULT detachEvent(
13280         [in] BSTR event,
13281         [in] IDispatch *pDisp);
13282
13283     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13284     HRESULT onrowsdelete([in] VARIANT v);
13285
13286     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13287     HRESULT onrowsdelete([retval, out] VARIANT *p);
13288
13289     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13290     HRESULT onrowsinserted([in] VARIANT v);
13291
13292     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13293     HRESULT onrowsinserted([retval, out] VARIANT *p);
13294
13295     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13296     HRESULT oncellchange([in] VARIANT v);
13297
13298     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13299     HRESULT oncellchange([retval, out] VARIANT *p);
13300
13301     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13302     HRESULT ondatasetchanged([in] VARIANT v);
13303
13304     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13305     HRESULT ondatasetchanged([retval, out] VARIANT *p);
13306
13307     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13308     HRESULT ondataavailable([in] VARIANT v);
13309
13310     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13311     HRESULT ondataavailable([retval, out] VARIANT * p);
13312
13313     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13314     HRESULT ondatasetcomplete([in] VARIANT v);
13315
13316     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13317     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
13318
13319     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13320     HRESULT onpropertychange([in] VARIANT v);
13321
13322     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13323     HRESULT onpropertychange([retval, out] VARIANT *p);
13324
13325     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
13326     HRESULT dir([in] BSTR v);
13327
13328     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
13329     HRESULT dir([retval, out] BSTR *p);
13330
13331     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13332     HRESULT oncontextmenu([in] VARIANT v);
13333
13334     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13335     HRESULT oncontextmenu([retval, out] VARIANT *p);
13336
13337     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13338     HRESULT onstop([in] VARIANT v);
13339
13340     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13341     HRESULT onstop([retval, out] VARIANT *p);
13342
13343     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
13344     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
13345
13346     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
13347     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
13348
13349     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13350     HRESULT enableDownload([in] VARIANT_BOOL v);
13351
13352     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13353     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
13354
13355     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13356     HRESULT baseUrl([in] BSTR v);
13357
13358     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13359     HRESULT baseUrl([retval, out] BSTR *p);
13360
13361     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
13362     HRESULT childNodes([retval, out] IDispatch **p);
13363
13364     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13365     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
13366
13367     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13368     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
13369
13370     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13371     HRESULT onbeforeeditfocus([in] VARIANT v);
13372
13373     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13374     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
13375
13376     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
13377     HRESULT getElementsByName(
13378         [in] BSTR v,
13379         [retval, out] IHTMLElementCollection **pelColl);
13380
13381     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
13382     HRESULT getElementById(
13383         [in] BSTR v,
13384         [retval, out] IHTMLElement **pel);
13385
13386     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
13387     HRESULT getElementsByTagName(
13388         [in] BSTR v,
13389         [retval, out] IHTMLElementCollection **pelColl);
13390 }
13391
13392 /*****************************************************************************
13393  *    IHTMLDocument4 interface
13394  */
13395 [
13396     odl,
13397     oleautomation,
13398     dual,
13399     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
13400 ]
13401 interface IHTMLDocument4 : IDispatch
13402 {
13403     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
13404     HRESULT focus();
13405
13406     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
13407     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
13408
13409     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13410     HRESULT onselectionchange([in] VARIANT v);
13411
13412     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13413     HRESULT onselectionchange([retval, out] VARIANT *p);
13414
13415     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
13416     HRESULT namespaces([retval, out] IDispatch **p);
13417
13418     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
13419     HRESULT createDocumentFromUrl(
13420         [in] BSTR bstrUrl,
13421         [in] BSTR bstrOptions,
13422         [retval, out] IHTMLDocument2 **newDoc);
13423
13424     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13425     HRESULT media([in] BSTR v);
13426
13427     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13428     HRESULT media([retval, out] BSTR *p);
13429
13430     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
13431     HRESULT createEventObject(
13432         [optional, in] VARIANT *pvarEventObject,
13433         [retval, out] IHTMLEventObj **ppEventObj);
13434
13435     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
13436     HRESULT fireEvent(
13437         [in] BSTR bstrEventName,
13438         [optional, in] VARIANT *pvarEventObject,
13439         [retval, out] VARIANT_BOOL *pfCancelled);
13440
13441     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
13442     HRESULT createRenderStyle(
13443         [in] BSTR v,
13444         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
13445
13446     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13447     HRESULT oncontrolselect([in] VARIANT v);
13448
13449     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13450     HRESULT oncontrolselect([retval, out] VARIANT *p);
13451
13452     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
13453     HRESULT URLUnencoded([retval, out] BSTR *p);
13454 }
13455
13456 /*****************************************************************************
13457  *    IHTMLDocument5 interface
13458  */
13459 [
13460     odl,
13461     oleautomation,
13462     dual,
13463     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
13464 ]
13465 interface IHTMLDocument5 : IDispatch
13466 {
13467     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13468     HRESULT onmousewheel([in] VARIANT v);
13469
13470     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13471     HRESULT onmousewheel([retval, out] VARIANT *p);
13472
13473     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
13474     HRESULT doctype([retval, out] IHTMLDOMNode **p);
13475
13476     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13477     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
13478
13479     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13480     HRESULT createAttribute(
13481         [in] BSTR bstrattrName,
13482         [retval, out] IHTMLDOMAttribute **ppattribute);
13483
13484     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13485     HRESULT createComment(
13486         [in] BSTR bstrdata,
13487         [retval, out] IHTMLDOMNode **ppRetNode);
13488
13489     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13490     HRESULT onfocusin([in] VARIANT v);
13491
13492     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13493     HRESULT onfocusin([retval, out] VARIANT *p);
13494
13495     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13496     HRESULT onfocusout([in] VARIANT v);
13497
13498     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13499     HRESULT onfocusout([retval, out] VARIANT *p);
13500
13501     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13502     HRESULT onactivate([in] VARIANT v);
13503
13504     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13505     HRESULT onactivate([retval, out] VARIANT *p);
13506
13507     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13508     HRESULT ondeactivate([in] VARIANT v);
13509
13510     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13511     HRESULT ondeactivate([retval, out] VARIANT *p);
13512
13513     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13514     HRESULT onbeforeactivate([in] VARIANT v);
13515
13516     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13517     HRESULT onbeforeactivate([retval, out] VARIANT *p);
13518
13519     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13520     HRESULT onbeforedeactivate([in] VARIANT v);
13521
13522     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13523     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
13524
13525     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
13526     HRESULT compatMode([retval, out] BSTR *p);
13527 }
13528
13529 /*****************************************************************************
13530  *    IHTMLDocument6 interface
13531  */
13532 [
13533     odl,
13534     oleautomation,
13535     dual,
13536     uuid(30510417-98b5-11cf-bb82-00aa00bdce0b)
13537 ]
13538 interface IHTMLDocument6 : IDispatch
13539 {
13540     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
13541     HRESULT compatible([retval, out] IHTMLDocumentCompatibleInfoCollection **p);
13542
13543     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
13544     HRESULT documentMode([retval, out] VARIANT *p);
13545
13546     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13547     HRESULT onstorage([in] VARIANT v);
13548
13549     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13550     HRESULT onstorage([out] VARIANT *p);
13551
13552     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13553     HRESULT onstoragecommit([in] VARIANT v);
13554
13555     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13556     HRESULT onstoragecommit([out] VARIANT *p);
13557
13558     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
13559     HRESULT getElementById(
13560         [in] BSTR bstrId,
13561         [retval, out] IHTMLElement2 **p);
13562
13563     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
13564     HRESULT updateSettings();
13565 }
13566
13567 /*****************************************************************************
13568  *    DispHTMLDocument dispinterface
13569  */
13570 [
13571     hidden,
13572     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
13573 ]
13574 dispinterface DispHTMLDocument
13575 {
13576 properties:
13577 methods:
13578     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
13579     IDispatch *Script();
13580
13581     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
13582     IHTMLElementCollection *all();
13583
13584     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
13585     IHTMLElement *body();
13586
13587     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
13588     IHTMLElement *activeElement();
13589
13590     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
13591     IHTMLElementCollection *images();
13592
13593     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
13594     IHTMLElementCollection *applets();
13595
13596     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
13597     IHTMLElementCollection *links();
13598
13599     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
13600     IHTMLElementCollection *forms();
13601
13602     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
13603     IHTMLElementCollection *anchors();
13604
13605     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13606     void title(BSTR v);
13607
13608     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13609     BSTR title();
13610
13611     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
13612     IHTMLElementCollection *scripts();
13613
13614     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
13615     void designMode(BSTR v);
13616
13617     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
13618     BSTR designMode();
13619
13620     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
13621     IHTMLSelectionObject *selection();
13622
13623     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
13624     BSTR readyState();
13625
13626     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
13627     IHTMLFramesCollection2 *frames();
13628
13629     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
13630     IHTMLElementCollection *embeds();
13631
13632     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
13633     IHTMLElementCollection *plugins();
13634
13635     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13636     void alinkColor(VARIANT v);
13637
13638     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13639     VARIANT alinkColor();
13640
13641     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13642     void bgColor(VARIANT v);
13643
13644     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13645     VARIANT bgColor();
13646
13647     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13648     void fgColor(VARIANT v);
13649
13650     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13651     VARIANT fgColor();
13652
13653     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13654     void linkColor(VARIANT v);
13655
13656     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13657     VARIANT linkColor();
13658
13659     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13660     void vlinkColor(VARIANT v);
13661
13662     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13663     VARIANT vlinkColor();
13664
13665     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
13666     BSTR referrer();
13667
13668     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
13669     IHTMLLocation *location();
13670
13671     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
13672     BSTR lastModified();
13673
13674     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
13675     void URL(BSTR v);
13676
13677     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
13678     BSTR URL();
13679
13680     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13681     void domain(BSTR v);
13682
13683     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13684     BSTR domain();
13685
13686     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13687     void cookie(BSTR v);
13688
13689     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13690     BSTR cookie();
13691
13692     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
13693     void expando(VARIANT_BOOL v);
13694
13695     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
13696     VARIANT_BOOL expando();
13697
13698     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
13699     void charset(BSTR v);
13700
13701     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
13702     BSTR charset();
13703
13704     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13705     void defaultCharset(BSTR v);
13706
13707     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13708     BSTR defaultCharset();
13709
13710     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
13711     BSTR mimeType();
13712
13713     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
13714     BSTR fileSize();
13715
13716     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
13717     BSTR fileCreatedDate();
13718
13719     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
13720     BSTR fileModifiedDate();
13721
13722     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
13723     BSTR fileUpdatedDate();
13724
13725     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
13726     BSTR security();
13727
13728     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
13729     BSTR protocol();
13730
13731     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
13732     BSTR nameProp();
13733
13734     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
13735     void write([in] SAFEARRAY(VARIANT) psarray);
13736
13737     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
13738     void writeln([in] SAFEARRAY(VARIANT) psarray);
13739
13740     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
13741     IDispatch *open(
13742         [defaultvalue("text/html"), in] BSTR url,
13743         [optional, in] VARIANT name,
13744         [optional, in] VARIANT features,
13745         [optional, in] VARIANT replace);
13746
13747     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
13748     void close();
13749
13750     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
13751     void clear();
13752
13753     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
13754     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
13755
13756     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
13757     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
13758
13759     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
13760     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
13761
13762     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
13763     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
13764
13765     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
13766     BSTR queryCommandText([in] BSTR cmdID);
13767
13768     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
13769     VARIANT queryCommandValue([in] BSTR cmdID);
13770
13771     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
13772     VARIANT_BOOL execCommand(
13773         [in] BSTR cmdID,
13774         [defaultvalue(0), in] VARIANT_BOOL showUI,
13775         [optional, in] VARIANT value);
13776
13777     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
13778     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
13779
13780     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
13781     IHTMLElement *createElement([in] BSTR eTag);
13782
13783     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
13784     void onhelp(VARIANT v);
13785
13786     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
13787     VARIANT onhelp();
13788
13789     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
13790     void onclick(VARIANT v);
13791
13792     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
13793     VARIANT onclick();
13794
13795     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
13796     void ondblclick(VARIANT v);
13797
13798     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
13799     VARIANT ondblclick();
13800
13801     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
13802     void onkeyup(VARIANT v);
13803
13804     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
13805     VARIANT onkeyup();
13806
13807     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
13808     void onkeydown(VARIANT v);
13809
13810     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
13811     VARIANT onkeydown();
13812
13813     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
13814     void onkeypress(VARIANT v);
13815
13816     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
13817     VARIANT onkeypress();
13818
13819     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
13820     void onmouseup(VARIANT v);
13821
13822     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
13823     VARIANT onmouseup();
13824
13825     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
13826     void onmousedown(VARIANT v);
13827
13828     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
13829     VARIANT onmousedown();
13830
13831     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
13832     void onmousemove(VARIANT v);
13833
13834     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
13835     VARIANT onmousemove();
13836
13837     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
13838     void onmouseout(VARIANT v);
13839
13840     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
13841     VARIANT onmouseout();
13842
13843     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
13844     void onmouseover(VARIANT v);
13845
13846     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
13847     VARIANT onmouseover();
13848
13849     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13850     void onreadystatechange(VARIANT v);
13851
13852     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13853     VARIANT onreadystatechange();
13854
13855     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
13856     void onafterupdate(VARIANT v);
13857
13858     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
13859     VARIANT onafterupdate();
13860
13861     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
13862     void onrowexit(VARIANT v);
13863
13864     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
13865     VARIANT onrowexit();
13866
13867     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
13868     void onrowenter(VARIANT v);
13869
13870     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
13871     VARIANT onrowenter();
13872
13873     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
13874     void ondragstart(VARIANT v);
13875
13876     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
13877     VARIANT ondragstart();
13878
13879     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
13880     void onselectstart(VARIANT v);
13881
13882     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
13883     VARIANT onselectstart();
13884
13885     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
13886     IHTMLElement *elementFromPoint(
13887         [in] LONG x,
13888         [in] LONG y);
13889
13890     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
13891     IHTMLWindow2 *parentWindow();
13892
13893     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
13894     IHTMLStyleSheetsCollection *styleSheets();
13895
13896     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
13897     void onbeforeupdate(VARIANT v);
13898
13899     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
13900     VARIANT onbeforeupdate();
13901
13902     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
13903     void onerrorupdate(VARIANT v);
13904
13905     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
13906     VARIANT onerrorupdate();
13907
13908     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
13909     BSTR toString();
13910
13911     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
13912     IHTMLStyleSheet *createStyleSheet(
13913         [defaultvalue(""), in] BSTR bstrHref,
13914         [defaultvalue(-1), in] LONG lIndex);
13915
13916     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
13917     void releaseCapture();
13918
13919     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
13920     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
13921
13922     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
13923     IHTMLDOMNode *createTextNode([in] BSTR text);
13924
13925     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
13926     IHTMLElement *documentElement();
13927
13928     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
13929     BSTR uniqueID();
13930
13931     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
13932     VARIANT_BOOL attachEvent(
13933         [in] BSTR event,
13934         [in] IDispatch *pDisp);
13935
13936     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
13937     void detachEvent(
13938         [in] BSTR event,
13939         [in] IDispatch *pDisp);
13940
13941     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13942     void onrowsdelete(VARIANT v);
13943
13944     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13945     VARIANT onrowsdelete();
13946
13947     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13948     void onrowsinserted(VARIANT v);
13949
13950     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13951     VARIANT onrowsinserted();
13952
13953     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13954     void oncellchange(VARIANT v);
13955
13956     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13957     VARIANT oncellchange();
13958
13959     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13960     void ondatasetchanged(VARIANT v);
13961
13962     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13963     VARIANT ondatasetchanged();
13964
13965     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13966     void ondataavailable(VARIANT v);
13967
13968     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13969     VARIANT ondataavailable();
13970
13971     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13972     void ondatasetcomplete(VARIANT v);
13973
13974     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13975     VARIANT ondatasetcomplete();
13976
13977     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13978     void onpropertychange(VARIANT v);
13979
13980     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13981     VARIANT onpropertychange();
13982
13983     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
13984     void dir(BSTR v);
13985
13986     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
13987     BSTR dir();
13988
13989     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13990     void oncontextmenu(VARIANT v);
13991
13992     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13993     VARIANT oncontextmenu();
13994
13995     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13996     void onstop(VARIANT v);
13997
13998     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13999     VARIANT onstop();
14000
14001     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
14002     IHTMLDocument2 *createDocumentFragment();
14003
14004     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
14005     IHTMLDocument2 *parentDocument();
14006
14007     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
14008     void enableDownload(VARIANT_BOOL v);
14009
14010     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
14011     VARIANT_BOOL enableDownload();
14012
14013     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
14014     void baseUrl(BSTR v);
14015
14016     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
14017     BSTR baseUrl();
14018
14019     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
14020     void inheritStyleSheets(VARIANT_BOOL v);
14021
14022     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
14023     VARIANT_BOOL inheritStyleSheets();
14024
14025     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
14026     void onbeforeeditfocus(VARIANT v);
14027
14028     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
14029     VARIANT onbeforeeditfocus();
14030
14031     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
14032     IHTMLElementCollection *getElementsByName([in] BSTR v);
14033
14034     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
14035     IHTMLElement *getElementById([in] BSTR v);
14036
14037     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
14038     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
14039
14040     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
14041     void focus();
14042
14043     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
14044     VARIANT_BOOL hasFocus();
14045
14046     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
14047     void onselectionchange(VARIANT v);
14048
14049     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
14050     VARIANT onselectionchange();
14051
14052     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
14053     IDispatch *namespaces();
14054
14055     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
14056     IHTMLDocument2 *createDocumentFromUrl(
14057         [in] BSTR bstrUrl,
14058         [in] BSTR bstrOptions);
14059
14060     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
14061     void media(BSTR v);
14062
14063     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
14064     BSTR media();
14065
14066     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
14067     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
14068
14069     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
14070     VARIANT_BOOL fireEvent(
14071         [in] BSTR bstrEventName,
14072         [optional, in] VARIANT *pvarEventObject);
14073
14074     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
14075     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
14076
14077     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
14078     void oncontrolselect(VARIANT v);
14079
14080     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
14081     VARIANT oncontrolselect();
14082
14083     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
14084     BSTR URLUnencoded();
14085
14086     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
14087     void onmousewheel(VARIANT v);
14088
14089     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
14090     VARIANT onmousewheel();
14091
14092     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
14093     IHTMLDOMNode *doctype();
14094
14095     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
14096     IHTMLDOMImplementation *implementation();
14097
14098     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
14099     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
14100
14101     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
14102     IHTMLDOMNode *createComment([in] BSTR bstrdata);
14103
14104     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14105     void onfocusin(VARIANT v);
14106
14107     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
14108     VARIANT onfocusin();
14109
14110     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14111     void onfocusout(VARIANT v);
14112
14113     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
14114     VARIANT onfocusout();
14115
14116     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14117     void onactivate(VARIANT v);
14118
14119     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
14120     VARIANT onactivate();
14121
14122     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14123     void ondeactivate(VARIANT v);
14124
14125     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
14126     VARIANT ondeactivate();
14127
14128     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14129     void onbeforeactivate(VARIANT v);
14130
14131     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
14132     VARIANT onbeforeactivate();
14133
14134     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14135     void onbeforedeactivate(VARIANT v);
14136
14137     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
14138     VARIANT onbeforedeactivate();
14139
14140     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
14141     BSTR compatMode();
14142
14143     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
14144     IHTMLDocumentCompatibleInfoCollection *compatible();
14145
14146     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
14147     VARIANT documentMode();
14148
14149     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
14150     void onstorage(VARIANT v);
14151
14152     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
14153     VARIANT onstorage();
14154
14155     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
14156     void onstoragecommit(VARIANT v);
14157
14158     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
14159     VARIANT onstoragecommit();
14160
14161     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
14162     IHTMLElement2 *ie8_getElementById([in] BSTR bstrId);
14163
14164     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
14165     void updateSettings();
14166
14167     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
14168 }
14169
14170 /*****************************************************************************
14171  *    HTMLDocument coclass
14172  */
14173 [
14174     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
14175 ]
14176 coclass HTMLDocument
14177 {
14178     [default]         dispinterface DispHTMLDocument;
14179     [source, default] dispinterface HTMLDocumentEvents;
14180     [source]          dispinterface HTMLDocumentEvents2;
14181                       interface IHTMLDocument2;
14182                       interface IHTMLDocument3;
14183                       interface IHTMLDocument4;
14184                       interface IHTMLDocument5;
14185                       interface IHTMLDocument6;
14186                       interface IHTMLDOMNode;
14187                       interface IHTMLDOMNode2;
14188 }
14189
14190 /*****************************************************************************
14191  *    DWebBridgeEvents dispinterface
14192  */
14193 [
14194     hidden,
14195     uuid(a6d897ff-0a95-11d1-b0ba-006008166e11)
14196 ]
14197 dispinterface DWebBridgeEvents
14198 {
14199 properties:
14200 methods:
14201     [id(DISPID_DWEBBRIDGEEVENTS_ONSCRIPTLETEVENT)]
14202     void onscriptletevent([in] BSTR name,[in] VARIANT eventData);
14203
14204     [id(DISPID_DWEBBRIDGEEVENTS_ONREADYSTATECHANGE)]
14205     void onreadystatechange();
14206
14207     [id(DISPID_DWEBBRIDGEEVENTS_ONCLICK)]
14208     VARIANT_BOOL onclick();
14209
14210     [id(DISPID_DWEBBRIDGEEVENTS_ONDBLCLICK)]
14211     VARIANT_BOOL ondblclick();
14212
14213     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYDOWN)]
14214     void onkeydown();
14215
14216     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYUP)]
14217     void onkeyup();
14218
14219     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYPRESS)]
14220     VARIANT_BOOL onkeypress();
14221
14222     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEDOWN)]
14223     void onmousedown();
14224
14225     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEMOVE)]
14226     void onmousemove();
14227
14228     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEUP)]
14229     void onmouseup();
14230 }
14231
14232 /*****************************************************************************
14233  *    IWebBridge interface
14234  */
14235 [
14236     odl,
14237     oleautomation,
14238     dual,
14239     uuid(ae24fdad-03c6-11d1-8b76-0080c744f389)
14240 ]
14241 interface IWebBridge : IDispatch
14242 {
14243     [propput, id(DISPID_IWEBBRIDGE_URL)]
14244     HRESULT URL([in] BSTR v);
14245
14246     [propget, id(DISPID_IWEBBRIDGE_URL)]
14247     HRESULT URL([retval, out] BSTR * p);
14248
14249     [propput, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
14250     HRESULT Scrollbar([in] VARIANT_BOOL v);
14251
14252     [propget, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
14253     HRESULT Scrollbar([retval, out] VARIANT_BOOL * p);
14254
14255     [propput, id(DISPID_IWEBBRIDGE_EMBED)]
14256     HRESULT embed([in] VARIANT_BOOL v);
14257
14258     [propget, id(DISPID_IWEBBRIDGE_EMBED)]
14259     HRESULT embed([retval, out] VARIANT_BOOL * p);
14260
14261     [propget, id(DISPID_IWEBBRIDGE_EVENT)]
14262     HRESULT event([retval, out] IDispatch* * p);
14263
14264     [propget, id(DISPID_IWEBBRIDGE_READYSTATE)]
14265     HRESULT readyState([retval, out] long * p);
14266
14267     [id(DISPID_IWEBBRIDGE_ABOUTBOX)]
14268     HRESULT AboutBox();
14269 }
14270
14271 /*****************************************************************************
14272  *    Scriptlet coclass
14273  */
14274 [
14275     control,
14276     helpstring("Microsoft Scriptlet Component"),
14277     progid("ScriptBridge.ScriptBridge.1"),
14278     vi_progid("ScriptBridge.ScriptBridge"),
14279     uuid(ae24fdae-03c6-11d1-8b76-0080c744f389)
14280 ]
14281 coclass Scriptlet
14282 {
14283     [default]           interface IWebBridge;
14284     [source, default]   dispinterface DWebBridgeEvents;
14285 }
14286
14287 /*****************************************************************************
14288  *    IHTMLEmbedElement interface
14289  */
14290 [
14291     odl,
14292     oleautomation,
14293     dual,
14294     uuid(3050f25f-98b5-11cf-bb82-00aa00bdce0b)
14295 ]
14296 interface IHTMLEmbedElement : IDispatch
14297 {
14298     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14299     HRESULT hidden([in] BSTR v);
14300
14301     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14302     HRESULT hidden([retval, out] BSTR *p);
14303
14304     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
14305     HRESULT palette([retval, out] BSTR *p);
14306
14307     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
14308     HRESULT pluginspage([retval, out] BSTR *p);
14309
14310     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14311     HRESULT src([in] BSTR v);
14312
14313     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14314     HRESULT src([retval, out] BSTR *p);
14315
14316     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14317     HRESULT units([in] BSTR v);
14318
14319     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14320     HRESULT units([retval, out] BSTR *p);
14321
14322     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14323     HRESULT name([in] BSTR v);
14324
14325     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14326     HRESULT name([retval, out] BSTR *p);
14327
14328     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14329     HRESULT width([in] VARIANT v);
14330
14331     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14332     HRESULT width([retval, out] VARIANT *p);
14333
14334     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14335     HRESULT height([in] VARIANT v);
14336
14337     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14338     HRESULT height([retval, out] VARIANT *p);
14339 }
14340
14341 /*****************************************************************************
14342  *    DispHTMLEmbedElement dispinterface
14343  */
14344 [
14345     hidden,
14346     uuid(3050f52e-98b5-11cf-bb82-00aa00bdce0b)
14347 ]
14348 dispinterface DispHTMLEmbed
14349 {
14350 properties:
14351 methods:
14352     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14353
14354     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14355     void hidden(BSTR v);
14356
14357     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14358     BSTR hidden();
14359
14360     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
14361     BSTR palette();
14362
14363     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
14364     BSTR pluginspage();
14365
14366     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14367     void src(BSTR v);
14368
14369     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14370     BSTR src();
14371
14372     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14373     void units(BSTR v);
14374
14375     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14376     BSTR units();
14377
14378     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14379     void name(BSTR v);
14380
14381     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14382     BSTR name();
14383
14384     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14385     void width(VARIANT v);
14386
14387     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14388     VARIANT width();
14389
14390     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14391     void height(VARIANT v);
14392
14393     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14394     VARIANT height();
14395
14396     [propput, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
14397     void ie8_src(BSTR v);
14398
14399     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
14400     BSTR ie8_src();
14401
14402     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_PLUGINSPAGE)]
14403     BSTR ie8_pluginspage();
14404 }
14405
14406 /*****************************************************************************
14407  *    IHTMLCommentElement interface
14408  */
14409 [
14410     odl,
14411     oleautomation,
14412     dual,
14413     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
14414 ]
14415 interface IHTMLCommentElement : IDispatch
14416 {
14417     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14418     HRESULT text([in] BSTR v);
14419
14420     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14421     HRESULT text([out, retval] BSTR *p);
14422
14423     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14424     HRESULT atomic([in] LONG v);
14425
14426     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14427     HRESULT atomic([out, retval] LONG *p);
14428 }
14429
14430 /*****************************************************************************
14431  *    IHTMLCommentElement2 interface
14432  */
14433 [
14434     odl,
14435     oleautomation,
14436     dual,
14437     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
14438 ]
14439 interface IHTMLCommentElement2 : IDispatch
14440 {
14441     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14442     HRESULT data([in] BSTR v);
14443
14444     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14445     HRESULT data([out, retval] BSTR *p);
14446
14447     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14448     HRESULT length([out, retval] LONG *p);
14449
14450     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14451     HRESULT substringData(
14452             [in] LONG offset,
14453             [in] LONG Count,
14454             [out, retval] BSTR *pbstrsubString);
14455
14456     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14457     HRESULT appendData([in] BSTR bstrstring);
14458
14459     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14460     HRESULT insertData(
14461             [in] LONG offset,
14462             [in] BSTR bstrstring);
14463
14464     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
14465     HRESULT deleteData(
14466             [in] LONG offset,
14467             [in] LONG Count);
14468
14469     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
14470     HRESULT replaceData(
14471             [in] LONG offset,
14472             [in] LONG Count,
14473             [in] BSTR bstrstring);
14474 }
14475
14476 /*****************************************************************************
14477  *    DispHTMLCommentElement dispinterface
14478  */
14479 [
14480     hidden,
14481     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
14482 ]
14483 dispinterface DispHTMLCommentElement
14484 {
14485 properties:
14486 methods:
14487     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14488
14489     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14490     void text(BSTR v);
14491
14492     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14493     BSTR text();
14494
14495     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14496     void atomic(LONG v);
14497
14498     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14499     LONG atomic();
14500
14501     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14502     void data(BSTR v);
14503
14504     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14505     BSTR data();
14506
14507     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14508     LONG length();
14509
14510     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14511     BSTR substringData(
14512             [in] LONG offset,
14513             [in] LONG Count);
14514
14515     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14516     void appendData([in] BSTR bstrstring);
14517
14518     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14519      void insertData(
14520             [in] LONG offset,
14521             [in] BSTR bstrstring);
14522
14523     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
14524     void deleteData(
14525             [in] LONG offset,
14526             [in] LONG Count);
14527
14528     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
14529     void replaceData(
14530             [in] LONG offset,
14531             [in] LONG Count,
14532             [in] BSTR bstrstring);
14533 }
14534
14535 [
14536     hidden,
14537     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
14538 ]
14539 dispinterface HTMLElementEvents2
14540 {
14541 properties:
14542 methods:
14543     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14544     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14545
14546     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14547     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14548
14549     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14550     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14551
14552     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14553     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14554
14555     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14556     void onkeydown([in] IHTMLEventObj* pEvtObj);
14557
14558     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14559     void onkeyup([in] IHTMLEventObj* pEvtObj);
14560
14561     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14562     void onmouseout([in] IHTMLEventObj* pEvtObj);
14563
14564     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14565     void onmouseover([in] IHTMLEventObj* pEvtObj);
14566
14567     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14568     void onmousemove([in] IHTMLEventObj* pEvtObj);
14569
14570     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14571     void onmousedown([in] IHTMLEventObj* pEvtObj);
14572
14573     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14574     void onmouseup([in] IHTMLEventObj* pEvtObj);
14575
14576     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14577     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14578
14579     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14580     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14581
14582     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14583     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14584
14585     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14586     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14587
14588     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14589     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14590
14591     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14592     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14593
14594     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14595     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14596
14597     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14598     void onrowenter([in] IHTMLEventObj* pEvtObj);
14599
14600     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14601     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14602
14603     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14604     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14605
14606     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14607     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14608
14609     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14610     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14611
14612     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14613     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14614
14615     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14616     void onscroll([in] IHTMLEventObj* pEvtObj);
14617
14618     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14619     void onfocus([in] IHTMLEventObj* pEvtObj);
14620
14621     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14622     void onblur([in] IHTMLEventObj* pEvtObj);
14623
14624     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14625     void onresize([in] IHTMLEventObj* pEvtObj);
14626
14627     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14628     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14629
14630     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14631     void ondragend([in] IHTMLEventObj* pEvtObj);
14632
14633     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14634     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14635
14636     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14637     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14638
14639     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14640     void ondragleave([in] IHTMLEventObj* pEvtObj);
14641
14642     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14643     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14644
14645     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14646     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14647
14648     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14649     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14650
14651     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14652     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14653
14654     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14655     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14656
14657     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14658     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14659
14660     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14661     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14662
14663     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14664     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14665
14666     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14667     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14668
14669     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14670     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14671
14672     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14673     void oncellchange([in] IHTMLEventObj* pEvtObj);
14674
14675     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14676     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14677
14678     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14679     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14680
14681     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14682     void onpage([in] IHTMLEventObj* pEvtObj);
14683
14684     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14685     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14686
14687     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14688     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14689
14690     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14691     void onactivate([in] IHTMLEventObj* pEvtObj);
14692
14693     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14694     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14695
14696     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14697     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14698
14699     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14700     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14701
14702     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14703     void onfocusin([in] IHTMLEventObj* pEvtObj);
14704
14705     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14706     void onfocusout([in] IHTMLEventObj* pEvtObj);
14707
14708     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14709     void onmove([in] IHTMLEventObj* pEvtObj);
14710
14711     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14712     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14713
14714     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14715     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14716
14717     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14718     void onmoveend([in] IHTMLEventObj* pEvtObj);
14719
14720     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14721     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14722
14723     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14724     void onresizeend([in] IHTMLEventObj* pEvtObj);
14725
14726     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14727     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14728 }
14729
14730 [
14731     hidden,
14732     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
14733 ]
14734 dispinterface HTMLElementEvents
14735 {
14736 properties:
14737 methods:
14738     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14739     VARIANT_BOOL onhelp();
14740
14741     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14742     VARIANT_BOOL onclick();
14743
14744     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14745     VARIANT_BOOL ondblclick();
14746
14747     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14748     VARIANT_BOOL onkeypress();
14749
14750     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14751     void onkeydown();
14752
14753     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14754     void onkeyup();
14755
14756     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14757     void onmouseout();
14758
14759     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14760     void onmouseover();
14761
14762     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14763     void onmousemove();
14764
14765     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14766     void onmousedown();
14767
14768     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14769     void onmouseup();
14770
14771     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14772     VARIANT_BOOL onselectstart();
14773
14774     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14775     void onfilterchange();
14776
14777     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14778     VARIANT_BOOL ondragstart();
14779
14780     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14781     VARIANT_BOOL onbeforeupdate();
14782
14783     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14784     void onafterupdate();
14785
14786     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14787     VARIANT_BOOL onerrorupdate();
14788
14789     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14790     VARIANT_BOOL onrowexit();
14791
14792     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14793     void onrowenter();
14794
14795     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14796     void ondatasetchanged();
14797
14798     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14799     void ondataavailable();
14800
14801     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14802     void ondatasetcomplete();
14803
14804     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14805     void onlosecapture();
14806
14807     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14808     void onpropertychange();
14809
14810     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14811     void onscroll();
14812
14813     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14814     void onfocus();
14815
14816     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14817     void onblur();
14818
14819     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14820     void onresize();
14821
14822     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14823     VARIANT_BOOL ondrag();
14824
14825     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14826     void ondragend();
14827
14828     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14829     VARIANT_BOOL ondragenter();
14830
14831     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14832     VARIANT_BOOL ondragover();
14833
14834     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14835     void ondragleave();
14836
14837     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14838     VARIANT_BOOL ondrop();
14839
14840     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14841     VARIANT_BOOL onbeforecut();
14842
14843     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14844     VARIANT_BOOL oncut();
14845
14846     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14847     VARIANT_BOOL onbeforecopy();
14848
14849     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14850     VARIANT_BOOL oncopy();
14851
14852     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14853     VARIANT_BOOL onbeforepaste();
14854
14855     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14856     VARIANT_BOOL onpaste();
14857
14858     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14859     VARIANT_BOOL oncontextmenu();
14860
14861     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14862     void onrowsdelete();
14863
14864     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14865     void onrowsinserted();
14866
14867     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14868     void oncellchange();
14869
14870     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14871     void onreadystatechange();
14872
14873     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14874     void onbeforeeditfocus();
14875
14876     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14877     void onlayoutcomplete();
14878
14879     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14880     void onpage();
14881
14882     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14883     VARIANT_BOOL onbeforedeactivate();
14884
14885     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14886     VARIANT_BOOL onbeforeactivate();
14887
14888     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14889     void onmove();
14890
14891     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14892     VARIANT_BOOL oncontrolselect();
14893
14894     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14895     VARIANT_BOOL onmovestart();
14896
14897     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14898     void onmoveend();
14899
14900     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14901     VARIANT_BOOL onresizestart();
14902
14903     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14904     void onresizeend();
14905
14906     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14907     void onmouseenter();
14908
14909     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14910     void onmouseleave();
14911
14912     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14913     VARIANT_BOOL onmousewheel();
14914
14915     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14916     void onactivate();
14917
14918     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14919     void ondeactivate();
14920
14921     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14922     void onfocusin();
14923
14924     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14925     void onfocusout();
14926 }
14927
14928 [
14929     noncreatable,
14930     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
14931 ]
14932 coclass HTMLCommentElement
14933 {
14934     [default]           dispinterface DispHTMLCommentElement;
14935     [source, default]   dispinterface HTMLElementEvents;
14936     [source]            dispinterface HTMLElementEvents2;
14937                         interface IHTMLElement;
14938                         interface IHTMLElement2;
14939                         interface IHTMLElement3;
14940                         interface IHTMLElement4;
14941                         interface IHTMLUniqueName;
14942                         interface IHTMLDOMNode;
14943                         interface IHTMLDOMNode2;
14944                         interface IHTMLCommentElement;
14945                         interface IHTMLCommentElement2;
14946 }
14947
14948 /*****************************************************************************
14949  *    HTMLTableEvents dispinterface
14950  */
14951 [
14952     hidden,
14953     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
14954 ]
14955 dispinterface HTMLTableEvents
14956 {
14957 properties:
14958 methods:
14959     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14960     VARIANT_BOOL onhelp();
14961
14962     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14963     VARIANT_BOOL onclick();
14964
14965     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14966     VARIANT_BOOL ondblclick();
14967
14968     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14969     VARIANT_BOOL onkeypress();
14970
14971     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14972     void onkeydown();
14973
14974     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14975     void onkeyup();
14976
14977     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14978     void onmouseout();
14979
14980     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14981     void onmouseover();
14982
14983     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14984     void onmousemove();
14985
14986     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14987     void onmousedown();
14988
14989     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14990     void onmouseup();
14991
14992     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14993     VARIANT_BOOL onselectstart();
14994
14995     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14996     void onfilterchange();
14997
14998     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14999     VARIANT_BOOL ondragstart();
15000
15001     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
15002     VARIANT_BOOL onbeforeupdate();
15003
15004     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
15005     void onafterupdate();
15006
15007     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
15008     VARIANT_BOOL onerrorupdate();
15009
15010     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
15011     VARIANT_BOOL onrowexit();
15012
15013     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
15014     void onrowenter();
15015
15016     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
15017     void ondatasetchanged();
15018
15019     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
15020     void ondataavailable();
15021
15022     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
15023     void ondatasetcomplete();
15024
15025     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
15026     void onlosecapture();
15027
15028     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
15029     void onpropertychange();
15030
15031     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
15032     void onscroll();
15033
15034     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
15035     void onfocus();
15036
15037     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
15038     void onblur();
15039
15040     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
15041     void onresize();
15042
15043     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
15044     VARIANT_BOOL ondrag();
15045
15046     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
15047     void ondragend();
15048
15049     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
15050     VARIANT_BOOL ondragenter();
15051
15052     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
15053     VARIANT_BOOL ondragover();
15054
15055     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
15056     void ondragleave();
15057
15058     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
15059     VARIANT_BOOL ondrop();
15060
15061     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
15062     VARIANT_BOOL onbeforecut();
15063
15064     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
15065     VARIANT_BOOL oncut();
15066
15067     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
15068     VARIANT_BOOL onbeforecopy();
15069
15070     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
15071     VARIANT_BOOL oncopy();
15072
15073     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
15074     VARIANT_BOOL onbeforepaste();
15075
15076     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
15077     VARIANT_BOOL onpaste();
15078
15079     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
15080     VARIANT_BOOL oncontextmenu();
15081
15082     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
15083     void onrowsdelete();
15084
15085     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
15086     void onrowsinserted();
15087
15088     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
15089     void oncellchange();
15090
15091     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
15092     void onreadystatechange();
15093
15094     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
15095     void onbeforeeditfocus();
15096
15097     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
15098     void onlayoutcomplete();
15099
15100     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
15101     void onpage();
15102
15103     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
15104     VARIANT_BOOL onbeforedeactivate();
15105
15106     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
15107     VARIANT_BOOL onbeforeactivate();
15108
15109     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
15110     void onmove();
15111
15112     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
15113     VARIANT_BOOL oncontrolselect();
15114
15115     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
15116     VARIANT_BOOL onmovestart();
15117
15118     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
15119     void onmoveend();
15120
15121     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
15122     VARIANT_BOOL onresizestart();
15123
15124     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
15125     void onresizeend();
15126
15127     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
15128     void onmouseenter();
15129
15130     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
15131     void onmouseleave();
15132
15133     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
15134     VARIANT_BOOL onmousewheel();
15135
15136     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
15137     void onactivate();
15138
15139     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
15140     void ondeactivate();
15141
15142     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
15143     void onfocusin();
15144
15145     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
15146     void onfocusout();
15147 }
15148
15149 [
15150     hidden,
15151     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
15152 ]
15153 dispinterface HTMLTableEvents2
15154 {
15155 properties:
15156 methods:
15157     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
15158     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
15159
15160     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
15161     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
15162
15163     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
15164     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
15165
15166     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
15167     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
15168
15169     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
15170     void onkeydown([in] IHTMLEventObj* pEvtObj);
15171
15172     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
15173     void onkeyup([in] IHTMLEventObj* pEvtObj);
15174
15175     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
15176     void onmouseout([in] IHTMLEventObj* pEvtObj);
15177
15178     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
15179     void onmouseover([in] IHTMLEventObj* pEvtObj);
15180
15181     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
15182     void onmousemove([in] IHTMLEventObj* pEvtObj);
15183
15184     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
15185     void onmousedown([in] IHTMLEventObj* pEvtObj);
15186
15187     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
15188     void onmouseup([in] IHTMLEventObj* pEvtObj);
15189
15190     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
15191     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
15192
15193     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
15194     void onfilterchange([in] IHTMLEventObj* pEvtObj);
15195
15196     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
15197     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
15198
15199     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
15200     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
15201
15202     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
15203     void onafterupdate([in] IHTMLEventObj* pEvtObj);
15204
15205     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
15206     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
15207
15208     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
15209     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
15210
15211     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
15212     void onrowenter([in] IHTMLEventObj* pEvtObj);
15213
15214     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
15215     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
15216
15217     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
15218     void ondataavailable([in] IHTMLEventObj* pEvtObj);
15219
15220     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
15221     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
15222
15223     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
15224     void onlosecapture([in] IHTMLEventObj* pEvtObj);
15225
15226     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
15227     void onpropertychange([in] IHTMLEventObj* pEvtObj);
15228
15229     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
15230     void onscroll([in] IHTMLEventObj* pEvtObj);
15231
15232     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
15233     void onfocus([in] IHTMLEventObj* pEvtObj);
15234
15235     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
15236     void onblur([in] IHTMLEventObj* pEvtObj);
15237
15238     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
15239     void onresize([in] IHTMLEventObj* pEvtObj);
15240
15241     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
15242     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
15243
15244     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
15245     void ondragend([in] IHTMLEventObj* pEvtObj);
15246
15247     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
15248     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
15249
15250     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
15251     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
15252
15253     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
15254     void ondragleave([in] IHTMLEventObj* pEvtObj);
15255
15256     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
15257     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
15258
15259     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
15260     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
15261
15262     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
15263     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
15264
15265     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
15266     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
15267
15268     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
15269     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
15270
15271     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
15272     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
15273
15274     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
15275     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
15276
15277     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
15278     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
15279
15280     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
15281     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
15282
15283     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
15284     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
15285
15286     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
15287     void oncellchange([in] IHTMLEventObj* pEvtObj);
15288
15289     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
15290     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
15291
15292     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
15293     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
15294
15295     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
15296     void onpage([in] IHTMLEventObj* pEvtObj);
15297
15298     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
15299     void onmouseenter([in] IHTMLEventObj* pEvtObj);
15300
15301     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
15302     void onmouseleave([in] IHTMLEventObj* pEvtObj);
15303
15304     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
15305     void onactivate([in] IHTMLEventObj* pEvtObj);
15306
15307     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
15308     void ondeactivate([in] IHTMLEventObj* pEvtObj);
15309
15310     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
15311     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
15312
15313     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
15314     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
15315
15316     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
15317     void onfocusin([in] IHTMLEventObj* pEvtObj);
15318
15319     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
15320     void onfocusout([in] IHTMLEventObj* pEvtObj);
15321
15322     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
15323     void onmove([in] IHTMLEventObj* pEvtObj);
15324
15325     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
15326     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
15327
15328     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
15329     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
15330
15331     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
15332     void onmoveend([in] IHTMLEventObj* pEvtObj);
15333
15334     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
15335     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
15336
15337     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
15338     void onresizeend([in] IHTMLEventObj* pEvtObj);
15339
15340     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
15341     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
15342 }
15343
15344 /*****************************************************************************
15345  *    IHTMLTableCaption interface
15346  */
15347 [
15348     odl,
15349     oleautomation,
15350     dual,
15351     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
15352 ]
15353 interface IHTMLTableCaption : IDispatch
15354 {
15355     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
15356     HRESULT align([in] BSTR v);
15357
15358     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
15359     HRESULT align([retval, out] BSTR *p);
15360
15361     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
15362     HRESULT vAlign([in] BSTR v);
15363
15364     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
15365     HRESULT vAlign([retval, out] BSTR *p);
15366 }
15367
15368 interface IHTMLTableSection;
15369
15370 /*****************************************************************************
15371  *    IHTMLTable interface
15372  */
15373 [
15374     odl,
15375     oleautomation,
15376     dual,
15377     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
15378 ]
15379 interface IHTMLTable : IDispatch
15380 {
15381     [propput, id(DISPID_IHTMLTABLE_COLS)]
15382     HRESULT cols([in] LONG v);
15383
15384     [propget, id(DISPID_IHTMLTABLE_COLS)]
15385     HRESULT cols([retval, out] LONG *p);
15386
15387     [propput, id(DISPID_IHTMLTABLE_BORDER)]
15388     HRESULT border([in] VARIANT v);
15389
15390     [propget, id(DISPID_IHTMLTABLE_BORDER)]
15391     HRESULT border([retval, out] VARIANT *p);
15392
15393     [propput, id(DISPID_IHTMLTABLE_FRAME)]
15394     HRESULT frame([in] BSTR v);
15395
15396     [propget, id(DISPID_IHTMLTABLE_FRAME)]
15397     HRESULT frame([retval, out] BSTR *p);
15398
15399     [propput, id(DISPID_IHTMLTABLE_RULES)]
15400     HRESULT rules([in] BSTR v);
15401
15402     [propget, id(DISPID_IHTMLTABLE_RULES)]
15403     HRESULT rules([retval, out] BSTR *p);
15404
15405     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
15406     HRESULT cellSpacing([in] VARIANT v);
15407
15408     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
15409     HRESULT cellSpacing([retval, out] VARIANT *p);
15410
15411     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
15412     HRESULT cellPadding([in] VARIANT v);
15413
15414     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
15415     HRESULT cellPadding([retval, out] VARIANT *p);
15416
15417     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
15418     HRESULT background([in] BSTR v);
15419
15420     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
15421     HRESULT background([retval, out] BSTR *p);
15422
15423     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
15424     HRESULT bgColor([in] VARIANT v);
15425
15426     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
15427     HRESULT bgColor([retval, out] VARIANT *p);
15428
15429     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15430     HRESULT borderColor([in] VARIANT v);
15431
15432     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15433     HRESULT borderColor([retval, out] VARIANT *p);
15434
15435     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15436     HRESULT borderColorLight([in] VARIANT v);
15437
15438     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15439     HRESULT borderColorLight([retval, out] VARIANT *p);
15440
15441     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15442     HRESULT borderColorDark([in] VARIANT v);
15443
15444     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15445     HRESULT borderColorDark([retval, out] VARIANT *p);
15446
15447     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
15448     HRESULT align([in] BSTR v);
15449
15450     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
15451     HRESULT align([retval, out] BSTR * p);
15452
15453     [id(DISPID_IHTMLTABLE_REFRESH)]
15454     HRESULT refresh();
15455
15456     [propget, id(DISPID_IHTMLTABLE_ROWS)]
15457     HRESULT rows([retval, out] IHTMLElementCollection **p);
15458
15459     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
15460     HRESULT width([in] VARIANT v);
15461
15462     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
15463     HRESULT width([retval, out] VARIANT *p);
15464
15465     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
15466     HRESULT height([in] VARIANT v);
15467
15468     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
15469     HRESULT height([retval, out] VARIANT *p);
15470
15471     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15472     HRESULT dataPageSize([in] LONG v);
15473
15474     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15475     HRESULT dataPageSize([retval, out] LONG *p);
15476
15477     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
15478     HRESULT nextPage();
15479
15480     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
15481     HRESULT previousPage();
15482
15483     [propget, id(DISPID_IHTMLTABLE_THEAD)]
15484     HRESULT tHead([retval, out] IHTMLTableSection **p);
15485
15486     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
15487     HRESULT tFoot([retval, out] IHTMLTableSection **p);
15488
15489     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
15490     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
15491
15492     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
15493     HRESULT caption([retval, out] IHTMLTableCaption **p);
15494
15495     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
15496     HRESULT createTHead([retval, out] IDispatch **head);
15497
15498     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
15499     HRESULT deleteTHead();
15500
15501     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
15502     HRESULT createTFoot([retval, out] IDispatch **foot);
15503
15504     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
15505     HRESULT deleteTFoot();
15506
15507     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
15508     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
15509
15510     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
15511     HRESULT deleteCaption();
15512
15513     [id(DISPID_IHTMLTABLE_INSERTROW)]
15514     HRESULT insertRow(
15515             [defaultvalue(-1), in] LONG index,
15516             [retval, out] IDispatch **row);
15517
15518     [id(DISPID_IHTMLTABLE_DELETEROW)]
15519     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
15520
15521     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
15522     HRESULT readyState([retval, out] BSTR *p);
15523
15524     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
15525     HRESULT onreadystatechange([in] VARIANT v);
15526
15527     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
15528     HRESULT onreadystatechange([retval, out] VARIANT *p);
15529 }
15530
15531 [
15532     odl,
15533     oleautomation,
15534     dual,
15535     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
15536 ]
15537 interface IHTMLTable2 : IDispatch
15538 {
15539     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
15540     HRESULT firstPage();
15541
15542     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
15543     HRESULT lastPage();
15544
15545     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
15546     HRESULT cells([retval, out] IHTMLElementCollection* * p);
15547
15548     [id(DISPID_IHTMLTABLE2_MOVEROW)]
15549     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
15550         [defaultvalue(-1), in] LONG indexTo,
15551         [retval, out] IDispatch** row);
15552 }
15553
15554 [
15555     odl,
15556     oleautomation,
15557     dual,
15558     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
15559 ]
15560 interface IHTMLTable3 : IDispatch
15561 {
15562     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15563     HRESULT summary([in] BSTR v);
15564
15565     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15566     HRESULT summary([retval, out] BSTR * p);
15567 }
15568
15569 [
15570     noncreatable,
15571     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
15572 ]
15573 coclass HTMLTable
15574 {
15575     [default]           dispinterface DispHTMLTable;
15576     [source, default]   dispinterface HTMLTableEvents;
15577     [source]            dispinterface HTMLTableEvents2;
15578                         interface IHTMLElement;
15579                         interface IHTMLElement2;
15580                         interface IHTMLElement3;
15581                         interface IHTMLElement4;
15582                         interface IHTMLUniqueName;
15583                         interface IHTMLDOMNode;
15584                         interface IHTMLDOMNode2;
15585                         interface IHTMLDatabinding;
15586                         interface IHTMLControlElement;
15587                         interface IHTMLTable;
15588                         interface IHTMLTable2;
15589                         interface IHTMLTable3;
15590 }
15591
15592 [
15593     odl,
15594     oleautomation,
15595     dual,
15596     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
15597 ]
15598 interface IHTMLTableSection : IDispatch
15599 {
15600     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
15601     HRESULT align([in] BSTR v);
15602
15603     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
15604     HRESULT align([retval, out] BSTR *p);
15605
15606     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
15607     HRESULT vAlign([in] BSTR v);
15608
15609     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
15610     HRESULT vAlign([retval, out] BSTR *p);
15611
15612     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
15613     HRESULT bgColor([in] VARIANT v);
15614
15615     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
15616     HRESULT bgColor([retval, out] VARIANT *p);
15617
15618     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
15619     HRESULT rows([retval, out] IHTMLElementCollection **p);
15620
15621     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
15622     HRESULT insertRow(
15623             [defaultvalue(-1), in] LONG index,
15624             [retval, out] IDispatch **row);
15625
15626     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
15627     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
15628 }
15629
15630 /*****************************************************************************
15631  *    IHTMLTableRow interface
15632  */
15633 [
15634     odl,
15635     oleautomation,
15636     dual,
15637     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
15638 ]
15639 interface IHTMLTableRow : IDispatch
15640 {
15641     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
15642     HRESULT align([in] BSTR v);
15643
15644     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
15645     HRESULT align([out, retval] BSTR *p);
15646
15647     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
15648     HRESULT vAlign([in] BSTR v);
15649
15650     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
15651     HRESULT vAlign([out, retval] BSTR *p);
15652
15653     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15654     HRESULT bgColor([in] VARIANT v);
15655
15656     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15657     HRESULT bgColor([out, retval] VARIANT *p);
15658
15659     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15660     HRESULT borderColor([in] VARIANT v);
15661
15662     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15663     HRESULT borderColor([out, retval] VARIANT *p);
15664
15665     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15666     HRESULT borderColorLight([in] VARIANT v);
15667
15668     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15669     HRESULT borderColorLight([out, retval] VARIANT *p);
15670
15671     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15672     HRESULT borderColorDark([in] VARIANT v);
15673
15674     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15675     HRESULT borderColorDark([out, retval] VARIANT *p);
15676
15677     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
15678     HRESULT rowIndex([out, retval] LONG *p);
15679
15680     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
15681     HRESULT sectionRowIndex([out, retval] LONG *p);
15682
15683     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
15684     HRESULT cells([out, retval] IHTMLElementCollection **p);
15685
15686     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
15687     HRESULT insertCell(
15688             [in, defaultvalue(-1)] LONG index,
15689             [out, retval] IDispatch **row);
15690
15691     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
15692     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
15693 }
15694
15695 /*****************************************************************************
15696  *    IHTMLTableCell interface
15697  */
15698 [
15699     odl,
15700     oleautomation,
15701     dual,
15702     uuid(3050f23d-98b5-11cf-bb82-00aa00bdce0b)
15703 ]
15704 interface IHTMLTableCell : IDispatch
15705 {
15706     [propput, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
15707     HRESULT rowSpan([in] long v);
15708
15709     [propget, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
15710     HRESULT rowSpan([retval, out] long *p);
15711
15712     [propput, id(DISPID_IHTMLTABLECELL_COLSPAN)]
15713     HRESULT colSpan([in] long v);
15714
15715     [propget, id(DISPID_IHTMLTABLECELL_COLSPAN)]
15716     HRESULT colSpan([retval, out] long *p);
15717
15718     [propput, id(DISPID_IHTMLTABLECELL_ALIGN)]
15719     HRESULT align([in] BSTR v);
15720
15721     [propget, id(DISPID_IHTMLTABLECELL_ALIGN)]
15722     HRESULT align([retval, out] BSTR *p);
15723
15724     [propput, id(DISPID_IHTMLTABLECELL_VALIGN)]
15725     HRESULT vAlign([in] BSTR v);
15726
15727     [propget, id(DISPID_IHTMLTABLECELL_VALIGN)]
15728     HRESULT vAlign([retval, out] BSTR *p);
15729
15730     [propput, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
15731     HRESULT bgColor([in] VARIANT v);
15732
15733     [propget, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
15734     HRESULT bgColor([retval, out] VARIANT *p);
15735
15736     [propput, id(DISPID_IHTMLTABLECELL_NOWRAP)]
15737     HRESULT noWrap([in] VARIANT_BOOL v);
15738
15739     [propget, id(DISPID_IHTMLTABLECELL_NOWRAP)]
15740     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
15741
15742     [propput, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
15743     HRESULT background([in] BSTR v);
15744
15745     [propget, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
15746     HRESULT background([retval, out] BSTR *p);
15747
15748     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
15749     HRESULT borderColor([in] VARIANT v);
15750
15751     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
15752     HRESULT borderColor([retval, out] VARIANT *p);
15753
15754     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
15755     HRESULT borderColorLight([in] VARIANT v);
15756
15757     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
15758     HRESULT borderColorLight([retval, out] VARIANT *p);
15759
15760     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
15761     HRESULT borderColorDark([in] VARIANT v);
15762
15763     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
15764     HRESULT borderColorDark([retval, out] VARIANT *p);
15765
15766     [propput, id(DISPID_IHTMLTABLECELL_WIDTH)]
15767     HRESULT width([in] VARIANT v);
15768
15769     [propget, id(DISPID_IHTMLTABLECELL_WIDTH)]
15770     HRESULT width([retval, out] VARIANT *p);
15771
15772     [propput, id(DISPID_IHTMLTABLECELL_HEIGHT)]
15773     HRESULT height([in] VARIANT v);
15774
15775     [propget, id(DISPID_IHTMLTABLECELL_HEIGHT)]
15776     HRESULT height([retval, out] VARIANT *p);
15777
15778     [propget, id(DISPID_IHTMLTABLECELL_CELLINDEX)]
15779     HRESULT cellIndex([retval, out] long *p);
15780 }
15781
15782 /*****************************************************************************
15783  *    DispHTMLTable dispinterface
15784  */
15785 [
15786     hidden,
15787     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
15788 ]
15789 dispinterface DispHTMLTable
15790 {
15791 properties:
15792 methods:
15793     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
15794
15795     [propput, id(DISPID_IHTMLTABLE_COLS)]
15796     void cols(LONG v);
15797
15798     [propget, id(DISPID_IHTMLTABLE_COLS)]
15799     LONG cols();
15800
15801     [propput, id(DISPID_IHTMLTABLE_BORDER)]
15802     void border(VARIANT v);
15803
15804     [propget, id(DISPID_IHTMLTABLE_BORDER)]
15805     VARIANT border();
15806
15807     [propput, id(DISPID_IHTMLTABLE_FRAME)]
15808     void frame(BSTR v);
15809
15810     [propget, id(DISPID_IHTMLTABLE_FRAME)]
15811     BSTR frame();
15812
15813     [propput, id(DISPID_IHTMLTABLE_RULES)]
15814     void rules(BSTR v);
15815
15816     [propget, id(DISPID_IHTMLTABLE_RULES)]
15817     BSTR rules();
15818
15819     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
15820     void cellSpacing(VARIANT v);
15821
15822     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
15823     VARIANT cellSpacing();
15824
15825     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
15826     void cellPadding(VARIANT v);
15827
15828     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
15829     VARIANT cellPadding();
15830
15831     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
15832     void background(BSTR v);
15833
15834     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
15835     BSTR background();
15836
15837     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
15838     void bgColor(VARIANT v);
15839
15840     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
15841     VARIANT bgColor();
15842
15843     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15844     void borderColor(VARIANT v);
15845
15846     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15847     VARIANT borderColor();
15848
15849     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15850     void borderColorLight(VARIANT v);
15851
15852     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15853     VARIANT borderColorLight();
15854
15855     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15856     void borderColorDark(VARIANT v);
15857
15858     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15859     VARIANT borderColorDark();
15860
15861     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
15862     void align(BSTR v);
15863
15864     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
15865     BSTR align();
15866
15867     [id(DISPID_IHTMLTABLE_REFRESH)]
15868     void refresh();
15869
15870     [propget, id(DISPID_IHTMLTABLE_ROWS)]
15871     IHTMLElementCollection *rows();
15872
15873     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
15874     void width(VARIANT v);
15875
15876     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
15877     VARIANT width();
15878
15879     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
15880     void height(VARIANT v);
15881
15882     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
15883     VARIANT height();
15884
15885     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15886     void dataPageSize(LONG v);
15887
15888     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15889     LONG dataPageSize();
15890
15891     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
15892     void nextPage();
15893
15894     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
15895     void previousPage();
15896
15897     [propget, id(DISPID_IHTMLTABLE_THEAD)]
15898     IHTMLTableSection *tHead();
15899
15900     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
15901     IHTMLTableSection *tFoot();
15902
15903     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
15904     IHTMLElementCollection *tBodies();
15905
15906     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
15907     IHTMLTableCaption *caption();
15908
15909     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
15910     IDispatch *createTHead();
15911
15912     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
15913     void deleteTHead();
15914
15915     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
15916     IDispatch *createTFoot();
15917
15918     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
15919     void deleteTFoot();
15920
15921     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
15922     IHTMLTableCaption *createCaption();
15923
15924     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
15925     void deleteCaption();
15926
15927     [id(DISPID_IHTMLTABLE_INSERTROW)]
15928     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
15929
15930     [id(DISPID_IHTMLTABLE_DELETEROW)]
15931     void deleteRow([in, defaultvalue(-1)] LONG index);
15932
15933     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
15934     void firstPage();
15935
15936     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
15937     void lastPage();
15938
15939     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
15940     IHTMLElementCollection *cells();
15941
15942     [id(DISPID_IHTMLTABLE2_MOVEROW)]
15943     IDispatch *moveRow(
15944             [in, defaultvalue(-1)] LONG indexFrom,
15945             [in, defaultvalue(-1)] LONG indexTo);
15946
15947     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15948     void summary(BSTR v);
15949
15950     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15951     BSTR summary();
15952 }
15953
15954 /*****************************************************************************
15955  *    DispHTMLTableRow dispinterface
15956  */
15957 [
15958     hidden,
15959     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
15960 ]
15961 dispinterface DispHTMLTableRow
15962 {
15963 properties:
15964 methods:
15965     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15966
15967     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
15968     void align(BSTR v);
15969
15970     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
15971     BSTR align();
15972
15973     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
15974     void vAlign(BSTR v);
15975
15976     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
15977     BSTR vAlign();
15978
15979     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15980     void bgColor(VARIANT v);
15981
15982     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15983     VARIANT bgColor();
15984
15985     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15986     void borderColor(VARIANT v);
15987
15988     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15989     VARIANT borderColor();
15990
15991     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15992     void borderColorLight(VARIANT v);
15993
15994     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15995     VARIANT borderColorLight();
15996
15997     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15998     void borderColorDark(VARIANT v);
15999
16000     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
16001     VARIANT borderColorDark();
16002
16003     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
16004     LONG rowIndex();
16005
16006     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
16007     LONG sectionRowIndex();
16008
16009     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
16010     IHTMLElementCollection *cells();
16011
16012     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
16013     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
16014
16015     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
16016     void deleteCell([in, defaultvalue(-1)] LONG index);
16017
16018     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
16019     void height(VARIANT v);
16020
16021     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
16022     VARIANT height();
16023
16024     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
16025     void ch(BSTR v);
16026
16027     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
16028     BSTR ch();
16029
16030     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
16031     void chOff(BSTR v);
16032
16033     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
16034     BSTR chOff();
16035 }
16036
16037 /*****************************************************************************
16038  *    DispHTMLTableCell dispinterface
16039  */
16040 [
16041     hidden,
16042     uuid(3050f536-98b5-11cf-bb82-00aa00bdce0b)
16043 ]
16044 dispinterface DispHTMLTableCell
16045 {
16046 properties:
16047 methods:
16048     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16049
16050     [propput, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
16051     void rowSpan(long v);
16052
16053     [propget, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
16054     long rowSpan();
16055
16056     [propput, id(DISPID_IHTMLTABLECELL_COLSPAN)]
16057     void colSpan(long v);
16058
16059     [propget, id(DISPID_IHTMLTABLECELL_COLSPAN)]
16060     long colSpan();
16061
16062     [propput, id(DISPID_IHTMLTABLECELL_ALIGN)]
16063     void align(BSTR v);
16064
16065     [propget, id(DISPID_IHTMLTABLECELL_ALIGN)]
16066     BSTR align();
16067
16068     [propput, id(DISPID_IHTMLTABLECELL_VALIGN)]
16069     void vAlign(BSTR v);
16070
16071     [propget, id(DISPID_IHTMLTABLECELL_VALIGN)]
16072     BSTR vAlign();
16073
16074     [propput, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
16075     void bgColor(VARIANT v);
16076
16077     [propget, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
16078     VARIANT bgColor();
16079
16080     [propput, id(DISPID_IHTMLTABLECELL_NOWRAP)]
16081     void noWrap(VARIANT_BOOL v);
16082
16083     [propget, id(DISPID_IHTMLTABLECELL_NOWRAP)]
16084     VARIANT_BOOL noWrap();
16085
16086     [propput, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
16087     void background(BSTR v);
16088
16089     [propget, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
16090     BSTR background();
16091
16092     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
16093     void borderColor(VARIANT v);
16094
16095     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
16096     VARIANT borderColor();
16097
16098     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
16099     void borderColorLight(VARIANT v);
16100
16101     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
16102     VARIANT borderColorLight();
16103
16104     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
16105     void borderColorDark(VARIANT v);
16106
16107     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
16108     VARIANT borderColorDark();
16109
16110     [propput, id(DISPID_IHTMLTABLECELL_WIDTH)]
16111     void width(VARIANT v);
16112
16113     [propget, id(DISPID_IHTMLTABLECELL_WIDTH)]
16114     VARIANT width();
16115
16116     [propput, id(DISPID_IHTMLTABLECELL_HEIGHT)]
16117     void height(VARIANT v);
16118
16119     [propget, id(DISPID_IHTMLTABLECELL_HEIGHT)]
16120     VARIANT height();
16121
16122     [propget, id(DISPID_IHTMLTABLECELL_CELLINDEX)]
16123     long cellIndex();
16124
16125     [propput, id(DISPID_IHTMLTABLECELL2_ABBR), displaybind, bindable]
16126     void abbr(BSTR v);
16127
16128     [propget, id(DISPID_IHTMLTABLECELL2_ABBR), displaybind, bindable]
16129     BSTR abbr();
16130
16131     [propput, id(DISPID_IHTMLTABLECELL2_AXIS), displaybind, bindable]
16132     void axis(BSTR v);
16133
16134     [propget, id(DISPID_IHTMLTABLECELL2_AXIS), displaybind, bindable]
16135     BSTR axis();
16136
16137     [propput, id(DISPID_IHTMLTABLECELL2_CH), displaybind, bindable]
16138     void ch(BSTR v);
16139
16140     [propget, id(DISPID_IHTMLTABLECELL2_CH), displaybind, bindable]
16141     BSTR ch();
16142
16143     [propput, id(DISPID_IHTMLTABLECELL2_CHOFF), displaybind, bindable]
16144     void chOff(BSTR v);
16145
16146     [propget, id(DISPID_IHTMLTABLECELL2_CHOFF), displaybind, bindable]
16147     BSTR chOff();
16148
16149     [propput, id(DISPID_IHTMLTABLECELL2_HEADERS), displaybind, bindable]
16150     void headers(BSTR v);
16151
16152     [propget, id(DISPID_IHTMLTABLECELL2_HEADERS), displaybind, bindable]
16153     BSTR headers();
16154
16155     [propput, id(DISPID_IHTMLTABLECELL2_SCOPE), displaybind, bindable]
16156     void scope(BSTR v);
16157
16158     [propget, id(DISPID_IHTMLTABLECELL2_SCOPE), displaybind, bindable]
16159     BSTR scope();
16160
16161     [propput, id(DISPID_IHTMLTABLECELL3_IE9_CH), displaybind, bindable]
16162     void ie9_ch(BSTR v);
16163
16164     [propget, id(DISPID_IHTMLTABLECELL3_IE9_CH), displaybind, bindable]
16165     BSTR ie9_ch();
16166
16167     [propput, id(DISPID_IHTMLTABLECELL3_IE9_CHOFF), displaybind, bindable]
16168     void ie9_chOff(BSTR v);
16169
16170     [propget, id(DISPID_IHTMLTABLECELL3_IE9_CHOFF), displaybind, bindable]
16171     BSTR ie9_chOff();
16172 }
16173
16174 /*****************************************************************************
16175  *    IHTMLScriptElement interface
16176  */
16177 [
16178     odl,
16179     oleautomation,
16180     dual,
16181     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
16182 ]
16183 interface IHTMLScriptElement : IDispatch
16184 {
16185     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16186     HRESULT src([in] BSTR v);
16187
16188     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16189     HRESULT src([retval, out] BSTR *p);
16190
16191     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16192     HRESULT htmlFor([in] BSTR v);
16193
16194     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16195     HRESULT htmlFor([retval, out] BSTR *p);
16196
16197     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16198     HRESULT event([in] BSTR v);
16199
16200     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16201     HRESULT event([retval, out] BSTR *p);
16202
16203     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16204     HRESULT text([in] BSTR v);
16205
16206     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16207     HRESULT text([retval, out] BSTR *p);
16208
16209     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16210     HRESULT defer([in] VARIANT_BOOL v);
16211
16212     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16213     HRESULT defer([retval, out] VARIANT_BOOL *p);
16214
16215     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
16216     HRESULT readyState([retval, out] BSTR *p);
16217
16218     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16219     HRESULT onerror([in] VARIANT v);
16220
16221     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16222     HRESULT onerror([retval, out] VARIANT *p);
16223
16224     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16225     HRESULT type([in] BSTR v);
16226
16227     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16228     HRESULT type([retval, out] BSTR *p);
16229 }
16230
16231 /*****************************************************************************
16232  *    IHTMLScriptElement2 interface
16233  */
16234 [
16235     odl,
16236     oleautomation,
16237     dual,
16238     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
16239 ]
16240 interface IHTMLScriptElement2 : IDispatch
16241 {
16242     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16243     HRESULT charset([in] BSTR v);
16244
16245     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16246     HRESULT charset([retval, out] BSTR *p);
16247 }
16248
16249 /*****************************************************************************
16250  *    DispHTMLScriptElement dispinterface
16251  */
16252 [
16253     hidden,
16254     uuid(3050f530-98b5-11cf-bb82-00aa00bdce0b)
16255 ]
16256 dispinterface DispHTMLScriptElement
16257 {
16258 properties:
16259 methods:
16260     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16261
16262     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16263     void src(BSTR v);
16264
16265     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16266     BSTR src();
16267
16268     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16269     void htmlFor(BSTR v);
16270
16271     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16272     BSTR htmlFor();
16273
16274     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16275     void event(BSTR v);
16276
16277     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16278     BSTR event();
16279
16280     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16281     void text(BSTR v);
16282
16283     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16284     BSTR text();
16285
16286     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16287     void defer(VARIANT_BOOL v);
16288
16289     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16290     VARIANT_BOOL defer();
16291
16292     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16293     void onerror(VARIANT v);
16294
16295     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16296     VARIANT onerror();
16297
16298     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16299     void type(BSTR v);
16300
16301     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16302     BSTR type();
16303
16304     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16305     void charset(BSTR v);
16306
16307     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16308     BSTR charset();
16309
16310     [propput, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
16311     void ie8_src(BSTR v);
16312
16313     [propget, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
16314     BSTR ie8_src();
16315 }
16316
16317 /*****************************************************************************
16318  *    IHTMLObjectElement interface
16319  */
16320 [
16321     odl,
16322     oleautomation,
16323     dual,
16324     uuid(3050f24f-98b5-11cf-bb82-00aa00bdce0b)
16325 ]
16326 interface IHTMLObjectElement : IDispatch
16327 {
16328     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
16329     HRESULT object([retval, out] IDispatch **p);
16330
16331     [propget, id(DISPID_IHTMLOBJECTELEMENT_CLASSID), hidden]
16332     HRESULT classid([retval, out] BSTR *p);
16333
16334     [propget, id(DISPID_IHTMLOBJECTELEMENT_DATA), hidden]
16335     HRESULT data([retval, out] BSTR *p);
16336
16337     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16338     HRESULT recordset([in] IDispatch *v);
16339
16340     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16341     HRESULT recordset([retval, out] IDispatch **p);
16342
16343     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16344     HRESULT align([in] BSTR v);
16345
16346     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16347     HRESULT align([retval, out] BSTR *p);
16348
16349     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16350     HRESULT name([in] BSTR v);
16351
16352     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16353     HRESULT name([retval, out] BSTR *p);
16354
16355     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16356     HRESULT codeBase([in] BSTR v);
16357
16358     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16359     HRESULT codeBase([retval, out] BSTR *p);
16360
16361     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16362     HRESULT codeType([in] BSTR v);
16363
16364     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16365     HRESULT codeType([retval, out] BSTR *p);
16366
16367     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16368     HRESULT code([in] BSTR v);
16369
16370     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16371     HRESULT code([retval, out] BSTR *p);
16372
16373     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
16374     HRESULT BaseHref([retval, out] BSTR *p);
16375
16376     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16377     HRESULT type([in] BSTR v);
16378
16379     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16380     HRESULT type([retval, out] BSTR *p);
16381
16382     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
16383     HRESULT form([retval, out] IHTMLFormElement **p);
16384
16385     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16386     HRESULT width([in] VARIANT v);
16387
16388     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16389     HRESULT width([retval, out] VARIANT *p);
16390
16391     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16392     HRESULT height([in] VARIANT v);
16393
16394     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16395     HRESULT height([retval, out] VARIANT *p);
16396
16397     [propget, id(DISPID_IHTMLOBJECTELEMENT_READYSTATE), hidden]
16398     HRESULT readyState([retval, out] long *p);
16399
16400     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16401     HRESULT onreadystatechange([in] VARIANT v);
16402
16403     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16404     HRESULT onreadystatechange([retval, out] VARIANT *p);
16405
16406     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16407     HRESULT onerror([in] VARIANT v);
16408
16409     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16410     HRESULT onerror([retval, out] VARIANT *p);
16411
16412     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16413     HRESULT altHtml([in] BSTR v);
16414
16415     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16416     HRESULT altHtml([retval, out] BSTR *p);
16417
16418     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16419     HRESULT vspace([in] long v);
16420
16421     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16422     HRESULT vspace([retval, out] long *p);
16423
16424     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16425     HRESULT hspace([in] long v);
16426
16427     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16428     HRESULT hspace([retval, out] long *p);
16429 }
16430
16431 /*****************************************************************************
16432  *    IHTMLObjectElement2 interface
16433  */
16434 [
16435     odl,
16436     oleautomation,
16437     dual,
16438     uuid(3050f4cd-98b5-11cf-bb82-00aa00bdce0b)
16439 ]
16440 interface IHTMLObjectElement2 : IDispatch
16441 {
16442     [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
16443     HRESULT namedRecordset(
16444             [in] BSTR dataMember,
16445             [in, optional] VARIANT *hierarchy,
16446             [out, retval] IDispatch **ppRecordset);
16447
16448     [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16449     HRESULT classid([in] BSTR v);
16450
16451     [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16452     HRESULT classid([out, retval] BSTR *p);
16453
16454     [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16455     HRESULT data([in] BSTR v);
16456
16457     [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16458     HRESULT data([out, retval] BSTR *p);
16459 }
16460
16461 /*****************************************************************************
16462  *    IHTMLParamElement interface
16463  */
16464 [
16465     odl,
16466     oleautomation,
16467     dual,
16468     uuid(3050f83d-98b5-11cf-bb82-00aa00bdce0b)
16469 ]
16470 interface IHTMLParamElement : IDispatch
16471 {
16472     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16473     HRESULT name([in] BSTR v);
16474
16475     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16476     HRESULT name([retval, out] BSTR *p);
16477
16478     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16479     HRESULT value([in] BSTR v);
16480
16481     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16482     HRESULT value([retval, out] BSTR *p);
16483
16484     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16485     HRESULT type([in] BSTR v);
16486
16487     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16488     HRESULT type([retval, out] BSTR *p);
16489
16490     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16491     HRESULT valueType([in] BSTR v);
16492
16493     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16494     HRESULT valueType([retval, out] BSTR *p);
16495 }
16496
16497 /*****************************************************************************
16498  *    IHTMLParamElement2 interface
16499  */
16500 [
16501     odl,
16502     oleautomation,
16503     dual,
16504     uuid(30510444-98b5-11cf-bb82-00aa00bdce0b)
16505 ]
16506 interface IHTMLParamElement2 : IDispatch
16507 {
16508     [propput, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
16509     HRESULT name([in] BSTR v);
16510
16511     [propget, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
16512     HRESULT name([retval, out] BSTR *p);
16513
16514     [propput, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
16515     HRESULT type([in] BSTR v);
16516
16517     [propget, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
16518     HRESULT type([retval, out] BSTR *p);
16519
16520     [propput, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
16521     HRESULT value([in] BSTR v);
16522
16523     [propget, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
16524     HRESULT value([retval, out] BSTR *p);
16525
16526     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16527     HRESULT valueType([in] BSTR v);
16528
16529     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16530     HRESULT valueType([retval, out] BSTR *p);
16531 }
16532
16533 /*****************************************************************************
16534  *    DispHTMLObjectElement dispinterface
16535  */
16536 [
16537     hidden,
16538     uuid(3050f529-98b5-11cf-bb82-00aa00bdce0b)
16539 ]
16540 dispinterface DispHTMLObjectElement
16541 {
16542 properties:
16543 methods:
16544     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16545
16546     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
16547     IDispatch *object();
16548
16549     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16550     void recordset(IDispatch *v);
16551
16552     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16553     IDispatch *recordset();
16554
16555     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16556     void align(BSTR v);
16557
16558     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16559     BSTR align();
16560
16561     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16562     void name(BSTR v);
16563
16564     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16565     BSTR name();
16566
16567     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16568     void codeBase(BSTR v);
16569
16570     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16571     BSTR codeBase();
16572
16573     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16574     void codeType(BSTR v);
16575
16576     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16577     BSTR codeType();
16578
16579     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16580     void code(BSTR v);
16581
16582     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16583     BSTR code();
16584
16585     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
16586     BSTR BaseHref();
16587
16588     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16589     void type(BSTR v);
16590
16591     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16592     BSTR type();
16593
16594     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
16595     IHTMLFormElement *form();
16596
16597     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16598     void width(VARIANT v);
16599
16600     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16601     VARIANT width();
16602
16603     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16604     void height(VARIANT v);
16605
16606     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16607     VARIANT height();
16608
16609     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16610     void onerror(VARIANT v);
16611
16612     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16613     VARIANT onerror();
16614
16615     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16616     void altHtml(BSTR v);
16617
16618     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16619     BSTR altHtml();
16620
16621     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16622     void vspace(long v);
16623
16624     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16625     long vspace();
16626
16627     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16628     void hspace(long v);
16629
16630     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16631     long hspace();
16632
16633     [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
16634     IDispatch *namedRecordset(
16635             [in] BSTR dataMember,
16636             [optional, in] VARIANT *hierarchy);
16637
16638     [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16639     void classid(BSTR v);
16640
16641     [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16642     BSTR classid();
16643
16644     [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16645     void data(BSTR v);
16646
16647     [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16648     BSTR data();
16649
16650     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
16651     void archive(BSTR v);
16652
16653     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
16654     BSTR archive();
16655
16656     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
16657     void alt(BSTR v);
16658
16659     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
16660     BSTR alt();
16661
16662     [propput, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
16663     void declare(VARIANT_BOOL v);
16664
16665     [propget, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
16666     VARIANT_BOOL declare();
16667
16668     [propput, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
16669     void standby(BSTR v);
16670
16671     [propget, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
16672     BSTR standby();
16673
16674     [propput, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
16675     void border(VARIANT v);
16676
16677     [propget, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
16678     VARIANT border();
16679
16680     [propput, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
16681     void useMap(BSTR v);
16682
16683     [propget, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
16684     BSTR useMap();
16685
16686     [propget, id(DISPID_IHTMLOBJECTELEMENT4_CONTENTDOCUMENT)]
16687     IDispatch *contentDocument();
16688
16689     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
16690     void ie8_codeBase(BSTR v);
16691
16692     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
16693     BSTR ie8_codeBase();
16694
16695     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
16696     void ie8_data(BSTR v);
16697
16698     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
16699     BSTR ie8_data();
16700 }
16701
16702 /*****************************************************************************
16703  *    DispHTMLParamElement dispinterface
16704  */
16705 [
16706     hidden,
16707     uuid(3050f590-98b5-11cf-bb82-00aa00bdce0b)
16708 ]
16709 dispinterface DispHTMLParamElement
16710 {
16711 properties:
16712 methods:
16713     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16714
16715     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16716     void name(BSTR v);
16717
16718     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16719     BSTR name();
16720
16721     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16722     void value(BSTR v);
16723
16724     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16725     BSTR value();
16726
16727     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16728     void type(BSTR v);
16729
16730     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16731     BSTR type();
16732
16733     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16734     void valueType(BSTR v);
16735
16736     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16737     BSTR valueType();
16738
16739     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16740     void ie8_valueType(BSTR v);
16741
16742     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16743     BSTR ie8_valueType();
16744 }
16745
16746 /*****************************************************************************
16747  *    IHTMLFrameBase interface
16748  */
16749 [
16750     odl,
16751     oleautomation,
16752     dual,
16753     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
16754 ]
16755 interface IHTMLFrameBase : IDispatch
16756 {
16757     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
16758     HRESULT src([in] BSTR v);
16759
16760     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
16761     HRESULT src([out, retval] BSTR *p);
16762
16763     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
16764     HRESULT name([in] BSTR v);
16765
16766     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
16767     HRESULT name([out, retval] BSTR *p);
16768
16769     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
16770     HRESULT border([in] VARIANT v);
16771
16772     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
16773     HRESULT border([out, retval] VARIANT *p);
16774
16775     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
16776     HRESULT frameBorder([in] BSTR v);
16777
16778     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
16779     HRESULT frameBorder([out, retval] BSTR *p);
16780
16781     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
16782     HRESULT frameSpacing([in] VARIANT v);
16783
16784     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
16785     HRESULT frameSpacing([out, retval] VARIANT *p);
16786
16787     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
16788     HRESULT marginWidth([in] VARIANT v);
16789
16790     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
16791     HRESULT marginWidth([out, retval] VARIANT *p);
16792
16793     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
16794     HRESULT marginHeight([in] VARIANT v);
16795
16796     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
16797     HRESULT marginHeight([out, retval] VARIANT *p);
16798
16799     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
16800     HRESULT noResize([in] VARIANT_BOOL v);
16801
16802     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
16803     HRESULT noResize([out, retval] VARIANT_BOOL *p);
16804
16805     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
16806     HRESULT scrolling([in] BSTR v);
16807
16808     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
16809     HRESULT scrolling([out, retval] BSTR *p);
16810 }
16811
16812 #define WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL          \
16813     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
16814     void src(BSTR v);                                   \
16815                                                         \
16816     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
16817     BSTR src();                                         \
16818                                                         \
16819     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
16820     void name(BSTR v);                                  \
16821                                                         \
16822     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
16823     BSTR name();                                        \
16824                                                         \
16825     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
16826     void border(VARIANT v);                             \
16827                                                         \
16828     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
16829     VARIANT border();                                   \
16830                                                         \
16831     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
16832     void frameBorder(BSTR v);                           \
16833                                                         \
16834     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
16835     BSTR frameBorder();                                 \
16836                                                         \
16837     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
16838     void frameSpacing(VARIANT v);                       \
16839                                                         \
16840     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
16841     VARIANT frameSpacing();                             \
16842                                                         \
16843     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
16844     void marginWidth(VARIANT v);                        \
16845                                                         \
16846     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
16847     VARIANT marginWidth();                              \
16848                                                         \
16849     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
16850     void marginHeight(VARIANT v);                       \
16851                                                         \
16852     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
16853     VARIANT marginHeight();                             \
16854                                                         \
16855     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
16856     void noResize(VARIANT_BOOL v);                      \
16857                                                         \
16858     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
16859     VARIANT_BOOL noResize();                            \
16860                                                         \
16861     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
16862     void scrolling(BSTR v);                             \
16863                                                         \
16864     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
16865     BSTR scrolling()
16866
16867 /*****************************************************************************
16868  *    IHTMLFrameBase2 interface
16869  */
16870 [
16871     odl,
16872     oleautomation,
16873     dual,
16874     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
16875 ]
16876 interface IHTMLFrameBase2 : IDispatch
16877 {
16878     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
16879     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
16880
16881     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
16882     HRESULT onload([in] VARIANT v);
16883
16884     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
16885     HRESULT onload([retval, out] VARIANT *p);
16886
16887     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
16888     HRESULT onreadystatechange([in] VARIANT v);
16889
16890     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
16891     HRESULT onreadystatechange([retval, out] VARIANT *p);
16892
16893     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
16894     HRESULT readyState([retval, out] BSTR *p);
16895
16896     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
16897     HRESULT allowTransparency([in] VARIANT_BOOL v);
16898
16899     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
16900     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
16901 }
16902
16903 #define WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL                         \
16904     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]                 \
16905     IHTMLWindow2 *contentWindow();                                      \
16906                                                                         \
16907     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
16908     void onload(VARIANT v);                                             \
16909                                                                         \
16910     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
16911     VARIANT onload();                                                   \
16912                                                                         \
16913     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
16914     void allowTransparency(VARIANT_BOOL v);                             \
16915                                                                         \
16916     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
16917     VARIANT_BOOL allowTransparency()
16918
16919 #define WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL                           \
16920     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
16921     void longDesc(BSTR v);                                                \
16922                                                                           \
16923     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
16924     BSTR longDesc()
16925
16926
16927 #define WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL \
16928     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;  \
16929     WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL;   \
16930     WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL;  \
16931     WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL
16932
16933 /*****************************************************************************
16934  *    IHTMLFrameElement3 interface
16935  */
16936 [
16937     odl,
16938     oleautomation,
16939     dual,
16940     uuid(3051042d-98b5-11cf-bb82-00aa00bdce0b)
16941 ]
16942 interface IHTMLFrameElement3 : IDispatch
16943 {
16944     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
16945     HRESULT contentDocument([out, retval] IDispatch **p);
16946
16947     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16948     HRESULT src([in] BSTR v);
16949
16950     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16951     HRESULT src([out, retval] BSTR *p);
16952
16953     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16954     HRESULT longDesc([in] BSTR v);
16955
16956     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16957     HRESULT longDesc([out, retval] BSTR *p);
16958
16959     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16960     HRESULT frameBorder([in] BSTR v);
16961
16962     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16963     HRESULT frameBorder([out, retval] BSTR * p);
16964 }
16965
16966 /*****************************************************************************
16967  *    DispHTMLFrameElement dispinterface
16968  */
16969 [
16970     hidden,
16971     uuid(3050f513-98b5-11cf-bb82-00aa00bdce0b)
16972 ]
16973 dispinterface DispHTMLFrameElement
16974 {
16975 properties:
16976 methods:
16977     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
16978
16979     [propput, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
16980     void borderColor(VARIANT v);
16981
16982     [propget, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
16983     VARIANT borderColor();
16984
16985     [propput, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
16986     void height(VARIANT v);
16987
16988     [propget, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
16989     VARIANT height();
16990
16991     [propput, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
16992     void width(VARIANT v);
16993
16994     [propget, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
16995     VARIANT width();
16996
16997     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
16998     IDispatch *contentDocument();
16999
17000     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
17001     void ie8_src(BSTR v);
17002
17003     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
17004     BSTR ie8_src();
17005
17006     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
17007     void ie8_longDesc(BSTR v);
17008
17009     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
17010     BSTR ie8_longDesc();
17011
17012     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
17013     void ie8_frameBorder(BSTR v);
17014
17015     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
17016     BSTR ie8_frameBorder();
17017 }
17018
17019 /*****************************************************************************
17020  *    IHTMLIFrameElement interface
17021  */
17022 [
17023     odl,
17024     oleautomation,
17025     dual,
17026     uuid(3050f315-98b5-11cf-bb82-00aa00bdce0b)
17027 ]
17028 interface IHTMLIFrameElement : IDispatch
17029 {
17030     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
17031     HRESULT vspace([in] LONG v);
17032
17033     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
17034     HRESULT vspace([retval, out] LONG *p);
17035
17036     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
17037     HRESULT hspace([in] LONG v);
17038
17039     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
17040     HRESULT hspace([retval, out] LONG *p);
17041
17042     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
17043     HRESULT align([in] BSTR v);
17044
17045     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
17046     HRESULT align([retval, out] BSTR *p);
17047 }
17048
17049 /*****************************************************************************
17050  *    DispHTMLIFrame dispinterface
17051  */
17052 [
17053     hidden,
17054     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
17055 ]
17056 dispinterface DispHTMLIFrame
17057 {
17058 properties:
17059 methods:
17060     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
17061
17062     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
17063     void vspace(LONG v);
17064
17065     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
17066     LONG vspace();
17067
17068     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
17069     void hspace(LONG v);
17070
17071     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
17072     LONG hspace();
17073
17074     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
17075     void align(BSTR v);
17076
17077     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
17078     BSTR align();
17079
17080     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
17081     void height(VARIANT v);
17082
17083     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
17084     VARIANT height();
17085
17086     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
17087     void width(VARIANT v);
17088
17089     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
17090     VARIANT width();
17091 }
17092
17093 /*****************************************************************************
17094  *    IHTMLStyleElement interface
17095  */
17096 [
17097     odl,
17098     oleautomation,
17099     dual,
17100     uuid(3050f375-98b5-11cf-bb82-00aa00bdce0b)
17101 ]
17102 interface IHTMLStyleElement : IDispatch
17103 {
17104     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
17105     HRESULT type([in] BSTR v);
17106
17107     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
17108     HRESULT type([retval, out] BSTR *p);
17109
17110     [propget, id(DISPID_IHTMLSTYLEELEMENT_READYSTATE)]
17111     HRESULT readyState([retval, out] BSTR *p);
17112
17113     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
17114     HRESULT onreadystatechange([in] VARIANT v);
17115
17116     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
17117     HRESULT onreadystatechange([retval, out] VARIANT *p);
17118
17119     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
17120     HRESULT onload([in] VARIANT v);
17121
17122     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
17123     HRESULT onload([retval, out] VARIANT *p);
17124
17125     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
17126     HRESULT onerror([in] VARIANT v);
17127
17128     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
17129     HRESULT onerror([retval, out] VARIANT *p);
17130
17131     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
17132     HRESULT styleSheet([retval, out] IHTMLStyleSheet **p);
17133
17134     [propput, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
17135     HRESULT disabled([in] VARIANT_BOOL v);
17136
17137     [propget, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
17138     HRESULT disabled([retval, out] VARIANT_BOOL *p);
17139
17140     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
17141     HRESULT media([in] BSTR v);
17142
17143     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
17144     HRESULT media([retval, out] BSTR *p);
17145 }
17146
17147 /*****************************************************************************
17148  *    DispHTMLStyleElement dispinterface
17149  */
17150 [
17151     hidden,
17152     uuid(3050f511-98b5-11cf-bb82-00aa00bdce0b)
17153 ]
17154 dispinterface DispHTMLStyleElement
17155 {
17156 properties:
17157 methods:
17158     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
17159
17160     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
17161     void type(BSTR v);
17162
17163     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
17164     BSTR type();
17165
17166     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
17167     void onload(VARIANT v);
17168
17169     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
17170     VARIANT onload();
17171
17172     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
17173     void onerror(VARIANT v);
17174
17175     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
17176     VARIANT onerror();
17177
17178     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
17179     IHTMLStyleSheet *styleSheet();
17180
17181     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
17182     void media(BSTR v);
17183
17184     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
17185     BSTR media();
17186 }
17187
17188 /*****************************************************************************
17189  *    IHTMLStorage interface
17190  */
17191 [
17192     odl,
17193     oleautomation,
17194     dual,
17195     uuid(30510474-98b5-11cf-bb82-00aa00bdce0b)
17196 ]
17197 interface IHTMLStorage : IDispatch
17198 {
17199     [propget, id(DISPID_IHTMLSTORAGE_LENGTH), hidden]
17200     HRESULT length([out, retval] long *p);
17201
17202     [propget, id(DISPID_IHTMLSTORAGE_REMAININGSPACE), hidden]
17203     HRESULT remainingSpace([out, retval] long *p);
17204
17205     [id(DISPID_IHTMLSTORAGE_KEY)]
17206     HRESULT key(
17207             [in] long lIndex,
17208             [out, retval] BSTR *);
17209
17210     [id(DISPID_IHTMLSTORAGE_GETITEM)]
17211     HRESULT getItem(
17212             [in] BSTR bstrKey,
17213             [out, retval] VARIANT *);
17214
17215     [id(DISPID_IHTMLSTORAGE_SETITEM)]
17216     HRESULT setItem(
17217             [in] BSTR bstrKey,
17218             [in] BSTR bstrValue);
17219
17220     [id(DISPID_IHTMLSTORAGE_REMOVEITEM)]
17221     HRESULT removeItem([in] BSTR bstrKey);
17222
17223     [id(DISPID_IHTMLSTORAGE_CLEAR)]
17224     HRESULT clear();
17225 }
17226
17227 /*****************************************************************************
17228  *    IDOMEventTarget interface
17229  */
17230 [
17231     odl,
17232     oleautomation,
17233     dual,
17234     uuid(305104b9-98b5-11cf-bb82-00aa00bdce0b)
17235 ]
17236 interface IEventTarget : IDispatch
17237 {
17238     [id(DISPID_IEVENTTARGET_ADDEVENTLISTENER)]
17239     HRESULT addEventListener(
17240             [in] BSTR type,
17241             [in] IDispatch *listener,
17242             [in] VARIANT_BOOL useCapture);
17243
17244     [id(DISPID_IEVENTTARGET_REMOVEEVENTLISTENER)]
17245     HRESULT removeEventListener(
17246             [in] BSTR type,
17247             [in] IDispatch *listener,
17248             [in] VARIANT_BOOL useCapture);
17249
17250     [id(DISPID_IEVENTTARGET_DISPATCHEVENT)]
17251     HRESULT dispatchEvent(
17252             [in] IDOMEvent *evt,
17253             [out, retval] VARIANT_BOOL *pfResult);
17254 }
17255
17256 /*****************************************************************************
17257  *    IDOMEvent interface
17258  */
17259 [
17260     odl,
17261     oleautomation,
17262     dual,
17263     uuid(305104ba-98b5-11cf-bb82-00aa00bdce0b)
17264 ]
17265 interface IDOMEvent : IDispatch
17266 {
17267     [propget, id(DISPID_IDOMEVENT_BUBBLES)]
17268     HRESULT bubbles([out, retval] VARIANT_BOOL *p);
17269
17270     [propget, id(DISPID_IDOMEVENT_CANCELABLE)]
17271     HRESULT cancelable([out, retval] VARIANT_BOOL *p);
17272
17273     [propget, id(DISPID_IDOMEVENT_CURRENTTARGET)]
17274     HRESULT currentTarget([out, retval] IEventTarget **p);
17275
17276     [propget, id(DISPID_IDOMEVENT_DEFAULTPREVENTED)]
17277     HRESULT defaultPrevented([out, retval] VARIANT_BOOL *p);
17278
17279     [propget, id(DISPID_IDOMEVENT_EVENTPHASE)]
17280     HRESULT eventPhase([out, retval] USHORT *p);
17281
17282     [propget, id(DISPID_IDOMEVENT_TARGET)]
17283     HRESULT target([out, retval] IEventTarget **p);
17284
17285     [propget, id(DISPID_IDOMEVENT_TIMESTAMP)]
17286     HRESULT timeStamp([out, retval] ULONGLONG *p);
17287
17288     [propget, id(DISPID_IDOMEVENT_TYPE)]
17289     HRESULT type([out, retval] BSTR *p);
17290
17291     [id(DISPID_IDOMEVENT_INITEVENT)]
17292     HRESULT initEvent(
17293             [in] BSTR eventType,
17294             [in] VARIANT_BOOL canBubble,
17295             [in] VARIANT_BOOL cancelable);
17296
17297     [id(DISPID_IDOMEVENT_PREVENTDEFAULT)]
17298     HRESULT preventDefault();
17299
17300     [id(DISPID_IDOMEVENT_STOPPROPAGATION)]
17301     HRESULT stopPropagation();
17302
17303     [id(DISPID_IDOMEVENT_STOPIMMEDIATEPROPAGATION)]
17304     HRESULT stopImmediatePropagation();
17305
17306     [propget, id(DISPID_IDOMEVENT_ISTRUSTED)]
17307     HRESULT isTrusted([out, retval] VARIANT_BOOL *p);
17308
17309     [propput, id(DISPID_IDOMEVENT_CANCELBUBBLE)]
17310     HRESULT cancelBubble([in] VARIANT_BOOL v);
17311
17312     [propget, id(DISPID_IDOMEVENT_CANCELBUBBLE)]
17313     HRESULT cancelBubble([out, retval] VARIANT_BOOL *p);
17314
17315     [propget, id(DISPID_IDOMEVENT_SRCELEMENT)]
17316     HRESULT srcElement([out, retval] IHTMLElement **p);
17317 }
17318
17319 /*****************************************************************************
17320  *    IMarkupContainer interface
17321  */
17322 [
17323     object,
17324     pointer_default(unique),
17325     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
17326 ]
17327 interface IMarkupContainer : IUnknown
17328 {
17329     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
17330 }
17331
17332 /*****************************************************************************
17333  *    IMarkupPointer interface
17334  */
17335 [
17336     object,
17337     pointer_default(unique),
17338     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
17339 ]
17340 interface IMarkupPointer : IUnknown
17341 {
17342     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
17343
17344     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
17345
17346     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
17347
17348     HRESULT Cling([out] BOOL *pfCling);
17349
17350     HRESULT SetCling([in] BOOL fCLing);
17351
17352     HRESULT UnPosition();
17353
17354     HRESULT IsPositioned([out] BOOL *pfPositioned);
17355
17356     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
17357
17358     HRESULT MoveAdjacentToElement(
17359         [in] IHTMLElement *pElement,
17360         [in] ELEMENT_ADJACENCY eAdj);
17361
17362     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
17363
17364     HRESULT MoveToContainer(
17365         [in] IMarkupContainer *pContainer,
17366         [in] BOOL fAtStart);
17367
17368     HRESULT Left(
17369         [in] BOOL fMove,
17370         [out] MARKUP_CONTEXT_TYPE *pContext,
17371         [out] IHTMLElement **ppElement,
17372         [in, out] LONG *pcch,
17373         [out, size_is(*pcch)] OLECHAR *pchText);
17374
17375     HRESULT Right(
17376         [in] BOOL fMove,
17377         [out] MARKUP_CONTEXT_TYPE *pContext,
17378         [out] IHTMLElement **ppElement,
17379         [in, out] LONG *pcch,
17380         [out, size_is(*pcch)] OLECHAR *pchText);
17381
17382     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
17383
17384     HRESULT IsLeftOf(
17385         [in] IMarkupPointer *pPointerThat,
17386         [out] BOOL *pfResult);
17387
17388     HRESULT IsLeftOfOrEqualTo(
17389         [in] IMarkupPointer *pPointerThat,
17390         [out] BOOL *pfResult);
17391
17392     HRESULT IsRightOf(
17393         [in] IMarkupPointer *pPointerThat,
17394         [out] BOOL *pfResult);
17395
17396     HRESULT IsRightOfOrEqualTo(
17397         [in] IMarkupPointer *pPointerThat,
17398         [out] BOOL *pfResult);
17399
17400     HRESULT IsEqualTo(
17401         [in] IMarkupPointer *pPointerThat,
17402         [out] BOOL *pfAreEqual);
17403
17404     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
17405
17406     HRESULT FindText(
17407         [in] OLECHAR *pchFindText,
17408         [in] DWORD dwFlags,
17409         [in] IMarkupPointer *pIEndMatch,
17410         [in] IMarkupPointer *pIEndSearch);
17411 }
17412
17413 /*****************************************************************************
17414  *    IXMLGenericParse interface
17415  */
17416 [
17417     object,
17418     pointer_default(unique),
17419     uuid(E4E23071-4D07-11d2-AE76-0080C73BC199)
17420 ]
17421 interface IXMLGenericParse : IUnknown
17422 {
17423     HRESULT SetGenericParse(
17424         [in] VARIANT_BOOL fDoGeneric);
17425 }
17426
17427 /*****************************************************************************
17428  *    ISegment interface
17429  */
17430 [
17431     object,
17432     pointer_default(unique),
17433     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
17434 ]
17435 interface ISegment : IUnknown
17436 {
17437     HRESULT GetPointers(
17438         [in] IMarkupPointer *pIStart,
17439         [in] IMarkupPointer *pIEnd);
17440 }
17441
17442 /*****************************************************************************
17443  *    IElementSegment interface
17444  */
17445 [
17446     object,
17447     pointer_default(unique),
17448     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
17449 ]
17450 interface IElementSegment : ISegment
17451 {
17452     HRESULT GetElement([out] IHTMLElement **ppIElement);
17453
17454     HRESULT SetPrimary([in] BOOL fPrimary);
17455
17456     HRESULT IsPrimary([out] BOOL *pfPrimary);
17457 }
17458
17459 /*****************************************************************************
17460  *    ISelectionServicesListener interface
17461  */
17462 [
17463     object,
17464     pointer_default(unique),
17465     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
17466 ]
17467 interface ISelectionServicesListener : IUnknown
17468 {
17469     HRESULT BeginSelectionUndo();
17470
17471     HRESULT EndSelectionUndo();
17472
17473     HRESULT OnSelectedElementExit(
17474         [in] IMarkupPointer *pIElementStart,
17475         [in] IMarkupPointer *pIElementEnd,
17476         [in] IMarkupPointer *pIElementContentStart,
17477         [in] IMarkupPointer *pIElementContentEnd);
17478
17479     HRESULT OnChangeType(
17480         [in] SELECTION_TYPE eType,
17481         [in] ISelectionServicesListener *pIListener);
17482
17483     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
17484 }
17485
17486 /*****************************************************************************
17487  *    ISelectionServices interface
17488  */
17489 [
17490     object,
17491     pointer_default(unique),
17492     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
17493 ]
17494 interface ISelectionServices : IUnknown
17495 {
17496     HRESULT SetSelectionType(
17497         [in] SELECTION_TYPE eType,
17498         [in] ISelectionServicesListener *pIListener);
17499
17500     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
17501
17502     HRESULT AddSegment(
17503         [in] IMarkupPointer *pIStart,
17504         [in] IMarkupPointer *pIEnd,
17505         [out] ISegment **ppISegmentAdded);
17506
17507     HRESULT AddElementSegment(
17508         [in] IHTMLElement *pIElement,
17509         [out] IElementSegment **ppISegmentAdded);
17510
17511     HRESULT RemoveSegment([in] ISegment *pISegment);
17512
17513     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
17514 }
17515
17516 /*****************************************************************************
17517  *    IHTMLEditDesigner interface
17518  */
17519 [
17520     object,
17521     pointer_default(unique),
17522     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
17523 ]
17524 interface IHTMLEditDesigner : IUnknown
17525 {
17526     HRESULT PreHandleEvent(
17527         [in] DISPID inEvtDispId,
17528         [in] IHTMLEventObj *pIEventObj);
17529
17530     HRESULT PostHandleEvent(
17531         [in] DISPID inEvtDispId,
17532         [in] IHTMLEventObj *pIEventObj);
17533
17534     HRESULT TranslateAccelerator(
17535         [in] DISPID inEvtDispId,
17536         [in] IHTMLEventObj *pIEventObj);
17537
17538     HRESULT PostEditorEventNotify(
17539         [in] DISPID inEvtDispId,
17540         [in] IHTMLEventObj *pIEventObj);
17541 }
17542
17543 /*****************************************************************************
17544  *    IHTMLEditServices interface
17545  */
17546 [
17547     object,
17548     pointer_default(unique),
17549     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
17550 ]
17551 interface IHTMLEditServices : IUnknown
17552 {
17553     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
17554
17555     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
17556
17557     HRESULT GetSelectionServices(
17558         [in] IMarkupContainer *pIContainer,
17559         [out] ISelectionServices **ppSelSvc);
17560
17561     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
17562
17563     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
17564
17565     HRESULT SelectRange(
17566         [in] IMarkupPointer* pStart,
17567         [in] IMarkupPointer* pEnd,
17568         [in] SELECTION_TYPE eType);
17569 }
17570
17571 /*****************************************************************************
17572  *    IElementBehaviorSite interface
17573  */
17574 [
17575     odl,
17576     uuid(3050F427-98B5-11CF-BB82-00AA00BDCE0B)
17577 ]
17578 interface IElementBehaviorSite : IUnknown {
17579     HRESULT GetElement([out, retval] IHTMLElement **ppElement);
17580     HRESULT RegisterNotification([in] long lEvent);
17581 }
17582
17583 /*****************************************************************************
17584  *    IElementBehavior interface
17585  */
17586 [
17587     odl,
17588     uuid(3050F425-98B5-11CF-BB82-00AA00BDCE0B)
17589 ]
17590 interface IElementBehavior : IUnknown {
17591     HRESULT Init([in] IElementBehaviorSite *pBehaviorSite);
17592     HRESULT Notify([in] long lEvent,  [in, out] VARIANT *pVar);
17593     HRESULT Detach();
17594 }
17595
17596 /*****************************************************************************
17597  *    IElementBehaviorFactory interface
17598  */
17599 [
17600     odl,
17601     uuid(3050f429-98b5-11cf-bb82-00aa00bdce0b)
17602 ]
17603 interface IElementBehaviorFactory : IUnknown
17604 {
17605     HRESULT FindBehavior(
17606         [in] BSTR bstrBehavior,
17607         [in] BSTR bstrBehaviorUrl,
17608         [in] IElementBehaviorSite *pSite,
17609         [out] IElementBehavior **ppBehavior);
17610 }
17611
17612 } /* library MSHTML */
17613
17614 interface IOleCommandTarget;
17615
17616 /*****************************************************************************
17617  *    IHTMLPrivateWindow interface
17618  */
17619 [
17620     object,
17621     uuid(3050f6dc-98b5-11cf-bb82-00aa00bdce0b),
17622     local
17623 ]
17624 interface IHTMLPrivateWindow : IUnknown
17625 {
17626     HRESULT SuperNavigate(BSTR url, BSTR arg2, BSTR arg3, BSTR arg4, VARIANT *post_data, VARIANT *headers, ULONG flags);
17627     HRESULT GetPendingUrl(BSTR *url);
17628     HRESULT SetPICSTarget(IOleCommandTarget *cmdtrg);
17629     HRESULT PICSComplete(int arg);
17630     HRESULT FindWindowByName(LPCWSTR name, IHTMLWindow2 **ret);
17631     HRESULT GetAddressBarUrl(BSTR *url);
17632 }