d3dx9_36: Implementation of D3DXQuaternionSquadSetup.
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004-2010 Jacek Caban for CodeWeavers
3  * Copyright 2008      Konstantin Kondratyuk (Etersoft)
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18  */
19
20 #include <mshtmdid.h>
21 #include <mshtmcid.h>
22 #include <olectl.h>
23
24 import "ocidl.idl";
25 import "dimm.idl";
26 import "shtypes.idl";
27 import "dispex.idl";
28
29 cpp_quote("#include <olectl.h>")
30
31 cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
32 cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
33 cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
34 cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
35 cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
36
37 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
38 cpp_quote("#undef FindText")
39 cpp_quote("#endif")
40
41 typedef enum {
42     POINTER_GRAVITY_Left,
43     POINTER_GRAVITY_Right,
44     POINTER_GRAVITY_Max = 2147483647
45 } POINTER_GRAVITY;
46
47 typedef enum {
48     CONTEXT_TYPE_None,
49     CONTEXT_TYPE_Text,
50     CONTEXT_TYPE_EnterScope,
51     CONTEXT_TYPE_ExitScope,
52     CONTEXT_TYPE_NoScope,
53     MARKUP_CONTEXT_TYPE_Max = 2147483647
54 } MARKUP_CONTEXT_TYPE;
55
56 typedef enum {
57     ELEM_ADJ_BeforeBegin,
58     ELEM_ADJ_AfterBegin,
59     ELEM_ADJ_BeforeEnd,
60     ELEM_ADJ_AfterEnd,
61     ELEMENT_ADJACENCY_Max = 2147483647
62 } ELEMENT_ADJACENCY;
63
64 typedef enum {
65     MOVEUNIT_PREVCHAR,
66     MOVEUNIT_NEXTCHAR,
67     MOVEUNIT_PREVCLUSTERBEG,
68     MOVEUNIT_NEXTCLUSTERBEG,
69     MOVEUNIT_PREVCLUSTEREND,
70     MOVEUNIT_NEXTCLUSTEREND,
71     MOVEUNIT_PREVWORDBEG,
72     MOVEUNIT_NEXTWORDBEG,
73     MOVEUNIT_PREVWORDEND,
74     MOVEUNIT_NEXTWORDEND,
75     MOVEUNIT_PREVPROOFWORD,
76     MOVEUNIT_NEXTPROOFWORD,
77     MOVEUNIT_NEXTURLBEG,
78     MOVEUNIT_PREVURLBEG,
79     MOVEUNIT_NEXTURLEND,
80     MOVEUNIT_PREVURLEND,
81     MOVEUNIT_PREVSENTENCE,
82     MOVEUNIT_NEXTSENTENCE,
83     MOVEUNIT_PREVBLOCK,
84     MOVEUNIT_NEXTBLOCK,
85     MOVEUNIT_ACTION_Max = 2147483647
86 } MOVEUNIT_ACTION;
87
88 typedef enum _SELECTION_TYPE {
89     SELECTION_TYPE_None,
90     SELECTION_TYPE_Caret,
91     SELECTION_TYPE_Text,
92     SELECTION_TYPE_Control,
93     SELECTION_TYPE_Max = 2147483647
94 } SELECTION_TYPE;
95
96 [
97     version(4.0),
98     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
99 ]
100 library MSHTML
101 {
102
103 importlib("stdole2.tlb");
104
105 [
106     odl,
107     oleautomation,
108     dual,
109     uuid(3051049b-98b5-11cf-bb82-00aa00bdce0b)
110 ]
111 interface IHTMLDOMConstructor : IDispatch
112 {
113     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
114     HRESULT constructor([retval, out] IDispatch* * p);
115
116     HRESULT LookupGetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
117
118     HRESULT LookupSetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
119
120     HRESULT DefineGetter([in] BSTR propname, [in] VARIANT* pdispHandler);
121
122     HRESULT DefineSetter([in] BSTR propname, [in] VARIANT* pdispHandler);
123 }
124
125 #define WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL                     \
126     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]       \
127     IDispatch *constructor()
128
129 interface IHTMLDocument2;
130 interface IHTMLElement2;
131 interface IHTMLStyleSheetsCollection;
132 interface IHTMLFrameBase;
133 interface IHTMLStorage;
134
135 /*****************************************************************************
136  *    IHTMLFiltersCollection interface
137  */
138 [
139     odl,
140     oleautomation,
141     dual,
142     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
143 ]
144 interface IHTMLFiltersCollection : IDispatch
145 {
146     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
147     HRESULT length([retval, out] LONG *p);
148
149     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
150     HRESULT _newEnum([retval, out] IUnknown **p);
151
152     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
153     HRESULT item(
154         [in] VARIANT *pvarIndex,
155         [retval, out] VARIANT *pvarResult);
156 }
157
158 /*****************************************************************************
159  *    IHTMLStyle interface
160  */
161 [
162     odl,
163     oleautomation,
164     dual,
165     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
166 ]
167 interface IHTMLStyle : IDispatch
168 {
169     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
170     HRESULT fontFamily([in] BSTR v);
171
172     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
173     HRESULT fontFamily([retval, out] BSTR *p);
174
175     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
176     HRESULT fontStyle([in] BSTR v);
177
178     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
179     HRESULT fontStyle([retval, out] BSTR *p);
180
181     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
182     HRESULT fontVariant([in] BSTR v);
183
184     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
185     HRESULT fontVariant([retval, out] BSTR *p);
186
187     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
188     HRESULT fontWeight([in] BSTR v);
189
190     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
191     HRESULT fontWeight([retval, out] BSTR *p);
192
193     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
194     HRESULT fontSize([in] VARIANT v);
195
196     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
197     HRESULT fontSize([retval, out] VARIANT *p);
198
199     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
200     HRESULT font([in] BSTR v);
201
202     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
203     HRESULT font([retval, out] BSTR *p);
204
205     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
206     HRESULT color([in] VARIANT v);
207
208     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
209     HRESULT color([retval, out] VARIANT *p);
210
211     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
212     HRESULT background([in] BSTR v);
213
214     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
215     HRESULT background([retval, out] BSTR *p);
216
217     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
218     HRESULT backgroundColor([in] VARIANT v);
219
220     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
221     HRESULT backgroundColor([retval, out] VARIANT *p);
222
223     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
224     HRESULT backgroundImage([in] BSTR v);
225
226     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
227     HRESULT backgroundImage([retval, out] BSTR *p);
228
229     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
230     HRESULT backgroundRepeat([in] BSTR v);
231
232     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
233     HRESULT backgroundRepeat([retval, out] BSTR *p);
234
235     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
236     HRESULT backgroundAttachment([in] BSTR v);
237
238     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
239     HRESULT backgroundAttachment([retval, out] BSTR *p);
240
241     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
242     HRESULT backgroundPosition([in] BSTR v);
243
244     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
245     HRESULT backgroundPosition([retval, out] BSTR *p);
246
247     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
248     HRESULT backgroundPositionX([in] VARIANT v);
249
250     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
251     HRESULT backgroundPositionX([retval, out] VARIANT *p);
252
253     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
254     HRESULT backgroundPositionY([in] VARIANT v);
255
256     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
257     HRESULT backgroundPositionY([retval, out] VARIANT *p);
258
259     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
260     HRESULT wordSpacing([in] VARIANT v);
261
262     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
263     HRESULT wordSpacing([retval, out] VARIANT *p);
264
265     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
266     HRESULT letterSpacing([in] VARIANT v);
267
268     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
269     HRESULT letterSpacing([retval, out] VARIANT *p);
270
271     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
272     HRESULT textDecoration([in] BSTR v);
273
274     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
275     HRESULT textDecoration([retval, out] BSTR *p);
276
277     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
278     HRESULT textDecorationNone([in] VARIANT_BOOL v);
279
280     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
281     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
282
283     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
284     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
285
286     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
287     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
288
289     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
290     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
291
292     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
293     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
294
295     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
296     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
297
298     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
299     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
300
301     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
302     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
303
304     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
305     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
306
307     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
308     HRESULT verticalAlign([in] VARIANT v);
309
310     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
311     HRESULT verticalAlign([retval, out] VARIANT *p);
312
313     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
314     HRESULT textTransform([in] BSTR v);
315
316     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
317     HRESULT textTransform([retval, out] BSTR *p);
318
319     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
320     HRESULT textAlign([in] BSTR v);
321
322     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
323     HRESULT textAlign([retval, out] BSTR *p);
324
325     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
326     HRESULT textIndent([in] VARIANT v);
327
328     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
329     HRESULT textIndent([retval, out] VARIANT *p);
330
331     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
332     HRESULT lineHeight([in] VARIANT v);
333
334     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
335     HRESULT lineHeight([retval, out] VARIANT *p);
336
337     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
338     HRESULT marginTop([in] VARIANT v);
339
340     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
341     HRESULT marginTop([retval, out] VARIANT *p);
342
343     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
344     HRESULT marginRight([in] VARIANT v);
345
346     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
347     HRESULT marginRight([retval, out] VARIANT *p);
348
349     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
350     HRESULT marginBottom([in] VARIANT v);
351
352     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
353     HRESULT marginBottom([retval, out] VARIANT *p);
354
355     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
356     HRESULT marginLeft([in] VARIANT v);
357
358     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
359     HRESULT marginLeft([retval, out] VARIANT *p);
360
361     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
362     HRESULT margin([in] BSTR v);
363
364     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
365     HRESULT margin([retval, out] BSTR *p);
366
367     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
368     HRESULT paddingTop([in] VARIANT v);
369
370     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
371     HRESULT paddingTop([retval, out] VARIANT *p);
372
373     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
374     HRESULT paddingRight([in] VARIANT v);
375
376     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
377     HRESULT paddingRight([retval, out] VARIANT *p);
378
379     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
380     HRESULT paddingBottom([in] VARIANT v);
381
382     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
383     HRESULT paddingBottom([retval, out] VARIANT *p);
384
385     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
386     HRESULT paddingLeft([in] VARIANT v);
387
388     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
389     HRESULT paddingLeft([retval, out] VARIANT *p);
390
391     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
392     HRESULT padding([in] BSTR v);
393
394     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
395     HRESULT padding([retval, out] BSTR *p);
396
397     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
398     HRESULT border([in] BSTR v);
399
400     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
401     HRESULT border([retval, out] BSTR *p);
402
403     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
404     HRESULT borderTop([in] BSTR v);
405
406     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
407     HRESULT borderTop([retval, out] BSTR *p);
408
409     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
410     HRESULT borderRight([in] BSTR v);
411
412     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
413     HRESULT borderRight([retval, out] BSTR *p);
414
415     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
416     HRESULT borderBottom([in] BSTR v);
417
418     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
419     HRESULT borderBottom([retval, out] BSTR *p);
420
421     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
422     HRESULT borderLeft([in] BSTR v);
423
424     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
425     HRESULT borderLeft([retval, out] BSTR *p);
426
427     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
428     HRESULT borderColor([in] BSTR v);
429
430     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
431     HRESULT borderColor([retval, out] BSTR *p);
432
433     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
434     HRESULT borderTopColor([in] VARIANT v);
435
436     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
437     HRESULT borderTopColor([retval, out] VARIANT *p);
438
439     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
440     HRESULT borderRightColor([in] VARIANT v);
441
442     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
443     HRESULT borderRightColor([retval, out] VARIANT *p);
444
445     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
446     HRESULT borderBottomColor([in] VARIANT v);
447
448     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
449     HRESULT borderBottomColor([retval, out] VARIANT *p);
450
451     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
452     HRESULT borderLeftColor([in] VARIANT v);
453
454     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
455     HRESULT borderLeftColor([retval, out] VARIANT *p);
456
457     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
458     HRESULT borderWidth([in] BSTR v);
459
460     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
461     HRESULT borderWidth([retval, out] BSTR *p);
462
463     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
464     HRESULT borderTopWidth([in] VARIANT v);
465
466     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
467     HRESULT borderTopWidth([retval, out] VARIANT *p);
468
469     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
470     HRESULT borderRightWidth([in] VARIANT v);
471
472     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
473     HRESULT borderRightWidth([retval, out] VARIANT *p);
474
475     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
476     HRESULT borderBottomWidth([in] VARIANT v);
477
478     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
479     HRESULT borderBottomWidth([retval, out] VARIANT *p);
480
481     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
482     HRESULT borderLeftWidth([in] VARIANT v);
483
484     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
485     HRESULT borderLeftWidth([retval, out] VARIANT *p);
486
487     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
488     HRESULT borderStyle([in] BSTR v);
489
490     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
491     HRESULT borderStyle([retval, out] BSTR *p);
492
493     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
494     HRESULT borderTopStyle([in] BSTR v);
495
496     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
497     HRESULT borderTopStyle([retval, out] BSTR *p);
498
499     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
500     HRESULT borderRightStyle([in] BSTR v);
501
502     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
503     HRESULT borderRightStyle([retval, out] BSTR *p);
504
505     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
506     HRESULT borderBottomStyle([in] BSTR v);
507
508     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
509     HRESULT borderBottomStyle([retval, out] BSTR *p);
510
511     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
512     HRESULT borderLeftStyle([in] BSTR v);
513
514     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
515     HRESULT borderLeftStyle([retval, out] BSTR *p);
516
517     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
518     HRESULT width([in] VARIANT v);
519
520     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
521     HRESULT width([retval, out] VARIANT *p);
522
523     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
524     HRESULT height([in] VARIANT v);
525
526     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
527     HRESULT height([retval, out] VARIANT *p);
528
529     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
530     HRESULT styleFloat([in] BSTR v);
531
532     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
533     HRESULT styleFloat([retval, out] BSTR *p);
534
535     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
536     HRESULT clear([in] BSTR v);
537
538     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
539     HRESULT clear([retval, out] BSTR *p);
540
541     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
542     HRESULT display([in] BSTR v);
543
544     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
545     HRESULT display([retval, out] BSTR *p);
546
547     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
548     HRESULT visibility([in] BSTR v);
549
550     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
551     HRESULT visibility([retval, out] BSTR *p);
552
553     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
554     HRESULT listStyleType([in] BSTR v);
555
556     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
557     HRESULT listStyleType([retval, out] BSTR *p);
558
559     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
560     HRESULT listStylePosition([in] BSTR v);
561
562     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
563     HRESULT listStylePosition([retval, out] BSTR *p);
564
565     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
566     HRESULT listStyleImage([in] BSTR v);
567
568     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
569     HRESULT listStyleImage([retval, out] BSTR *p);
570
571     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
572     HRESULT listStyle([in] BSTR v);
573
574     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
575     HRESULT listStyle([retval, out] BSTR *p);
576
577     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
578     HRESULT whiteSpace([in] BSTR v);
579
580     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
581     HRESULT whiteSpace([retval, out] BSTR *p);
582
583     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
584     HRESULT top([in] VARIANT v);
585
586     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
587     HRESULT top([retval, out] VARIANT *p);
588
589     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
590     HRESULT left([in] VARIANT v);
591
592     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
593     HRESULT left([retval, out] VARIANT *p);
594
595     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
596     HRESULT position([retval, out] BSTR *p);
597
598     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
599     HRESULT zIndex([in] VARIANT v);
600
601     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
602     HRESULT zIndex([retval, out] VARIANT *p);
603
604     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
605     HRESULT overflow([in] BSTR v);
606
607     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
608     HRESULT overflow([retval, out] BSTR *p);
609
610     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
611     HRESULT pageBreakBefore([in] BSTR v);
612
613     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
614     HRESULT pageBreakBefore([retval, out] BSTR *p);
615
616     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
617     HRESULT pageBreakAfter([in] BSTR v);
618
619     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
620     HRESULT pageBreakAfter([retval, out] BSTR *p);
621
622     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
623     HRESULT cssText([in] BSTR v);
624
625     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
626     HRESULT cssText([retval, out] BSTR *p);
627
628     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
629     HRESULT pixelTop([in] LONG v);
630
631     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
632     HRESULT pixelTop([retval, out] LONG *p);
633
634     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
635     HRESULT pixelLeft([in] LONG v);
636
637     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
638     HRESULT pixelLeft([retval, out] LONG *p);
639
640     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
641     HRESULT pixelWidth([in] LONG v);
642
643     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
644     HRESULT pixelWidth([retval, out] LONG *p);
645
646     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
647     HRESULT pixelHeight([in] LONG v);
648
649     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
650     HRESULT pixelHeight([retval, out] LONG *p);
651
652     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
653     HRESULT posTop([in] float v);
654
655     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
656     HRESULT posTop([retval, out] float *p);
657
658     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
659     HRESULT posLeft([in] float v);
660
661     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
662     HRESULT posLeft([retval, out] float *p);
663
664     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
665     HRESULT posWidth([in] float v);
666
667     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
668     HRESULT posWidth([retval, out] float *p);
669
670     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
671     HRESULT posHeight([in] float v);
672
673     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
674     HRESULT posHeight([retval, out] float *p);
675
676     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
677     HRESULT cursor([in] BSTR v);
678
679     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
680     HRESULT cursor([retval, out] BSTR *p);
681
682     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
683     HRESULT clip([in] BSTR v);
684
685     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
686     HRESULT clip([retval, out] BSTR *p);
687
688     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
689     HRESULT filter([in] BSTR v);
690
691     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
692     HRESULT filter([retval, out] BSTR *p);
693
694     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
695     HRESULT setAttribute(
696         [in] BSTR strAttributeName,
697         [in] VARIANT AttributeValue,
698         [defaultvalue(1), in] LONG lFlags);
699
700     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
701     HRESULT getAttribute(
702         [in] BSTR strAttributeName,
703         [defaultvalue(0), in] LONG lFlags,
704         [retval, out] VARIANT *AttributeValue);
705
706     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
707     HRESULT removeAttribute(
708         [in] BSTR strAttributeName,
709         [defaultvalue(1), in]
710         LONG lFlags,
711         [retval, out] VARIANT_BOOL *pfSuccess);
712
713     [id(DISPID_IHTMLSTYLE_TOSTRING)]
714     HRESULT toString([retval, out] BSTR *String);
715 }
716
717 /*****************************************************************************
718  *    IHTMLStyle2 interface
719  */
720 [
721     odl,
722     oleautomation,
723     dual,
724     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
725 ]
726 interface IHTMLStyle2 : IDispatch
727 {
728     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
729     HRESULT tableLayout([in] BSTR v);
730
731     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
732     HRESULT tableLayout([out, retval] BSTR *p);
733
734     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
735     HRESULT borderCollapse([in] BSTR v);
736
737     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
738     HRESULT borderCollapse([out, retval] BSTR *p);
739
740     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
741     HRESULT direction([in] BSTR v);
742
743     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
744     HRESULT direction([out, retval] BSTR *p);
745
746     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
747     HRESULT behavior([in] BSTR v);
748
749     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
750     HRESULT behavior([out, retval] BSTR *p);
751
752     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
753     HRESULT setExpression(
754             [in] BSTR propname,
755             [in] BSTR expression,
756             [in, defaultvalue("")] BSTR language);
757
758     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
759     HRESULT getExpression(
760             [in] BSTR propname,
761             [out, retval] VARIANT *expression);
762
763     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
764     HRESULT removeExpression(
765             [in] BSTR propname,
766             [out, retval] VARIANT_BOOL *pfSuccess);
767
768     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
769     HRESULT position([in] BSTR v);
770
771     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
772     HRESULT position([out, retval] BSTR *p);
773
774     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
775     HRESULT unicodeBidi([in] BSTR v);
776
777     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
778     HRESULT unicodeBidi([out, retval] BSTR *p);
779
780     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
781     HRESULT bottom([in] VARIANT v);
782
783     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
784     HRESULT bottom([out, retval] VARIANT *p);
785
786     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
787     HRESULT right([in] VARIANT v);
788
789     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
790     HRESULT right([out, retval] VARIANT *p);
791
792     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
793     HRESULT pixelBottom([in] LONG v);
794
795     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
796     HRESULT pixelBottom([out, retval] LONG *p);
797
798     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
799     HRESULT pixelRight([in] LONG v);
800
801     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
802     HRESULT pixelRight([out, retval] LONG *p);
803
804     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
805     HRESULT posBottom([in] float v);
806
807     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
808     HRESULT posBottom([out, retval] float *p);
809
810     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
811     HRESULT posRight([in] float v);
812
813     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
814     HRESULT posRight([out, retval] float *p);
815
816     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
817     HRESULT imeMode([in] BSTR v);
818
819     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
820     HRESULT imeMode([out, retval] BSTR *p);
821
822     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
823     HRESULT rubyAlign([in] BSTR v);
824
825     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
826     HRESULT rubyAlign([out, retval] BSTR *p);
827
828     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
829     HRESULT rubyPosition([in] BSTR v);
830
831     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
832     HRESULT rubyPosition([out, retval] BSTR *p);
833
834     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
835     HRESULT rubyOverhang([in] BSTR v);
836
837     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
838     HRESULT rubyOverhang([out, retval] BSTR *p);
839
840     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
841     HRESULT layoutGridChar([in] VARIANT v);
842
843     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
844     HRESULT layoutGridChar([out, retval] VARIANT *p);
845
846     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
847     HRESULT layoutGridLine([in] VARIANT v);
848
849     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
850     HRESULT layoutGridLine([out, retval] VARIANT *p);
851
852     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
853     HRESULT layoutGridMode([in] BSTR v);
854
855     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
856     HRESULT layoutGridMode([out, retval] BSTR *p);
857
858     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
859     HRESULT layoutGridType([in] BSTR v);
860
861     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
862     HRESULT layoutGridType([out, retval] BSTR *p);
863
864     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
865     HRESULT layoutGrid([in] BSTR v);
866
867     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
868     HRESULT layoutGrid([out, retval] BSTR *p);
869
870     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
871     HRESULT wordBreak([in] BSTR v);
872
873     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
874     HRESULT wordBreak([out, retval] BSTR *p);
875
876     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
877     HRESULT lineBreak([in] BSTR v);
878
879     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
880     HRESULT lineBreak([out, retval] BSTR *p);
881
882     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
883     HRESULT textJustify([in] BSTR v);
884
885     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
886     HRESULT textJustify([out, retval] BSTR *p);
887
888     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
889     HRESULT textJustifyTrim([in] BSTR v);
890
891     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
892     HRESULT textJustifyTrim([out, retval] BSTR *p);
893
894     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
895     HRESULT textKashida([in] VARIANT v);
896
897     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
898     HRESULT textKashida([out, retval] VARIANT *p);
899
900     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
901     HRESULT textAutospace([in] BSTR v);
902
903     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
904     HRESULT textAutospace([out, retval] BSTR *p);
905
906     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
907     HRESULT overflowX([in] BSTR v);
908
909     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
910     HRESULT overflowX([out, retval] BSTR *p);
911
912     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
913     HRESULT overflowY([in] BSTR v);
914
915     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
916     HRESULT overflowY([out, retval] BSTR *p);
917
918     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
919     HRESULT accelerator([in] BSTR v);
920
921     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
922     HRESULT accelerator([out, retval] BSTR *p);
923 }
924
925 /*****************************************************************************
926  *    IHTMLRuleStyle interface
927  */
928 [
929     odl,
930     oleautomation,
931     dual,
932     uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
933 ]
934 interface IHTMLRuleStyle : IDispatch
935 {
936     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
937     HRESULT fontFamily([in] BSTR v);
938
939     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
940     HRESULT fontFamily([retval, out] BSTR *p);
941
942     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
943     HRESULT fontStyle([in] BSTR v);
944
945     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
946     HRESULT fontStyle([retval, out] BSTR *p);
947
948     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
949     HRESULT fontVariant([in] BSTR v);
950
951     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
952     HRESULT fontVariant([retval, out] BSTR *p);
953
954     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
955     HRESULT fontWeight([in] BSTR v);
956
957     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
958     HRESULT fontWeight([retval, out] BSTR *p);
959
960     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
961     HRESULT fontSize([in] VARIANT v);
962
963     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
964     HRESULT fontSize([retval, out] VARIANT *p);
965
966     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
967     HRESULT font([in] BSTR v);
968
969     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
970     HRESULT font([retval, out] BSTR *p);
971
972     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
973     HRESULT color([in] VARIANT v);
974
975     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
976     HRESULT color([retval, out] VARIANT *p);
977
978     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
979     HRESULT background([in] BSTR v);
980
981     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
982     HRESULT background([retval, out] BSTR *p);
983
984     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
985     HRESULT backgroundColor([in] VARIANT v);
986
987     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
988     HRESULT backgroundColor([retval, out] VARIANT *p);
989
990     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
991     HRESULT backgroundImage([in] BSTR v);
992
993     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
994     HRESULT backgroundImage([retval, out] BSTR *p);
995
996     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
997     HRESULT backgroundRepeat([in] BSTR v);
998
999     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
1000     HRESULT backgroundRepeat([retval, out] BSTR *p);
1001
1002     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1003     HRESULT backgroundAttachment([in] BSTR v);
1004
1005     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1006     HRESULT backgroundAttachment([retval, out] BSTR *p);
1007
1008     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1009     HRESULT backgroundPosition([in] BSTR v);
1010
1011     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1012     HRESULT backgroundPosition([retval, out] BSTR *p);
1013
1014     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1015     HRESULT backgroundPositionX([in] VARIANT v);
1016
1017     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1018     HRESULT backgroundPositionX([retval, out] VARIANT *p);
1019
1020     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1021     HRESULT backgroundPositionY([in] VARIANT v);
1022
1023     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1024     HRESULT backgroundPositionY([retval, out] VARIANT *p);
1025
1026     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1027     HRESULT wordSpacing([in] VARIANT v);
1028
1029     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1030     HRESULT wordSpacing([retval, out] VARIANT *p);
1031
1032     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1033     HRESULT letterSpacing([in] VARIANT v);
1034
1035     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1036     HRESULT letterSpacing([retval, out] VARIANT *p);
1037
1038     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1039     HRESULT textDecoration([in] BSTR v);
1040
1041     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1042     HRESULT textDecoration([retval, out] BSTR *p);
1043
1044     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1045     HRESULT textDecorationNone([in] VARIANT_BOOL v);
1046
1047     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1048     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1049
1050     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1051     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1052
1053     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1054     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1055
1056     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1057     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1058
1059     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1060     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1061
1062     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1063     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1064
1065     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1066     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1067
1068     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1069     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1070
1071     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1072     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1073
1074     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1075     HRESULT verticalAlign([in] VARIANT v);
1076
1077     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1078     HRESULT verticalAlign([retval, out] VARIANT *p);
1079
1080     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1081     HRESULT textTransform([in] BSTR v);
1082
1083     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1084     HRESULT textTransform([retval, out] BSTR *p);
1085
1086     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1087     HRESULT textAlign([in] BSTR v);
1088
1089     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1090     HRESULT textAlign([retval, out] BSTR *p);
1091
1092     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1093     HRESULT textIndent([in] VARIANT v);
1094
1095     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1096     HRESULT textIndent([retval, out] VARIANT *p);
1097
1098     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1099     HRESULT lineHeight([in] VARIANT v);
1100
1101     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1102     HRESULT lineHeight([retval, out] VARIANT *p);
1103
1104     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1105     HRESULT marginTop([in] VARIANT v);
1106
1107     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1108     HRESULT marginTop([retval, out] VARIANT *p);
1109
1110     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1111     HRESULT marginRight([in] VARIANT v);
1112
1113     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1114     HRESULT marginRight([retval, out] VARIANT *p);
1115
1116     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1117     HRESULT marginBottom([in] VARIANT v);
1118
1119     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1120     HRESULT marginBottom([retval, out] VARIANT *p);
1121
1122     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1123     HRESULT marginLeft([in] VARIANT v);
1124
1125     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1126     HRESULT marginLeft([retval, out] VARIANT *p);
1127
1128     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1129     HRESULT margin([in] BSTR v);
1130
1131     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1132     HRESULT margin([retval, out] BSTR *p);
1133
1134     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1135     HRESULT paddingTop([in] VARIANT v);
1136
1137     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1138     HRESULT paddingTop([retval, out] VARIANT *p);
1139
1140     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1141     HRESULT paddingRight([in] VARIANT v);
1142
1143     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1144     HRESULT paddingRight([retval, out] VARIANT *p);
1145
1146     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1147     HRESULT paddingBottom([in] VARIANT v);
1148
1149     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1150     HRESULT paddingBottom([retval, out] VARIANT *p);
1151
1152     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1153     HRESULT paddingLeft([in] VARIANT v);
1154
1155     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1156     HRESULT paddingLeft([retval, out] VARIANT *p);
1157
1158     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1159     HRESULT padding([in] BSTR v);
1160
1161     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1162     HRESULT padding([retval, out] BSTR *p);
1163
1164     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1165     HRESULT border([in] BSTR v);
1166
1167     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1168     HRESULT border([retval, out] BSTR *p);
1169
1170     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1171     HRESULT borderTop([in] BSTR v);
1172
1173     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1174     HRESULT borderTop([retval, out] BSTR *p);
1175
1176     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1177     HRESULT borderRight([in] BSTR v);
1178
1179     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1180     HRESULT borderRight([retval, out] BSTR *p);
1181
1182     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1183     HRESULT borderBottom([in] BSTR v);
1184
1185     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1186     HRESULT borderBottom([retval, out] BSTR *p);
1187
1188     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1189     HRESULT borderLeft([in] BSTR v);
1190
1191     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1192     HRESULT borderLeft([retval, out] BSTR *p);
1193
1194     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1195     HRESULT borderColor([in] BSTR v);
1196
1197     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1198     HRESULT borderColor([retval, out] BSTR *p);
1199
1200     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1201     HRESULT borderTopColor([in] VARIANT v);
1202
1203     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1204     HRESULT borderTopColor([retval, out] VARIANT *p);
1205
1206     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1207     HRESULT borderRightColor([in] VARIANT v);
1208
1209     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1210     HRESULT borderRightColor([retval, out] VARIANT *p);
1211
1212     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1213     HRESULT borderBottomColor([in] VARIANT v);
1214
1215     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1216     HRESULT borderBottomColor([retval, out] VARIANT *p);
1217
1218     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1219     HRESULT borderLeftColor([in] VARIANT v);
1220
1221     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1222     HRESULT borderLeftColor([retval, out] VARIANT *p);
1223
1224     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1225     HRESULT borderWidth([in] BSTR v);
1226
1227     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1228     HRESULT borderWidth([retval, out] BSTR *p);
1229
1230     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1231     HRESULT borderTopWidth([in] VARIANT v);
1232
1233     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1234     HRESULT borderTopWidth([retval, out] VARIANT *p);
1235
1236     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1237     HRESULT borderRightWidth([in] VARIANT v);
1238
1239     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1240     HRESULT borderRightWidth([retval, out] VARIANT *p);
1241
1242     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1243     HRESULT borderBottomWidth([in] VARIANT v);
1244
1245     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1246     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1247
1248     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1249     HRESULT borderLeftWidth([in] VARIANT v);
1250
1251     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1252     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1253
1254     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1255     HRESULT borderStyle([in] BSTR v);
1256
1257     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1258     HRESULT borderStyle([retval, out] BSTR *p);
1259
1260     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1261     HRESULT borderTopStyle([in] BSTR v);
1262
1263     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1264     HRESULT borderTopStyle([retval, out] BSTR *p);
1265
1266     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1267     HRESULT borderRightStyle([in] BSTR v);
1268
1269     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1270     HRESULT borderRightStyle([retval, out] BSTR *p);
1271
1272     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1273     HRESULT borderBottomStyle([in] BSTR v);
1274
1275     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1276     HRESULT borderBottomStyle([retval, out] BSTR *p);
1277
1278     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1279     HRESULT borderLeftStyle([in] BSTR v);
1280
1281     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1282     HRESULT borderLeftStyle([retval, out] BSTR *p);
1283
1284     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1285     HRESULT width([in] VARIANT v);
1286
1287     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1288     HRESULT width([retval, out] VARIANT *p);
1289
1290     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1291     HRESULT height([in] VARIANT v);
1292
1293     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1294     HRESULT height([retval, out] VARIANT *p);
1295
1296     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1297     HRESULT styleFloat([in] BSTR v);
1298
1299     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1300     HRESULT styleFloat([retval, out] BSTR *p);
1301
1302     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1303     HRESULT clear([in] BSTR v);
1304
1305     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1306     HRESULT clear([retval, out] BSTR *p);
1307
1308     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1309     HRESULT display([in] BSTR v);
1310
1311     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1312     HRESULT display([retval, out] BSTR *p);
1313
1314     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1315     HRESULT visibility([in] BSTR v);
1316
1317     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1318     HRESULT visibility([retval, out] BSTR *p);
1319
1320     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1321     HRESULT listStyleType([in] BSTR v);
1322
1323     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1324     HRESULT listStyleType([retval, out] BSTR *p);
1325
1326     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1327     HRESULT listStylePosition([in] BSTR v);
1328
1329     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1330     HRESULT listStylePosition([retval, out] BSTR *p);
1331
1332     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1333     HRESULT listStyleImage([in] BSTR v);
1334
1335     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1336     HRESULT listStyleImage([retval, out] BSTR *p);
1337
1338     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1339     HRESULT listStyle([in] BSTR v);
1340
1341     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1342     HRESULT listStyle([retval, out] BSTR *p);
1343
1344     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1345     HRESULT whiteSpace([in] BSTR v);
1346
1347     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1348     HRESULT whiteSpace([retval, out] BSTR *p);
1349
1350     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1351     HRESULT top([in] VARIANT v);
1352
1353     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1354     HRESULT top([retval, out] VARIANT *p);
1355
1356     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1357     HRESULT left([in] VARIANT v);
1358
1359     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1360     HRESULT left([retval, out] VARIANT *p);
1361
1362     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1363     HRESULT position([retval, out] BSTR *p);
1364
1365     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1366     HRESULT zIndex([in] VARIANT v);
1367
1368     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1369     HRESULT zIndex([retval, out] VARIANT *p);
1370
1371     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1372     HRESULT overflow([in] BSTR v);
1373
1374     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1375     HRESULT overflow([retval, out] BSTR *p);
1376
1377     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1378     HRESULT pageBreakBefore([in] BSTR v);
1379
1380     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1381     HRESULT pageBreakBefore([retval, out] BSTR *p);
1382
1383     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1384     HRESULT pageBreakAfter([in] BSTR v);
1385
1386     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1387     HRESULT pageBreakAfter([retval, out] BSTR *p);
1388
1389     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1390     HRESULT cssText([in] BSTR v);
1391
1392     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1393     HRESULT cssText([retval, out] BSTR *p);
1394
1395     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1396     HRESULT cursor([in] BSTR v);
1397
1398     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1399     HRESULT cursor([retval, out] BSTR *p);
1400
1401     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1402     HRESULT clip([in] BSTR v);
1403
1404     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1405     HRESULT clip([retval, out] BSTR *p);
1406
1407     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1408     HRESULT filter([in] BSTR v);
1409
1410     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1411     HRESULT filter([retval, out] BSTR *p);
1412
1413     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1414     HRESULT setAttribute(
1415         [in] BSTR strAttributeName,
1416         [in] VARIANT AttributeValue,
1417         [defaultvalue(1), in] LONG lFlags);
1418
1419     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1420     HRESULT getAttribute(
1421         [in] BSTR strAttributeName,
1422         [defaultvalue(0), in] LONG lFlags,
1423         [retval, out] VARIANT *AttributeValue);
1424
1425     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1426     HRESULT removeAttribute(
1427         [in] BSTR strAttributeName,
1428         [defaultvalue(1), in] LONG lFlags,
1429         [retval, out] VARIANT_BOOL *pfSuccess);
1430 }
1431
1432 /*****************************************************************************
1433  *    DispHTMLStyle dispinterface
1434  */
1435 [
1436     hidden,
1437     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1438 ]
1439 dispinterface DispHTMLStyle
1440 {
1441 properties:
1442 methods:
1443     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1444     void fontFamily(BSTR v);
1445
1446     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1447     BSTR fontFamily();
1448
1449     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1450     void fontStyle(BSTR v);
1451
1452     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1453     BSTR fontStyle();
1454
1455     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1456     void fontVariant(BSTR v);
1457
1458     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1459     BSTR fontVariant();
1460
1461     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1462     void fontWeight(BSTR v);
1463
1464     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1465     BSTR fontWeight();
1466
1467     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1468     void fontSize(VARIANT v);
1469
1470     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1471     VARIANT fontSize();
1472
1473     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1474     void font(BSTR v);
1475
1476     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1477     BSTR font();
1478
1479     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1480     void color(VARIANT v);
1481
1482     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1483     VARIANT color();
1484
1485     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1486     void background(BSTR v);
1487
1488     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1489     BSTR background();
1490
1491     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1492     void backgroundColor(VARIANT v);
1493
1494     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1495     VARIANT backgroundColor();
1496
1497     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1498     void backgroundImage(BSTR v);
1499
1500     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1501     BSTR backgroundImage();
1502
1503     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1504     void backgroundRepeat(BSTR v);
1505
1506     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1507     BSTR backgroundRepeat();
1508
1509     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1510     void backgroundAttachment(BSTR v);
1511
1512     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1513     BSTR backgroundAttachment();
1514
1515     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1516     void backgroundPosition(BSTR v);
1517
1518     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1519     BSTR backgroundPosition();
1520
1521     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1522     void backgroundPositionX(VARIANT v);
1523
1524     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1525     VARIANT backgroundPositionX();
1526
1527     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1528     void backgroundPositionY(VARIANT v);
1529
1530     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1531     VARIANT backgroundPositionY();
1532
1533     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1534     void wordSpacing(VARIANT v);
1535
1536     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1537     VARIANT wordSpacing();
1538
1539     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1540     void letterSpacing(VARIANT v);
1541
1542     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1543     VARIANT letterSpacing();
1544
1545     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1546     void textDecoration(BSTR v);
1547
1548     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1549     BSTR textDecoration();
1550
1551     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1552     void textDecorationNone(VARIANT_BOOL v);
1553
1554     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1555     VARIANT_BOOL textDecorationNone();
1556
1557     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1558     void textDecorationUnderline(VARIANT_BOOL v);
1559
1560     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1561     VARIANT_BOOL textDecorationUnderline();
1562
1563     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1564     void textDecorationOverline(VARIANT_BOOL v);
1565
1566     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1567     VARIANT_BOOL textDecorationOverline();
1568
1569     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1570     void textDecorationLineThrough(VARIANT_BOOL v);
1571
1572     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1573     VARIANT_BOOL textDecorationLineThrough();
1574
1575     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1576     void textDecorationBlink(VARIANT_BOOL v);
1577
1578     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1579     VARIANT_BOOL textDecorationBlink();
1580
1581     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1582     void verticalAlign(VARIANT v);
1583
1584     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1585     VARIANT verticalAlign();
1586
1587     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1588     void textTransform(BSTR v);
1589
1590     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1591     BSTR textTransform();
1592
1593     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1594     void textAlign(BSTR v);
1595
1596     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1597     BSTR textAlign();
1598
1599     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1600     void textIndent(VARIANT v);
1601
1602     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1603     VARIANT textIndent();
1604
1605     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1606     void lineHeight(VARIANT v);
1607
1608     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1609     VARIANT lineHeight();
1610
1611     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1612     void marginTop(VARIANT v);
1613
1614     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1615     VARIANT marginTop();
1616
1617     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1618     void marginRight(VARIANT v);
1619
1620     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1621     VARIANT marginRight();
1622
1623     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1624     void marginBottom(VARIANT v);
1625
1626     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1627     VARIANT marginBottom();
1628
1629     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1630     void marginLeft(VARIANT v);
1631
1632     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1633     VARIANT marginLeft();
1634
1635     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1636     void margin(BSTR v);
1637
1638     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1639     BSTR margin();
1640
1641     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1642     void paddingTop(VARIANT v);
1643
1644     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1645     VARIANT paddingTop();
1646
1647     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1648     void paddingRight(VARIANT v);
1649
1650     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1651     VARIANT paddingRight();
1652
1653     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1654     void paddingBottom(VARIANT v);
1655
1656     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1657     VARIANT paddingBottom();
1658
1659     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1660     void paddingLeft(VARIANT v);
1661
1662     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1663     VARIANT paddingLeft();
1664
1665     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1666     void padding(BSTR v);
1667
1668     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1669     BSTR padding();
1670
1671     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1672     void border(BSTR v);
1673
1674     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1675     BSTR border();
1676
1677     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1678     void borderTop(BSTR v);
1679
1680     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1681     BSTR borderTop();
1682
1683     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1684     void borderRight(BSTR v);
1685
1686     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1687     BSTR borderRight();
1688
1689     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1690     void borderBottom(BSTR v);
1691
1692     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1693     BSTR borderBottom();
1694
1695     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1696     void borderLeft(BSTR v);
1697
1698     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1699     BSTR borderLeft();
1700
1701     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1702     void borderColor(BSTR v);
1703
1704     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1705     BSTR borderColor();
1706
1707     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1708     void borderTopColor(VARIANT v);
1709
1710     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1711     VARIANT borderTopColor();
1712
1713     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1714     void borderRightColor(VARIANT v);
1715
1716     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1717     VARIANT borderRightColor();
1718
1719     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1720     void borderBottomColor(VARIANT v);
1721
1722     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1723     VARIANT borderBottomColor();
1724
1725     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1726     void borderLeftColor(VARIANT v);
1727
1728     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1729     VARIANT borderLeftColor();
1730
1731     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1732     void borderWidth(BSTR v);
1733
1734     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1735     BSTR borderWidth();
1736
1737     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1738     void borderTopWidth(VARIANT v);
1739
1740     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1741     VARIANT borderTopWidth();
1742
1743     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1744     void borderRightWidth(VARIANT v);
1745
1746     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1747     VARIANT borderRightWidth();
1748
1749     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1750     void borderBottomWidth(VARIANT v);
1751
1752     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1753     VARIANT borderBottomWidth();
1754
1755     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1756     void borderLeftWidth(VARIANT v);
1757
1758     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1759     VARIANT borderLeftWidth();
1760
1761     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1762     void borderStyle(BSTR v);
1763
1764     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1765     BSTR borderStyle();
1766
1767     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1768     void borderTopStyle(BSTR v);
1769
1770     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1771     BSTR borderTopStyle();
1772
1773     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1774     void borderRightStyle(BSTR v);
1775
1776     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1777     BSTR borderRightStyle();
1778
1779     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1780     void borderBottomStyle(BSTR v);
1781
1782     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1783     BSTR borderBottomStyle();
1784
1785     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1786     void borderLeftStyle(BSTR v);
1787
1788     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1789     BSTR borderLeftStyle();
1790
1791     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1792     void width(VARIANT v);
1793
1794     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1795     VARIANT width();
1796
1797     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1798     void height(VARIANT v);
1799
1800     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1801     VARIANT height();
1802
1803     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1804     void styleFloat(BSTR v);
1805
1806     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1807     BSTR styleFloat();
1808
1809     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1810     void clear(BSTR v);
1811
1812     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1813     BSTR clear();
1814
1815     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1816     void display(BSTR v);
1817
1818     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1819     BSTR display();
1820
1821     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1822     void visibility(BSTR v);
1823
1824     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1825     BSTR visibility();
1826
1827     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1828     void listStyleType(BSTR v);
1829
1830     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1831     BSTR listStyleType();
1832
1833     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1834     void listStylePosition(BSTR v);
1835
1836     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1837     BSTR listStylePosition();
1838
1839     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1840     void listStyleImage(BSTR v);
1841
1842     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1843     BSTR listStyleImage();
1844
1845     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1846     void listStyle(BSTR v);
1847
1848     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1849     BSTR listStyle();
1850
1851     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1852     void whiteSpace(BSTR v);
1853
1854     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1855     BSTR whiteSpace();
1856
1857     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1858     void top(VARIANT v);
1859
1860     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1861     VARIANT top();
1862
1863     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1864     void left(VARIANT v);
1865
1866     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1867     VARIANT left();
1868
1869     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1870     void zIndex(VARIANT v);
1871
1872     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1873     VARIANT zIndex();
1874
1875     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1876     void overflow(BSTR v);
1877
1878     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1879     BSTR overflow();
1880
1881     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1882     void pageBreakBefore(BSTR v);
1883
1884     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1885     BSTR pageBreakBefore();
1886
1887     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1888     void pageBreakAfter(BSTR v);
1889
1890     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1891     BSTR pageBreakAfter();
1892
1893     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1894     void cssText(BSTR v);
1895
1896     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1897     BSTR cssText();
1898
1899     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1900     void pixelTop(LONG v);
1901
1902     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1903     LONG pixelTop();
1904
1905     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1906     void pixelLeft(LONG v);
1907
1908     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1909     LONG pixelLeft();
1910
1911     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1912     void pixelWidth(LONG v);
1913
1914     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1915     LONG pixelWidth();
1916
1917     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1918     void pixelHeight(LONG v);
1919
1920     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1921     LONG pixelHeight();
1922
1923     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1924     void posTop(float v);
1925
1926     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1927     float posTop();
1928
1929     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1930     void posLeft(float v);
1931
1932     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1933     float posLeft();
1934
1935     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1936     void posWidth(float v);
1937
1938     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1939     float posWidth();
1940
1941     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1942     void posHeight(float v);
1943
1944     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1945     float posHeight();
1946
1947     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1948     void cursor(BSTR v);
1949
1950     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1951     BSTR cursor();
1952
1953     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1954     void clip(BSTR v);
1955
1956     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1957     BSTR clip();
1958
1959     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1960     void filter(BSTR v);
1961
1962     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1963     BSTR filter();
1964
1965     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1966     void setAttribute(
1967             [in] BSTR strAttributeName,
1968             [in] VARIANT AttributeValue,
1969             [in, defaultvalue(1)] LONG lFlags);
1970
1971     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1972     VARIANT getAttribute(
1973             [in] BSTR strAttributeName,
1974             [in, defaultvalue(0)] LONG lFlags);
1975
1976     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1977     VARIANT_BOOL removeAttribute(
1978             [in] BSTR strAttributeName,
1979             [in, defaultvalue(1)] LONG lFlags);
1980
1981     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1982     BSTR toString();
1983
1984     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1985     void tableLayout(BSTR v);
1986
1987     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1988     BSTR tableLayout();
1989
1990     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1991     void borderCollapse(BSTR v);
1992
1993     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1994     BSTR borderCollapse();
1995
1996     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1997     void direction(BSTR v);
1998
1999     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
2000     BSTR direction();
2001
2002     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2003     void behavior(BSTR v);
2004
2005     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2006     BSTR behavior();
2007
2008     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
2009     void setExpression(
2010             [in] BSTR propname,
2011             [in] BSTR expression,
2012             [in, defaultvalue("")] BSTR language);
2013
2014     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
2015     VARIANT getExpression([in] BSTR propname);
2016
2017     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
2018     VARIANT_BOOL removeExpression([in] BSTR propname);
2019
2020     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2021     void position(BSTR v);
2022
2023     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2024     BSTR position();
2025
2026     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2027     void unicodeBidi(BSTR v);
2028
2029     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2030     BSTR unicodeBidi();
2031
2032     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2033     void bottom(VARIANT v);
2034
2035     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2036     VARIANT bottom();
2037
2038     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2039     void right(VARIANT v);
2040
2041     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2042     VARIANT right();
2043
2044     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2045     void pixelBottom(LONG v);
2046
2047     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2048     LONG pixelBottom();
2049
2050     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2051     void pixelRight(LONG v);
2052
2053     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2054     LONG pixelRight();
2055
2056     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2057     void posBottom(float v);
2058
2059     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2060     float posBottom();
2061
2062     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2063     void posRight(float v);
2064
2065     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2066     float posRight();
2067
2068     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2069     void imeMode(BSTR v);
2070
2071     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2072     BSTR imeMode();
2073
2074     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2075     void rubyAlign(BSTR v);
2076
2077     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2078     BSTR rubyAlign();
2079
2080     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2081     void rubyPosition(BSTR v);
2082
2083     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2084     BSTR rubyPosition();
2085
2086     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2087     void rubyOverhang(BSTR v);
2088
2089     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2090     BSTR rubyOverhang();
2091
2092     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2093     void layoutGridChar(VARIANT v);
2094
2095     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2096     VARIANT layoutGridChar();
2097
2098     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2099     void layoutGridLine(VARIANT v);
2100
2101     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2102     VARIANT layoutGridLine();
2103
2104     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2105     void layoutGridMode(BSTR v);
2106
2107     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2108     BSTR layoutGridMode();
2109
2110     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2111     void layoutGridType(BSTR v);
2112
2113     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2114     BSTR layoutGridType();
2115
2116     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2117     void layoutGrid(BSTR v);
2118
2119     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2120     BSTR layoutGrid();
2121
2122     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2123     void wordBreak(BSTR v);
2124
2125     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2126     BSTR wordBreak();
2127
2128     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2129     void lineBreak(BSTR v);
2130
2131     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2132     BSTR lineBreak();
2133
2134     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2135     void textJustify(BSTR v);
2136
2137     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2138     BSTR textJustify();
2139
2140     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2141     void textJustifyTrim(BSTR v);
2142
2143     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2144     BSTR textJustifyTrim();
2145
2146     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2147     void textKashida(VARIANT v);
2148
2149     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2150     VARIANT textKashida();
2151
2152     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2153     void textAutospace(BSTR v);
2154
2155     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2156     BSTR textAutospace();
2157
2158     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2159     void overflowX(BSTR v);
2160
2161     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2162     BSTR overflowX();
2163
2164     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2165     void overflowY(BSTR v);
2166
2167     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2168     BSTR overflowY();
2169
2170     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2171     void accelerator(BSTR v);
2172
2173     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2174     BSTR accelerator();
2175
2176     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2177     void layoutFlow(BSTR v);
2178
2179     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2180     BSTR layoutFlow();
2181
2182     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2183     void zoom(VARIANT v);
2184
2185     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2186     VARIANT zoom();
2187
2188     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2189     void wordWrap(BSTR v);
2190
2191     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2192     BSTR wordWrap();
2193
2194     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2195     void textUnderlinePosition(BSTR v);
2196
2197     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2198     BSTR textUnderlinePosition();
2199
2200     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2201     void scrollbarBaseColor(VARIANT v);
2202
2203     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2204     VARIANT scrollbarBaseColor();
2205
2206     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2207     void scrollbarFaceColor(VARIANT v);
2208
2209     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2210     VARIANT scrollbarFaceColor();
2211
2212     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2213     void scrollbar3dLightColor(VARIANT v);
2214
2215     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2216     VARIANT scrollbar3dLightColor();
2217
2218     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2219     void scrollbarShadowColor(VARIANT v);
2220
2221     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2222     VARIANT scrollbarShadowColor();
2223
2224     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2225     void scrollbarHighlightColor(VARIANT v);
2226
2227     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2228     VARIANT scrollbarHighlightColor();
2229
2230     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2231     void scrollbarDarkShadowColor(VARIANT v);
2232
2233     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2234     VARIANT scrollbarDarkShadowColor();
2235
2236     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2237     void scrollbarArrowColor(VARIANT v);
2238
2239     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2240     VARIANT scrollbarArrowColor();
2241
2242     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2243     void scrollbarTrackColor(VARIANT v);
2244
2245     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2246     VARIANT scrollbarTrackColor();
2247
2248     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2249     void writingMode(BSTR v);
2250
2251     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2252     BSTR writingMode();
2253
2254     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2255     void textAlignLast(BSTR v);
2256
2257     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2258     BSTR textAlignLast();
2259
2260     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2261     void textKashidaSpace(VARIANT v);
2262
2263     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2264     VARIANT textKashidaSpace();
2265
2266     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2267     void textOverflow(BSTR v);
2268
2269     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2270     BSTR textOverflow();
2271
2272     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2273     void minHeight(VARIANT v);
2274
2275     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2276     VARIANT minHeight();
2277
2278     [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2279     void msInterpolationMode(BSTR v);
2280
2281     [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2282     BSTR msInterpolationMode();
2283
2284     [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2285     void maxHeight(VARIANT v);
2286
2287     [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2288     VARIANT maxHeight();
2289
2290     [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2291     void minWidth(VARIANT v);
2292
2293     [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2294     VARIANT minWidth();
2295
2296     [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2297     void maxWidth(VARIANT v);
2298
2299     [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2300     VARIANT maxWidth();
2301
2302     [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2303     void content(BSTR v);
2304
2305     [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2306     BSTR content();
2307
2308     [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2309     void captionSide(BSTR v);
2310
2311     [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2312     BSTR captionSide();
2313
2314     [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2315     void counterIncrement(BSTR v);
2316
2317     [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2318     BSTR counterIncrement();
2319
2320     [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2321     void counterReset(BSTR v);
2322
2323     [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2324     BSTR counterReset();
2325
2326     [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2327     void outline(BSTR v);
2328
2329     [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2330     BSTR outline();
2331
2332     [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2333     void outlineWidth(VARIANT v);
2334
2335     [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2336     VARIANT outlineWidth();
2337
2338     [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2339     void outlineStyle(BSTR v);
2340
2341     [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2342     BSTR outlineStyle();
2343
2344     [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2345     void outlineColor(VARIANT v);
2346
2347     [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2348     VARIANT outlineColor();
2349
2350     [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2351     void boxSizing(BSTR v);
2352
2353     [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2354     BSTR boxSizing();
2355
2356     [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2357     void borderSpacing(BSTR v);
2358
2359     [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2360     BSTR borderSpacing();
2361
2362     [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2363     void orphans(VARIANT v);
2364
2365     [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2366     VARIANT orphans();
2367
2368     [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2369     void widows(VARIANT v);
2370
2371     [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2372     VARIANT widows();
2373
2374     [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2375     void pageBreakInside(BSTR v);
2376
2377     [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2378     BSTR pageBreakInside();
2379
2380     [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2381     void emptyCells(BSTR v);
2382
2383     [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2384     BSTR emptyCells();
2385
2386     [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2387     void msBlockProgression(BSTR v);
2388
2389     [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2390     BSTR msBlockProgression();
2391
2392     [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2393     void quotes(BSTR v);
2394
2395     [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2396     BSTR quotes();
2397
2398     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
2399     IDispatch *constructor();
2400 }
2401
2402 [
2403     odl,
2404     oleautomation,
2405     dual,
2406     uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2407 ]
2408 interface IHTMLStyle3 : IDispatch
2409 {
2410     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2411     HRESULT layoutFlow([in] BSTR v);
2412
2413     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2414     HRESULT layoutFlow([retval, out] BSTR * p);
2415
2416     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2417     HRESULT zoom([in] VARIANT v);
2418
2419     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2420     HRESULT zoom([retval, out] VARIANT * p);
2421
2422     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2423     HRESULT wordWrap([in] BSTR v);
2424
2425     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2426     HRESULT wordWrap([retval, out] BSTR * p);
2427
2428     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2429     HRESULT textUnderlinePosition([in] BSTR v);
2430
2431     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2432     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2433
2434     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2435     HRESULT scrollbarBaseColor([in] VARIANT v);
2436
2437     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2438     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2439
2440     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2441     HRESULT scrollbarFaceColor([in] VARIANT v);
2442
2443     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2444     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2445
2446     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2447     HRESULT scrollbar3dLightColor([in] VARIANT v);
2448
2449     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2450     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2451
2452     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2453     HRESULT scrollbarShadowColor([in] VARIANT v);
2454
2455     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2456     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2457
2458     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2459     HRESULT scrollbarHighlightColor([in] VARIANT v);
2460
2461     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2462     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2463
2464     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2465     HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2466
2467     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2468     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2469
2470     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2471     HRESULT scrollbarArrowColor([in] VARIANT v);
2472
2473     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2474     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2475
2476     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2477     HRESULT scrollbarTrackColor([in] VARIANT v);
2478
2479     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2480     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2481
2482     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2483     HRESULT writingMode([in] BSTR v);
2484
2485     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2486     HRESULT writingMode([retval, out] BSTR * p);
2487
2488     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2489     HRESULT textAlignLast([in] BSTR v);
2490
2491     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2492     HRESULT textAlignLast([retval, out] BSTR * p);
2493
2494     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2495     HRESULT textKashidaSpace([in] VARIANT v);
2496
2497     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2498     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2499 }
2500
2501 /*****************************************************************************
2502  *    IHTMLSytyle4 interface
2503  */
2504 [
2505     odl,
2506     oleautomation,
2507     dual,
2508     uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2509 ]
2510 interface IHTMLStyle4 : IDispatch
2511 {
2512     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2513     HRESULT textOverflow([in] BSTR v);
2514
2515     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2516     HRESULT textOverflow([retval, out] BSTR * p);
2517
2518     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2519     HRESULT minHeight([in] VARIANT v);
2520
2521     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2522     HRESULT minHeight([retval, out] VARIANT * p);
2523 }
2524
2525 /*****************************************************************************
2526  *    IHTMLSytyle5 interface
2527  */
2528 [
2529     odl,
2530     oleautomation,
2531     dual,
2532     uuid(3050f33a-98b5-11cf-bb82-00aa00bdce0b)
2533 ]
2534 interface IHTMLStyle5 : IDispatch
2535 {
2536     [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2537     HRESULT msInterpolationMode([in] BSTR v);
2538
2539     [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2540     HRESULT msInterpolationMode([out, retval] BSTR *p);
2541
2542     [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2543     HRESULT maxHeight([in] VARIANT v);
2544
2545     [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2546     HRESULT maxHeight([out, retval] VARIANT *p);
2547
2548     [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2549     HRESULT minWidth([in] VARIANT v);
2550
2551     [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2552     HRESULT minWidth([out, retval] VARIANT *p);
2553
2554     [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2555     HRESULT maxWidth([in] VARIANT v);
2556
2557     [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2558     HRESULT maxWidth([out, retval] VARIANT *p);
2559 }
2560
2561 /*****************************************************************************
2562  *    IHTMLSytyle6 interface
2563  */
2564 [
2565     odl,
2566     oleautomation,
2567     dual,
2568     uuid(30510480-98b5-11cf-bb82-00aa00bdce0b)
2569 ]
2570 interface IHTMLStyle6 : IDispatch
2571 {
2572     [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2573     HRESULT content([in] BSTR v);
2574
2575     [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2576     HRESULT content([out, retval] BSTR *p);
2577
2578     [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2579     HRESULT captionSide([in] BSTR v);
2580
2581     [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2582     HRESULT captionSide([retval, out] BSTR *p);
2583
2584     [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2585     HRESULT counterIncrement([in] BSTR v);
2586
2587     [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2588     HRESULT counterIncrement([out, retval] BSTR *p);
2589
2590     [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2591     HRESULT counterReset([in] BSTR v);
2592
2593     [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2594     HRESULT counterReset([out, retval] BSTR *p);
2595
2596     [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2597     HRESULT outline([in] BSTR v);
2598
2599     [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2600     HRESULT outline([out, retval] BSTR *p);
2601
2602     [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2603     HRESULT outlineWidth([in] VARIANT v);
2604
2605     [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2606     HRESULT outlineWidth([out, retval] VARIANT *p);
2607
2608     [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2609     HRESULT outlineStyle([in] BSTR v);
2610
2611     [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2612     HRESULT outlineStyle([out, retval] BSTR *p);
2613
2614     [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2615     HRESULT outlineColor([in] VARIANT v);
2616
2617     [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2618     HRESULT outlineColor([out, retval] VARIANT *p);
2619
2620     [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2621     HRESULT boxSizing([in] BSTR v);
2622
2623     [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2624     HRESULT boxSizing([out, retval] BSTR *p);
2625
2626     [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2627     HRESULT borderSpacing([in] BSTR v);
2628
2629     [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2630     HRESULT borderSpacing([out, retval] BSTR *p);
2631
2632     [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2633     HRESULT orphans([in] VARIANT v);
2634
2635     [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2636     HRESULT orphans([out, retval] VARIANT *p);
2637
2638     [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2639     HRESULT widows([in] VARIANT v);
2640
2641     [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2642     HRESULT widows([out, retval] VARIANT *p);
2643
2644     [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2645     HRESULT pageBreakInside([in] BSTR v);
2646
2647     [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2648     HRESULT pageBreakInside([out, retval] BSTR *p);
2649
2650     [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2651     HRESULT emptyCells([in] BSTR v);
2652
2653     [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2654     HRESULT emptyCells([out, retval] BSTR *p);
2655
2656     [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2657     HRESULT msBlockProgression([in] BSTR v);
2658
2659     [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2660     HRESULT msBlockProgression([out, retval] BSTR *p);
2661
2662     [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2663     HRESULT quotes([in] BSTR v);
2664
2665     [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2666     HRESULT quotes([out, retval] BSTR *p);
2667 }
2668
2669 [
2670     noncreatable,
2671     uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2672 ]
2673 coclass HTMLStyle
2674 {
2675     [default] dispinterface DispHTMLStyle;
2676     interface IHTMLStyle;
2677     interface IHTMLStyle2;
2678     interface IHTMLStyle3;
2679     interface IHTMLStyle4;
2680     interface IHTMLStyle5;
2681     interface IHTMLStyle6;
2682 }
2683
2684 /*****************************************************************************
2685  *    IHTMLRenderStyle interface
2686  */
2687 [
2688     odl,
2689     oleautomation,
2690     dual,
2691     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2692 ]
2693 interface IHTMLRenderStyle : IDispatch
2694 {
2695     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2696     HRESULT textLineThroughStyle([in] BSTR v);
2697
2698     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2699     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2700
2701     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2702     HRESULT textUnderlineStyle([in] BSTR v);
2703
2704     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2705     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2706
2707     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2708     HRESULT textEffect([in] BSTR v);
2709
2710     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2711     HRESULT textEffect([retval, out] BSTR *p);
2712
2713     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2714     HRESULT textColor([in] VARIANT v);
2715
2716     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2717     HRESULT textColor([retval, out] VARIANT *p);
2718
2719     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2720     HRESULT textBackgroundColor([in] VARIANT v);
2721
2722     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2723     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2724
2725     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2726     HRESULT textDecorationColor([in] VARIANT v);
2727
2728     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2729     HRESULT textDecorationColor([retval, out] VARIANT *p);
2730
2731     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2732     HRESULT renderingPriority([in] LONG v);
2733
2734     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2735     HRESULT renderingPriority([retval, out] LONG *p);
2736
2737     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2738     HRESULT defaultTextSelection([in] BSTR v);
2739
2740     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2741     HRESULT defaultTextSelection([retval, out] BSTR *p);
2742
2743     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2744     HRESULT textDecoration([in] BSTR v);
2745
2746     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2747     HRESULT textDecoration([retval, out] BSTR *p);
2748 }
2749
2750 /*****************************************************************************
2751  *    IHTMLCurrentStyle interface
2752  */
2753 [
2754     odl,
2755     oleautomation,
2756     dual,
2757     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2758 ]
2759 interface IHTMLCurrentStyle : IDispatch
2760 {
2761     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2762     HRESULT position([retval, out] BSTR *p);
2763
2764     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2765     HRESULT styleFloat([retval, out] BSTR *p);
2766
2767     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2768     HRESULT color([retval, out] VARIANT *p);
2769
2770     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2771     HRESULT backgroundColor([retval, out] VARIANT *p);
2772
2773     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2774     HRESULT fontFamily([retval, out] BSTR *p);
2775
2776     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2777     HRESULT fontStyle([retval, out] BSTR *p);
2778
2779     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2780     HRESULT fontVariant([retval, out] BSTR *p);
2781
2782     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2783     HRESULT fontWeight([retval, out] VARIANT *p);
2784
2785     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2786     HRESULT fontSize([retval, out] VARIANT *p);
2787
2788     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2789     HRESULT backgroundImage([retval, out] BSTR *p);
2790
2791     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2792     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2793
2794     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2795     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2796
2797     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2798     HRESULT backgroundRepeat([retval, out] BSTR *p);
2799
2800     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2801     HRESULT borderLeftColor([retval, out] VARIANT *p);
2802
2803     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2804     HRESULT borderTopColor([retval, out] VARIANT *p);
2805
2806     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2807     HRESULT borderRightColor([retval, out] VARIANT *p);
2808
2809     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2810     HRESULT borderBottomColor([retval, out] VARIANT *p);
2811
2812     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2813     HRESULT borderTopStyle([retval, out] BSTR *p);
2814
2815     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2816     HRESULT borderRightStyle([retval, out] BSTR *p);
2817
2818     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2819     HRESULT borderBottomStyle([retval, out] BSTR *p);
2820
2821     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2822     HRESULT borderLeftStyle([retval, out] BSTR *p);
2823
2824     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2825     HRESULT borderTopWidth([retval, out] VARIANT *p);
2826
2827     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2828     HRESULT borderRightWidth([retval, out] VARIANT *p);
2829
2830     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2831     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2832
2833     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2834     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2835
2836     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2837     HRESULT left([retval, out] VARIANT *p);
2838
2839     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2840     HRESULT top([retval, out] VARIANT *p);
2841
2842     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2843     HRESULT width([retval, out] VARIANT *p);
2844
2845     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2846     HRESULT height([retval, out] VARIANT *p);
2847
2848     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2849     HRESULT paddingLeft([retval, out] VARIANT *p);
2850
2851     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2852     HRESULT paddingTop([retval, out] VARIANT *p);
2853
2854     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2855     HRESULT paddingRight([retval, out] VARIANT *p);
2856
2857     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2858     HRESULT paddingBottom([retval, out] VARIANT *p);
2859
2860     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2861     HRESULT textAlign([retval, out] BSTR *p);
2862
2863     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2864     HRESULT textDecoration([retval, out] BSTR *p);
2865
2866     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2867     HRESULT display([retval, out] BSTR *p);
2868
2869     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2870     HRESULT visibility([retval, out] BSTR *p);
2871
2872     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2873     HRESULT zIndex([retval, out] VARIANT *p);
2874
2875     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2876     HRESULT letterSpacing([retval, out] VARIANT *p);
2877
2878     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2879     HRESULT lineHeight([retval, out] VARIANT *p);
2880
2881     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2882     HRESULT textIndent([retval, out] VARIANT *p);
2883
2884     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2885     HRESULT verticalAlign([retval, out] VARIANT *p);
2886
2887     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2888     HRESULT backgroundAttachment([retval, out] BSTR *p);
2889
2890     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2891     HRESULT marginTop([retval, out] VARIANT *p);
2892
2893     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2894     HRESULT marginRight([retval, out] VARIANT *p);
2895
2896     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2897     HRESULT marginBottom([retval, out] VARIANT *p);
2898
2899     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2900     HRESULT marginLeft([retval, out] VARIANT *p);
2901
2902     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2903     HRESULT clear([retval, out] BSTR *p);
2904
2905     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2906     HRESULT listStyleType([retval, out] BSTR *p);
2907
2908     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2909     HRESULT listStylePosition([retval, out] BSTR *p);
2910
2911     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2912     HRESULT listStyleImage([retval, out] BSTR *p);
2913
2914     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2915     HRESULT clipTop([retval, out] VARIANT *p);
2916
2917     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2918     HRESULT clipRight([retval, out] VARIANT *p);
2919
2920     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2921     HRESULT clipBottom([retval, out] VARIANT *p);
2922
2923     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2924     HRESULT clipLeft([retval, out] VARIANT *p);
2925
2926     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2927     HRESULT overflow([retval, out] BSTR *p);
2928
2929     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2930     HRESULT pageBreakBefore([retval, out] BSTR *p);
2931
2932     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2933     HRESULT pageBreakAfter([retval, out] BSTR *p);
2934
2935     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2936     HRESULT cursor([retval, out] BSTR *p);
2937
2938     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2939     HRESULT tableLayout([retval, out] BSTR *p);
2940
2941     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2942     HRESULT borderCollapse([retval, out] BSTR *p);
2943
2944     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2945     HRESULT direction([retval, out] BSTR *p);
2946
2947     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2948     HRESULT behavior([retval, out] BSTR *p);
2949
2950     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2951     HRESULT getAttribute(
2952         [in] BSTR strAttributeName,
2953         [defaultvalue(0), in] LONG lFlags,
2954         [retval, out] VARIANT *AttributeValue);
2955
2956     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2957     HRESULT unicodeBidi([retval, out] BSTR *p);
2958
2959     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2960     HRESULT right([retval, out] VARIANT *p);
2961
2962     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2963     HRESULT bottom([retval, out] VARIANT *p);
2964
2965     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2966     HRESULT imeMode([retval, out] BSTR *p);
2967
2968     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2969     HRESULT rubyAlign([retval, out] BSTR *p);
2970
2971     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2972     HRESULT rubyPosition([retval, out] BSTR *p);
2973
2974     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2975     HRESULT rubyOverhang([retval, out] BSTR *p);
2976
2977     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2978     HRESULT textAutospace([retval, out] BSTR *p);
2979
2980     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2981     HRESULT lineBreak([retval, out] BSTR *p);
2982
2983     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2984     HRESULT wordBreak([retval, out] BSTR *p);
2985
2986     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2987     HRESULT textJustify([retval, out] BSTR *p);
2988
2989     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2990     HRESULT textJustifyTrim([retval, out] BSTR *p);
2991
2992     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2993     HRESULT textKashida([retval, out] VARIANT *p);
2994
2995     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2996     HRESULT blockDirection([retval, out] BSTR *p);
2997
2998     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2999     HRESULT layoutGridChar([retval, out] VARIANT *p);
3000
3001     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3002     HRESULT layoutGridLine([retval, out] VARIANT *p);
3003
3004     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3005     HRESULT layoutGridMode([retval, out] BSTR *p);
3006
3007     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3008     HRESULT layoutGridType([retval, out] BSTR *p);
3009
3010     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3011     HRESULT borderStyle([retval, out] BSTR *p);
3012
3013     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3014     HRESULT borderColor([retval, out] BSTR *p);
3015
3016     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3017     HRESULT borderWidth([retval, out] BSTR *p);
3018
3019     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3020     HRESULT padding([retval, out] BSTR *p);
3021
3022     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3023     HRESULT margin([retval, out] BSTR *p);
3024
3025     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3026     HRESULT accelerator([retval, out] BSTR *p);
3027
3028     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3029     HRESULT overflowX([retval, out] BSTR *p);
3030
3031     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3032     HRESULT overflowY([retval, out] BSTR *p);
3033
3034     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3035     HRESULT textTransform([retval, out] BSTR *p);
3036 }
3037
3038 /*****************************************************************************
3039  *    IHTMLCurrentStyle2 interface
3040  */
3041 [
3042     odl,
3043     oleautomation,
3044     dual,
3045     uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
3046 ]
3047 interface IHTMLCurrentStyle2 : IDispatch
3048 {
3049     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3050     HRESULT layoutFlow([retval, out] BSTR * p);
3051
3052     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3053     HRESULT wordWrap([retval, out] BSTR * p);
3054
3055     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3056     HRESULT textUnderlinePosition([retval, out] BSTR * p);
3057
3058     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3059     HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
3060
3061     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3062     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
3063
3064     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3065     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
3066
3067     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3068     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
3069
3070     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3071     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
3072
3073     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3074     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
3075
3076     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3077     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
3078
3079     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3080     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
3081
3082     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3083     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
3084
3085     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3086     HRESULT writingMode([retval, out] BSTR * p);
3087
3088     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3089     HRESULT zoom([retval, out] VARIANT * p);
3090
3091     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3092     HRESULT filter([retval, out] BSTR * p);
3093
3094     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3095     HRESULT textAlignLast([retval, out] BSTR * p);
3096
3097     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3098     HRESULT textKashidaSpace([retval, out] VARIANT * p);
3099
3100     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3101     HRESULT isBlock([retval, out] VARIANT_BOOL * p);
3102 }
3103
3104 /*****************************************************************************
3105  *    IHTMLCurrentStyle3 interface
3106  */
3107 [
3108     odl,
3109     oleautomation,
3110     dual,
3111     uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
3112 ]
3113 interface IHTMLCurrentStyle3 : IDispatch
3114 {
3115     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3116     HRESULT textOverflow([retval, out] BSTR * p);
3117
3118     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3119     HRESULT minHeight([retval, out] VARIANT * p);
3120
3121     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3122     HRESULT wordSpacing([retval, out] VARIANT * p);
3123
3124     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3125     HRESULT whiteSpace([retval, out] BSTR * p);
3126 }
3127
3128 /*****************************************************************************
3129  *    IHTMLCurrentStyle4 interface
3130  */
3131 [
3132     odl,
3133     oleautomation,
3134     dual,
3135     uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
3136 ]
3137 interface IHTMLCurrentStyle4 : IDispatch
3138 {
3139     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3140     HRESULT msInterpolationMode([retval, out] BSTR * p);
3141
3142     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3143     HRESULT maxHeight([retval, out] VARIANT * p);
3144
3145     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3146     HRESULT minWidth([retval, out] VARIANT * p);
3147
3148     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3149     HRESULT maxWidth([retval, out] VARIANT * p);
3150 }
3151
3152 /*****************************************************************************
3153  *    DispHTMLCurrentStyle dispinterface
3154  */
3155 [
3156     hidden,
3157     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
3158 ]
3159 dispinterface DispHTMLCurrentStyle
3160 {
3161 properties:
3162 methods:
3163     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
3164     BSTR position();
3165
3166     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
3167     BSTR styleFloat();
3168
3169     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
3170     VARIANT color();
3171
3172     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
3173     VARIANT backgroundColor();
3174
3175     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
3176     BSTR fontFamily();
3177
3178     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
3179     BSTR fontStyle();
3180
3181     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
3182     BSTR fontVariant();
3183
3184     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
3185     VARIANT fontWeight();
3186
3187     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
3188     VARIANT fontSize();
3189
3190     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
3191     BSTR backgroundImage();
3192
3193     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
3194     VARIANT backgroundPositionX();
3195
3196     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
3197     VARIANT backgroundPositionY();
3198
3199     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
3200     BSTR backgroundRepeat();
3201
3202     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
3203     VARIANT borderLeftColor();
3204
3205     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
3206     VARIANT borderTopColor();
3207
3208     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
3209     VARIANT borderRightColor();
3210
3211     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
3212     VARIANT borderBottomColor();
3213
3214     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
3215     BSTR borderTopStyle();
3216
3217     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
3218     BSTR borderRightStyle();
3219
3220     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
3221     BSTR borderBottomStyle();
3222
3223     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
3224     BSTR borderLeftStyle();
3225
3226     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
3227     VARIANT borderTopWidth();
3228
3229     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
3230     VARIANT borderRightWidth();
3231
3232     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
3233     VARIANT borderBottomWidth();
3234
3235     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
3236     VARIANT borderLeftWidth();
3237
3238     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
3239     VARIANT left();
3240
3241     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
3242     VARIANT top();
3243
3244     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
3245     VARIANT width();
3246
3247     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
3248     VARIANT height();
3249
3250     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
3251     VARIANT paddingLeft();
3252
3253     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
3254     VARIANT paddingTop();
3255
3256     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
3257     VARIANT paddingRight();
3258
3259     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
3260     VARIANT paddingBottom();
3261
3262     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
3263     BSTR textAlign();
3264
3265     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
3266     BSTR textDecoration();
3267
3268     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
3269     BSTR display();
3270
3271     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
3272     BSTR visibility();
3273
3274     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
3275     VARIANT zIndex();
3276
3277     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
3278     VARIANT letterSpacing();
3279
3280     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
3281     VARIANT lineHeight();
3282
3283     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
3284     VARIANT textIndent();
3285
3286     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
3287     VARIANT verticalAlign();
3288
3289     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
3290     BSTR backgroundAttachment();
3291
3292     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
3293     VARIANT marginTop();
3294
3295     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3296     VARIANT marginRight();
3297
3298     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3299     VARIANT marginBottom();
3300
3301     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3302     VARIANT marginLeft();
3303
3304     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3305     BSTR clear();
3306
3307     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3308     BSTR listStyleType();
3309
3310     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3311     BSTR listStylePosition();
3312
3313     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3314     BSTR listStyleImage();
3315
3316     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3317     VARIANT clipTop();
3318
3319     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3320     VARIANT clipRight();
3321
3322     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3323     VARIANT clipBottom();
3324
3325     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3326     VARIANT clipLeft();
3327
3328     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3329     BSTR overflow();
3330
3331     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3332     BSTR pageBreakBefore();
3333
3334     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3335     BSTR pageBreakAfter();
3336
3337     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3338     BSTR cursor();
3339
3340     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3341     BSTR tableLayout();
3342
3343     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3344     BSTR borderCollapse();
3345
3346     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3347     BSTR direction();
3348
3349     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3350     BSTR behavior();
3351
3352     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3353     VARIANT getAttribute(
3354             [in] BSTR strAttributeName,
3355             [in, defaultvalue(0)] LONG lFlags);
3356
3357     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3358     BSTR unicodeBidi();
3359
3360     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3361     VARIANT right();
3362
3363     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3364     VARIANT bottom();
3365
3366     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3367     BSTR imeMode();
3368
3369     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3370     BSTR rubyAlign();
3371
3372     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3373     BSTR rubyPosition();
3374
3375     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3376     BSTR rubyOverhang();
3377
3378     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3379     BSTR textAutospace();
3380
3381     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3382     BSTR lineBreak();
3383
3384     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3385     BSTR wordBreak();
3386
3387     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3388     BSTR textJustify();
3389
3390     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3391     BSTR textJustifyTrim();
3392
3393     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3394     VARIANT textKashida();
3395
3396     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3397     BSTR blockDirection();
3398
3399     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3400     VARIANT layoutGridChar();
3401
3402     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3403     VARIANT layoutGridLine();
3404
3405     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3406     BSTR layoutGridMode();
3407
3408     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3409     BSTR layoutGridType();
3410
3411     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3412     BSTR borderStyle();
3413
3414     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3415     BSTR borderColor();
3416
3417     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3418     BSTR borderWidth();
3419
3420     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3421     BSTR padding();
3422
3423     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3424     BSTR margin();
3425
3426     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3427     BSTR accelerator();
3428
3429     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3430     BSTR overflowX();
3431
3432     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3433     BSTR overflowY();
3434
3435     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3436     BSTR textTransform();
3437
3438     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3439     BSTR layoutFlow();
3440
3441     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3442     BSTR wordWrap();
3443
3444     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3445     BSTR textUnderlinePosition();
3446
3447     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3448     VARIANT_BOOL hasLayout();
3449
3450     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3451     VARIANT scrollbarBaseColor();
3452
3453     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3454     VARIANT scrollbarFaceColor();
3455
3456     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3457     VARIANT scrollbar3dLightColor();
3458
3459     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3460     VARIANT scrollbarShadowColor();
3461
3462     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3463     VARIANT scrollbarHighlightColor();
3464
3465     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3466     VARIANT scrollbarDarkShadowColor();
3467
3468     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3469     VARIANT scrollbarArrowColor();
3470
3471     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3472     VARIANT scrollbarTrackColor();
3473
3474     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3475     BSTR writingMode();
3476
3477     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3478     VARIANT zoom();
3479
3480     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3481     BSTR filter();
3482
3483     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3484     BSTR textAlignLast();
3485
3486     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3487     VARIANT textKashidaSpace();
3488
3489     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3490     VARIANT_BOOL isBlock();
3491
3492     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3493     BSTR textOverflow();
3494
3495     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3496     VARIANT minHeight();
3497
3498     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3499     VARIANT wordSpacing();
3500
3501     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3502     BSTR whiteSpace();
3503
3504     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3505     BSTR msInterpolationMode();
3506
3507     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3508     VARIANT maxHeight();
3509
3510     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3511     VARIANT minWidth();
3512
3513     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3514     VARIANT maxWidth();
3515 }
3516
3517 [
3518     noncreatable,
3519     uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3520 ]
3521 coclass HTMLCurrentStyle
3522 {
3523     [default] dispinterface DispHTMLCurrentStyle;
3524     interface IHTMLCurrentStyle;
3525     interface IHTMLCurrentStyle2;
3526     interface IHTMLCurrentStyle3;
3527     interface IHTMLCurrentStyle4;
3528 }
3529
3530 /*****************************************************************************
3531  *    IHTMLRect interface
3532  */
3533 [
3534     odl,
3535     oleautomation,
3536     dual,
3537     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3538 ]
3539 interface IHTMLRect : IDispatch
3540 {
3541     [propput, id(DISPID_IHTMLRECT_LEFT)]
3542     HRESULT left([in] LONG v);
3543
3544     [propget, id(DISPID_IHTMLRECT_LEFT)]
3545     HRESULT left([retval, out] LONG *p);
3546
3547     [propput, id(DISPID_IHTMLRECT_TOP)]
3548     HRESULT top([in] LONG v);
3549
3550     [propget, id(DISPID_IHTMLRECT_TOP)]
3551     HRESULT top([retval, out] LONG *p);
3552
3553     [propput, id(DISPID_IHTMLRECT_RIGHT)]
3554     HRESULT right([in] LONG v);
3555
3556     [propget, id(DISPID_IHTMLRECT_RIGHT)]
3557     HRESULT right([retval, out] LONG *p);
3558
3559     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3560     HRESULT bottom([in] LONG v);
3561
3562     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3563     HRESULT bottom([retval, out] LONG *p);
3564 }
3565
3566 /*****************************************************************************
3567  *    IHTMLRectCollection interface
3568  */
3569 [
3570     odl,
3571     oleautomation,
3572     dual,
3573     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3574 ]
3575 interface IHTMLRectCollection : IDispatch
3576 {
3577     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3578     HRESULT length([retval, out] LONG *p);
3579
3580     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3581     HRESULT _newEnum([retval, out] IUnknown **p);
3582
3583     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3584     HRESULT item(
3585         [in] VARIANT *pvarIndex,
3586         [retval, out] VARIANT *pvarResult);
3587 }
3588
3589 /*****************************************************************************
3590  *    IHTMLDOMNode interface
3591  */
3592 [
3593     odl,
3594     oleautomation,
3595     dual,
3596     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3597 ]
3598 interface IHTMLDOMNode : IDispatch
3599 {
3600     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3601     HRESULT nodeType([retval, out] LONG *p);
3602
3603     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3604     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3605
3606     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3607     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3608
3609     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3610     HRESULT childNodes([retval, out] IDispatch **p);
3611
3612     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3613     HRESULT attributes([retval, out] IDispatch **p);
3614
3615     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3616     HRESULT insertBefore(
3617         [in] IHTMLDOMNode *newChild,
3618         [optional, in] VARIANT refChild,
3619         [retval, out] IHTMLDOMNode **node);
3620
3621     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3622     HRESULT removeChild(
3623         [in] IHTMLDOMNode *oldChild,
3624         [retval, out] IHTMLDOMNode **node);
3625
3626     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3627     HRESULT replaceChild(
3628         [in] IHTMLDOMNode *newChild,
3629         [in] IHTMLDOMNode *oldChild,
3630         [retval, out] IHTMLDOMNode **node);
3631
3632     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3633     HRESULT cloneNode(
3634         [in] VARIANT_BOOL fDeep,
3635         [retval, out] IHTMLDOMNode **clonedNode);
3636
3637     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3638     HRESULT removeNode(
3639         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3640         [retval, out] IHTMLDOMNode **removed);
3641
3642     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3643     HRESULT swapNode(
3644         [in] IHTMLDOMNode *otherNode,
3645         [retval, out] IHTMLDOMNode **swappedNode);
3646
3647     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3648     HRESULT replaceNode(
3649         [in] IHTMLDOMNode *replacement,
3650         [retval, out] IHTMLDOMNode **replaced);
3651
3652     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3653     HRESULT appendChild(
3654         [in] IHTMLDOMNode *newChild,
3655         [retval, out] IHTMLDOMNode **node);
3656
3657     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3658     HRESULT nodeName([retval, out] BSTR *p);
3659
3660     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3661     HRESULT nodeValue([in] VARIANT v);
3662
3663     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3664     HRESULT nodeValue([retval, out] VARIANT *p);
3665
3666     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3667     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3668
3669     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3670     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3671
3672     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3673     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3674
3675     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3676     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3677 }
3678
3679 #define WINE_IHTMLDOMNODE_DISPINTERFACE_DECL                            \
3680     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]                         \
3681     LONG nodeType();                                                    \
3682                                                                         \
3683     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]                       \
3684     IHTMLDOMNode* parentNode();                                         \
3685                                                                         \
3686     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]                             \
3687     VARIANT_BOOL hasChildNodes();                                       \
3688                                                                         \
3689     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]                       \
3690     IDispatch* childNodes();                                            \
3691                                                                         \
3692     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]                       \
3693     IDispatch* attributes();                                            \
3694                                                                         \
3695     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]                              \
3696     IHTMLDOMNode* insertBefore(                                         \
3697             [in] IHTMLDOMNode* newChild,                                \
3698             [optional, in] VARIANT refChild);                           \
3699                                                                         \
3700     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]                               \
3701     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);             \
3702                                                                         \
3703     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]                              \
3704     IHTMLDOMNode* replaceChild(                                         \
3705         [in] IHTMLDOMNode* newChild,                                    \
3706         [in] IHTMLDOMNode* oldChild);                                   \
3707                                                                         \
3708     [id(DISPID_IHTMLDOMNODE_CLONENODE)]                                 \
3709     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);                   \
3710                                                                         \
3711     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]                                \
3712     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep); \
3713                                                                         \
3714     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]                                  \
3715     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);               \
3716                                                                         \
3717     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]                               \
3718     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);          \
3719                                                                         \
3720     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]                               \
3721     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);             \
3722                                                                         \
3723     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]                         \
3724     BSTR nodeName();                                                    \
3725                                                                         \
3726     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3727     void nodeValue(VARIANT v);                                          \
3728                                                                         \
3729     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3730     VARIANT nodeValue();                                                \
3731                                                                         \
3732     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]                       \
3733     IHTMLDOMNode* firstChild();                                         \
3734                                                                         \
3735     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]                        \
3736     IHTMLDOMNode* lastChild();                                          \
3737                                                                         \
3738     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]                  \
3739     IHTMLDOMNode* previousSibling();                                    \
3740                                                                         \
3741     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]                      \
3742     IHTMLDOMNode* nextSibling()
3743
3744 /*****************************************************************************
3745  *    IHTMLDOMNode2 interface
3746  */
3747 [
3748     odl,
3749     oleautomation,
3750     dual,
3751     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3752 ]
3753 interface IHTMLDOMNode2 : IDispatch
3754 {
3755     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3756     HRESULT ownerDocument([retval, out] IDispatch **p);
3757 }
3758
3759 #define WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL           \
3760     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]   \
3761     IDispatch *ownerDocument()
3762
3763 #define WINE_HTMLDOMNODE_DISPINTERFACE_DECL     \
3764     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;       \
3765     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL
3766
3767 /*****************************************************************************
3768  *    IHTMLDOMAttribute interface
3769  */
3770 [
3771     odl,
3772     oleautomation,
3773     dual,
3774     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3775 ]
3776 interface IHTMLDOMAttribute : IDispatch
3777 {
3778     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3779     HRESULT nodeName([retval, out] BSTR *p);
3780
3781     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3782     HRESULT nodeValue([in] VARIANT v);
3783
3784     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3785     HRESULT nodeValue([retval, out] VARIANT *p);
3786
3787     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3788     HRESULT specified([retval, out] VARIANT_BOOL *p);
3789 }
3790
3791 /*****************************************************************************
3792  *    IHTMLDOMAttribute2 interface
3793  */
3794 [
3795     odl,
3796     oleautomation,
3797     dual,
3798     uuid(3050f810-98b5-11cf-bb82-00aa00bdce0b)
3799 ]
3800 interface IHTMLDOMAttribute2 : IDispatch
3801 {
3802     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3803     HRESULT name([retval, out] BSTR *p);
3804
3805     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3806     HRESULT value([in] BSTR v);
3807
3808     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3809     HRESULT value([retval, out] BSTR *p);
3810
3811     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3812     HRESULT expando([retval, out] VARIANT_BOOL *p);
3813
3814     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3815     HRESULT nodeType([retval, out] long *p);
3816
3817     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3818     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3819
3820     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
3821     HRESULT childNodes([retval, out] IDispatch **p);
3822
3823     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
3824     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3825
3826     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
3827     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3828
3829     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
3830     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3831
3832     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
3833     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3834
3835     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
3836     HRESULT attributes([retval, out] IDispatch **p);
3837
3838     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
3839     HRESULT ownerDocument([retval, out] IDispatch **p);
3840
3841     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
3842     HRESULT insertBefore(
3843             [in] IHTMLDOMNode *newChild,
3844             [optional, in] VARIANT refChild,
3845             [retval, out] IHTMLDOMNode **node);
3846
3847     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
3848     HRESULT replaceChild(
3849             [in] IHTMLDOMNode *newChild,
3850             [in] IHTMLDOMNode *oldChild,
3851             [retval, out] IHTMLDOMNode **node);
3852
3853     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
3854     HRESULT removeChild(
3855             [in] IHTMLDOMNode *oldChild,
3856             [retval, out] IHTMLDOMNode **node);
3857
3858     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
3859     HRESULT appendChild(
3860             [in] IHTMLDOMNode *newChild,
3861             [retval, out] IHTMLDOMNode **node);
3862
3863     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
3864     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3865
3866     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
3867     HRESULT cloneNode(
3868             [in] VARIANT_BOOL fDeep,
3869             [retval, out] IHTMLDOMAttribute **clonedNode);
3870 }
3871
3872 /*****************************************************************************
3873  *    IHTMLDOMTextNode interface
3874  */
3875 [
3876     odl,
3877     oleautomation,
3878     dual,
3879     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3880 ]
3881 interface IHTMLDOMTextNode : IDispatch
3882 {
3883     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3884     HRESULT data([in] BSTR v);
3885
3886     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3887     HRESULT data([out, retval] BSTR *p);
3888
3889     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3890     HRESULT toString([out, retval] BSTR *String);
3891
3892     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3893     HRESULT length([out, retval] LONG *p);
3894
3895     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3896     HRESULT splitText(
3897             [in] LONG offset,
3898             [out, retval] IHTMLDOMNode **pRetNode);
3899 }
3900
3901 /*****************************************************************************
3902  *    IHTMLDOMTextNode2 interface
3903  */
3904 [
3905     odl,
3906     oleautomation,
3907     dual,
3908     uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
3909 ]
3910 interface IHTMLDOMTextNode2 : IDispatch
3911 {
3912     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3913     HRESULT substringData([in] LONG offset,[in] LONG Count,[retval, out] BSTR* pbstrsubString);
3914
3915     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3916     HRESULT appendData([in] BSTR bstrstring);
3917
3918     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3919     HRESULT insertData([in] LONG offset,[in] BSTR bstrstring);
3920
3921     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3922     HRESULT deleteData([in] LONG offset,[in] LONG Count);
3923
3924     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3925     HRESULT replaceData([in] LONG offset,[in] LONG Count,[in] BSTR bstrstring);
3926 }
3927
3928 [
3929     noncreatable,
3930     uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
3931 ]
3932 coclass HTMLDOMTextNode
3933 {
3934     [default]           dispinterface DispHTMLDOMTextNode;
3935                         interface IHTMLDOMTextNode;
3936                         interface IHTMLDOMTextNode2;
3937                         interface IHTMLDOMNode;
3938                         interface IHTMLDOMNode2;
3939 }
3940
3941 /*****************************************************************************
3942  *    IHTMLDOMImplementation interface
3943  */
3944 [
3945     odl,
3946     oleautomation,
3947     dual,
3948     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3949 ]
3950 interface IHTMLDOMImplementation : IDispatch
3951 {
3952     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3953     HRESULT hasFeature(
3954         [in] BSTR bstrfeature,
3955         [optional, in] VARIANT version,
3956         [retval, out] VARIANT_BOOL *pfHasFeature);
3957 }
3958
3959 /*****************************************************************************
3960  *    DispHTMLDOMAttribute dispinterface
3961  */
3962 [
3963     hidden,
3964     uuid(3050f564-98b5-11cf-bb82-00aa00bdce0b)
3965 ]
3966 dispinterface DispHTMLDOMAttribute
3967 {
3968  properties:
3969     methods:
3970     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3971     BSTR nodeName();
3972
3973     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3974     void nodeValue(VARIANT v);
3975
3976     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3977     VARIANT nodeValue();
3978
3979     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3980     VARIANT_BOOL specified();
3981
3982     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3983     BSTR name();
3984
3985     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3986     void value(BSTR v);
3987
3988     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3989     BSTR value();
3990
3991     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3992     VARIANT_BOOL expando();
3993
3994     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3995     long nodeType();
3996
3997     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3998     IHTMLDOMNode *parentNode();
3999
4000     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
4001     IDispatch *childNodes();
4002
4003     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
4004     IHTMLDOMNode *firstChild();
4005
4006     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
4007     IHTMLDOMNode *lastChild();
4008
4009     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
4010     IHTMLDOMNode *previousSibling();
4011
4012     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
4013     IHTMLDOMNode *nextSibling();
4014
4015     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
4016     IDispatch *attributes();
4017
4018     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
4019     IDispatch *ownerDocument();
4020
4021     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
4022     IHTMLDOMNode *insertBefore(
4023             [in] IHTMLDOMNode *newChild,
4024             [optional, in] VARIANT refChild);
4025
4026     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
4027     IHTMLDOMNode *replaceChild(
4028             [in] IHTMLDOMNode *newChild,
4029             [in] IHTMLDOMNode *oldChild);
4030
4031     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
4032     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
4033
4034     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
4035     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
4036
4037     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
4038     VARIANT_BOOL hasChildNodes();
4039
4040     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
4041     IHTMLDOMAttribute *cloneNode([in] VARIANT_BOOL fDeep);
4042
4043     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
4044     void ie8_nodeValue(VARIANT v);
4045
4046     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
4047     VARIANT ie8_nodeValue();
4048
4049     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
4050     void ie8_value(BSTR v);
4051
4052     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
4053     BSTR ie8_value();
4054
4055     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_SPECIFIED)]
4056     VARIANT_BOOL ie8_specified();
4057
4058     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_OWNERELEMENT)]
4059     IHTMLElement2 *ownerElement();
4060
4061     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
4062 }
4063
4064 /*****************************************************************************
4065  *    IHTMLDocumentCompatibleInfo interface
4066  */
4067 [
4068     odl,
4069     oleautomation,
4070     dual,
4071     uuid(3051041a-98b5-11cf-bb82-00aa00bdce0b)
4072 ]
4073 interface IHTMLDocumentCompatibleInfo : IDispatch
4074 {
4075     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_USERAGENT)]
4076     HRESULT userAgent([retval, out] BSTR *p);
4077
4078     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_VERSION)]
4079     HRESULT version([retval, out] BSTR *p);
4080 }
4081
4082 /*****************************************************************************
4083  *    IHTMLDocumentCompatibleInfoCollection interface
4084  */
4085 [
4086     odl,
4087     oleautomation,
4088     dual,
4089     uuid(30510418-98b5-11cf-bb82-00aa00bdce0b)
4090 ]
4091 interface IHTMLDocumentCompatibleInfoCollection : IDispatch
4092 {
4093     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_LENGTH)]
4094     HRESULT length([retval, out] long *p);
4095
4096     [id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_ITEM)]
4097     HRESULT item([in] long i, [retval, out]IHTMLDocumentCompatibleInfo **p);
4098 }
4099
4100 /*****************************************************************************
4101  *    DispHTMLDOMTextNode dispinterface
4102  */
4103 [
4104     hidden,
4105     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
4106 ]
4107 dispinterface DispHTMLDOMTextNode
4108 {
4109 properties:
4110 methods:
4111     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4112     void data(BSTR v);
4113
4114     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4115     BSTR data();
4116
4117     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
4118     BSTR toString();
4119
4120     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
4121     LONG length();
4122
4123     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
4124     IHTMLDOMNode *splitText([in] LONG offset);
4125
4126     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
4127     BSTR substringData(
4128             [in] LONG offset,
4129             [in] LONG Count);
4130
4131     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
4132     void appendData([in] BSTR bstrstring);
4133
4134     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
4135     void insertData(
4136             [in] LONG offset,
4137             [in] BSTR bstrstring);
4138
4139     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
4140     void deleteData(
4141             [in] LONG offset,
4142             [in] LONG Count);
4143
4144     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
4145     void replaceData(
4146             [in] LONG offset,
4147             [in] LONG Count,
4148             [in] BSTR bstrstring);
4149
4150     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
4151 }
4152
4153 /*****************************************************************************
4154  *    IHTMLAttributeCollection interface
4155  */
4156 [
4157     odl,
4158     oleautomation,
4159     dual,
4160     uuid(3050f4c3-98b5-11cf-bb82-00aa00bdce0b)
4161 ]
4162 interface IHTMLAttributeCollection : IDispatch
4163 {
4164     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION_LENGTH)]
4165     HRESULT length(
4166             [retval, out] long *p);
4167
4168     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION__NEWENUM), hidden, restricted]
4169     HRESULT _newEnum(
4170             [retval, out] IUnknown **p);
4171
4172     [id(DISPID_IHTMLATTRIBUTECOLLECTION_ITEM)]
4173     HRESULT item(
4174             [optional, in] VARIANT *name,
4175             [retval, out] IDispatch **pdisp);
4176 }
4177
4178 /*****************************************************************************
4179  *    IHTMLAttributeCollection2 interface
4180  */
4181 [
4182     odl,
4183     oleautomation,
4184     dual,
4185     uuid(3050f80a-98b5-11cf-bb82-00aa00bdce0b)
4186     ]
4187 interface IHTMLAttributeCollection2 : IDispatch
4188 {
4189     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_GETNAMEDITEM)]
4190     HRESULT getNamedItem(
4191             [in] BSTR bstrName,
4192             [retval, out] IHTMLDOMAttribute **newretNode);
4193
4194     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_SETNAMEDITEM)]
4195     HRESULT setNamedItem(
4196             [in] IHTMLDOMAttribute *ppNode,
4197             [retval, out] IHTMLDOMAttribute **newretNode);
4198
4199     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_REMOVENAMEDITEM)]
4200     HRESULT removeNamedItem(
4201             [in] BSTR bstrName,
4202             [retval, out] IHTMLDOMAttribute **newretNode);
4203 }
4204
4205 /*****************************************************************************
4206  *    IHTMLAttributeCollection3 interface
4207  */
4208 [
4209     odl,
4210     oleautomation,
4211     dual,
4212     uuid(30510469-98b5-11cf-bb82-00aa00bdce0b)
4213 ]
4214 interface IHTMLAttributeCollection3 : IDispatch
4215 {
4216     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
4217     HRESULT getNamedItem(
4218             [in] BSTR bstrName,
4219             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4220
4221     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
4222     HRESULT setNamedItem(
4223             [in] IHTMLDOMAttribute *pNodeIn,
4224             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4225
4226     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
4227     HRESULT removeNamedItem(
4228             [in] BSTR bstrName,
4229             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4230
4231     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
4232     HRESULT item(
4233             [in] long index,
4234             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4235
4236     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
4237     HRESULT length([retval, out] long *p);
4238 }
4239
4240 /*****************************************************************************
4241  *    DispHTMLAttributeCollection dispinterface
4242  */
4243 [
4244     hidden,
4245     uuid(3050f56c-98b5-11cf-bb82-00aa00bdce0b)
4246 ]
4247 dispinterface DispHTMLAttributeCollection
4248 {
4249 properties:
4250 methods:
4251     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION_LENGTH)]
4252     long length();
4253
4254     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION__NEWENUM), hidden, restricted]
4255     IUnknown *_newEnum();
4256
4257     [id(DISPID_IHTMLATTRIBUTECOLLECTION_ITEM)]
4258     IDispatch *item([optional, in] VARIANT *name);
4259
4260     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_GETNAMEDITEM)]
4261     IHTMLDOMAttribute *getNamedItem([in] BSTR bstrName);
4262
4263     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_SETNAMEDITEM)]
4264     IHTMLDOMAttribute *setNamedItem([in] IHTMLDOMAttribute *ppNode);
4265
4266     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_REMOVENAMEDITEM)]
4267     IHTMLDOMAttribute *removeNamedItem([in] BSTR bstrName);
4268
4269     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
4270     IHTMLDOMAttribute *ie8_getNamedItem([in] BSTR bstrName);
4271
4272     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
4273     IHTMLDOMAttribute *ie8_setNamedItem([in] IHTMLDOMAttribute *pNodeIn);
4274
4275     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
4276     IHTMLDOMAttribute *ie8_removeNamedItem([in] BSTR bstrName);
4277
4278     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
4279     IHTMLDOMAttribute *ie8_item([in] long index);
4280
4281     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
4282     long ie8_length();
4283
4284     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
4285     IDispatch *constructor();
4286 }
4287
4288 /*****************************************************************************
4289  *    IHTMLDOMChildrenCollection interface
4290  */
4291 [
4292     odl,
4293     oleautomation,
4294     dual,
4295     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
4296 ]
4297 interface IHTMLDOMChildrenCollection : IDispatch
4298 {
4299     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
4300     HRESULT length([out, retval] LONG *p);
4301
4302     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
4303     HRESULT _newEnum([out, retval] IUnknown **p);
4304
4305     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
4306     HRESULT item(
4307             [in] LONG index,
4308             [out, retval] IDispatch **ppItem);
4309 }
4310
4311 /*****************************************************************************
4312  *    DispDOMChildrenCollection dispinterface
4313  */
4314 [
4315     hidden,
4316     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
4317 ]
4318 dispinterface DispDOMChildrenCollection
4319 {
4320 properties:
4321 methods:
4322     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
4323     LONG length();
4324
4325     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
4326     IUnknown *_newEnum();
4327
4328     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
4329     IDispatch *item([in] LONG index);
4330 }
4331
4332 interface IHTMLElementCollection;
4333
4334 /*****************************************************************************
4335  *    IHTMLElement interface
4336  */
4337 [
4338     odl,
4339     dual,
4340     oleautomation,
4341     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
4342 ]
4343 interface IHTMLElement : IDispatch
4344 {
4345     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
4346     HRESULT setAttribute(
4347         [in] BSTR strAttributeName,
4348         [in] VARIANT AttributeValue,
4349         [defaultvalue(1), in] LONG lFlags);
4350
4351     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
4352     HRESULT getAttribute(
4353         [in] BSTR strAttributeName,
4354         [defaultvalue(0), in] LONG lFlags,
4355         [retval, out] VARIANT *AttributeValue);
4356
4357     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
4358     HRESULT removeAttribute(
4359         [in] BSTR strAttributeName,
4360         [defaultvalue(1), in] LONG lFlags,
4361         [retval, out] VARIANT_BOOL *pfSuccess);
4362
4363     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
4364     HRESULT className([in] BSTR v);
4365
4366     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
4367     HRESULT className([retval, out] BSTR *p);
4368
4369     [propput, id(DISPID_IHTMLELEMENT_ID)]
4370     HRESULT id([in] BSTR v);
4371
4372     [propget, id(DISPID_IHTMLELEMENT_ID)]
4373     HRESULT id([retval, out] BSTR *p);
4374
4375     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4376     HRESULT tagName([retval, out] BSTR *p);
4377
4378     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4379     HRESULT parentElement([retval, out] IHTMLElement **p);
4380
4381     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
4382     HRESULT style([retval, out] IHTMLStyle **p);
4383
4384     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
4385     HRESULT onhelp([in] VARIANT v);
4386
4387     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
4388     HRESULT onhelp([retval, out] VARIANT *p);
4389
4390     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
4391     HRESULT onclick([in] VARIANT v);
4392
4393     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
4394     HRESULT onclick([retval, out] VARIANT *p);
4395
4396     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4397     HRESULT ondblclick([in] VARIANT v);
4398
4399     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4400     HRESULT ondblclick([retval, out] VARIANT *p);
4401
4402     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4403     HRESULT onkeydown([in] VARIANT v);
4404
4405     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4406     HRESULT onkeydown([retval, out] VARIANT *p);
4407
4408     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4409     HRESULT onkeyup([in] VARIANT v);
4410
4411     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4412     HRESULT onkeyup([retval, out] VARIANT *p);
4413
4414     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4415     HRESULT onkeypress([in] VARIANT v);
4416
4417     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4418     HRESULT onkeypress([retval, out] VARIANT *p);
4419
4420     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4421     HRESULT onmouseout([in] VARIANT v);
4422
4423     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4424     HRESULT onmouseout([retval, out] VARIANT *p);
4425
4426     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4427     HRESULT onmouseover([in] VARIANT v);
4428
4429     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4430     HRESULT onmouseover([retval, out] VARIANT *p);
4431
4432     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4433     HRESULT onmousemove([in] VARIANT v);
4434
4435     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4436     HRESULT onmousemove([retval, out] VARIANT *p);
4437
4438     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4439     HRESULT onmousedown([in] VARIANT v);
4440
4441     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4442     HRESULT onmousedown([retval, out] VARIANT *p);
4443
4444     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4445     HRESULT onmouseup([in] VARIANT v);
4446
4447     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4448     HRESULT onmouseup([retval, out] VARIANT *p);
4449
4450     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4451     HRESULT document([retval, out] IDispatch **p);
4452
4453     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
4454     HRESULT title([in] BSTR v);
4455
4456     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
4457     HRESULT title([retval, out] BSTR *p);
4458
4459     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4460     HRESULT language([in] BSTR v);
4461
4462     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4463     HRESULT language([retval, out] BSTR *p);
4464
4465     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4466     HRESULT onselectstart([in] VARIANT v);
4467
4468     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4469     HRESULT onselectstart([retval, out] VARIANT *p);
4470
4471     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4472     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
4473
4474     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4475     HRESULT contains(
4476         [in] IHTMLElement *pChild,
4477         [retval, out] VARIANT_BOOL *pfResult);
4478
4479     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
4480     HRESULT sourceIndex([retval, out] LONG *p);
4481
4482     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4483     HRESULT recordNumber([retval, out] VARIANT *p);
4484
4485     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4486     HRESULT lang([in] BSTR v);
4487
4488     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4489     HRESULT lang([retval, out] BSTR *p);
4490
4491     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4492     HRESULT offsetLeft([retval, out] LONG *p);
4493
4494     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4495     HRESULT offsetTop([retval, out] LONG *p);
4496
4497     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4498     HRESULT offsetWidth([retval, out] LONG *p);
4499
4500     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4501     HRESULT offsetHeight([retval, out] LONG *p);
4502
4503     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4504     HRESULT offsetParent([retval, out] IHTMLElement **p);
4505
4506     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4507     HRESULT innerHTML([in] BSTR v);
4508
4509     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4510     HRESULT innerHTML([retval, out] BSTR *p);
4511
4512     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4513     HRESULT innerText([in] BSTR v);
4514
4515     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4516     HRESULT innerText([retval, out] BSTR *p);
4517
4518     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4519     HRESULT outerHTML([in] BSTR v);
4520
4521     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4522     HRESULT outerHTML([retval, out] BSTR *p);
4523
4524     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4525     HRESULT outerText([in] BSTR v);
4526
4527     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4528     HRESULT outerText([retval, out] BSTR *p);
4529
4530     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4531     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
4532
4533     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4534     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
4535
4536     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4537     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
4538
4539     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4540     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
4541
4542     [id(DISPID_IHTMLELEMENT_CLICK)]
4543     HRESULT click();
4544
4545     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4546     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
4547
4548     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4549     HRESULT ondragstart([in] VARIANT v);
4550
4551     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4552     HRESULT ondragstart([retval, out] VARIANT *p);
4553
4554     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4555     HRESULT toString([retval, out] BSTR *String);
4556
4557     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4558     HRESULT onbeforeupdate([in] VARIANT v);
4559
4560     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4561     HRESULT onbeforeupdate([retval, out] VARIANT *p);
4562
4563     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4564     HRESULT onafterupdate([in] VARIANT v);
4565
4566     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4567     HRESULT onafterupdate([retval, out] VARIANT *p);
4568
4569     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4570     HRESULT onerrorupdate([in] VARIANT v);
4571
4572     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4573     HRESULT onerrorupdate([retval, out] VARIANT *p);
4574
4575     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4576     HRESULT onrowexit([in] VARIANT v);
4577
4578     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4579     HRESULT onrowexit([retval, out] VARIANT *p);
4580
4581     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4582     HRESULT onrowenter([in] VARIANT v);
4583
4584     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4585     HRESULT onrowenter([retval, out] VARIANT *p);
4586
4587     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4588     HRESULT ondatasetchanged([in] VARIANT v);
4589
4590     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4591     HRESULT ondatasetchanged([retval, out] VARIANT *p);
4592
4593     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4594     HRESULT ondataavailable([in] VARIANT v);
4595
4596     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4597     HRESULT ondataavailable([retval, out] VARIANT *p);
4598
4599     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4600     HRESULT ondatasetcomplete([in] VARIANT v);
4601
4602     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4603     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
4604
4605     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4606     HRESULT onfilterchange([in] VARIANT v);
4607
4608     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4609     HRESULT onfilterchange([retval, out] VARIANT *p);
4610
4611     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4612     HRESULT children([retval, out] IDispatch **p);
4613
4614     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4615     HRESULT all([retval, out] IDispatch **p);
4616 }
4617
4618 #define WINE_IHTMLELEMENT_DISPINTERFACE_DECL                            \
4619     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]                              \
4620     void setAttribute(                                                  \
4621         [in] BSTR strAttributeName,                                     \
4622         [in] VARIANT AttValue,                                          \
4623         [defaultvalue(1), in] LONG lFlags);                             \
4624                                                                         \
4625     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]                              \
4626     VARIANT getAttribute(                                               \
4627         [in] BSTR strAttributeName,                                     \
4628         [defaultvalue(0), in] LONG lFlags);                             \
4629                                                                         \
4630     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]                           \
4631     VARIANT_BOOL removeAttribute(                                       \
4632         [in] BSTR strAttributeName,                                     \
4633         [defaultvalue(1), in] LONG lFlags);                             \
4634                                                                         \
4635     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4636     void className(BSTR v);                                             \
4637                                                                         \
4638     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4639     BSTR className();                                                   \
4640                                                                         \
4641     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4642     void id(BSTR v);                                                    \
4643                                                                         \
4644     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4645     BSTR id();                                                          \
4646                                                                         \
4647     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]                          \
4648     BSTR tagName();                                                     \
4649                                                                         \
4650     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]                    \
4651     IHTMLElement *parentElement();                                      \
4652                                                                         \
4653     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]              \
4654     IHTMLStyle *style();                                                \
4655                                                                         \
4656     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4657     void onhelp(VARIANT v);                                             \
4658                                                                         \
4659     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4660     VARIANT onhelp();                                                   \
4661                                                                         \
4662     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4663     void onclick(VARIANT v);                                            \
4664                                                                         \
4665     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4666     VARIANT onclick();                                                  \
4667                                                                         \
4668     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4669     void ondblclick(VARIANT v);                                         \
4670                                                                         \
4671     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4672     VARIANT ondblclick();                                               \
4673                                                                         \
4674     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4675     void onkeydown(VARIANT v);                                          \
4676                                                                         \
4677     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4678     VARIANT onkeydown();                                                \
4679                                                                         \
4680     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4681     void onkeyup(VARIANT v);                                            \
4682                                                                         \
4683     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4684     VARIANT onkeyup();                                                  \
4685                                                                         \
4686     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4687     void onkeypress(VARIANT v);                                         \
4688                                                                         \
4689     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4690     VARIANT onkeypress();                                               \
4691                                                                         \
4692     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4693     void onmouseout(VARIANT v);                                         \
4694                                                                         \
4695     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4696     VARIANT onmouseout();                                               \
4697                                                                         \
4698     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4699     void onmouseover(VARIANT v);                                        \
4700                                                                         \
4701     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4702     VARIANT onmouseover();                                              \
4703                                                                         \
4704     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4705     void onmousemove(VARIANT v);                                        \
4706                                                                         \
4707     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4708     VARIANT onmousemove();                                              \
4709                                                                         \
4710     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4711     void onmousedown(VARIANT v);                                        \
4712                                                                         \
4713     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4714     VARIANT onmousedown();                                              \
4715                                                                         \
4716     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4717     void onmouseup(VARIANT v);                                          \
4718                                                                         \
4719     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4720     VARIANT onmouseup();                                                \
4721                                                                         \
4722     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();  \
4723                                                                         \
4724     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4725     void title(BSTR v);                                                 \
4726                                                                         \
4727     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4728     BSTR title();                                                       \
4729                                                                         \
4730     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4731     void language(BSTR v);                                              \
4732                                                                         \
4733     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4734     BSTR language();                                                    \
4735                                                                         \
4736     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4737     void onselectstart(VARIANT v);                                      \
4738                                                                         \
4739     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4740     VARIANT onselectstart();                                            \
4741                                                                         \
4742     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]                            \
4743     void scrollIntoView([optional, in] VARIANT varargStart);            \
4744                                                                         \
4745     [id(DISPID_IHTMLELEMENT_CONTAINS)]                                  \
4746     VARIANT_BOOL contains([in] IHTMLElement* pChild);                   \
4747                                                                         \
4748     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]            \
4749     LONG sourceIndex();                                                 \
4750                                                                         \
4751     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]                     \
4752     VARIANT recordNumber();                                             \
4753                                                                         \
4754     [propput, id(DISPID_IHTMLELEMENT_LANG)]                             \
4755     void lang(BSTR v);                                                  \
4756                                                                         \
4757     [propget, id(DISPID_IHTMLELEMENT_LANG)]                             \
4758     BSTR lang();                                                        \
4759                                                                         \
4760     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]                       \
4761     LONG offsetLeft();                                                  \
4762                                                                         \
4763     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]                        \
4764     LONG offsetTop();                                                   \
4765                                                                         \
4766     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]                      \
4767     LONG offsetWidth();                                                 \
4768                                                                         \
4769     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]                     \
4770     LONG offsetHeight();                                                \
4771                                                                         \
4772     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]                     \
4773     IHTMLElement* offsetParent();                                       \
4774                                                                         \
4775     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4776     void innerHTML(BSTR v);                                             \
4777                                                                         \
4778     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4779     BSTR innerHTML();                                                   \
4780                                                                         \
4781     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4782     void innerText(BSTR v);                                             \
4783                                                                         \
4784     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4785     BSTR innerText();                                                   \
4786                                                                         \
4787     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4788     void outerHTML(BSTR v);                                             \
4789                                                                         \
4790     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4791     BSTR outerHTML();                                                   \
4792                                                                         \
4793     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4794     void outerText(BSTR v);                                             \
4795                                                                         \
4796     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4797     BSTR outerText();                                                   \
4798                                                                         \
4799     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]                        \
4800     void insertAdjacentHTML(                                            \
4801         [in] BSTR where,                                                \
4802         [in] BSTR html);                                                \
4803                                                                         \
4804     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]                        \
4805     void insertAdjacentText(                                            \
4806         [in] BSTR where,                                                \
4807         [in] BSTR text);                                                \
4808                                                                         \
4809     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]                   \
4810     IHTMLElement* parentTextEdit();                                     \
4811                                                                         \
4812     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]                       \
4813     VARIANT_BOOL isTextEdit();                                          \
4814                                                                         \
4815     [id(DISPID_IHTMLELEMENT_CLICK)]                                     \
4816     void click();                                                       \
4817                                                                         \
4818     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]                          \
4819     IHTMLFiltersCollection* filters();                                  \
4820                                                                         \
4821     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4822     void ondragstart(VARIANT v);                                        \
4823                                                                         \
4824     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4825     VARIANT ondragstart();                                              \
4826                                                                         \
4827     [id(DISPID_IHTMLELEMENT_TOSTRING)]                                  \
4828     BSTR toString();                                                    \
4829                                                                         \
4830     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4831     void onbeforeupdate(VARIANT v);                                     \
4832                                                                         \
4833     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4834     VARIANT onbeforeupdate();                                           \
4835                                                                         \
4836     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4837     void onafterupdate(VARIANT v);                                      \
4838                                                                         \
4839     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4840     VARIANT onafterupdate();                                            \
4841                                                                         \
4842     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4843     void onerrorupdate(VARIANT v);                                      \
4844                                                                         \
4845     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4846     VARIANT onerrorupdate();                                            \
4847                                                                         \
4848     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4849     void onrowexit(VARIANT v);                                          \
4850                                                                         \
4851     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4852     VARIANT onrowexit();                                                \
4853                                                                         \
4854     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4855     void onrowenter(VARIANT v);                                         \
4856                                                                         \
4857     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4858     VARIANT onrowenter();                                               \
4859                                                                         \
4860     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4861     void ondatasetchanged(VARIANT v);                                   \
4862                                                                         \
4863     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4864     VARIANT ondatasetchanged();                                         \
4865                                                                         \
4866     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4867     void ondataavailable(VARIANT v);                                    \
4868                                                                         \
4869     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4870     VARIANT ondataavailable();                                          \
4871                                                                         \
4872     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4873     void ondatasetcomplete(VARIANT v);                                  \
4874                                                                         \
4875     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4876     VARIANT ondatasetcomplete();                                        \
4877                                                                         \
4878     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4879     void onfilterchange(VARIANT v);                                     \
4880                                                                         \
4881     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4882     VARIANT onfilterchange();                                           \
4883                                                                         \
4884     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]                         \
4885     IDispatch* children();                                              \
4886                                                                         \
4887     [propget, id(DISPID_IHTMLELEMENT_ALL)]                              \
4888     IDispatch* all()
4889
4890 /*****************************************************************************
4891  *    IHTMLElement2 interface
4892  */
4893 [
4894     odl,
4895     oleautomation,
4896     dual,
4897     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
4898 ]
4899 interface IHTMLElement2 : IDispatch
4900 {
4901     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4902     HRESULT scopeName([retval, out] BSTR *p);
4903
4904     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4905     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
4906
4907     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4908     HRESULT releaseCapture();
4909
4910     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4911     HRESULT onlosecapture([in] VARIANT v);
4912
4913     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4914     HRESULT onlosecapture([retval, out] VARIANT *p);
4915
4916     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4917     HRESULT componentFromPoint(
4918         [in] LONG x,
4919         [in] LONG y,
4920         [retval, out] BSTR *component);
4921
4922     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4923     HRESULT doScroll([optional, in] VARIANT component);
4924
4925     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4926     HRESULT onscroll([in] VARIANT v);
4927
4928     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4929     HRESULT onscroll([retval, out] VARIANT *p);
4930
4931     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4932     HRESULT ondrag([in] VARIANT v);
4933
4934     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4935     HRESULT ondrag([retval, out] VARIANT *p);
4936
4937     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4938     HRESULT ondragend([in] VARIANT v);
4939
4940     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4941     HRESULT ondragend([retval, out] VARIANT *p);
4942
4943     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4944     HRESULT ondragenter([in] VARIANT v);
4945
4946     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4947     HRESULT ondragenter([retval, out] VARIANT *p);
4948
4949     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4950     HRESULT ondragover([in] VARIANT v);
4951
4952     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4953     HRESULT ondragover([retval, out] VARIANT *p);
4954
4955     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4956     HRESULT ondragleave([in] VARIANT v);
4957
4958     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4959     HRESULT ondragleave([retval, out] VARIANT *p);
4960
4961     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4962     HRESULT ondrop([in] VARIANT v);
4963
4964     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4965     HRESULT ondrop([retval, out] VARIANT *p);
4966
4967     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4968     HRESULT onbeforecut([in] VARIANT v);
4969
4970     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4971     HRESULT onbeforecut([retval, out] VARIANT *p);
4972
4973     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4974     HRESULT oncut([in] VARIANT v);
4975
4976     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4977     HRESULT oncut([retval, out] VARIANT *p);
4978
4979     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4980     HRESULT onbeforecopy([in] VARIANT v);
4981
4982     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4983     HRESULT onbeforecopy([retval, out] VARIANT *p);
4984
4985     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4986     HRESULT oncopy([in] VARIANT v);
4987
4988     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4989     HRESULT oncopy([retval, out] VARIANT *p);
4990
4991     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4992     HRESULT onbeforepaste([in] VARIANT v);
4993
4994     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4995     HRESULT onbeforepaste([retval, out] VARIANT *p);
4996
4997     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4998     HRESULT onpaste([in] VARIANT v);
4999
5000     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5001     HRESULT onpaste([retval, out] VARIANT *p);
5002
5003     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
5004     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
5005
5006     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5007     HRESULT onpropertychange([in] VARIANT v);
5008
5009     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5010     HRESULT onpropertychange([retval, out] VARIANT *p);
5011
5012     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
5013     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
5014
5015     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
5016     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
5017
5018     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
5019     HRESULT setExpression(
5020         [in] BSTR propname,
5021         [in] BSTR expression,
5022         [defaultvalue(""), in] BSTR language);
5023
5024     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
5025     HRESULT getExpression(
5026         [in] BSTR propname,
5027         [retval, out] VARIANT *expression);
5028
5029     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
5030     HRESULT removeExpression(
5031         [in] BSTR propname,
5032         [retval, out] VARIANT_BOOL *pfSuccess);
5033
5034     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5035     HRESULT tabIndex([in] short v);
5036
5037     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5038     HRESULT tabIndex([retval, out] short *p);
5039
5040     [id(DISPID_IHTMLELEMENT2_FOCUS)]
5041     HRESULT focus();
5042
5043     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5044     HRESULT accessKey([in] BSTR v);
5045
5046     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5047     HRESULT accessKey([retval, out] BSTR *p);
5048
5049     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5050     HRESULT onblur([in] VARIANT v);
5051
5052     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5053     HRESULT onblur([retval, out] VARIANT *p);
5054
5055     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5056     HRESULT onfocus([in] VARIANT v);
5057
5058     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5059     HRESULT onfocus([retval, out] VARIANT *p);
5060
5061     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5062     HRESULT onresize([in] VARIANT v);
5063
5064     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5065     HRESULT onresize([retval, out] VARIANT *p);
5066
5067     [id(DISPID_IHTMLELEMENT2_BLUR)]
5068     HRESULT blur();
5069
5070     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
5071     HRESULT addFilter([in] IUnknown *pUnk);
5072
5073     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
5074     HRESULT removeFilter([in] IUnknown *pUnk);
5075
5076     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
5077     HRESULT clientHeight([retval, out] LONG *p);
5078
5079     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
5080     HRESULT clientWidth([retval, out] LONG *p);
5081
5082     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
5083     HRESULT clientTop([retval, out] LONG *p);
5084
5085     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
5086     HRESULT clientLeft([retval, out] LONG *p);
5087
5088     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
5089     HRESULT attachEvent(
5090         [in] BSTR event,
5091         [in] IDispatch *pDisp,
5092         [retval, out] VARIANT_BOOL *pfResult);
5093
5094     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
5095     HRESULT detachEvent(
5096         [in] BSTR event,
5097         [in] IDispatch *pDisp);
5098
5099     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
5100     HRESULT readyState([retval, out] VARIANT *p);
5101
5102     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5103     HRESULT onreadystatechange([in] VARIANT v);
5104
5105     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5106     HRESULT onreadystatechange([retval, out] VARIANT *p);
5107
5108     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5109     HRESULT onrowsdelete([in] VARIANT v);
5110
5111     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5112     HRESULT onrowsdelete([retval, out] VARIANT *p);
5113
5114     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5115     HRESULT onrowsinserted([in] VARIANT v);
5116
5117     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5118     HRESULT onrowsinserted([retval, out] VARIANT *p);
5119
5120     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5121     HRESULT oncellchange([in] VARIANT v);
5122
5123     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5124     HRESULT oncellchange([retval, out] VARIANT *p);
5125
5126     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5127     HRESULT dir([in] BSTR v);
5128
5129     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5130     HRESULT dir([retval, out] BSTR *p);
5131
5132     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5133     HRESULT createControlRange([retval, out] IDispatch **range);
5134
5135     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5136     HRESULT scrollHeight([retval, out] LONG *p);
5137
5138     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5139     HRESULT scrollWidth([retval, out] LONG *p);
5140
5141     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5142     HRESULT scrollTop([in] LONG v);
5143
5144     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5145     HRESULT scrollTop([retval, out] LONG *p);
5146
5147     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5148     HRESULT scrollLeft([in] LONG v);
5149
5150     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5151     HRESULT scrollLeft([retval, out] LONG *p);
5152
5153     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5154     HRESULT clearAttributes();
5155
5156     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
5157     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
5158
5159     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5160     HRESULT oncontextmenu([in] VARIANT v);
5161
5162     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5163     HRESULT oncontextmenu([retval, out] VARIANT *p);
5164
5165     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5166     HRESULT insertAdjacentElement(
5167         [in] BSTR where,
5168         [in] IHTMLElement *insertedElement,
5169         [retval, out] IHTMLElement **inserted);
5170
5171     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5172     HRESULT applyElement(
5173         [in] IHTMLElement *apply,
5174         [in] BSTR where,
5175         [retval, out] IHTMLElement **applied);
5176
5177     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5178     HRESULT getAdjacentText(
5179         [in] BSTR where,
5180         [retval, out] BSTR *text);
5181
5182     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5183     HRESULT replaceAdjacentText(
5184         [in] BSTR where,
5185         [in] BSTR newText,
5186         [retval, out] BSTR *oldText);
5187
5188     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5189     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
5190
5191     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5192     HRESULT addBehavior(
5193         [in] BSTR bstrUrl,
5194         [optional, in] VARIANT *pvarFactory,
5195         [retval, out] LONG *pCookie);
5196
5197     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5198     HRESULT removeBehavior(
5199         [in] LONG cookie,
5200         [retval, out] VARIANT_BOOL *pfResult);
5201
5202     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5203     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
5204
5205     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5206     HRESULT behaviorUrns([retval, out] IDispatch **p);
5207
5208     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5209     HRESULT tagUrn([in] BSTR v);
5210
5211     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5212     HRESULT tagUrn([retval, out] BSTR *p);
5213
5214     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5215     HRESULT onbeforeeditfocus([in] VARIANT v);
5216
5217     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5218     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
5219
5220     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5221     HRESULT readyStateValue([retval, out] LONG *p);
5222
5223     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5224     HRESULT getElementsByTagName(
5225         [in] BSTR v,
5226         [retval, out] IHTMLElementCollection **pelColl);
5227 }
5228
5229 #define WINE_IHTMLELEMENT2_DISPINTERFACE_DECL                           \
5230     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]                       \
5231     BSTR scopeName();                                                   \
5232                                                                         \
5233     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]                               \
5234     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture); \
5235                                                                         \
5236     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]                           \
5237     void releaseCapture();                                              \
5238                                                                         \
5239     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
5240     void onlosecapture(VARIANT v);                                      \
5241                                                                         \
5242     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
5243     VARIANT onlosecapture();                                            \
5244                                                                         \
5245     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]                       \
5246     BSTR componentFromPoint([in] LONG x,[in] LONG y);                   \
5247                                                                         \
5248     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]                                 \
5249     void doScroll([optional, in] VARIANT component);                    \
5250                                                                         \
5251     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
5252     void onscroll(VARIANT v);                                           \
5253                                                                         \
5254     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
5255     VARIANT onscroll();                                                 \
5256                                                                         \
5257     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
5258     void ondrag(VARIANT v);                                             \
5259                                                                         \
5260     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
5261     VARIANT ondrag();                                                   \
5262                                                                         \
5263     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
5264     void ondragend(VARIANT v);                                          \
5265                                                                         \
5266     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
5267     VARIANT ondragend();                                                \
5268                                                                         \
5269     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
5270     void ondragenter(VARIANT v);                                        \
5271                                                                         \
5272     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
5273     VARIANT ondragenter();                                              \
5274                                                                         \
5275     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
5276     void ondragover(VARIANT v);                                         \
5277                                                                         \
5278     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
5279     VARIANT ondragover();                                               \
5280                                                                         \
5281     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
5282     void ondragleave(VARIANT v);                                        \
5283                                                                         \
5284     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
5285     VARIANT ondragleave();                                              \
5286                                                                         \
5287     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
5288     void ondrop(VARIANT v);                                             \
5289                                                                         \
5290     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
5291     VARIANT ondrop();                                                   \
5292                                                                         \
5293     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
5294     void onbeforecut(VARIANT v);                                        \
5295                                                                         \
5296     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
5297     VARIANT onbeforecut();                                              \
5298                                                                         \
5299     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
5300     void oncut(VARIANT v);                                              \
5301                                                                         \
5302     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
5303     VARIANT oncut();                                                    \
5304                                                                         \
5305     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
5306     void onbeforecopy(VARIANT v);                                       \
5307                                                                         \
5308     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
5309     VARIANT onbeforecopy();                                             \
5310                                                                         \
5311     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
5312     void oncopy(VARIANT v);                                             \
5313                                                                         \
5314     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
5315     VARIANT oncopy();                                                   \
5316                                                                         \
5317     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
5318     void onbeforepaste(VARIANT v);                                      \
5319                                                                         \
5320     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
5321     VARIANT onbeforepaste();                                            \
5322                                                                         \
5323     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
5324     void onpaste(VARIANT v);                                            \
5325                                                                         \
5326     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
5327     VARIANT onpaste();                                                  \
5328                                                                         \
5329     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]      \
5330     IHTMLCurrentStyle* currentStyle();                                  \
5331                                                                         \
5332     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
5333     void onpropertychange(VARIANT v);                                   \
5334                                                                         \
5335     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
5336     VARIANT onpropertychange();                                         \
5337                                                                         \
5338     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]                           \
5339     IHTMLRectCollection* getClientRects();                              \
5340                                                                         \
5341     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]                    \
5342     IHTMLRect* getBoundingClientRect();                                 \
5343                                                                         \
5344     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]                            \
5345     void setExpression(                                                 \
5346         [in] BSTR propname,                                             \
5347         [in] BSTR expr,                                                 \
5348         [defaultvalue(""), in] BSTR lang);                              \
5349                                                                         \
5350     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]                            \
5351     VARIANT getExpression([in] BSTR propname);                          \
5352                                                                         \
5353     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]                         \
5354     VARIANT_BOOL removeExpression([in] BSTR propname);                  \
5355                                                                         \
5356     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
5357     void tabIndex(short v);                                             \
5358                                                                         \
5359     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
5360     short tabIndex();                                                   \
5361                                                                         \
5362     [id(DISPID_IHTMLELEMENT2_FOCUS)]                                    \
5363     void focus();                                                       \
5364                                                                         \
5365     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
5366     void accessKey(BSTR v);                                             \
5367                                                                         \
5368     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
5369     BSTR accessKey();                                                   \
5370                                                                         \
5371     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5372     void onblur(VARIANT v);                                             \
5373                                                                         \
5374     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5375     VARIANT onblur();                                                   \
5376                                                                         \
5377     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5378     void onfocus(VARIANT v);                                            \
5379                                                                         \
5380     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5381     VARIANT onfocus();                                                  \
5382                                                                         \
5383     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5384     void onresize(VARIANT v);                                           \
5385                                                                         \
5386     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5387     VARIANT onresize();                                                 \
5388                                                                         \
5389     [id(DISPID_IHTMLELEMENT2_BLUR)]                                     \
5390     void blur();                                                        \
5391                                                                         \
5392     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]                                \
5393     void addFilter([in] IUnknown* pUnk);                                \
5394                                                                         \
5395     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]                             \
5396     void removeFilter([in] IUnknown* pUnk);                             \
5397                                                                         \
5398     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] \
5399     LONG clientHeight();                                                \
5400                                                                         \
5401     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] \
5402     LONG clientWidth();                                                 \
5403                                                                         \
5404     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] \
5405     LONG clientTop();                                                   \
5406                                                                         \
5407     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] \
5408     LONG clientLeft();                                                  \
5409                                                                         \
5410     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]                              \
5411     VARIANT_BOOL attachEvent(                                           \
5412             [in] BSTR event,                                            \
5413             [in] IDispatch* pDisp);                                     \
5414                                                                         \
5415     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]                              \
5416     void detachEvent(                                                   \
5417             [in] BSTR event,                                            \
5418             [in] IDispatch* pDisp);                                     \
5419                                                                         \
5420     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState(); \
5421                                                                         \
5422     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5423     void onreadystatechange(VARIANT v);                                 \
5424                                                                         \
5425     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5426     VARIANT onreadystatechange();                                       \
5427                                                                         \
5428     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5429     void onrowsdelete(VARIANT v);                                       \
5430                                                                         \
5431     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5432     VARIANT onrowsdelete();                                             \
5433                                                                         \
5434     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5435     void onrowsinserted(VARIANT v);                                     \
5436                                                                         \
5437     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5438     VARIANT onrowsinserted();                                           \
5439                                                                         \
5440     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5441     void oncellchange(VARIANT v);                                       \
5442                                                                         \
5443     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5444     VARIANT oncellchange();                                             \
5445                                                                         \
5446     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5447     void dir(BSTR v);                                                   \
5448                                                                         \
5449     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5450     BSTR dir();                                                         \
5451                                                                         \
5452     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]                       \
5453     IDispatch* createControlRange();                                    \
5454                                                                         \
5455     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] \
5456     LONG scrollHeight();                                                \
5457                                                                         \
5458     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] \
5459     LONG scrollWidth();                                                 \
5460                                                                         \
5461     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5462     void scrollTop(LONG v);                                             \
5463                                                                         \
5464     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5465     LONG scrollTop();                                                   \
5466                                                                         \
5467     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5468     void scrollLeft(LONG v);                                            \
5469                                                                         \
5470     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5471     LONG scrollLeft();                                                  \
5472                                                                         \
5473     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]                          \
5474     void clearAttributes();                                             \
5475                                                                         \
5476     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5477     void oncontextmenu(VARIANT v);                                      \
5478                                                                         \
5479     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5480     VARIANT oncontextmenu();                                            \
5481                                                                         \
5482     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]                    \
5483     IHTMLElement* insertAdjacentElement(                                \
5484         [in] BSTR where,                                                \
5485         [in] IHTMLElement* insertedElement);                            \
5486                                                                         \
5487     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]                             \
5488     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where); \
5489                                                                         \
5490     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]                          \
5491     BSTR getAdjacentText([in] BSTR where);                              \
5492                                                                         \
5493     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]                      \
5494     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);        \
5495                                                                         \
5496     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]                 \
5497     VARIANT_BOOL canHaveChildren();                                     \
5498                                                                         \
5499     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]                              \
5500     LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory); \
5501                                                                         \
5502     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]                           \
5503     VARIANT_BOOL removeBehavior([in] LONG cookie);                      \
5504                                                                         \
5505     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]      \
5506     IHTMLStyle* runtimeStyle();                                         \
5507                                                                         \
5508     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]                    \
5509     IDispatch* behaviorUrns();                                          \
5510                                                                         \
5511     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5512     void tagUrn(BSTR v);                                                \
5513                                                                         \
5514     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5515     BSTR tagUrn();                                                      \
5516                                                                         \
5517     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5518     void onbeforeeditfocus(VARIANT v);                                  \
5519                                                                         \
5520     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5521     VARIANT onbeforeeditfocus();                                        \
5522                                                                         \
5523     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] \
5524     LONG readyStateValue();                                             \
5525                                                                         \
5526     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]                     \
5527     IHTMLElementCollection* getElementsByTagName([in] BSTR v)
5528
5529 /*****************************************************************************
5530  *    IHTMLElement3 interface
5531  */
5532 [
5533     odl,
5534     oleautomation,
5535     dual,
5536     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
5537 ]
5538 interface IHTMLElement3 : IDispatch
5539 {
5540     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
5541     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
5542
5543     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5544     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
5545
5546     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5547     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
5548
5549     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5550     HRESULT onlayoutcomplete([in] VARIANT v);
5551
5552     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5553     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
5554
5555     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5556     HRESULT onpage([in] VARIANT v);
5557
5558     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5559     HRESULT onpage([retval, out] VARIANT * p);
5560
5561     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5562     HRESULT inflateBlock([in] VARIANT_BOOL v);
5563
5564     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5565     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
5566
5567     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5568     HRESULT onbeforedeactivate([in] VARIANT v);
5569
5570     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5571     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
5572
5573     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
5574
5575     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5576     HRESULT contentEditable([in] BSTR v);
5577
5578     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5579     HRESULT contentEditable([retval, out] BSTR * p);
5580
5581     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5582     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
5583
5584     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5585     HRESULT hideFocus([in] VARIANT_BOOL v);
5586
5587     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5588     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
5589
5590     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5591     HRESULT disabled([in] VARIANT_BOOL v);
5592
5593     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5594     HRESULT disabled([retval, out] VARIANT_BOOL * p);
5595
5596     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5597     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
5598
5599     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5600     HRESULT onmove([in] VARIANT v);
5601
5602     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5603     HRESULT onmove([retval, out] VARIANT * p);
5604
5605     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5606     HRESULT oncontrolselect([in] VARIANT v);
5607
5608     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5609     HRESULT oncontrolselect([retval, out] VARIANT * p);
5610
5611     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5612     HRESULT fireEvent(
5613         [in] BSTR bstrEventName,
5614         [optional, in] VARIANT* pvarEventObject,
5615         [retval, out] VARIANT_BOOL* pfCancelled);
5616
5617     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5618     HRESULT onresizestart([in] VARIANT v);
5619
5620     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5621     HRESULT onresizestart([retval, out] VARIANT * p);
5622
5623     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5624     HRESULT onresizeend([in] VARIANT v);
5625
5626     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5627     HRESULT onresizeend([retval, out] VARIANT * p);
5628
5629     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5630     HRESULT onmovestart([in] VARIANT v);
5631
5632     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5633     HRESULT onmovestart([retval, out] VARIANT * p);
5634
5635     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5636     HRESULT onmoveend([in] VARIANT v);
5637
5638     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5639     HRESULT onmoveend([retval, out] VARIANT * p);
5640
5641     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5642     HRESULT onmouseenter([in] VARIANT v);
5643
5644     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5645     HRESULT onmouseenter([retval, out] VARIANT * p);
5646
5647     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5648     HRESULT onmouseleave([in] VARIANT v);
5649
5650     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5651     HRESULT onmouseleave([retval, out] VARIANT * p);
5652
5653     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5654     HRESULT onactivate([in] VARIANT v);
5655
5656     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5657     HRESULT onactivate([retval, out] VARIANT * p);
5658
5659     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5660     HRESULT ondeactivate([in] VARIANT v);
5661
5662     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5663     HRESULT ondeactivate([retval, out] VARIANT * p);
5664
5665     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
5666     VARIANT_BOOL* pfRet);
5667
5668     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5669     HRESULT glyphMode([retval, out] LONG * p);
5670 }
5671
5672 #define WINE_IHTMLELEMENT3_DISPINTERFACE_DECL                           \
5673                                                                         \
5674     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]                          \
5675     void mergeAttributes(                                               \
5676             [in] IHTMLElement* mergeThis,                               \
5677             [optional, in] VARIANT* pvarFlags);                         \
5678                                                                         \
5679     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]                     \
5680     VARIANT_BOOL isMultiLine();                                         \
5681                                                                         \
5682     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]                     \
5683     VARIANT_BOOL canHaveHTML();                                         \
5684                                                                         \
5685     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5686     void onlayoutcomplete(VARIANT v);                                   \
5687                                                                         \
5688     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5689     VARIANT onlayoutcomplete();                                         \
5690                                                                         \
5691     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5692     void onpage(VARIANT v);                                             \
5693                                                                         \
5694     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5695     VARIANT onpage();                                                   \
5696                                                                         \
5697     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5698     void inflateBlock(VARIANT_BOOL v);                                  \
5699                                                                         \
5700     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5701     VARIANT_BOOL inflateBlock();                                        \
5702                                                                         \
5703     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5704     void onbeforedeactivate(VARIANT v);                                 \
5705                                                                         \
5706     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5707     VARIANT onbeforedeactivate();                                       \
5708                                                                         \
5709     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]                                \
5710     void setActive();                                                   \
5711                                                                         \
5712     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5713     void contentEditable(BSTR v);                                       \
5714                                                                         \
5715     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5716     BSTR contentEditable();                                             \
5717                                                                         \
5718     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]               \
5719     VARIANT_BOOL isContentEditable();                                   \
5720                                                                         \
5721     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5722     void hideFocus(VARIANT_BOOL v);                                     \
5723                                                                         \
5724     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5725     VARIANT_BOOL hideFocus();                                           \
5726                                                                         \
5727     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5728     void disabled(VARIANT_BOOL v);                                      \
5729                                                                         \
5730     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5731     VARIANT_BOOL disabled();                                            \
5732                                                                         \
5733     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]                      \
5734     VARIANT_BOOL isDisabled();                                          \
5735                                                                         \
5736     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5737     void onmove(VARIANT v);                                             \
5738                                                                         \
5739     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5740     VARIANT onmove();                                                   \
5741                                                                         \
5742     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5743     void oncontrolselect(VARIANT v);                                    \
5744                                                                         \
5745     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5746     VARIANT oncontrolselect();                                          \
5747                                                                         \
5748     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]                                \
5749     VARIANT_BOOL fireEvent(                                             \
5750         [in] BSTR bstrEventName,                                        \
5751         [optional, in] VARIANT* pvarEventObject);                       \
5752                                                                         \
5753     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5754     void onresizestart(VARIANT v);                                      \
5755                                                                         \
5756     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5757     VARIANT onresizestart();                                            \
5758                                                                         \
5759     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5760     void onresizeend(VARIANT v);                                        \
5761                                                                         \
5762     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5763     VARIANT onresizeend();                                              \
5764                                                                         \
5765     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5766     void onmovestart(VARIANT v);                                        \
5767                                                                         \
5768     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5769     VARIANT onmovestart();                                              \
5770                                                                         \
5771     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5772     void onmoveend(VARIANT v);                                          \
5773                                                                         \
5774     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5775     VARIANT onmoveend();                                                \
5776                                                                         \
5777     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5778     void onmouseenter(VARIANT v);                                       \
5779                                                                         \
5780     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5781     VARIANT onmouseenter();                                             \
5782                                                                         \
5783     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5784     void onmouseleave(VARIANT v);                                       \
5785                                                                         \
5786     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5787     VARIANT onmouseleave();                                             \
5788                                                                         \
5789     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5790     void onactivate(VARIANT v);                                         \
5791                                                                         \
5792     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5793     VARIANT onactivate();                                               \
5794                                                                         \
5795     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5796     void ondeactivate(VARIANT v);                                       \
5797                                                                         \
5798     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5799     VARIANT ondeactivate();                                             \
5800                                                                         \
5801     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]                                 \
5802     VARIANT_BOOL dragDrop();                                            \
5803                                                                         \
5804     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] \
5805     LONG glyphMode()
5806
5807 /*****************************************************************************
5808  *    IHTMLElement4 interface
5809  */
5810 [
5811     odl,
5812     oleautomation,
5813     dual,
5814     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
5815 ]
5816 interface IHTMLElement4 : IDispatch
5817 {
5818     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5819     HRESULT onmousewheel([in] VARIANT v);
5820
5821     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5822     HRESULT onmousewheel([retval, out] VARIANT * p);
5823
5824     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5825     HRESULT normalize();
5826
5827     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5828     HRESULT getAttributeNode([in] BSTR bstrname,
5829         [retval, out] IHTMLDOMAttribute** ppAttribute);
5830
5831     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5832     HRESULT setAttributeNode(
5833         [in] IHTMLDOMAttribute* pattr,
5834         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5835
5836     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5837     HRESULT removeAttributeNode(
5838         [in] IHTMLDOMAttribute* pattr,
5839         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5840
5841     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5842     HRESULT onbeforeactivate([in] VARIANT v);
5843
5844     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5845     HRESULT onbeforeactivate([retval, out] VARIANT * p);
5846
5847     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5848     HRESULT onfocusin([in] VARIANT v);
5849
5850     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5851     HRESULT onfocusin([retval, out] VARIANT * p);
5852
5853     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5854     HRESULT onfocusout([in] VARIANT v);
5855
5856     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5857     HRESULT onfocusout([retval, out] VARIANT * p);
5858 }
5859
5860 #define WINE_IHTMLELEMENT4_DISPINTERFACE_DECL                           \
5861     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5862     void onmousewheel(VARIANT v);                                       \
5863                                                                         \
5864     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5865     VARIANT onmousewheel();                                             \
5866                                                                         \
5867     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]                                \
5868     void normalize();                                                   \
5869                                                                         \
5870     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]                         \
5871     IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);            \
5872                                                                         \
5873     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]                         \
5874     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr); \
5875                                                                         \
5876     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]                      \
5877     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr); \
5878                                                                         \
5879     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5880     void onbeforeactivate(VARIANT v);                                   \
5881                                                                         \
5882     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5883     VARIANT onbeforeactivate();                                         \
5884                                                                         \
5885     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5886     void onfocusin(VARIANT v);                                          \
5887                                                                         \
5888     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5889     VARIANT onfocusin();                                                \
5890                                                                         \
5891     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5892     void onfocusout(VARIANT v);                                         \
5893                                                                         \
5894     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5895     VARIANT onfocusout()
5896
5897 #define WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL                \
5898     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)]                 \
5899     IHTMLElement *querySelector([in] BSTR v);                   \
5900                                                                 \
5901     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)]              \
5902     IHTMLDOMChildrenCollection *querySelectorAll([in] BSTR v)
5903
5904 /*****************************************************************************
5905  *    IHTMLUniqueName interface
5906  */
5907 [
5908     odl,
5909     oleautomation,
5910     dual,
5911     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
5912 ]
5913 interface IHTMLUniqueName : IDispatch
5914 {
5915     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5916     HRESULT uniqueNumber([retval, out] LONG * p);
5917
5918     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5919     HRESULT uniqueID([retval, out] BSTR * p);
5920 }
5921
5922 #define WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL                 \
5923     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]  \
5924     LONG uniqueNumber();                                        \
5925                                                                 \
5926     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]      \
5927     BSTR uniqueID()
5928
5929 #define WINE_IHTMLELEMENT5_DISPINTERFACE_DECL                           \
5930     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)]                     \
5931     IHTMLDOMAttribute2 *ie8_getAttributeNode([in] BSTR bstrname);       \
5932                                                                         \
5933     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)]                     \
5934     IHTMLDOMAttribute2 *ie8_setAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5935                                                                         \
5936     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)]                  \
5937     IHTMLDOMAttribute2 *ie8_removeAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5938                                                                         \
5939     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)]                             \
5940     VARIANT_BOOL hasAttribute([in] BSTR name);                          \
5941                                                                         \
5942     [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5943     void role(BSTR v);                                                  \
5944                                                                         \
5945     [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5946     BSTR role();                                                        \
5947                                                                         \
5948     [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5949     void ariaBusy(BSTR v);                                              \
5950                                                                         \
5951     [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5952     BSTR ariaBusy();                                                    \
5953                                                                         \
5954     [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5955     void ariaChecked(BSTR v);                                           \
5956                                                                         \
5957     [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5958     BSTR ariaChecked();                                                 \
5959                                                                         \
5960     [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5961     void ariaDisabled(BSTR v);                                          \
5962                                                                         \
5963     [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5964     BSTR ariaDisabled();                                                \
5965                                                                         \
5966     [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5967     void ariaExpanded(BSTR v);                                          \
5968                                                                         \
5969     [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5970     BSTR ariaExpanded();                                                \
5971                                                                         \
5972     [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable]\
5973     void ariaHaspopup(BSTR v);                                          \
5974                                                                         \
5975     [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] \
5976     BSTR ariaHaspopup();                                                \
5977                                                                         \
5978     [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5979     void ariaHidden(BSTR v);                                            \
5980                                                                         \
5981     [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5982     BSTR ariaHidden();                                                  \
5983                                                                         \
5984     [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5985     void ariaInvalid(BSTR v);                                           \
5986                                                                         \
5987     [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5988     BSTR ariaInvalid();                                                 \
5989                                                                         \
5990     [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5991     void ariaMultiselectable(BSTR v);                                   \
5992                                                                         \
5993     [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5994     BSTR ariaMultiselectable();                                         \
5995                                                                         \
5996     [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5997     void ariaPressed(BSTR v);                                           \
5998                                                                         \
5999     [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
6000     BSTR ariaPressed();                                                 \
6001                                                                         \
6002     [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
6003     void ariaReadonly(BSTR v);                                          \
6004                                                                         \
6005     [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
6006     BSTR ariaReadonly();                                                \
6007                                                                         \
6008     [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
6009     void ariaRequired(BSTR v);                                          \
6010                                                                         \
6011     [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
6012     BSTR ariaRequired();                                                \
6013                                                                         \
6014     [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
6015     void ariaSecret(BSTR v);                                            \
6016                                                                         \
6017     [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
6018     BSTR ariaSecret();                                                  \
6019                                                                         \
6020     [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
6021     void ariaSelected(BSTR v);                                          \
6022                                                                         \
6023     [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
6024     BSTR ariaSelected();                                                \
6025                                                                         \
6026     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)]                         \
6027     VARIANT ie8_getAttribute([in] BSTR strAttributeName);               \
6028                                                                         \
6029     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)]                         \
6030     void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue); \
6031                                                                         \
6032     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)]                      \
6033     VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);       \
6034                                                                         \
6035     [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)]                  \
6036     IHTMLAttributeCollection3 *ie8_attributes();                        \
6037                                                                         \
6038     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
6039     void ariaValuenow(BSTR v);                                          \
6040                                                                         \
6041     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
6042     BSTR ariaValuenow();                                                \
6043                                                                         \
6044     [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
6045     void ariaPosinset(short v);                                         \
6046                                                                         \
6047     [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
6048     short ariaPosinset();                                               \
6049                                                                         \
6050     [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
6051     void ariaSetsize(short v);                                          \
6052                                                                         \
6053     [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
6054     short ariaSetsize();                                                \
6055                                                                         \
6056     [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
6057     void ariaLevel(short v);                                            \
6058                                                                         \
6059     [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
6060     short ariaLevel();                                                  \
6061                                                                         \
6062     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
6063     void ariaValuemin(BSTR v);                                          \
6064                                                                         \
6065     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
6066     BSTR ariaValuemin();                                                \
6067                                                                         \
6068     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
6069     void ariaValuemax(BSTR v);                                          \
6070                                                                         \
6071     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
6072     BSTR ariaValuemax();                                                \
6073                                                                         \
6074     [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
6075     void ariaControls(BSTR v);                                          \
6076                                                                         \
6077     [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
6078     BSTR ariaControls();                                                \
6079                                                                         \
6080     [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
6081     void ariaDescribedby(BSTR v);                                       \
6082                                                                         \
6083     [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
6084     BSTR ariaDescribedby();                                             \
6085                                                                         \
6086     [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
6087     void ariaFlowto(BSTR v);                                            \
6088                                                                         \
6089     [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
6090     BSTR ariaFlowto();                                                  \
6091                                                                         \
6092     [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
6093     void ariaLabelledby(BSTR v);                                        \
6094                                                                         \
6095     [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
6096     BSTR ariaLabelledby();                                              \
6097                                                                         \
6098     [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
6099     void ariaActivedescendant(BSTR v);                                  \
6100                                                                         \
6101     [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
6102     BSTR ariaActivedescendant();                                        \
6103                                                                         \
6104     [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
6105     void ariaOwns(BSTR v);                                              \
6106                                                                         \
6107     [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
6108     BSTR ariaOwns();                                                    \
6109                                                                         \
6110     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)]                            \
6111     VARIANT_BOOL hasAttributes();                                       \
6112                                                                         \
6113     [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
6114     void ariaLive(BSTR v);                                              \
6115                                                                         \
6116     [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
6117     BSTR ariaLive();                                                    \
6118                                                                         \
6119     [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
6120     void ariaRelevant(BSTR v);                                          \
6121                                                                         \
6122     [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
6123     BSTR ariaRelevant()
6124
6125 [
6126     odl,
6127     oleautomation,
6128     dual,
6129     uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
6130 ]
6131 interface IHTMLDatabinding : IDispatch
6132 {
6133     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6134     HRESULT dataFld([in] BSTR v);
6135
6136     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6137     HRESULT dataFld([retval, out] BSTR * p);
6138
6139     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6140     HRESULT dataSrc([in] BSTR v);
6141
6142     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6143     HRESULT dataSrc([retval, out] BSTR * p);
6144
6145     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6146     HRESULT dataFormatAs([in] BSTR v);
6147
6148     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6149     HRESULT dataFormatAs([retval, out] BSTR * p);
6150 }
6151
6152 #define WINE_IHTMLDATABINDING_DISPINTERFACE_DECL        \
6153     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
6154     void dataFld(BSTR v);                               \
6155                                                         \
6156     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
6157     BSTR dataFld();                                     \
6158                                                         \
6159     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
6160     void dataSrc(BSTR v);                               \
6161                                                         \
6162     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
6163     BSTR dataSrc();                                     \
6164                                                         \
6165     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
6166     void dataFormatAs(BSTR v);                          \
6167                                                         \
6168     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
6169     BSTR dataFormatAs()
6170
6171 #define WINE_HTMLELEMENT_DISPINTERFACE_DECL     \
6172     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
6173     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
6174     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
6175     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
6176     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
6177     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
6178     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
6179     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
6180
6181 #define WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL \
6182     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
6183     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
6184     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
6185     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
6186     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
6187     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
6188     WINE_IHTMLDATABINDING_DISPINTERFACE_DECL;   \
6189     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
6190     WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL;   \
6191     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
6192
6193 /*****************************************************************************
6194  *    IHTMLGenericElement interface
6195  */
6196 [
6197     odl,
6198     oleautomation,
6199     dual,
6200     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
6201 ]
6202 interface IHTMLGenericElement : IDispatch
6203 {
6204     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
6205     HRESULT recordset([out, retval] IDispatch **p);
6206
6207     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
6208     HRESULT namedRecordset(
6209             [in] BSTR dataMember,
6210             [in, optional] VARIANT *hierarchy,
6211             [out, retval] IDispatch **ppRecordset);
6212 }
6213
6214 /*****************************************************************************
6215  *    DispHTMLGenericElement dispinterface
6216  */
6217 [
6218     hidden,
6219     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
6220 ]
6221 dispinterface DispHTMLGenericElement
6222 {
6223 properties:
6224 methods:
6225     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6226
6227     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
6228     IDispatch *recordset();
6229
6230     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
6231     IDispatch *namedRecordset(
6232             [in] BSTR dataMember,
6233             [in, optional] VARIANT *hierarchy);
6234 }
6235
6236 /*****************************************************************************
6237  *    IHTMLStyleSheetRule interface
6238  */
6239 [
6240     odl,
6241     oleautomation,
6242     dual,
6243     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
6244 ]
6245 interface IHTMLStyleSheetRule : IDispatch
6246 {
6247     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6248     HRESULT selectorText([in] BSTR v);
6249
6250     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6251     HRESULT selectorText([retval, out] BSTR *p);
6252
6253     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
6254     HRESULT style([retval, out] IHTMLRuleStyle **p);
6255
6256     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
6257     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6258 }
6259
6260 [
6261     hidden,
6262     uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b)
6263 ]
6264 dispinterface DispHTMLStyleSheetRule
6265 {
6266 properties:
6267 methods:
6268     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6269     void selectorText(BSTR v);
6270
6271     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6272     BSTR selectorText();
6273
6274     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable]
6275     IHTMLRuleStyle* style();
6276
6277     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
6278     VARIANT_BOOL readOnly();
6279
6280     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6281 }
6282
6283 [
6284     noncreatable,
6285     uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b)
6286 ]
6287 coclass HTMLStyleSheetRule
6288 {
6289     [default]           dispinterface DispHTMLStyleSheetRule;
6290                         interface IHTMLStyleSheetRule;
6291                         interface IHTMLDOMConstructor;
6292 }
6293
6294 /*****************************************************************************
6295  *    IHTMLStyleSheetRulesCollection interface
6296  */
6297 [
6298     odl,
6299     oleautomation,
6300     dual,
6301     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
6302 ]
6303 interface IHTMLStyleSheetRulesCollection : IDispatch
6304 {
6305     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
6306     HRESULT length([retval, out] LONG *p);
6307
6308     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
6309     HRESULT item(
6310         [in] LONG index,
6311         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
6312 }
6313
6314 [
6315     hidden,
6316     uuid(3050f52f-98b5-11cf-bb82-00aa00bdce0b)
6317 ]
6318 dispinterface DispHTMLStyleSheetRulesCollection
6319 {
6320 properties:
6321 methods:
6322     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
6323     long length();
6324
6325     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
6326     IHTMLStyleSheetRule* item([in] long index);
6327
6328     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6329 }
6330
6331 [
6332     noncreatable,
6333     uuid(3050f3cd-98b5-11cf-bb82-00aa00bdce0b)
6334 ]
6335 coclass HTMLStyleSheetRulesCollection
6336 {
6337     [default]           dispinterface DispHTMLStyleSheetRulesCollection;
6338                         interface IHTMLStyleSheetRulesCollection;
6339                         interface IHTMLDOMConstructor;
6340 }
6341
6342 [
6343     odl,
6344     oleautomation,
6345     dual,
6346     uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
6347 ]
6348 interface IHTMLStyleSheetPage : IDispatch
6349 {
6350     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
6351     HRESULT selector([retval, out] BSTR *p);
6352
6353     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
6354     HRESULT pseudoClass([retval, out] BSTR *p);
6355 }
6356
6357 [
6358     hidden,
6359     uuid(3050f540-98b5-11cf-bb82-00aa00bdce0b)
6360 ]
6361 dispinterface DispHTMLStyleSheetPage
6362 {
6363 properties:
6364 methods:
6365     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
6366     BSTR selector();
6367
6368     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
6369     BSTR pseudoClass();
6370
6371     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6372 }
6373 [
6374     noncreatable,
6375     uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b)
6376 ]
6377 coclass HTMLStyleSheetPage
6378 {
6379     [default]           dispinterface DispHTMLStyleSheetPage;
6380                         interface IHTMLStyleSheetPage;
6381                         interface IHTMLDOMConstructor;
6382 }
6383
6384 [
6385     odl,
6386     oleautomation,
6387     dual,
6388     uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
6389 ]
6390 interface IHTMLStyleSheetPagesCollection : IDispatch
6391 {
6392     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6393     HRESULT length([retval, out] LONG *p);
6394
6395     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6396     HRESULT item(
6397         [in] LONG index,
6398         [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
6399 }
6400
6401 [
6402     hidden,
6403     uuid(3050f543-98b5-11cf-bb82-00aa00bdce0b)
6404 ]
6405 dispinterface DispHTMLStyleSheetPagesCollection
6406 {
6407 properties:
6408 methods:
6409     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6410     long length();
6411
6412     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6413     IHTMLStyleSheetPage* item([in] long index);
6414
6415     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6416 }
6417
6418 [
6419     noncreatable,
6420     uuid(3050f7f1-98b5-11cf-bb82-00aa00bdce0b)
6421 ]
6422 coclass HTMLStyleSheetPagesCollection
6423 {
6424     [default]           dispinterface DispHTMLStyleSheetPagesCollection;
6425                         interface IHTMLStyleSheetPagesCollection;
6426                         interface IHTMLDOMConstructor;
6427 }
6428
6429 /*****************************************************************************
6430  *    IHTMLStyleSheet interface
6431  */
6432 [
6433     odl,
6434     oleautomation,
6435     dual,
6436     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
6437 ]
6438 interface IHTMLStyleSheet : IDispatch
6439 {
6440     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6441     HRESULT title([in] BSTR v);
6442
6443     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6444     HRESULT title([retval, out] BSTR *p);
6445
6446     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6447     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
6448
6449     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6450     HRESULT owningElement([retval, out] IHTMLElement **p);
6451
6452     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6453     HRESULT disabled([in] VARIANT_BOOL v);
6454
6455     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6456     HRESULT disabled([retval, out] VARIANT_BOOL *p);
6457
6458     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6459     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6460
6461     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6462     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
6463
6464     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6465     HRESULT href([in] BSTR v);
6466
6467     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6468     HRESULT href([retval, out] BSTR *p);
6469
6470     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6471     HRESULT type([retval, out] BSTR *p);
6472
6473     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6474     HRESULT id([retval, out] BSTR *p);
6475
6476     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6477     HRESULT addImport(
6478         [in] BSTR bstrURL,
6479         [defaultvalue(-1), in] LONG lIndex,
6480         [retval, out] LONG *plIndex);
6481
6482     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6483     HRESULT addRule(
6484         [in] BSTR bstrSelector,
6485         [in] BSTR bstrStyle,
6486         [defaultvalue(-1), in] LONG lIndex,
6487         [retval, out] LONG *plNewIndex);
6488
6489     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6490     HRESULT removeImport([in] LONG lIndex);
6491
6492     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6493     HRESULT removeRule([in] LONG lIndex);
6494
6495     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6496     HRESULT media([in] BSTR v);
6497
6498     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6499     HRESULT media([retval, out] BSTR *p);
6500
6501     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6502     HRESULT cssText([in] BSTR v);
6503
6504     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6505     HRESULT cssText([retval, out] BSTR *p);
6506
6507     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6508     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
6509 }
6510
6511 /*****************************************************************************
6512  *    IHTMLStyleSheet2 interface
6513  */
6514 [
6515     odl,
6516     oleautomation,
6517     dual,
6518     uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
6519 ]
6520 interface IHTMLStyleSheet2 : IDispatch
6521 {
6522     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6523     HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
6524
6525     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6526     HRESULT addPageRule(
6527         [in] BSTR bstrSelector,
6528         [in] BSTR bstrStyle,
6529         [defaultvalue(-1), in] LONG lIndex,
6530         [retval, out] LONG *plNewIndex);
6531 }
6532
6533 [
6534     hidden,
6535     uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
6536 ]
6537 dispinterface DispHTMLStyleSheet
6538 {
6539 properties:
6540 methods:
6541     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6542     void title(BSTR v);
6543
6544     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6545     BSTR title();
6546
6547     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6548     IHTMLStyleSheet* parentStyleSheet();
6549
6550     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6551     IHTMLElement* owningElement();
6552
6553     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6554     void disabled(VARIANT_BOOL v);
6555
6556     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6557     VARIANT_BOOL disabled();
6558
6559     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6560     VARIANT_BOOL readOnly();
6561
6562     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6563     IHTMLStyleSheetsCollection* imports();
6564
6565     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6566     void href(BSTR v);
6567
6568     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6569     BSTR href();
6570
6571     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6572     BSTR type();
6573
6574     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6575     BSTR id();
6576
6577     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6578     LONG addImport(
6579         [in] BSTR bstrURL,
6580         [defaultvalue(-1), in] LONG lIndex);
6581
6582     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6583     LONG addRule(
6584         [in] BSTR bstrSelector,
6585         [in] BSTR bstrStyle,
6586         [defaultvalue(-1), in] LONG lIndex);
6587
6588     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6589     void removeImport([in] LONG lIndex);
6590
6591     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6592     void removeRule([in] LONG lIndex);
6593
6594     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6595     void media(BSTR v);
6596
6597     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6598     BSTR media();
6599
6600     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6601     void cssText(BSTR v);
6602
6603     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6604     BSTR cssText();
6605
6606     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6607     IHTMLStyleSheetRulesCollection* rules();
6608
6609     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6610     IHTMLStyleSheetPagesCollection* pages();
6611
6612     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6613     LONG addPageRule(
6614         [in] BSTR bstrSelector,
6615         [in] BSTR bstrStyle,
6616         [defaultvalue(-1), in] LONG lIndex);
6617 }
6618
6619 [
6620     noncreatable,
6621     uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
6622 ]
6623 coclass HTMLStyleSheet
6624 {
6625     [default]           dispinterface DispHTMLStyleSheet;
6626                         interface IHTMLStyleSheet;
6627                         interface IHTMLStyleSheet2;
6628 }
6629
6630 /*****************************************************************************
6631  *    IHTMLStyleSheetsCollection interface
6632  */
6633 [
6634     odl,
6635     oleautomation,
6636     dual,
6637     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
6638 ]
6639 interface IHTMLStyleSheetsCollection : IDispatch
6640 {
6641     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6642     HRESULT length([retval, out] LONG *p);
6643
6644     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
6645     HRESULT _newEnum([retval, out] IUnknown **p);
6646
6647     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6648     HRESULT item(
6649         [in] VARIANT *pvarIndex,
6650         [retval, out] VARIANT *pvarResult);
6651 }
6652
6653 /*****************************************************************************
6654  *    DispHTMLStyleSheetsCollection dispinterface
6655  */
6656 [
6657     hidden,
6658     uuid(3050f547-98b5-11cf-bb82-00aa00bdce0b)
6659 ]
6660 dispinterface DispHTMLStyleSheetsCollection
6661 {
6662 properties:
6663 methods:
6664     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6665     long length();
6666
6667     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM), hidden, restricted]
6668     IUnknown *_newEnum();
6669
6670     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6671     VARIANT item([in] VARIANT *pvarIndex);
6672
6673     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
6674     IDispatch *constructor();
6675 }
6676
6677 /*****************************************************************************
6678  *    IHTMLTxtRange interface
6679  */
6680 [
6681     odl,
6682     oleautomation,
6683     dual,
6684     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
6685 ]
6686 interface IHTMLTxtRange : IDispatch
6687 {
6688     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
6689     HRESULT htmlText([retval, out] BSTR *p);
6690
6691     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
6692     HRESULT text([in] BSTR v);
6693
6694     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
6695     HRESULT text([retval, out] BSTR *p);
6696
6697     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
6698     HRESULT parentElement([retval, out] IHTMLElement **parent);
6699
6700     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
6701     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
6702
6703     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
6704     HRESULT inRange(
6705         [in] IHTMLTxtRange *Range,
6706         [retval, out] VARIANT_BOOL *InRange);
6707
6708     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
6709     HRESULT isEqual(
6710         [in] IHTMLTxtRange *Range,
6711         [retval, out] VARIANT_BOOL *IsEqual);
6712
6713     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
6714     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
6715
6716     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
6717     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
6718
6719     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
6720     HRESULT expand(
6721         [in] BSTR Unit,
6722         [retval, out] VARIANT_BOOL *Success);
6723
6724     [id(DISPID_IHTMLTXTRANGE_MOVE)]
6725     HRESULT move(
6726         [in] BSTR Unit,
6727         [defaultvalue(1), in] LONG Count,
6728         [retval, out] LONG *ActualCount);
6729
6730     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
6731     HRESULT moveStart(
6732         [in] BSTR Unit,
6733         [defaultvalue(1), in] LONG Count,
6734         [retval, out] LONG *ActualCount);
6735
6736     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
6737     HRESULT moveEnd(
6738         [in] BSTR Unit,
6739         [defaultvalue(1), in] LONG Count,
6740         [retval, out] LONG *ActualCount);
6741
6742     [id(DISPID_IHTMLTXTRANGE_SELECT)]
6743     HRESULT select();
6744
6745     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
6746     HRESULT pasteHTML([in] BSTR html);
6747
6748     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
6749     HRESULT moveToElementText([in] IHTMLElement *element);
6750
6751     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
6752     HRESULT setEndPoint(
6753         [in] BSTR how,
6754         [in] IHTMLTxtRange *SourceRange);
6755
6756     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
6757     HRESULT compareEndPoints(
6758         [in] BSTR how,
6759         [in] IHTMLTxtRange *SourceRange,
6760         [retval, out] LONG *ret);
6761
6762     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
6763     HRESULT findText(
6764         [in] BSTR String,
6765         [defaultvalue(1073741823), in] LONG count,
6766         [defaultvalue(0), in] LONG Flags,
6767         [retval, out] VARIANT_BOOL *Success);
6768
6769     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
6770     HRESULT moveToPoint(
6771         [in] LONG x,
6772         [in] LONG y);
6773
6774     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
6775     HRESULT getBookmark([retval, out] BSTR *Boolmark);
6776
6777     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
6778     HRESULT moveToBookmark(
6779         [in] BSTR Bookmark,
6780         [retval, out] VARIANT_BOOL *Success);
6781
6782     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
6783     HRESULT queryCommandSupported(
6784         [in] BSTR cmdID,
6785         [retval, out] VARIANT_BOOL *pfRet);
6786
6787     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
6788     HRESULT queryCommandEnabled(
6789         [in] BSTR cmdID,
6790         [retval, out] VARIANT_BOOL *pfRet);
6791
6792     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
6793     HRESULT queryCommandState(
6794         [in] BSTR cmdID,
6795         [retval, out] VARIANT_BOOL *pfRet);
6796
6797     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
6798     HRESULT queryCommandIndeterm(
6799         [in] BSTR cmdID,
6800         [retval, out] VARIANT_BOOL *pfRet);
6801
6802     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
6803     HRESULT queryCommandText(
6804         [in] BSTR cmdID,
6805         [retval, out] BSTR *pcmdText);
6806
6807     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
6808     HRESULT queryCommandValue(
6809         [in] BSTR cmdID,
6810         [retval, out] VARIANT *pcmdValue);
6811
6812     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
6813     HRESULT execCommand(
6814         [in] BSTR cmdID,
6815         [defaultvalue(0), in] VARIANT_BOOL showUI,
6816         [optional, in] VARIANT value,
6817         [retval, out] VARIANT_BOOL *pfRet);
6818
6819     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
6820     HRESULT execCommandShowHelp(
6821         [in] BSTR cmdID,
6822         [retval, out] VARIANT_BOOL *pfRet);
6823 }
6824
6825 [
6826     noncreatable,
6827     uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
6828 ]
6829 coclass HTMLStyleSheetsCollection
6830 {
6831     [default]           interface IHTMLStyleSheetsCollection;
6832 }
6833
6834 /*****************************************************************************
6835  *    IHTMLFormElement interface
6836  */
6837 [
6838     odl,
6839     oleautomation,
6840     dual,
6841     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
6842 ]
6843 interface IHTMLFormElement : IDispatch
6844 {
6845     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6846     HRESULT action([in] BSTR v);
6847
6848     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6849     HRESULT action([retval, out] BSTR *p);
6850
6851     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
6852     HRESULT dir([in] BSTR v);
6853
6854     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
6855     HRESULT dir([retval, out] BSTR *p);
6856
6857     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6858     HRESULT encoding([in] BSTR v);
6859
6860     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6861     HRESULT encoding([retval, out] BSTR *p);
6862
6863     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6864     HRESULT method([in] BSTR v);
6865
6866     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6867     HRESULT method([retval, out] BSTR *p);
6868
6869     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6870     HRESULT elements([retval, out] IDispatch **p);
6871
6872     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6873     HRESULT target([in] BSTR v);
6874
6875     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6876     HRESULT target([retval, out] BSTR *p);
6877
6878     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6879     HRESULT name([in] BSTR v);
6880
6881     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6882     HRESULT name([retval, out] BSTR *p);
6883
6884     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6885     HRESULT onsubmit([in] VARIANT v);
6886
6887     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6888     HRESULT onsubmit([retval, out] VARIANT *p);
6889
6890     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6891     HRESULT onreset([in] VARIANT v);
6892
6893     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6894     HRESULT onreset([retval, out] VARIANT *p);
6895
6896     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6897     HRESULT submit();
6898
6899     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6900     HRESULT reset();
6901
6902     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6903     HRESULT length([in] LONG v);
6904
6905     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6906     HRESULT length([retval, out] LONG *p);
6907
6908     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
6909     HRESULT _newEnum([retval, out] IUnknown **p);
6910
6911     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6912     HRESULT item(
6913         [optional, in] VARIANT name,
6914         [optional, in] VARIANT index,
6915         [retval, out] IDispatch **pdisp);
6916
6917     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6918     HRESULT tags(
6919         [in] VARIANT tagName,
6920         [retval, out] IDispatch **pdisp);
6921 }
6922
6923 /*****************************************************************************
6924  *    DispHTMLFormElement dispinterface
6925  */
6926 [
6927     hidden,
6928     uuid(3050F510-98B5-11CF-BB82-00AA00BDCE0B)
6929 ]
6930 dispinterface DispHTMLFormElement
6931 {
6932 properties:
6933 methods:
6934     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6935
6936     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6937     void action(BSTR v);
6938
6939     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6940     BSTR action();
6941
6942     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6943     void encoding(BSTR v);
6944
6945     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6946     BSTR encoding();
6947
6948     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6949     void method(BSTR v);
6950
6951     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6952     BSTR method();
6953
6954     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6955     IDispatch *elements();
6956
6957     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6958     void target(BSTR v);
6959
6960     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6961     BSTR target();
6962
6963     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6964     void name(BSTR v);
6965
6966     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6967     BSTR name();
6968
6969     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6970     void onsubmit(VARIANT v);
6971
6972     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6973     VARIANT onsubmit();
6974
6975     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6976     void onreset(VARIANT v);
6977
6978     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6979     VARIANT onreset();
6980
6981     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6982     void submit();
6983
6984     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6985     void reset();
6986
6987     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6988     void length(long v);
6989
6990     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6991     long length();
6992
6993     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM), hidden, restricted]
6994     IUnknown *_newEnum();
6995
6996     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6997     IDispatch *item(VARIANT name, VARIANT index);
6998
6999     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
7000     IDispatch *tags(VARIANT tagName);
7001 }
7002
7003 [
7004     hidden,
7005     uuid(3050F364-98B5-11CF-BB82-00AA00BDCE0B)
7006 ]
7007 dispinterface HTMLFormElementEvents
7008 {
7009 properties:
7010 methods:
7011     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
7012     VARIANT_BOOL onhelp();
7013
7014     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
7015     VARIANT_BOOL onclick();
7016
7017     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
7018     VARIANT_BOOL ondblclick();
7019
7020     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
7021     VARIANT_BOOL onkeypress();
7022
7023     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
7024     void onkeydown();
7025
7026     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
7027     void onkeyup();
7028
7029     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
7030     void onmouseout();
7031
7032     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
7033     void onmouseover();
7034
7035     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
7036     void onmousemove();
7037
7038     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
7039     void onmousedown();
7040
7041     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
7042     void onmouseup();
7043
7044     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
7045     VARIANT_BOOL onselectstart();
7046
7047     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
7048     void onfilterchange();
7049
7050     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
7051     VARIANT_BOOL ondragstart();
7052
7053     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
7054     VARIANT_BOOL onbeforeupdate();
7055
7056     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
7057     void onafterupdate();
7058
7059     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
7060     VARIANT_BOOL onerrorupdate();
7061
7062     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
7063     VARIANT_BOOL onrowexit();
7064
7065     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
7066     void onrowenter();
7067
7068     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
7069     void ondatasetchanged();
7070
7071     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
7072     void ondataavailable();
7073
7074     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
7075     void ondatasetcomplete();
7076
7077     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
7078     void onlosecapture();
7079
7080     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
7081     void onpropertychange();
7082
7083     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
7084     void onscroll();
7085
7086     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
7087     void onfocus();
7088
7089     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
7090     void onblur();
7091
7092     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
7093     void onresize();
7094
7095     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
7096     VARIANT_BOOL ondrag();
7097
7098     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
7099     void ondragend();
7100
7101     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
7102     VARIANT_BOOL ondragenter();
7103
7104     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
7105     VARIANT_BOOL ondragover();
7106
7107     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
7108     void ondragleave();
7109
7110     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
7111     VARIANT_BOOL ondrop();
7112
7113     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
7114     VARIANT_BOOL onbeforecut();
7115
7116     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
7117     VARIANT_BOOL oncut();
7118
7119     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
7120     VARIANT_BOOL onbeforecopy();
7121
7122     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
7123     VARIANT_BOOL oncopy();
7124
7125     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
7126     VARIANT_BOOL onbeforepaste();
7127
7128     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
7129     VARIANT_BOOL onpaste();
7130
7131     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
7132     VARIANT_BOOL oncontextmenu();
7133
7134     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
7135     void onrowsdelete();
7136
7137     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
7138     void onrowsinserted();
7139
7140     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
7141     void oncellchange();
7142
7143     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
7144     void onreadystatechange();
7145
7146     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
7147     void onbeforeeditfocus();
7148
7149     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
7150     void onlayoutcomplete();
7151
7152     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
7153     void onpage();
7154
7155     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
7156     VARIANT_BOOL onbeforedeactivate();
7157
7158     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
7159     VARIANT_BOOL onbeforeactivate();
7160
7161     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
7162     void onmove();
7163
7164     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
7165     VARIANT_BOOL oncontrolselect();
7166
7167     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
7168     VARIANT_BOOL onmovestart();
7169
7170     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
7171     void onmoveend();
7172
7173     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
7174     VARIANT_BOOL onresizestart();
7175
7176     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
7177     void onresizeend();
7178
7179     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
7180     void onmouseenter();
7181
7182     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
7183     void onmouseleave();
7184
7185     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
7186     VARIANT_BOOL onmousewheel();
7187
7188     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
7189     void onactivate();
7190
7191     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
7192     void ondeactivate();
7193
7194     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
7195     void onfocusin();
7196
7197     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
7198     void onfocusout();
7199
7200     [id(DISPID_HTMLFORMELEMENTEVENTS_ONSUBMIT)]
7201     VARIANT_BOOL onsubmit();
7202
7203     [id(DISPID_HTMLFORMELEMENTEVENTS_ONRESET)]
7204     VARIANT_BOOL onreset();
7205 }
7206
7207 interface IHTMLEventObj;
7208
7209 [
7210     hidden,
7211     uuid(3050F614-98B5-11CF-BB82-00AA00BDCE0B)
7212 ]
7213 dispinterface HTMLFormElementEvents2
7214 {
7215 properties:
7216 methods:
7217     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
7218     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
7219
7220     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
7221     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
7222
7223     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
7224     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
7225
7226     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
7227     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
7228
7229     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
7230     void onkeydown([in] IHTMLEventObj* pEvtObj);
7231
7232     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
7233     void onkeyup([in] IHTMLEventObj* pEvtObj);
7234
7235     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
7236     void onmouseout([in] IHTMLEventObj* pEvtObj);
7237
7238     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
7239     void onmouseover([in] IHTMLEventObj* pEvtObj);
7240
7241     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
7242     void onmousemove([in] IHTMLEventObj* pEvtObj);
7243
7244     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
7245     void onmousedown([in] IHTMLEventObj* pEvtObj);
7246
7247     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
7248     void onmouseup([in] IHTMLEventObj* pEvtObj);
7249
7250     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
7251     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
7252
7253     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
7254     void onfilterchange([in] IHTMLEventObj* pEvtObj);
7255
7256     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
7257     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
7258
7259     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
7260     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
7261
7262     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
7263     void onafterupdate([in] IHTMLEventObj* pEvtObj);
7264
7265     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
7266     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
7267
7268     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
7269     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
7270
7271     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
7272     void onrowenter([in] IHTMLEventObj* pEvtObj);
7273
7274     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
7275     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
7276
7277     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
7278     void ondataavailable([in] IHTMLEventObj* pEvtObj);
7279
7280     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
7281     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
7282
7283     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
7284     void onlosecapture([in] IHTMLEventObj* pEvtObj);
7285
7286     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
7287     void onpropertychange([in] IHTMLEventObj* pEvtObj);
7288
7289     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
7290     void onscroll([in] IHTMLEventObj* pEvtObj);
7291
7292     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
7293     void onfocus([in] IHTMLEventObj* pEvtObj);
7294
7295     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
7296     void onblur([in] IHTMLEventObj* pEvtObj);
7297
7298     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
7299     void onresize([in] IHTMLEventObj* pEvtObj);
7300
7301     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
7302     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
7303
7304     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
7305     void ondragend([in] IHTMLEventObj* pEvtObj);
7306
7307     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
7308     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
7309
7310     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
7311     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
7312
7313     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
7314     void ondragleave([in] IHTMLEventObj* pEvtObj);
7315
7316     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
7317     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
7318
7319     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
7320     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
7321
7322     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
7323     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
7324
7325     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
7326     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
7327
7328     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
7329     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
7330
7331     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
7332     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
7333
7334     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
7335     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
7336
7337     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
7338     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
7339
7340     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
7341     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
7342
7343     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
7344     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
7345
7346     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
7347     void oncellchange([in] IHTMLEventObj* pEvtObj);
7348
7349     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
7350     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
7351
7352     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
7353     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
7354
7355     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
7356     void onpage([in] IHTMLEventObj* pEvtObj);
7357
7358     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
7359     void onmouseenter([in] IHTMLEventObj* pEvtObj);
7360
7361     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
7362     void onmouseleave([in] IHTMLEventObj* pEvtObj);
7363
7364     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
7365     void onactivate([in] IHTMLEventObj* pEvtObj);
7366
7367     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
7368     void ondeactivate([in] IHTMLEventObj* pEvtObj);
7369
7370     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
7371     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
7372
7373     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
7374     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
7375
7376     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
7377     void onfocusin([in] IHTMLEventObj* pEvtObj);
7378
7379     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
7380     void onfocusout([in] IHTMLEventObj* pEvtObj);
7381
7382     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
7383     void onmove([in] IHTMLEventObj* pEvtObj);
7384
7385     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
7386     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
7387
7388     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
7389     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
7390
7391     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
7392     void onmoveend([in] IHTMLEventObj* pEvtObj);
7393
7394     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
7395     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
7396
7397     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
7398     void onresizeend([in] IHTMLEventObj* pEvtObj);
7399
7400     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
7401     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
7402
7403     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONSUBMIT)]
7404     VARIANT_BOOL onsubmit([in] IHTMLEventObj* pEvtObj);
7405
7406     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONRESET)]
7407     VARIANT_BOOL onreset([in] IHTMLEventObj* pEvtObj);
7408 }
7409
7410 [
7411     noncreatable,
7412     uuid(3050F24D-98B5-11CF-BB82-00AA00BDCE0B)
7413 ]
7414 coclass HTMLFormElement
7415 {
7416     [default]           dispinterface DispHTMLFormElement;
7417     [source, default]   dispinterface HTMLFormElementEvents;
7418     [source]            dispinterface HTMLFormElementEvents2;
7419                         interface IHTMLElement;
7420                         interface IHTMLElement2;
7421                         interface IHTMLElement3;
7422                         interface IHTMLElement4;
7423                         interface IHTMLUniqueName;
7424                         interface IHTMLDOMNode;
7425                         interface IHTMLDOMNode2;
7426                         interface IHTMLDOMConstructor;
7427                         interface IHTMLFormElement;
7428 }
7429
7430 /*****************************************************************************
7431  *    IHTMLTextContainer interface
7432  */
7433 [
7434     odl,
7435     oleautomation,
7436     dual,
7437     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
7438 ]
7439 interface IHTMLTextContainer : IDispatch
7440 {
7441     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
7442     HRESULT createControlRange([retval, out] IDispatch **range);
7443
7444     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
7445     HRESULT scrollHeight([retval, out] LONG *p);
7446
7447     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
7448     HRESULT scrollWidth([retval, out] LONG *p);
7449
7450     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7451     HRESULT scrollTop([in] LONG v);
7452
7453     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7454     HRESULT scrollTop([retval, out] LONG *p);
7455
7456     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7457     HRESULT scrollLeft([in] LONG v);
7458
7459     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7460     HRESULT scrollLeft([retval, out] LONG *p);
7461
7462     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7463     HRESULT onscroll([in] VARIANT v);
7464
7465     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7466     HRESULT onscroll([retval, out] VARIANT *p);
7467 }
7468
7469 /*****************************************************************************
7470  *    IHTMLImgElement interface
7471  */
7472 [
7473     odl,
7474     oleautomation,
7475     dual,
7476     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
7477 ]
7478 interface IHTMLImgElement : IDispatch
7479 {
7480     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7481     HRESULT isMap([in] VARIANT_BOOL v);
7482
7483     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7484     HRESULT isMap([retval, out] VARIANT_BOOL *p);
7485
7486     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7487     HRESULT useMap([in] BSTR v);
7488
7489     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7490     HRESULT useMap([retval, out] BSTR *p);
7491
7492     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7493     HRESULT mimeType([retval, out] BSTR *p);
7494
7495     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7496     HRESULT fileSize([retval, out] BSTR *p);
7497
7498     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7499     HRESULT fileCreatedDate([retval, out] BSTR *p);
7500
7501     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7502     HRESULT fileModifiedDate([retval, out] BSTR *p);
7503
7504     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7505     HRESULT fileUpdatedDate([retval, out] BSTR *p);
7506
7507     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7508     HRESULT protocol([retval, out] BSTR *p);
7509
7510     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7511     HRESULT href([retval, out] BSTR *p);
7512
7513     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7514     HRESULT nameProp([retval, out] BSTR *p);
7515
7516     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7517     HRESULT border([in] VARIANT v);
7518
7519     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7520     HRESULT border([retval, out] VARIANT *p);
7521
7522     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7523     HRESULT vspace([in] LONG v);
7524
7525     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7526     HRESULT vspace([retval, out] LONG *p);
7527
7528     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7529     HRESULT hspace([in] LONG v);
7530
7531     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7532     HRESULT hspace([retval, out] LONG *p);
7533
7534     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
7535     HRESULT alt([in] BSTR v);
7536
7537     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
7538     HRESULT alt([retval, out] BSTR *p);
7539
7540     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
7541     HRESULT src([in] BSTR v);
7542
7543     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
7544     HRESULT src([retval, out] BSTR *p);
7545
7546     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7547     HRESULT lowsrc([in] BSTR v);
7548
7549     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7550     HRESULT lowsrc([retval, out] BSTR *p);
7551
7552     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
7553     HRESULT vrml([in] BSTR v);
7554
7555     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
7556     HRESULT vrml([retval, out] BSTR *p);
7557
7558     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7559     HRESULT dynsrc([in] BSTR v);
7560
7561     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7562     HRESULT dynsrc([retval, out] BSTR *p);
7563
7564     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
7565     HRESULT readyState([retval, out] BSTR *p);
7566
7567     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7568     HRESULT complete([retval, out] VARIANT_BOOL *p);
7569
7570     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7571     HRESULT loop([in] VARIANT v);
7572
7573     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7574     HRESULT loop([retval, out] VARIANT *p);
7575
7576     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7577     HRESULT align([in] BSTR v);
7578
7579     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7580     HRESULT align([retval, out] BSTR *p);
7581
7582     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7583     HRESULT onload([in] VARIANT v);
7584
7585     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7586     HRESULT onload([retval, out] VARIANT *p);
7587
7588     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7589     HRESULT onerror([in] VARIANT v);
7590
7591     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7592     HRESULT onerror([retval, out] VARIANT *p);
7593
7594     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7595     HRESULT onabort([in] VARIANT v);
7596
7597     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7598     HRESULT onabort([retval, out] VARIANT *p);
7599
7600     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
7601     HRESULT name([in] BSTR v);
7602
7603     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
7604     HRESULT name([retval, out] BSTR *p);
7605
7606     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7607     HRESULT width([in] LONG v);
7608
7609     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7610     HRESULT width([retval, out] LONG *p);
7611
7612     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7613     HRESULT height([in] LONG v);
7614
7615     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7616     HRESULT height([retval, out] LONG *p);
7617
7618     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
7619     HRESULT start([in] BSTR v);
7620
7621     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
7622     HRESULT start([retval, out] BSTR *p);
7623 }
7624
7625 /*****************************************************************************
7626  *    IHTMLImageElementFactory interface
7627  */
7628 [
7629     odl,
7630     oleautomation,
7631     dual,
7632     uuid(3050F38E-98B5-11CF-BB82-00AA00BDCE0B)
7633 ]
7634 interface IHTMLImageElementFactory : IDispatch
7635 {
7636     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
7637     HRESULT create(
7638         [optional, in] VARIANT width,
7639         [optional, in] VARIANT height,
7640         [retval, out]  IHTMLImgElement **elem);
7641 }
7642
7643 /*****************************************************************************
7644  *    DispHTMLImg interface
7645  */
7646 [
7647     hidden,
7648     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
7649 ]
7650 dispinterface DispHTMLImg
7651 {
7652 properties:
7653 methods:
7654     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7655
7656     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7657     void isMap(VARIANT_BOOL v);
7658
7659     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7660     VARIANT_BOOL isMap();
7661
7662     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7663     void useMap(BSTR v);
7664
7665     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7666     BSTR useMap();
7667
7668     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7669     BSTR mimeType();
7670
7671     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7672     BSTR fileSize();
7673
7674     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7675     BSTR fileCreatedDate();
7676
7677     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7678     BSTR fileModifiedDate();
7679
7680     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7681     BSTR fileUpdatedDate();
7682
7683     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7684     BSTR protocol();
7685
7686     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7687     BSTR href();
7688
7689     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7690     BSTR nameProp();
7691
7692     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7693     void border(VARIANT v);
7694
7695     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7696     VARIANT border();
7697
7698     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7699     void vspace(LONG v);
7700
7701     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7702     LONG vspace();
7703
7704     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7705     void hspace(LONG v);
7706
7707     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7708     LONG hspace();
7709
7710     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7711     void alt(BSTR v);
7712
7713     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7714     BSTR alt();
7715
7716     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7717     void src(BSTR v);
7718
7719     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7720     BSTR src();
7721
7722     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7723     void lowsrc(BSTR v);
7724
7725     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7726     BSTR lowsrc();
7727
7728     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7729     void vrml(BSTR v);
7730
7731     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7732     BSTR vrml();
7733
7734     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7735     void dynsrc(BSTR v);
7736
7737     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7738     BSTR dynsrc();
7739
7740     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7741     VARIANT_BOOL complete();
7742
7743     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7744     void loop(VARIANT v);
7745
7746     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7747     VARIANT loop();
7748
7749     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7750     void align(BSTR v);
7751
7752     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7753     BSTR align();
7754
7755     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7756     void onload(VARIANT v);
7757
7758     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7759     VARIANT onload();
7760
7761     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7762     void onerror(VARIANT v);
7763
7764     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7765     VARIANT onerror();
7766
7767     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7768     void onabort(VARIANT v);
7769
7770     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7771     VARIANT onabort();
7772
7773     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7774     void name(BSTR v);
7775
7776     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7777     BSTR name();
7778
7779     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7780     void width(LONG v);
7781
7782     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7783     LONG width();
7784
7785     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7786     void height(LONG v);
7787
7788     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7789     LONG height();
7790
7791     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7792     void start(BSTR v);
7793
7794     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7795     BSTR start();
7796
7797     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7798     void longDesc(BSTR v);
7799
7800     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7801     BSTR longDesc();
7802 }
7803
7804 /*****************************************************************************
7805  *    IHTMLControlElement interface
7806  */
7807 [
7808     odl,
7809     oleautomation,
7810     dual,
7811     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
7812 ]
7813 interface IHTMLControlElement : IDispatch
7814 {
7815     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7816     HRESULT tabIndex([in] short v);
7817
7818     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7819     HRESULT tabIndex([retval, out] short * p);
7820
7821     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
7822     HRESULT focus();
7823
7824     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7825     HRESULT accessKey([in] BSTR v);
7826
7827     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7828     HRESULT accessKey([retval, out] BSTR * p);
7829
7830     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7831     HRESULT onblur([in] VARIANT v);
7832
7833     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7834     HRESULT onblur([retval, out] VARIANT * p);
7835
7836     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7837     HRESULT onfocus([in] VARIANT v);
7838
7839     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7840     HRESULT onfocus([retval, out] VARIANT * p);
7841
7842     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7843     HRESULT onresize([in] VARIANT v);
7844
7845     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7846     HRESULT onresize([retval, out] VARIANT * p);
7847
7848     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
7849     HRESULT blur();
7850
7851     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
7852     HRESULT addFilter([in] IUnknown* pUnk);
7853
7854     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
7855     HRESULT removeFilter([in] IUnknown* pUnk);
7856
7857     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
7858     HRESULT clientHeight([retval, out] LONG * p);
7859
7860     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
7861     HRESULT clientWidth([retval, out] LONG * p);
7862
7863     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
7864     HRESULT clientTop([retval, out] LONG * p);
7865
7866     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
7867     HRESULT clientLeft([retval, out] LONG * p);
7868 }
7869
7870 /*****************************************************************************
7871  *    IHTMLBodyElement interface
7872  */
7873 [
7874     odl,
7875     oleautomation,
7876     dual,
7877     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
7878 ]
7879 interface IHTMLBodyElement : IDispatch
7880 {
7881     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7882     HRESULT background([in] BSTR v);
7883
7884     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7885     HRESULT background([retval, out] BSTR *p);
7886
7887     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7888     HRESULT bgProperties([in] BSTR v);
7889
7890     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7891     HRESULT bgProperties([retval, out] BSTR *p);
7892
7893     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7894     HRESULT leftMargin([in] VARIANT v);
7895
7896     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7897     HRESULT leftMargin([retval, out] VARIANT *p);
7898
7899     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7900     HRESULT topMargin([in] VARIANT v);
7901
7902     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7903     HRESULT topMargin([retval, out] VARIANT *p);
7904
7905     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7906     HRESULT rightMargin([in] VARIANT v);
7907
7908     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7909     HRESULT rightMargin([retval, out] VARIANT *p);
7910
7911     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7912     HRESULT bottomMargin([in] VARIANT v);
7913
7914     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7915     HRESULT bottomMargin([retval, out] VARIANT *p);
7916
7917     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7918     HRESULT noWrap([in] VARIANT_BOOL v);
7919
7920     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7921     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
7922
7923     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7924     HRESULT bgColor([in] VARIANT v);
7925
7926     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7927     HRESULT bgColor([retval, out] VARIANT *p);
7928
7929     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7930     HRESULT text([in] VARIANT v);
7931
7932     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7933     HRESULT text([retval, out] VARIANT *p);
7934
7935     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7936     HRESULT link([in] VARIANT v);
7937
7938     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7939     HRESULT link([retval, out] VARIANT *p);
7940
7941     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7942     HRESULT vLink([in] VARIANT v);
7943
7944     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7945     HRESULT vLink([retval, out] VARIANT *p);
7946
7947     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7948     HRESULT aLink([in] VARIANT v);
7949
7950     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7951     HRESULT aLink([retval, out] VARIANT *p);
7952
7953     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7954     HRESULT onload([in] VARIANT v);
7955
7956     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7957     HRESULT onload([retval, out] VARIANT *p);
7958
7959     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7960     HRESULT onunload([in] VARIANT v);
7961
7962     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7963     HRESULT onunload([retval, out] VARIANT *p);
7964
7965     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7966     HRESULT scroll([in] BSTR v);
7967
7968     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7969     HRESULT scroll([retval, out] BSTR *p);
7970
7971     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7972     HRESULT onselect([in] VARIANT v);
7973
7974     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7975     HRESULT onselect([retval, out] VARIANT *p);
7976
7977     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7978     HRESULT onbeforeunload([in] VARIANT v);
7979
7980     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7981     HRESULT onbeforeunload([retval, out] VARIANT *p);
7982
7983     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7984     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7985 }
7986
7987 /*****************************************************************************
7988  *    IHTMLBodyElement2 interface
7989  */
7990 [
7991     odl,
7992     oleautomation,
7993     dual,
7994     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
7995 ]
7996 interface IHTMLBodyElement2 : IDispatch
7997 {
7998     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7999     HRESULT onbeforeprint([in] VARIANT v);
8000
8001     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8002     HRESULT onbeforeprint([retval, out] VARIANT *p);
8003
8004     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8005     HRESULT onafterprint([in] VARIANT v);
8006
8007     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8008     HRESULT onafterprint([retval, out] VARIANT *p);
8009 }
8010
8011 [
8012     hidden,
8013     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
8014 ]
8015 dispinterface DispHTMLBody
8016 {
8017 properties:
8018 methods:
8019     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8020
8021     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8022     void background(BSTR v);
8023
8024     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8025     BSTR background();
8026
8027     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8028     void bgProperties(BSTR v);
8029
8030     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8031     BSTR bgProperties();
8032
8033     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8034     void leftMargin(VARIANT v);
8035
8036     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8037     VARIANT leftMargin();
8038
8039     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8040     void topMargin(VARIANT v);
8041
8042     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8043     VARIANT topMargin();
8044
8045     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8046     void rightMargin(VARIANT v);
8047
8048     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8049     VARIANT rightMargin();
8050
8051     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8052     void bottomMargin(VARIANT v);
8053
8054     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8055     VARIANT bottomMargin();
8056
8057     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8058     void noWrap(VARIANT_BOOL v);
8059
8060     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8061     VARIANT_BOOL noWrap();
8062
8063     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8064     void bgColor(VARIANT v);
8065
8066     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8067     VARIANT bgColor();
8068
8069     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8070     void text(VARIANT v);
8071
8072     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8073     VARIANT text();
8074
8075     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8076     void link(VARIANT v);
8077
8078     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8079     VARIANT link();
8080
8081     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8082     void vLink(VARIANT v);
8083
8084     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8085     VARIANT vLink();
8086
8087     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8088     void aLink(VARIANT v);
8089
8090     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8091     VARIANT aLink();
8092
8093     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8094     void onload(VARIANT v);
8095
8096     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8097     VARIANT onload();
8098
8099     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8100     void onunload(VARIANT v);
8101
8102     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8103     VARIANT onunload();
8104
8105     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8106     void scroll(BSTR v);
8107
8108     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8109     BSTR scroll();
8110
8111     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8112     void onselect(VARIANT v);
8113
8114     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8115     VARIANT onselect();
8116
8117     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8118     void onbeforeunload(VARIANT v);
8119
8120     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8121     VARIANT onbeforeunload();
8122
8123     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8124     IHTMLTxtRange* createTextRange();
8125
8126     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8127     void onbeforeprint(VARIANT v);
8128
8129     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8130     VARIANT onbeforeprint();
8131
8132     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8133     void onafterprint(VARIANT v);
8134
8135     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8136     VARIANT onafterprint();
8137 }
8138
8139 [
8140     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
8141 ]
8142 coclass HTMLBody
8143 {
8144     [default]           dispinterface DispHTMLBody;
8145     [source, default]   dispinterface HTMLTextContainerEvents;
8146     [source]            dispinterface HTMLTextContainerEvents2;
8147                         interface IHTMLElement;
8148                         interface IHTMLElement2;
8149                         interface IHTMLElement3;
8150                         interface IHTMLElement4;
8151                         interface IHTMLUniqueName;
8152                         interface IHTMLDOMNode;
8153                         interface IHTMLDOMNode2;
8154                         interface IHTMLControlElement;
8155                         interface IHTMLTextContainer;
8156                         interface IHTMLBodyElement;
8157                         interface IHTMLBodyElement2;
8158 }
8159
8160 /*****************************************************************************
8161  *    IHTMLAnchorElement interface
8162  */
8163 [
8164     odl,
8165     oleautomation,
8166     dual,
8167     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
8168 ]
8169 interface IHTMLAnchorElement : IDispatch
8170 {
8171     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8172     HRESULT href([in] BSTR v);
8173
8174     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8175     HRESULT href([retval, out] BSTR *p);
8176
8177     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8178     HRESULT target([in] BSTR v);
8179
8180     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8181     HRESULT target([retval, out] BSTR *p);
8182
8183     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8184     HRESULT rel([in] BSTR v);
8185
8186     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8187     HRESULT rel([retval, out] BSTR *p);
8188
8189     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8190     HRESULT rev([in] BSTR v);
8191
8192     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8193     HRESULT rev([retval, out] BSTR *p);
8194
8195     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8196     HRESULT urn([in] BSTR v);
8197
8198     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8199     HRESULT urn([retval, out] BSTR *p);
8200
8201     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8202     HRESULT Methods([in] BSTR v);
8203
8204     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8205     HRESULT Methods([retval, out] BSTR *p);
8206
8207     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8208     HRESULT name([in] BSTR v);
8209
8210     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8211     HRESULT name([retval, out] BSTR *p);
8212
8213     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8214     HRESULT host([in] BSTR v);
8215
8216     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8217     HRESULT host([retval, out] BSTR *p);
8218
8219     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8220     HRESULT hostname([in] BSTR v);
8221
8222     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8223     HRESULT hostname([retval, out] BSTR *p);
8224
8225     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8226     HRESULT pathname([in] BSTR v);
8227
8228     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8229     HRESULT pathname([retval, out] BSTR *p);
8230
8231     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8232     HRESULT port([in] BSTR v);
8233
8234     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8235     HRESULT port([retval, out] BSTR *p);
8236
8237     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8238     HRESULT protocol([in] BSTR v);
8239
8240     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8241     HRESULT protocol([retval, out] BSTR *p);
8242
8243     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8244     HRESULT search([in] BSTR v);
8245
8246     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8247     HRESULT search([retval, out] BSTR *p);
8248
8249     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8250     HRESULT hash([in] BSTR v);
8251
8252     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8253     HRESULT hash([retval, out] BSTR *p);
8254
8255     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8256     HRESULT onblur([in] VARIANT v);
8257
8258     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8259     HRESULT onblur([retval, out] VARIANT *p);
8260
8261     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8262     HRESULT onfocus([in] VARIANT v);
8263
8264     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8265     HRESULT onfocus([retval, out] VARIANT *p);
8266
8267     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8268     HRESULT accessKey([in] BSTR v);
8269
8270     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8271     HRESULT accessKey([retval, out] BSTR *p);
8272
8273     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8274     HRESULT protocolLong([retval, out] BSTR *p);
8275
8276     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8277     HRESULT mimeType([retval, out] BSTR *p);
8278
8279     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8280     HRESULT nameProp([retval, out] BSTR *p);
8281
8282     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8283     HRESULT tabIndex([in] short v);
8284
8285     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8286     HRESULT tabIndex([retval, out] short *p);
8287
8288     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
8289     HRESULT focus();
8290
8291     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
8292     HRESULT blur();
8293 }
8294
8295 /*****************************************************************************
8296  *    DispHTMLAnchorElement dispinterface
8297  */
8298 [
8299     hidden,
8300     uuid(3050f502-98b5-11cf-bb82-00aa00bdce0b)
8301 ]
8302 dispinterface DispHTMLAnchorElement
8303 {
8304 properties:
8305 methods:
8306     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8307
8308     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8309     void href(BSTR v);
8310
8311     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8312     BSTR href();
8313
8314     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8315     void target(BSTR v);
8316
8317     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8318     BSTR target();
8319
8320     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8321     void rel(BSTR v);
8322
8323     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8324     BSTR rel();
8325
8326     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8327     void rev(BSTR v);
8328
8329     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8330     BSTR rev();
8331
8332     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8333     void urn(BSTR v);
8334
8335     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8336     BSTR urn();
8337
8338     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8339     void Methods(BSTR v);
8340
8341     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8342     BSTR Methods();
8343
8344     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8345     void name(BSTR v);
8346
8347     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8348     BSTR name();
8349
8350     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8351     void host(BSTR v);
8352
8353     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8354     BSTR host();
8355
8356     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8357     void hostname(BSTR v);
8358
8359     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8360     BSTR hostname();
8361
8362     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8363     void pathname(BSTR v);
8364
8365     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8366     BSTR pathname();
8367
8368     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8369     void port(BSTR v);
8370
8371     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8372     BSTR port();
8373
8374     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8375     void protocol(BSTR v);
8376
8377     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8378     BSTR protocol();
8379
8380     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8381     void search(BSTR v);
8382
8383     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8384     BSTR search();
8385
8386     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8387     void hash(BSTR v);
8388
8389     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8390     BSTR hash();
8391
8392     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8393     BSTR protocolLong();
8394
8395     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8396     BSTR mimeType();
8397
8398     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8399     BSTR nameProp();
8400
8401     [propput, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8402     void charset(BSTR v);
8403
8404     [propget, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8405     BSTR charset();
8406
8407     [propput, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8408     void coords(BSTR v);
8409
8410     [propget, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8411     BSTR coords();
8412
8413     [propput, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8414     void hreflang(BSTR v);
8415
8416     [propget, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8417     BSTR hreflang();
8418
8419     [propput, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8420     void shape(BSTR v);
8421
8422     [propget, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8423     BSTR shape();
8424
8425     [propput, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8426     void type(BSTR v);
8427
8428     [propget, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8429     BSTR type();
8430
8431     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8432     void ie8_shape(BSTR v);
8433
8434     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8435     BSTR ie8_shape();
8436
8437     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8438     void ie8_coords(BSTR v);
8439
8440     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8441     BSTR ie8_coords();
8442
8443     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8444     void ie8_href(BSTR v);
8445
8446     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8447     BSTR ie8_href();
8448 }
8449
8450 /*****************************************************************************
8451  *    IHTMLElementCollection interface
8452  */
8453 [
8454     odl,
8455     oleautomation,
8456     dual,
8457     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
8458 ]
8459 interface IHTMLElementCollection : IDispatch
8460 {
8461     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8462     HRESULT toString([retval, out] BSTR *String);
8463
8464     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8465     HRESULT length([in] LONG v);
8466
8467     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8468     HRESULT length([retval, out] LONG *p);
8469
8470     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
8471     HRESULT _newEnum([retval, out] IUnknown **p);
8472
8473     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8474     HRESULT item(
8475         [optional, in] VARIANT name,
8476         [optional, in] VARIANT index,
8477         [retval,  out] IDispatch **pdisp);
8478
8479     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8480     HRESULT tags(
8481         [in] VARIANT tagName,
8482         [retval, out] IDispatch **pdisp);
8483 }
8484
8485 /*****************************************************************************
8486  *    DispHTMLElementCollection dispinterface
8487  */
8488 [
8489     hidden,
8490     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
8491 ]
8492 dispinterface DispHTMLElementCollection
8493 {
8494 properties:
8495 methods:
8496     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8497     BSTR toString();
8498
8499     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8500     void length(LONG v);
8501
8502     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8503     LONG length();
8504
8505     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
8506     IUnknown *_newEnum();
8507
8508     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8509     IDispatch *item(
8510             [in, optional] VARIANT name,
8511             [in, optional] VARIANT index);
8512
8513     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8514     IDispatch *tags(
8515             [in] VARIANT tagName);
8516
8517     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
8518     IDispatch *urns([in] VARIANT urn);
8519
8520     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
8521     IDispatch *namedItem([in] BSTR name);
8522 }
8523
8524 /*****************************************************************************
8525  *    IHTMLSelectElement interface
8526  */
8527 [
8528     odl,
8529     oleautomation,
8530     dual,
8531     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
8532 ]
8533 interface IHTMLSelectElement : IDispatch
8534 {
8535     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8536     HRESULT size([in] LONG v);
8537
8538     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8539     HRESULT size([retval, out] LONG *p);
8540
8541     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8542     HRESULT multiple([in] VARIANT_BOOL v);
8543
8544     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8545     HRESULT multiple([retval, out] VARIANT_BOOL *p);
8546
8547     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8548     HRESULT name([in] BSTR v);
8549
8550     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8551     HRESULT name([retval, out] BSTR *p);
8552
8553     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8554     HRESULT options([retval, out] IDispatch **p);
8555
8556     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8557     HRESULT onchange([in] VARIANT v);
8558
8559     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8560     HRESULT onchange([retval, out] VARIANT *p);
8561
8562     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8563     HRESULT selectedIndex([in] LONG v);
8564
8565     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8566     HRESULT selectedIndex([retval, out] LONG *p);
8567
8568     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8569     HRESULT type([retval, out] BSTR *p);
8570
8571     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8572     HRESULT value([in] BSTR v);
8573
8574     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8575     HRESULT value([retval, out] BSTR *p);
8576
8577     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8578     HRESULT disabled([in] VARIANT_BOOL v);
8579
8580     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8581     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8582
8583     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8584     HRESULT form([retval, out] IHTMLFormElement **p);
8585
8586     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8587     HRESULT add(
8588         [in] IHTMLElement *element,
8589         [optional, in] VARIANT before);
8590
8591     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8592     HRESULT remove([defaultvalue(-1), in] LONG index);
8593
8594     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8595     HRESULT length([in] LONG v);
8596
8597     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8598     HRESULT length([retval, out] LONG *p);
8599
8600     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8601     HRESULT _newEnum([retval, out] IUnknown **p);
8602
8603     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8604     HRESULT item(
8605         [optional, in] VARIANT name,
8606         [optional, in] VARIANT index,
8607         [retval, out] IDispatch **pdisp);
8608
8609     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8610     HRESULT tags(
8611         [in] VARIANT tagName,
8612         [retval, out] IDispatch **pdisp);
8613 }
8614
8615 /*****************************************************************************
8616  *    DispHTMLSelectElement dispinterface
8617  */
8618 [
8619     hidden,
8620     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8621 ]
8622 dispinterface DispHTMLSelectElement
8623 {
8624 properties:
8625 methods:
8626     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8627
8628     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8629     void size(LONG v);
8630
8631     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8632     LONG size();
8633
8634     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8635     void multiple(VARIANT_BOOL v);
8636
8637     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8638     VARIANT_BOOL multiple();
8639
8640     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8641     void name(BSTR v);
8642
8643     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8644     BSTR name();
8645
8646     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8647     IDispatch *options();
8648
8649     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8650     void onchange(VARIANT v);
8651
8652     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8653     VARIANT onchange();
8654
8655     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8656     void selectedIndex(LONG v);
8657
8658     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8659     LONG selectedIndex();
8660
8661     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8662     BSTR type();
8663
8664     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8665     void value(BSTR v);
8666
8667     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8668     BSTR value();
8669
8670     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8671     IHTMLFormElement *form();
8672
8673     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8674     void add(
8675             [in] IHTMLElement *element,
8676             [in, optional] VARIANT before);
8677
8678     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8679     void remove([in, defaultvalue(-1)] LONG index);
8680
8681     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8682     void length(LONG v);
8683
8684     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8685     LONG length();
8686
8687     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8688     IUnknown *_newEnum();
8689
8690     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8691     IDispatch *item(
8692             [in, optional] VARIANT name,
8693             [in, optional] VARIANT index);
8694
8695     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8696     IDispatch *tags([in] VARIANT tagName);
8697
8698     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
8699     IDispatch *urns([in] VARIANT urn);
8700
8701     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
8702     IDispatch *namedItem([in] BSTR name);
8703 }
8704
8705 /*****************************************************************************
8706  *    IHTMLSelectionObject interface
8707  */
8708 [
8709     odl,
8710     oleautomation,
8711     dual,
8712     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
8713 ]
8714 interface IHTMLSelectionObject : IDispatch
8715 {
8716     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
8717     HRESULT createRange([retval, out] IDispatch **range);
8718
8719     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
8720     HRESULT empty();
8721
8722     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
8723     HRESULT clear();
8724
8725     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
8726     HRESULT type([retval, out] BSTR *p);
8727 }
8728
8729 /*****************************************************************************
8730  *    IHTMLOptionElement interface
8731  */
8732 [
8733     odl,
8734     oleautomation,
8735     dual,
8736     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
8737 ]
8738 interface IHTMLOptionElement : IDispatch
8739 {
8740     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8741     HRESULT selected([in] VARIANT_BOOL v);
8742
8743     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8744     HRESULT selected([retval, out] VARIANT_BOOL *p);
8745
8746     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8747     HRESULT value([in] BSTR v);
8748
8749     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8750     HRESULT value([retval, out] BSTR *p);
8751
8752     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8753     HRESULT defaultSelected([in] VARIANT_BOOL v);
8754
8755     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8756     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
8757
8758     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8759     HRESULT index([in] LONG v);
8760
8761     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8762     HRESULT index([retval, out] LONG *p);
8763
8764     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8765     HRESULT text([in] BSTR v);
8766
8767     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8768     HRESULT text([retval, out] BSTR *p);
8769
8770     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8771     HRESULT form([retval, out] IHTMLFormElement **p);
8772 }
8773
8774 [
8775     odl,
8776     oleautomation,
8777     dual,
8778     uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
8779 ]
8780 interface IHTMLOptionElement3 : IDispatch
8781 {
8782     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8783     HRESULT label([in] BSTR v);
8784
8785     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8786     HRESULT label([retval, out] BSTR * p);
8787 }
8788
8789 /*****************************************************************************
8790  *    IHTMLOptionElementFactory interface
8791  */
8792 [
8793     odl,
8794     oleautomation,
8795     dual,
8796     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
8797 ]
8798 interface IHTMLOptionElementFactory : IDispatch
8799 {
8800     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
8801     HRESULT create(
8802         [optional, in] VARIANT text,
8803         [optional, in] VARIANT value,
8804         [optional, in] VARIANT defaultselected,
8805         [optional, in] VARIANT selected,
8806         [retval, out] IHTMLOptionElement **optelem);
8807 }
8808
8809 /*****************************************************************************
8810  *    DispHTMLOptionElement dispinterface
8811  */
8812 [
8813     hidden,
8814     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
8815 ]
8816 dispinterface DispHTMLOptionElement
8817 {
8818 properties:
8819 methods:
8820     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8821
8822     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8823     void selected(VARIANT_BOOL v);
8824
8825     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8826     VARIANT_BOOL selected();
8827
8828     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8829     void value(BSTR v);
8830
8831     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8832     BSTR value();
8833
8834     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8835     void defaultSelected(VARIANT_BOOL v);
8836
8837     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8838     VARIANT_BOOL defaultSelected();
8839
8840     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8841     void index(LONG v);
8842
8843     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8844     LONG index();
8845
8846     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8847     void text(BSTR v);
8848
8849     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8850     BSTR text();
8851
8852     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8853     IHTMLFormElement *form();
8854
8855     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8856     void label(BSTR v);
8857
8858     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8859     BSTR label();
8860 }
8861
8862 [
8863     noncreatable,
8864     uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
8865 ]
8866 coclass HTMLOptionElement
8867 {
8868     [default]           dispinterface DispHTMLOptionElement;
8869     [source, default]   dispinterface HTMLElementEvents;
8870     [source]            dispinterface HTMLElementEvents2;
8871                         interface IHTMLElement;
8872                         interface IHTMLElement2;
8873                         interface IHTMLElement3;
8874                         interface IHTMLElement4;
8875                         interface IHTMLUniqueName;
8876                         interface IHTMLDOMNode;
8877                         interface IHTMLDOMNode2;
8878                         interface IHTMLDatabinding;
8879                         interface IHTMLOptionElement;
8880                         interface IHTMLOptionElement3;
8881 }
8882
8883 /*****************************************************************************
8884  *    IHTMLInputElement interface
8885  */
8886 [
8887     odl,
8888     oleautomation,
8889     dual,
8890     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
8891 ]
8892 interface IHTMLInputElement : IDispatch
8893 {
8894     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8895     HRESULT type([in] BSTR v);
8896
8897     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8898     HRESULT type([retval, out] BSTR *p);
8899
8900     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8901     HRESULT value([in] BSTR v);
8902
8903     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8904     HRESULT value([retval, out] BSTR *p);
8905
8906     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8907     HRESULT name([in] BSTR v);
8908
8909     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8910     HRESULT name([retval, out] BSTR *p);
8911
8912     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8913     HRESULT status([in] VARIANT_BOOL v);
8914
8915     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8916     HRESULT status([retval, out] VARIANT_BOOL *p);
8917
8918     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8919     HRESULT disabled([in] VARIANT_BOOL v);
8920
8921     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8922     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8923
8924     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8925     HRESULT form([retval, out] IHTMLFormElement **p);
8926
8927     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8928     HRESULT size([in] LONG v);
8929
8930     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8931     HRESULT size([retval, out] LONG *p);
8932
8933     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8934     HRESULT maxLength([in] LONG v);
8935
8936     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8937     HRESULT maxLength([retval, out] LONG *p);
8938
8939     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8940     HRESULT select();
8941
8942     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8943     HRESULT onchange([in] VARIANT v);
8944
8945     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8946     HRESULT onchange([retval, out] VARIANT *p);
8947
8948     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8949     HRESULT onselect([in] VARIANT v);
8950
8951     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8952     HRESULT onselect([retval, out] VARIANT *p);
8953
8954     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8955     HRESULT defaultValue([in] BSTR v);
8956
8957     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8958     HRESULT defaultValue([retval, out] BSTR *p);
8959
8960     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8961     HRESULT readOnly([in] VARIANT_BOOL v);
8962
8963     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8964     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8965
8966     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8967     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8968
8969     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8970     HRESULT indeterminate([in] VARIANT_BOOL v);
8971
8972     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8973     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
8974
8975     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8976     HRESULT defaultChecked([in] VARIANT_BOOL v);
8977
8978     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8979     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
8980
8981     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8982     HRESULT checked([in] VARIANT_BOOL v);
8983
8984     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8985     HRESULT checked([retval, out] VARIANT_BOOL *p);
8986
8987     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8988     HRESULT border([in] VARIANT v);
8989
8990     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8991     HRESULT border([retval, out] VARIANT *p);
8992
8993     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8994     HRESULT vspace([in] LONG v);
8995
8996     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8997     HRESULT vspace([retval, out] LONG *p);
8998
8999     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9000     HRESULT hspace([in] LONG v);
9001
9002     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9003     HRESULT hspace([retval, out] LONG *p);
9004
9005     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9006     HRESULT alt([in] BSTR v);
9007
9008     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9009     HRESULT alt([retval, out] BSTR *p);
9010
9011     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9012     HRESULT src([in] BSTR v);
9013
9014     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9015     HRESULT src([retval, out] BSTR *p);
9016
9017     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9018     HRESULT lowsrc([in] BSTR v);
9019
9020     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9021     HRESULT lowsrc([retval, out] BSTR *p);
9022
9023     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9024     HRESULT vrml([in] BSTR v);
9025
9026     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9027     HRESULT vrml([retval, out] BSTR *p);
9028
9029     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9030     HRESULT dynsrc([in] BSTR v);
9031
9032     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9033     HRESULT dynsrc([retval, out] BSTR *p);
9034
9035     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
9036     HRESULT readyState([retval, out] BSTR *p);
9037
9038     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9039     HRESULT complete([retval, out] VARIANT_BOOL *p);
9040
9041     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9042     HRESULT loop([in] VARIANT v);
9043
9044     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9045     HRESULT loop([retval, out] VARIANT *p);
9046
9047     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9048     HRESULT align([in] BSTR v);
9049
9050     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9051     HRESULT align([retval, out] BSTR *p);
9052
9053     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9054     HRESULT onload([in] VARIANT v);
9055
9056     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9057     HRESULT onload([retval, out] VARIANT *p);
9058
9059     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9060     HRESULT onerror([in] VARIANT v);
9061
9062     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9063     HRESULT onerror([retval, out] VARIANT *p);
9064
9065     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9066     HRESULT onabort([in] VARIANT v);
9067
9068     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9069     HRESULT onabort([retval, out] VARIANT *p);
9070
9071     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9072     HRESULT width([in] LONG v);
9073
9074     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9075     HRESULT width([retval, out] LONG *p);
9076
9077     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9078     HRESULT height([in] LONG v);
9079
9080     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9081     HRESULT height([retval, out] LONG *p);
9082
9083     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9084     HRESULT start([in] BSTR v);
9085
9086     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9087     HRESULT start([retval, out] BSTR *p);
9088 }
9089
9090 /*****************************************************************************
9091  *    IHTMLInputTextElement interface
9092  */
9093 [
9094     odl,
9095     oleautomation,
9096     dual,
9097     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
9098 ]
9099 interface IHTMLInputTextElement : IDispatch
9100 {
9101     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
9102     HRESULT type([retval, out] BSTR *p);
9103
9104     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9105     HRESULT value([in] BSTR v);
9106
9107     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9108     HRESULT value([retval, out] BSTR *p);
9109
9110     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9111     HRESULT name([in] BSTR v);
9112
9113     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9114     HRESULT name([retval, out] BSTR *p);
9115
9116     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9117     HRESULT status([in] VARIANT v);
9118
9119     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9120     HRESULT status([retval, out] VARIANT *p);
9121
9122     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9123     HRESULT disabled([in] VARIANT_BOOL v);
9124
9125     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9126     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9127
9128     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
9129     HRESULT form([retval, out] IHTMLFormElement **p);
9130
9131     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9132     HRESULT defaultValue([in] BSTR v);
9133
9134     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9135     HRESULT defaultValue([retval, out] BSTR *p);
9136
9137     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9138     HRESULT size([in] LONG v);
9139
9140     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9141     HRESULT size([retval, out] LONG *p);
9142
9143     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9144     HRESULT maxLength([in] LONG v);
9145
9146     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9147     HRESULT maxLength([retval, out] LONG *p);
9148
9149     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
9150     HRESULT select();
9151
9152     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9153     HRESULT onchange([in] VARIANT v);
9154
9155     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9156     HRESULT onchange([retval, out] VARIANT *p);
9157
9158     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9159     HRESULT onselect([in] VARIANT v);
9160
9161     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9162     HRESULT onselect([retval, out] VARIANT *p);
9163
9164     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9165     HRESULT readOnly([in] VARIANT_BOOL v);
9166
9167     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9168     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9169
9170     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
9171     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9172 }
9173
9174 [
9175     hidden,
9176     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
9177 ]
9178 dispinterface DispHTMLInputElement
9179 {
9180 properties:
9181 methods:
9182     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9183
9184     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9185     void type(BSTR v);
9186
9187     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9188     BSTR type();
9189
9190     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9191     void value(BSTR v);
9192
9193     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9194     BSTR value();
9195
9196     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9197     void name(BSTR v);
9198
9199     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9200     BSTR name();
9201
9202     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9203     void status(VARIANT_BOOL v);
9204
9205     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9206     VARIANT_BOOL status();
9207
9208     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
9209     IHTMLFormElement *form();
9210
9211     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9212     void size(LONG v);
9213
9214     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9215     LONG size();
9216
9217     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9218     void maxLength(LONG v);
9219
9220     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9221     LONG maxLength();
9222
9223     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
9224     void select();
9225
9226     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9227     void onchange(VARIANT v);
9228
9229     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9230     VARIANT onchange();
9231
9232     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9233     void onselect(VARIANT v);
9234
9235     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9236     VARIANT onselect();
9237
9238     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9239     void defaultValue(BSTR v);
9240
9241     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9242     BSTR defaultValue();
9243
9244     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9245     void readOnly(VARIANT_BOOL v);
9246
9247     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9248     VARIANT_BOOL readOnly();
9249
9250     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
9251     IHTMLTxtRange *createTextRange();
9252
9253     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9254     void indeterminate(VARIANT_BOOL v);
9255
9256     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9257     VARIANT_BOOL indeterminate();
9258
9259     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9260     void defaultChecked(VARIANT_BOOL v);
9261
9262     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9263     VARIANT_BOOL defaultChecked();
9264
9265     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9266     void checked(VARIANT_BOOL v);
9267
9268     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9269     VARIANT_BOOL checked();
9270
9271     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9272     void border(VARIANT v);
9273
9274     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9275     VARIANT border();
9276
9277     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9278     void vspace(LONG v);
9279
9280     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9281     LONG vspace();
9282
9283     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9284     void hspace(LONG v);
9285
9286     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9287     LONG hspace();
9288
9289     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9290     void alt(BSTR v);
9291
9292     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9293     BSTR alt();
9294
9295     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9296     void src(BSTR v);
9297
9298     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9299     BSTR src();
9300
9301     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9302     void lowsrc(BSTR v);
9303
9304     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9305     BSTR lowsrc();
9306
9307     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9308     void vrml(BSTR v);
9309
9310     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9311     BSTR vrml();
9312
9313     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9314     void dynsrc(BSTR v);
9315
9316     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9317     BSTR dynsrc();
9318
9319     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9320     VARIANT_BOOL complete();
9321
9322     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9323     void loop(VARIANT v);
9324
9325     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9326     VARIANT loop();
9327
9328     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9329     void align(BSTR v);
9330
9331     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9332     BSTR align();
9333
9334     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9335     void onload(VARIANT v);
9336
9337     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9338     VARIANT onload();
9339
9340     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9341     void onerror(VARIANT v);
9342
9343     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9344     VARIANT onerror();
9345
9346     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9347     void onabort(VARIANT v);
9348
9349     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9350     VARIANT onabort();
9351
9352     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9353     void width(LONG v);
9354
9355     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9356     LONG width();
9357
9358     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9359     void height(LONG v);
9360
9361     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9362     LONG height();
9363
9364     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9365     void start(BSTR v);
9366
9367     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9368     BSTR start();
9369
9370     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9371     void accept(BSTR v);
9372
9373     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9374     BSTR accept();
9375
9376     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9377     void useMap(BSTR v);
9378
9379     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9380     BSTR useMap();
9381 }
9382
9383 /*****************************************************************************
9384  *    IHTMLTextAreaElement interface
9385  */
9386 [
9387     odl,
9388     oleautomation,
9389     dual,
9390     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
9391 ]
9392 interface IHTMLTextAreaElement : IDispatch
9393 {
9394     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9395     HRESULT type([retval, out] BSTR *p);
9396
9397     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9398     HRESULT value([in] BSTR v);
9399
9400     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9401     HRESULT value([retval, out] BSTR *p);
9402
9403     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9404     HRESULT name([in] BSTR v);
9405
9406     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9407     HRESULT name([retval, out] BSTR *p);
9408
9409     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9410     HRESULT status([in] VARIANT v);
9411
9412     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9413     HRESULT status([retval, out] VARIANT *p);
9414
9415     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9416     HRESULT disabled([in] VARIANT_BOOL v);
9417
9418     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9419     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9420
9421     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9422     HRESULT form([retval, out] IHTMLFormElement **p);
9423
9424     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9425     HRESULT defaultValue([in] BSTR v);
9426
9427     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9428     HRESULT defaultValue([retval, out] BSTR *p);
9429
9430     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9431     HRESULT select();
9432
9433     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9434     HRESULT onchange([in] VARIANT v);
9435
9436     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9437     HRESULT onchange([retval, out] VARIANT *p);
9438
9439     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9440     HRESULT onselect([in] VARIANT v);
9441
9442     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9443     HRESULT onselect([retval, out] VARIANT *p);
9444
9445     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9446     HRESULT readOnly([in] VARIANT_BOOL v);
9447
9448     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9449     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9450
9451     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9452     HRESULT rows([in] LONG v);
9453
9454     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9455     HRESULT rows([retval, out] LONG *p);
9456
9457     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9458     HRESULT cols([in] LONG v);
9459
9460     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9461     HRESULT cols([retval, out] LONG *p);
9462
9463     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9464     HRESULT wrap([in] BSTR v);
9465
9466     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9467     HRESULT wrap([retval, out] BSTR *p);
9468
9469     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9470     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9471 }
9472
9473 /*****************************************************************************
9474  *    DispHTMLTextAreaElement dispinterface
9475  */
9476 [
9477     hidden,
9478     uuid(3050f521-98b5-11cf-bb82-00aa00bdce0b)
9479 ]
9480 dispinterface DispHTMLTextAreaElement
9481 {
9482 properties:
9483 methods:
9484     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9485
9486     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9487     BSTR type();
9488
9489     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9490     void value(BSTR v);
9491
9492     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9493     BSTR value();
9494
9495     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9496     void name(BSTR v);
9497
9498     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9499     BSTR name();
9500
9501     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9502     void status(VARIANT v);
9503
9504     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9505     VARIANT status();
9506
9507     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9508     IHTMLFormElement *form();
9509
9510     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9511     void defaultValue(BSTR v);
9512
9513     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9514     BSTR defaultValue();
9515
9516     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9517     void select();
9518
9519     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9520     void onchange(VARIANT v);
9521
9522     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9523     VARIANT onchange();
9524
9525     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9526     void onselect(VARIANT v);
9527
9528     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9529     VARIANT onselect();
9530
9531     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9532     void readOnly(VARIANT_BOOL v);
9533
9534     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9535     VARIANT_BOOL readOnly();
9536
9537     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9538     void rows(LONG v);
9539
9540     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9541     LONG rows();
9542
9543     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9544     void cols(LONG v);
9545
9546     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9547     LONG cols();
9548
9549     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9550     void wrap(BSTR v);
9551
9552     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9553     BSTR wrap();
9554
9555     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9556     IHTMLTxtRange *createTextRange();
9557 }
9558
9559 /*****************************************************************************
9560  *    IHTMLHeadElement interface
9561  */
9562 [
9563     odl,
9564     oleautomation,
9565     dual,
9566     uuid(3050f81d-98b5-11cf-bb82-00aa00bdce0b)
9567 ]
9568 interface IHTMLHeadElement : IDispatch
9569 {
9570     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9571     HRESULT profile([in] BSTR v);
9572
9573     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9574     HRESULT profile([retval, out] BSTR *p);
9575 }
9576
9577 /*****************************************************************************
9578  *    IHTMLHeadElement2 interface
9579  */
9580 [
9581     odl,
9582     oleautomation,
9583     dual,
9584     uuid(3051042f-98b5-11cf-bb82-00aa00bdce0b)
9585 ]
9586 interface IHTMLHeadElement2 : IDispatch
9587 {
9588     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9589     HRESULT profile([in] BSTR v);
9590
9591     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9592     HRESULT profile([retval, out] BSTR *p);
9593 }
9594
9595 /*****************************************************************************
9596  *    IHTMLTitleElement interface
9597  */
9598 [
9599     odl,
9600     oleautomation,
9601     dual,
9602     uuid(3050f322-98b5-11cf-bb82-00aa00bdce0b)
9603 ]
9604 interface IHTMLTitleElement : IDispatch
9605 {
9606     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9607     HRESULT text([in] BSTR v);
9608
9609     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9610     HRESULT text([retval, out] BSTR *p);
9611 }
9612
9613 /*****************************************************************************
9614  *    IHTMLMetaElement interface
9615  */
9616 [
9617     odl,
9618     oleautomation,
9619     dual,
9620     uuid(3050f203-98b5-11cf-bb82-00aa00bdce0b)
9621 ]
9622 interface IHTMLMetaElement : IDispatch
9623 {
9624     [propput, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
9625     HRESULT httpEquiv([in] BSTR v);
9626
9627     [propget, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
9628     HRESULT httpEquiv([out, retval] BSTR *p);
9629
9630     [propput, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
9631     HRESULT content([in] BSTR v);
9632
9633     [propget, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
9634     HRESULT content([out, retval] BSTR *p);
9635
9636     [propput, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
9637     HRESULT name([in] BSTR v);
9638
9639     [propget, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
9640     HRESULT name([out, retval] BSTR *p);
9641
9642     [propput, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
9643     HRESULT url([in] BSTR v);
9644
9645     [propget, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
9646     HRESULT url([out, retval] BSTR *p);
9647
9648     [propput, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
9649     HRESULT charset([in] BSTR v);
9650
9651     [propget, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
9652     HRESULT charset([out, retval] BSTR *p);
9653 }
9654
9655 /*****************************************************************************
9656  *    IHTMLMetaElement2 interface
9657  */
9658 [
9659     odl,
9660     oleautomation,
9661     dual,
9662     uuid(3050f81f-98b5-11cf-bb82-00aa00bdce0b)
9663 ]
9664 interface IHTMLMetaElement2 : IDispatch
9665 {
9666     [propput, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
9667     HRESULT scheme([in] BSTR v);
9668
9669     [propget, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
9670     HRESULT scheme([out, retval] BSTR *p);
9671 }
9672
9673 /*****************************************************************************
9674  *    IHTMLMetaElement3 interface
9675  */
9676 [
9677     odl,
9678     oleautomation,
9679     dual,
9680     uuid(30510495-98b5-11cf-bb82-00aa00bdce0b)
9681 ]
9682 interface IHTMLMetaElement3 : IDispatch
9683 {
9684     [propput, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
9685     HRESULT url([in] BSTR v);
9686
9687     [propget, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
9688     HRESULT url([out, retval] BSTR *p);
9689 }
9690
9691 /*****************************************************************************
9692  *    DispHTMLHeadElement interface
9693  */
9694 [
9695     hidden,
9696     uuid(3050f561-98b5-11cf-bb82-00aa00bdce0b)
9697 ]
9698 dispinterface DispHTMLHeadElement
9699 {
9700 properties:
9701 methods:
9702     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9703
9704     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9705     void profile(BSTR v);
9706
9707     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9708     BSTR profile();
9709
9710     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9711     void ie8_profile(BSTR v);
9712
9713     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9714     BSTR ie8_profile();
9715 }
9716
9717 /*****************************************************************************
9718  *    DispHTMLTitleElement interface
9719  */
9720 [
9721     hidden,
9722     uuid(3050f516-98b5-11cf-bb82-00aa00bdce0b)
9723 ]
9724 dispinterface DispHTMLTitleElement
9725 {
9726 properties:
9727 methods:
9728     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9729
9730     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9731     void text(BSTR v);
9732
9733     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9734     BSTR text();
9735 }
9736
9737 /*****************************************************************************
9738  *    DispHTMLMetaElement dispinterface
9739  */
9740 [
9741     hidden,
9742     uuid(3050f517-98b5-11cf-bb82-00aa00bdce0b)
9743 ]
9744 dispinterface DispHTMLMetaElement
9745 {
9746 properties:
9747 methods:
9748     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9749
9750     [propput, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
9751     void httpEquiv(BSTR v);
9752
9753     [propget, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
9754     BSTR httpEquiv();
9755
9756     [propput, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
9757     void content(BSTR v);
9758
9759     [propget, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
9760     BSTR content();
9761
9762     [propput, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
9763     void name(BSTR v);
9764
9765     [propget, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
9766     BSTR name();
9767
9768     [propput, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
9769     void url(BSTR v);
9770
9771     [propget, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
9772     BSTR url();
9773
9774     [propput, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
9775     void charset(BSTR v);
9776
9777     [propget, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
9778     BSTR charset();
9779
9780     [propput, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
9781     void scheme(BSTR v);
9782
9783     [propget, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
9784     BSTR scheme();
9785
9786     [propput, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
9787     void ie8_url(BSTR v);
9788
9789     [propget, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
9790     BSTR ie8_url();
9791 }
9792
9793 /*****************************************************************************
9794  *    DispHTMLUnknownElement dispinterface
9795  */
9796 [
9797     hidden,
9798     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
9799 ]
9800 dispinterface DispHTMLUnknownElement
9801 {
9802 properties:
9803 methods:
9804     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9805 }
9806
9807 /*****************************************************************************
9808  *    IOmHistory interface
9809  */
9810 [
9811     odl,
9812     oleautomation,
9813     dual,
9814     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
9815 ]
9816 interface IOmHistory : IDispatch
9817 {
9818     [propget, id(DISPID_IOMHISTORY_LENGTH)]
9819     HRESULT length([retval, out] short *p);
9820
9821     [id(DISPID_IOMHISTORY_BACK)]
9822     HRESULT back([optional, in] VARIANT *pvargdistance);
9823
9824     [id(DISPID_IOMHISTORY_FORWARD)]
9825     HRESULT forward([optional, in] VARIANT *pvargdistance);
9826
9827     [id(DISPID_IOMHISTORY_GO)]
9828     HRESULT go([optional, in] VARIANT *pvargdistance);
9829 }
9830
9831 [
9832     noncreatable,
9833     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
9834 ]
9835 coclass HTMLHistory
9836 {
9837     [default]           interface IOmHistory;
9838 }
9839
9840 /*****************************************************************************
9841  *    IHTMLMimeTypesCollection interface
9842  */
9843 [
9844     odl,
9845     oleautomation,
9846     dual,
9847     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
9848 ]
9849 interface IHTMLMimeTypesCollection : IDispatch
9850 {
9851     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
9852     HRESULT length([retval, out] LONG *p);
9853 }
9854
9855 [
9856     noncreatable,
9857     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
9858 ]
9859 coclass CMimeTypes
9860 {
9861     [default]           interface IHTMLMimeTypesCollection;
9862 }
9863
9864 /*****************************************************************************
9865  *    IHTMLPluginsCollection interface
9866  */
9867 [
9868     odl,
9869     oleautomation,
9870     dual,
9871     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
9872 ]
9873 interface IHTMLPluginsCollection : IDispatch
9874 {
9875     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9876     HRESULT length([retval, out] LONG *p);
9877
9878     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9879     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9880 }
9881
9882 [
9883     hidden,
9884     uuid(3050f54a-98b5-11cf-bb82-00aa00bdce0b)
9885 ]
9886 dispinterface DispCPlugins
9887 {
9888  properties:
9889 methods:
9890     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9891     long length();
9892
9893     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9894     void refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9895
9896     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
9897     IDispatch *constructor();
9898 }
9899
9900 [
9901     noncreatable,
9902     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
9903 ]
9904 coclass CPlugins
9905 {
9906     [default]  dispinterface DispCPlugins;
9907                interface IHTMLPluginsCollection;
9908                interface IHTMLDOMConstructor;
9909 }
9910
9911 /*****************************************************************************
9912  *    IHTMLOpsProfile interface
9913  */
9914 [
9915     odl,
9916     oleautomation,
9917     dual,
9918     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
9919 ]
9920 interface IHTMLOpsProfile : IDispatch
9921 {
9922     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
9923     HRESULT addRequest(
9924         [in] BSTR name,
9925         [optional, in] VARIANT reserved,
9926         [retval, out] VARIANT_BOOL *success);
9927
9928     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
9929     HRESULT clearRequest();
9930
9931     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
9932     HRESULT doRequest(
9933         [in] VARIANT usage,
9934         [optional, in] VARIANT fname,
9935         [optional, in] VARIANT domain,
9936         [optional, in] VARIANT path,
9937         [optional, in] VARIANT expire,
9938         [optional, in] VARIANT reserved);
9939
9940     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
9941     HRESULT getAttribute(
9942         [in] BSTR name,
9943         [retval, out] BSTR *value);
9944
9945     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
9946     HRESULT setAttribute(
9947         [in] BSTR name,
9948         [in] BSTR value,
9949         [optional, in] VARIANT prefs,
9950         [retval, out] VARIANT_BOOL *success);
9951
9952     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
9953     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
9954
9955     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
9956     HRESULT addReadRequest(
9957         [in] BSTR name,
9958         [optional, in] VARIANT reserved,
9959         [retval, out] VARIANT_BOOL *success);
9960
9961     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
9962     HRESULT doReadRequest(
9963         [in] VARIANT usage,
9964         [optional, in] VARIANT fname,
9965         [optional, in] VARIANT domain,
9966         [optional, in] VARIANT path,
9967         [optional, in] VARIANT expire,
9968         [optional, in] VARIANT reserved);
9969
9970     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
9971     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
9972 }
9973
9974 [
9975     noncreatable,
9976     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
9977 ]
9978 coclass COpsProfile
9979 {
9980     [default]           interface IHTMLOpsProfile;
9981 }
9982
9983 /*****************************************************************************
9984  *    IOmNavigator interface
9985  */
9986 [
9987     odl,
9988     oleautomation,
9989     dual,
9990     uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
9991 ]
9992 interface IOmNavigator : IDispatch
9993 {
9994     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9995     HRESULT appCodeName([retval, out] BSTR *p);
9996
9997     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9998     HRESULT appName([retval, out] BSTR *p);
9999
10000     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
10001     HRESULT appVersion([retval, out] BSTR *p);
10002
10003     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
10004     HRESULT userAgent([retval, out] BSTR *p);
10005
10006     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
10007     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
10008
10009     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
10010     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
10011
10012     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
10013     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
10014
10015     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
10016     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
10017
10018     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
10019     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
10020
10021     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
10022     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
10023
10024     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
10025     HRESULT toString([retval, out] BSTR *String);
10026
10027     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
10028     HRESULT cpuClass([retval, out] BSTR *p);
10029
10030     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
10031     HRESULT systemLanguage([retval, out] BSTR *p);
10032
10033     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
10034     HRESULT browserLanguage([retval, out] BSTR *p);
10035
10036     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
10037     HRESULT userLanguage([retval, out] BSTR *p);
10038
10039     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
10040     HRESULT platform([retval, out] BSTR *p);
10041
10042     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
10043     HRESULT appMinorVersion([retval, out] BSTR *p);
10044
10045     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
10046     HRESULT connectionSpeed([retval, out] LONG *p);
10047
10048     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
10049     HRESULT onLine([retval, out] VARIANT_BOOL *p);
10050
10051     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
10052     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
10053 }
10054
10055 /*****************************************************************************
10056  *    DispHTMLNavigator dispinterface
10057  */
10058 [
10059     hidden,
10060     uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
10061 ]
10062 dispinterface DispHTMLNavigator
10063 {
10064 properties:
10065 methods:
10066     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
10067     BSTR appCodeName();
10068
10069     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
10070     BSTR appName();
10071
10072     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
10073     BSTR appVersion();
10074
10075     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
10076     BSTR userAgent();
10077
10078     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
10079     VARIANT_BOOL javaEnabled();
10080
10081     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
10082     VARIANT_BOOL taintEnabled();
10083
10084     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
10085     IHTMLMimeTypesCollection *mimeTypes();
10086
10087     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
10088     IHTMLPluginsCollection *plugins();
10089
10090     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
10091     VARIANT_BOOL cookieEnabled();
10092
10093     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
10094     IHTMLOpsProfile *opsProfile();
10095
10096     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
10097     BSTR toString();
10098
10099     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
10100     BSTR cpuClass();
10101
10102     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
10103     BSTR systemLanguage();
10104
10105     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
10106     BSTR browserLanguage();
10107
10108     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
10109     BSTR userLanguage();
10110
10111     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
10112     BSTR platform();
10113
10114     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
10115     BSTR appMinorVersion();
10116
10117     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
10118     LONG connectionSpeed();
10119
10120     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
10121     VARIANT_BOOL onLine();
10122
10123     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
10124     IHTMLOpsProfile *userProfile();
10125
10126     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
10127 }
10128
10129 [
10130     noncreatable,
10131     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
10132 ]
10133 coclass HTMLNavigator
10134 {
10135     [default]  dispinterface DispHTMLNavigator;
10136                interface IOmNavigator;
10137 }
10138
10139 /*****************************************************************************
10140  *    IHTMLLocation interface
10141  */
10142 [
10143     odl,
10144     oleautomation,
10145     dual,
10146     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
10147 ]
10148 interface IHTMLLocation : IDispatch
10149 {
10150     [propput, id(DISPID_IHTMLLOCATION_HREF)]
10151     HRESULT href([in] BSTR v);
10152
10153     [propget, id(DISPID_IHTMLLOCATION_HREF)]
10154     HRESULT href([retval, out] BSTR *p);
10155
10156     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10157     HRESULT protocol([in] BSTR v);
10158
10159     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10160     HRESULT protocol([retval, out] BSTR *p);
10161
10162     [propput, id(DISPID_IHTMLLOCATION_HOST)]
10163     HRESULT host([in] BSTR v);
10164
10165     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10166     HRESULT host([retval, out] BSTR *p);
10167
10168     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10169     HRESULT hostname([in] BSTR v);
10170
10171     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10172     HRESULT hostname([retval, out] BSTR *p);
10173
10174     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10175     HRESULT port([in] BSTR v);
10176
10177     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10178     HRESULT port([retval, out] BSTR *p);
10179
10180     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10181     HRESULT pathname([in] BSTR v);
10182
10183     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10184     HRESULT pathname([retval, out] BSTR *p);
10185
10186     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10187     HRESULT search([in] BSTR v);
10188
10189     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10190     HRESULT search([retval, out] BSTR *p);
10191
10192     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10193     HRESULT hash([in] BSTR v);
10194
10195     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10196     HRESULT hash([retval, out] BSTR *p);
10197
10198     [id(DISPID_IHTMLLOCATION_RELOAD)]
10199     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
10200
10201     [id(DISPID_IHTMLLOCATION_REPLACE)]
10202     HRESULT replace([in] BSTR bstr);
10203
10204     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10205     HRESULT assign([in] BSTR bstr);
10206
10207     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10208     HRESULT toString([retval, out] BSTR *String);
10209 }
10210
10211 /*****************************************************************************
10212  *    DispHTMLHistory dispinterface
10213  */
10214 [
10215     hidden,
10216     uuid(3050f549-98b5-11cf-bb82-00aa00bdce0b)
10217 ]
10218 dispinterface DispHTMLHistory
10219 {
10220 properties:
10221 methods:
10222     [propget, id(DISPID_IOMHISTORY_LENGTH)]
10223     short length();
10224
10225     [id(DISPID_IOMHISTORY_BACK)]
10226     void back([optional, in] VARIANT *pvargdistance);
10227
10228     [id(DISPID_IOMHISTORY_FORWARD)]
10229     void forward([optional, in] VARIANT *pvargdistance);
10230
10231     [id(DISPID_IOMHISTORY_GO)]
10232     void go([optional, in] VARIANT *pvargdistance);
10233
10234     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
10235     IDispatch *constructor();
10236 }
10237
10238 /*****************************************************************************
10239  *    DispHTMLLocation dispinterface
10240  */
10241 [
10242     hidden,
10243     uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
10244 ]
10245 dispinterface DispHTMLLocation
10246 {
10247 properties:
10248 methods:
10249     [propput, id(DISPID_IHTMLLOCATION_HREF)]
10250     void href(BSTR v);
10251
10252     [propget, id(DISPID_IHTMLLOCATION_HREF)]
10253     BSTR href();
10254
10255     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10256     void protocol(BSTR v);
10257
10258     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10259     BSTR protocol();
10260
10261     [propput, id(DISPID_IHTMLLOCATION_HOST)]
10262     void host(BSTR v);
10263
10264     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10265     BSTR host();
10266
10267     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10268     void hostname(BSTR v);
10269
10270     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10271     BSTR hostname();
10272
10273     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10274     void port(BSTR v);
10275
10276     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10277     BSTR port();
10278
10279     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10280     void pathname(BSTR v);
10281
10282     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10283     BSTR pathname();
10284
10285     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10286     void search(BSTR v);
10287
10288     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10289     BSTR search();
10290
10291     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10292     void hash(BSTR v);
10293
10294     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10295     BSTR hash();
10296
10297     [id(DISPID_IHTMLLOCATION_RELOAD)]
10298     void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
10299
10300     [id(DISPID_IHTMLLOCATION_REPLACE)]
10301     void replace([in] BSTR bstr);
10302
10303     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10304     void assign([in] BSTR bstr);
10305
10306     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10307     BSTR toString();
10308
10309     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
10310 }
10311
10312 [
10313     noncreatable,
10314     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
10315 ]
10316 coclass HTMLLocation
10317 {
10318     [default]  dispinterface DispHTMLLocation;
10319                interface IHTMLLocation;
10320 }
10321
10322 [
10323     odl,
10324     oleautomation,
10325     dual,
10326     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
10327 ]
10328 interface IHTMLBookmarkCollection : IDispatch
10329 {
10330     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
10331     HRESULT length([out, retval] LONG *p);
10332
10333     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
10334     HRESULT _newEnum([out, retval] IUnknown **p);
10335
10336     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
10337     HRESULT item(
10338             [in] LONG index,
10339             [out, retval] VARIANT *pVarBookmark);
10340 }
10341
10342 /*****************************************************************************
10343  *    IHTMLDataTransfer interface
10344  */
10345 [
10346     odl,
10347     oleautomation,
10348     dual,
10349     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
10350 ]
10351 interface IHTMLDataTransfer : IDispatch
10352 {
10353     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
10354     HRESULT setData(
10355             [in] BSTR format,
10356             [in] VARIANT *data,
10357             [out, retval] VARIANT_BOOL *pret);
10358
10359     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
10360     HRESULT getData(
10361             [in] BSTR format,
10362             [out, retval] VARIANT *pvarRet);
10363
10364     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
10365     HRESULT clearData(
10366             [in] BSTR format,
10367             [out, retval] VARIANT_BOOL *pret);
10368
10369     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10370     HRESULT dropEffect([in] BSTR v);
10371
10372     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10373     HRESULT dropEffect([out, retval] BSTR *p);
10374
10375     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10376     HRESULT effectAllowed([in] BSTR v);
10377
10378     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10379     HRESULT effectAllowed([out, retval] BSTR *p);
10380 }
10381
10382 /*****************************************************************************
10383  *    IHTMLEventObj interface
10384  */
10385 [
10386     odl,
10387     oleautomation,
10388     dual,
10389     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
10390 ]
10391 interface IHTMLEventObj : IDispatch
10392 {
10393     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
10394     HRESULT srcElement([retval, out] IHTMLElement **p);
10395
10396     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
10397     HRESULT altKey([retval, out] VARIANT_BOOL *p);
10398
10399     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
10400     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
10401
10402     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
10403     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
10404
10405     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10406     HRESULT returnValue([in] VARIANT v);
10407
10408     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10409     HRESULT returnValue([retval, out] VARIANT *p);
10410
10411     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10412     HRESULT cancelBubble([in] VARIANT_BOOL v);
10413
10414     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10415     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
10416
10417     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
10418     HRESULT fromElement([retval, out] IHTMLElement **p);
10419
10420     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
10421     HRESULT toElement([retval, out] IHTMLElement **p);
10422
10423     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10424     HRESULT keyCode([in] LONG v);
10425
10426     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10427     HRESULT keyCode([retval, out] LONG *p);
10428
10429     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
10430     HRESULT button([retval, out] LONG *p);
10431
10432     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
10433     HRESULT type([retval, out] BSTR *p);
10434
10435     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
10436     HRESULT qualifier([retval, out] BSTR *p);
10437
10438     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
10439     HRESULT reason([retval, out] LONG *p);
10440
10441     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
10442     HRESULT x([retval, out] LONG *p);
10443
10444     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
10445     HRESULT y([retval, out] LONG *p);
10446
10447     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
10448     HRESULT clientX([retval, out] LONG *p);
10449
10450     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
10451     HRESULT clientY([retval, out] LONG *p);
10452
10453     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
10454     HRESULT offsetX([retval, out] LONG *p);
10455
10456     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
10457     HRESULT offsetY([retval, out] LONG *p);
10458
10459     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
10460     HRESULT screenX([retval, out] LONG *p);
10461
10462     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
10463     HRESULT screenY([retval, out] LONG *p);
10464
10465     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
10466     HRESULT srcFilter([retval, out] IDispatch **p);
10467 }
10468
10469 /*****************************************************************************
10470  *    DispCEventObj dispinterface
10471  */
10472 [
10473     hidden,
10474     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
10475 ]
10476 dispinterface DispCEventObj
10477 {
10478 properties:
10479 methods:
10480     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10481     void returnValue(VARIANT v);
10482
10483     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10484     VARIANT returnValue();
10485
10486     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10487     void cancelBubble(VARIANT_BOOL v);
10488
10489     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10490     VARIANT_BOOL cancelBubble();
10491
10492     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10493     void keyCode(LONG v);
10494
10495     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10496     LONG keyCode();
10497
10498     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
10499     void setAttribute(
10500             [in] BSTR strAttributeName,
10501             [in] VARIANT AttributeValue,
10502             [in, defaultvalue(1)] LONG lFlags);
10503
10504     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
10505     VARIANT getAttribute(
10506             [in] BSTR strAttributeName,
10507             [in, defaultvalue(0)] LONG lFlags);
10508
10509     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
10510     VARIANT_BOOL removeAttribute(
10511             [in] BSTR strAttributeName,
10512             [in, defaultvalue(1)] LONG lFlags);
10513
10514     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
10515     void propertyName(BSTR v);
10516
10517     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
10518     BSTR propertyName();
10519
10520     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
10521     void bookmarks(IHTMLBookmarkCollection *v);
10522
10523     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
10524     IHTMLBookmarkCollection *bookmarks();
10525
10526     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
10527     void recordset(IDispatch *v);
10528
10529     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
10530     IDispatch *recordset();
10531
10532     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
10533     void dataFld(BSTR v);
10534
10535     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
10536     BSTR dataFld();
10537
10538     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
10539     void boundElements(IHTMLElementCollection *v);
10540
10541     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
10542     IHTMLElementCollection *boundElements();
10543
10544     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
10545     void repeat(VARIANT_BOOL v);
10546
10547     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
10548     VARIANT_BOOL repeat();
10549
10550     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
10551     void srcUrn(BSTR v);
10552
10553     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
10554     BSTR srcUrn();
10555
10556     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
10557     void srcElement(IHTMLElement *v);
10558
10559     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
10560     IHTMLElement *srcElement();
10561
10562     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
10563     void altKey(VARIANT_BOOL v);
10564
10565     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
10566     VARIANT_BOOL altKey();
10567
10568     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
10569     void ctrlKey(VARIANT_BOOL v);
10570
10571     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
10572     VARIANT_BOOL ctrlKey();
10573
10574     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
10575     void shiftKey(VARIANT_BOOL v);
10576
10577     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
10578     VARIANT_BOOL shiftKey();
10579
10580     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
10581     void fromElement(IHTMLElement *v);
10582
10583     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
10584     IHTMLElement *fromElement();
10585
10586     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
10587     void toElement(IHTMLElement *v);
10588
10589     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
10590     IHTMLElement *toElement();
10591
10592     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
10593     void button(LONG v);
10594
10595     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
10596     LONG button();
10597
10598     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
10599     void type(BSTR v);
10600
10601     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
10602     BSTR type();
10603
10604     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
10605     void qualifier(BSTR v);
10606
10607     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
10608     BSTR qualifier();
10609
10610     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
10611     void reason(LONG v);
10612
10613     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
10614     LONG reason();
10615
10616     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
10617     void x(LONG v);
10618
10619     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
10620     LONG x();
10621
10622     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
10623     void y(LONG v);
10624
10625     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
10626     LONG y();
10627
10628     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
10629     void clientX(LONG v);
10630
10631     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
10632     LONG clientX();
10633
10634     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
10635     void clientY(LONG v);
10636
10637     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
10638     LONG clientY();
10639     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
10640     void offsetX(LONG v);
10641
10642     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
10643     LONG offsetX();
10644
10645     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
10646     void offsetY(LONG v);
10647
10648     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
10649     LONG offsetY();
10650
10651     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
10652     void screenX(LONG v);
10653
10654     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
10655     LONG screenX();
10656
10657     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
10658     void screenY(LONG v);
10659
10660     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
10661     LONG screenY();
10662
10663     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
10664     void srcFilter(IDispatch *v);
10665
10666     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
10667     IDispatch *srcFilter();
10668
10669     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
10670     IHTMLDataTransfer *dataTransfer();
10671
10672     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
10673     VARIANT_BOOL contentOverflow();
10674
10675     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
10676     void shiftLeft(VARIANT_BOOL v);
10677
10678     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
10679     VARIANT_BOOL shiftLeft();
10680
10681     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
10682     void altLeft(VARIANT_BOOL v);
10683
10684     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
10685     VARIANT_BOOL altLeft();
10686
10687     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
10688     void ctrlLeft(VARIANT_BOOL v);
10689
10690     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
10691     VARIANT_BOOL ctrlLeft();
10692
10693     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
10694     LONG_PTR imeCompositionChange();
10695
10696     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
10697     LONG_PTR imeNotifyCommand();
10698
10699     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
10700     LONG_PTR imeNotifyData();
10701
10702     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
10703     LONG_PTR imeRequest();
10704
10705     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
10706     LONG_PTR imeRequestData();
10707
10708     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
10709     LONG_PTR keyboardLayout();
10710
10711     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
10712     LONG behaviorCookie();
10713
10714     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
10715     LONG behaviorPart();
10716
10717     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
10718     BSTR nextPage();
10719
10720     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
10721     LONG wheelDelta();
10722 }
10723
10724 /*****************************************************************************
10725  *    IHTMLFramesCollection2 interface
10726  */
10727 [
10728     odl,
10729     oleautomation,
10730     dual,
10731     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
10732 ]
10733 interface IHTMLFramesCollection2 : IDispatch
10734 {
10735     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10736     HRESULT item(
10737         [in] VARIANT *pvarIndex,
10738         [retval, out] VARIANT *pvarResult);
10739
10740     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10741     HRESULT length([retval, out] LONG *p);
10742 }
10743
10744 /*****************************************************************************
10745  *    IHTMLScreen interface
10746  */
10747 [
10748     odl,
10749     oleautomation,
10750     dual,
10751     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
10752 ]
10753 interface IHTMLScreen : IDispatch
10754 {
10755     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
10756     HRESULT colorDepth([retval, out] LONG *p);
10757
10758     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10759     HRESULT bufferDepth([in] LONG v);
10760
10761     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10762     HRESULT bufferDepth([retval, out] LONG *p);
10763
10764     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10765     HRESULT width([retval, out] LONG *p);
10766
10767     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10768     HRESULT height([retval, out] LONG *p);
10769
10770     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10771     HRESULT updateInterval([in] LONG v);
10772
10773     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10774     HRESULT updateInterval([retval, out] LONG *p);
10775
10776     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
10777     HRESULT availHeight([retval, out] LONG *p);
10778
10779     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
10780     HRESULT availWidth([retval, out] LONG *p);
10781
10782     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10783     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
10784 }
10785
10786 /*****************************************************************************
10787  *    IHTMLWindow2 interface
10788  */
10789 [
10790     odl,
10791     oleautomation,
10792     dual,
10793     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
10794 ]
10795 interface IHTMLWindow2 : IHTMLFramesCollection2
10796 {
10797     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10798     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
10799
10800     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10801     HRESULT defaultStatus([in] BSTR v);
10802
10803     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10804     HRESULT defaultStatus([retval, out] BSTR *p);
10805
10806     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10807     HRESULT status([in] BSTR v);
10808
10809     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10810     HRESULT status([retval, out] BSTR *p);
10811
10812     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
10813     HRESULT setTimeout(
10814         [in] BSTR expression,
10815         [in] LONG msec,
10816         [optional, in] VARIANT *language,
10817         [retval, out] LONG *timerID);
10818
10819     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10820     HRESULT clearTimeout([in] LONG timerID);
10821
10822     [id(DISPID_IHTMLWINDOW2_ALERT)]
10823     HRESULT alert([defaultvalue(""), in] BSTR message);
10824
10825     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10826     HRESULT confirm(
10827         [defaultvalue(""), in] BSTR message,
10828         [retval, out] VARIANT_BOOL *confirmed);
10829
10830     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10831     HRESULT prompt(
10832         [defaultvalue(""), in] BSTR message,
10833         [defaultvalue("undefined"), in] BSTR defstr,
10834         [retval, out] VARIANT *textdata);
10835
10836     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10837     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
10838
10839     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10840     HRESULT location([retval, out] IHTMLLocation **p);
10841
10842     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10843     HRESULT history([retval, out] IOmHistory **p);
10844
10845     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10846     HRESULT close();
10847
10848     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10849     HRESULT opener([in] VARIANT v);
10850
10851     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10852     HRESULT opener([retval, out] VARIANT *p);
10853
10854     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10855     HRESULT navigator([retval, out] IOmNavigator **p);
10856
10857     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10858     HRESULT name([in] BSTR v);
10859
10860     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10861     HRESULT name([retval, out] BSTR *p);
10862
10863     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10864     HRESULT parent([retval, out] IHTMLWindow2 **p);
10865
10866     [id(DISPID_IHTMLWINDOW2_OPEN)]
10867     HRESULT open(
10868         [defaultvalue(""), in] BSTR url,
10869         [defaultvalue(""), in] BSTR name,
10870         [defaultvalue(""), in] BSTR features,
10871         [defaultvalue(0), in] VARIANT_BOOL replace,
10872         [retval, out] IHTMLWindow2 **pomWindowResult);
10873
10874     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10875     HRESULT self([retval, out] IHTMLWindow2 **p);
10876
10877     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10878     HRESULT top([retval, out] IHTMLWindow2 **p);
10879
10880     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10881     HRESULT window([retval, out] IHTMLWindow2 **p);
10882
10883     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10884     HRESULT navigate([in] BSTR url);
10885
10886     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10887     HRESULT onfocus([in] VARIANT v);
10888
10889     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10890     HRESULT onfocus([retval, out] VARIANT *p);
10891
10892     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10893     HRESULT onblur([in] VARIANT v);
10894
10895     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10896     HRESULT onblur([retval, out] VARIANT *p);
10897
10898     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10899     HRESULT onload([in] VARIANT v);
10900
10901     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10902     HRESULT onload([retval, out] VARIANT *p);
10903
10904     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10905     HRESULT onbeforeunload([in] VARIANT v);
10906
10907     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10908     HRESULT onbeforeunload([retval, out] VARIANT *p);
10909
10910     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10911     HRESULT onunload([in] VARIANT v);
10912
10913     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10914     HRESULT onunload([retval, out] VARIANT *p);
10915
10916     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
10917     HRESULT onhelp([in] VARIANT v);
10918
10919     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
10920     HRESULT onhelp([retval, out] VARIANT *p);
10921
10922     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
10923     HRESULT onerror([in] VARIANT v);
10924
10925     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
10926     HRESULT onerror([retval, out] VARIANT *p);
10927
10928     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10929     HRESULT onresize([in] VARIANT v);
10930
10931     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10932     HRESULT onresize([retval, out] VARIANT *p);
10933
10934     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10935     HRESULT onscroll([in] VARIANT v);
10936
10937     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10938     HRESULT onscroll([retval, out] VARIANT *p);
10939
10940     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
10941     HRESULT document([retval, out] IHTMLDocument2 **p);
10942
10943     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10944     HRESULT event([retval, out] IHTMLEventObj **p);
10945
10946     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
10947     HRESULT _newEnum([retval, out] IUnknown **p);
10948
10949     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10950     HRESULT showModalDialog(
10951         [in] BSTR dialog,
10952         [optional, in] VARIANT *varArgIn,
10953         [optional, in] VARIANT *varOptions,
10954         [retval, out] VARIANT *varArgOut);
10955
10956     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10957     HRESULT showHelp(
10958         [in] BSTR helpURL,
10959         [optional, in] VARIANT helpArg,
10960         [defaultvalue(""), in] BSTR features);
10961
10962     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10963     HRESULT screen([retval, out] IHTMLScreen **p);
10964
10965     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10966     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
10967
10968     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10969     HRESULT focus();
10970
10971     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10972     HRESULT closed([retval, out] VARIANT_BOOL *p);
10973
10974     [id(DISPID_IHTMLWINDOW2_BLUR)]
10975     HRESULT blur();
10976
10977     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10978     HRESULT scroll([in] LONG x, [in] LONG y);
10979
10980     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10981     HRESULT clientInformation([retval, out] IOmNavigator **p);
10982
10983     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
10984     HRESULT setInterval([
10985         in] BSTR expression,
10986         [in] LONG msec,
10987         [optional, in] VARIANT *language,
10988         [retval, out] LONG *timerID);
10989
10990     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10991     HRESULT clearInterval([in] LONG timerID);
10992
10993     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10994     HRESULT offscreenBuffering([in] VARIANT v);
10995
10996     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10997     HRESULT offscreenBuffering([retval, out] VARIANT *p);
10998
10999     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11000     HRESULT execScript(
11001         [in] BSTR scode,
11002         [defaultvalue("JScript"), in] BSTR language,
11003         [retval, out] VARIANT *pvarRet);
11004
11005     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11006     HRESULT toString([retval, out] BSTR *String);
11007
11008     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11009     HRESULT scrollBy([in] LONG x, [in] LONG y);
11010
11011     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11012     HRESULT scrollTo([in] LONG x, [in] LONG y);
11013
11014     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11015     HRESULT moveTo([in] LONG x, [in] LONG y);
11016
11017     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11018     HRESULT moveBy([in] LONG x, [in] LONG y);
11019
11020     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11021     HRESULT resizeTo([in] LONG x, [in] LONG y);
11022
11023     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11024     HRESULT resizeBy([in] LONG x, [in] LONG y);
11025
11026     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11027     HRESULT external([retval, out] IDispatch **p);
11028 }
11029
11030 /*****************************************************************************
11031  *    IHTMLWindow3 interface
11032  */
11033 [
11034     odl,
11035     oleautomation,
11036     dual,
11037     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
11038 ]
11039 interface IHTMLWindow3 : IDispatch
11040 {
11041     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11042     HRESULT screenLeft([out, retval] LONG *p);
11043
11044     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11045     HRESULT screenTop([out, retval] LONG *p);
11046
11047     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11048     HRESULT attachEvent(
11049             [in] BSTR event,
11050             [in] IDispatch *pDisp,
11051             [out, retval] VARIANT_BOOL *pfResult);
11052
11053     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11054     HRESULT detachEvent(
11055             [in] BSTR event,
11056             [in] IDispatch *pDisp);
11057
11058     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11059     HRESULT setTimeout(
11060             [in] VARIANT *expression,
11061             [in] LONG msec,
11062             [in, optional] VARIANT *language,
11063             [out, retval] LONG *timerID);
11064
11065     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11066     HRESULT setInterval(
11067             [in] VARIANT *expression,
11068             [in] LONG msec,
11069             [in, optional] VARIANT *language,
11070             [out, retval] LONG *timerID);
11071
11072     [id(DISPID_IHTMLWINDOW3_PRINT)]
11073     HRESULT print();
11074
11075     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11076     HRESULT onbeforeprint([in] VARIANT v);
11077
11078     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11079     HRESULT onbeforeprint([out, retval] VARIANT *p);
11080
11081     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11082     HRESULT onafterprint([in] VARIANT v);
11083
11084     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11085     HRESULT onafterprint([out, retval] VARIANT *p);
11086
11087     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11088     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
11089
11090     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11091     HRESULT showModelessDialog(
11092             [in, defaultvalue("")] BSTR url,
11093             [in, optional] VARIANT *varArgIn,
11094             [in, optional] VARIANT *options,
11095             [out, retval] IHTMLWindow2 **pDialog);
11096 }
11097
11098 /*****************************************************************************
11099  *    IHTMLWindow4 interface
11100  */
11101 [
11102     odl,
11103     oleautomation,
11104     dual,
11105     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
11106 ]
11107 interface IHTMLWindow4 : IDispatch
11108 {
11109     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11110     HRESULT createPopup([optional, in] VARIANT* varArgIn,
11111                         [retval, out] IDispatch** ppPopup);
11112
11113     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11114     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
11115 }
11116
11117 /*****************************************************************************
11118  *    IHTMLWindow5 interface
11119  */
11120 [
11121     odl,
11122     oleautomation,
11123     dual,
11124     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
11125 ]
11126 interface IHTMLWindow5 : IDispatch
11127 {
11128     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11129     HRESULT XMLHttpRequest([in] VARIANT v);
11130
11131     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11132     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
11133 }
11134
11135 /*****************************************************************************
11136  *    IHTMLWindow6 interface
11137  */
11138 [
11139     odl,
11140     oleautomation,
11141     dual,
11142     uuid(30510453-98b5-11cf-bb82-00aa00bdce0b)
11143 ]
11144 interface IHTMLWindow6 : IDispatch
11145 {
11146     [propput, id(DISPID_IHTMLWINDOW6_XDOMAINREQUEST)]
11147     HRESULT XDomainRequest([in] VARIANT v);
11148
11149     [propget, id(DISPID_IHTMLWINDOW6_XDOMAINREQUEST)]
11150     HRESULT XDomainRequest([out, retval] VARIANT *p);
11151
11152     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
11153     HRESULT sessionStorage([out, retval] IHTMLStorage **p);
11154
11155     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
11156     HRESULT localStorage([out, retval] IHTMLStorage **p);
11157
11158     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11159     HRESULT onhashchange([in] VARIANT v);
11160
11161     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11162     HRESULT onhashchange([out, retval] VARIANT *p);
11163
11164     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
11165     HRESULT maxConnectionsPerServer([out, retval] long *p);
11166
11167     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
11168     HRESULT postMessage(
11169             [in] BSTR msg,
11170             [in, optional] VARIANT targetOrigin);
11171
11172     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
11173     HRESULT toStaticHTML(
11174             [in] BSTR bstrHTML,
11175             [out, retval] BSTR *pbstrStaticHTML);
11176
11177     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11178     HRESULT onmessage([in] VARIANT v);
11179
11180     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11181     HRESULT onmessage([out, retval] VARIANT *p);
11182
11183     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
11184     HRESULT msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
11185 }
11186
11187 /*****************************************************************************
11188  *    DispHTMLScreen dispinterface
11189  */
11190 [
11191     hidden,
11192     uuid(3050f591-98b5-11cf-bb82-00aa00bdce0b)
11193 ]
11194 dispinterface DispHTMLScreen
11195 {
11196 properties:
11197 methods:
11198     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
11199     long colorDepth();
11200
11201     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11202     void bufferDepth(long v);
11203
11204     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11205     long bufferDepth();
11206
11207     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
11208     long width();
11209
11210     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
11211     long height();
11212
11213     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11214     void updateInterval(long v);
11215
11216     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11217     long updateInterval();
11218
11219     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
11220     long availHeight();
11221
11222     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
11223     long availWidth();
11224
11225     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
11226     VARIANT_BOOL fontSmoothingEnabled();
11227
11228     [propget, id(DISPID_IHTMLSCREEN2_LOGICALXDPI)]
11229     long logicalXDPI();
11230
11231     [propget, id(DISPID_IHTMLSCREEN2_LOGICALYDPI)]
11232     long logicalYDPI();
11233
11234     [propget, id(DISPID_IHTMLSCREEN2_DEVICEXDPI)]
11235     long deviceXDPI();
11236
11237     [propget, id(DISPID_IHTMLSCREEN2_DEVICEYDPI)]
11238     long deviceYDPI();
11239
11240     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMXDPI)]
11241     long systemXDPI();
11242
11243     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMYDPI)]
11244     long systemYDPI();
11245
11246     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
11247     IDispatch *constructor();
11248 }
11249
11250 /*****************************************************************************
11251  *    DispHTMLWindow2 dispinterface
11252  */
11253 [
11254     hidden,
11255     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
11256 ]
11257 dispinterface DispHTMLWindow2
11258 {
11259 properties:
11260 methods:
11261     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11262     VARIANT item([in] VARIANT *pvarIndex);
11263
11264     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11265     LONG length();
11266
11267     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11268     IHTMLFramesCollection2 *frames();
11269
11270     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11271     void defaultStatus(BSTR v);
11272
11273     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11274     BSTR defaultStatus();
11275
11276     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11277     void status(BSTR v);
11278
11279     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11280     BSTR status();
11281
11282     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11283     void clearTimeout([in] LONG timerID);
11284
11285     [id(DISPID_IHTMLWINDOW2_ALERT)]
11286     void alert([in, defaultvalue("")] BSTR message);
11287
11288     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11289     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
11290
11291     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11292     VARIANT prompt(
11293             [in, defaultvalue("")] BSTR message,
11294             [in, defaultvalue("undefined")] BSTR defstr);
11295
11296     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11297     IHTMLImageElementFactory *Image();
11298
11299     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11300     IHTMLLocation *location();
11301
11302     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11303     IOmHistory *history();
11304
11305     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11306     void close();
11307
11308     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11309     void opener(VARIANT v);
11310
11311     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11312     VARIANT opener();
11313
11314     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11315     IOmNavigator *navigator();
11316
11317     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11318     void name(BSTR v);
11319
11320     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11321     BSTR name();
11322
11323     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11324     IHTMLWindow2 *parent();
11325
11326     [id(DISPID_IHTMLWINDOW2_OPEN)]
11327     IHTMLWindow2 *open(
11328             [in, defaultvalue("")] BSTR url,
11329             [in, defaultvalue("")] BSTR name,
11330             [in, defaultvalue("")] BSTR features,
11331             [in, defaultvalue(0)]  VARIANT_BOOL replace);
11332
11333     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11334     IHTMLWindow2 *self();
11335
11336     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11337     IHTMLWindow2 *top();
11338
11339     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11340     IHTMLWindow2 *window();
11341
11342     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11343     void navigate([in] BSTR url);
11344
11345     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11346     void onfocus(VARIANT v);
11347
11348     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11349     VARIANT onfocus();
11350
11351     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11352     void onblur(VARIANT v);
11353
11354     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11355     VARIANT onblur();
11356
11357     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11358     VARIANT onload();
11359
11360     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11361     void onbeforeunload(VARIANT v);
11362
11363     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11364     VARIANT onbeforeunload();
11365
11366     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11367     void onunload(VARIANT v);
11368
11369     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11370     VARIANT onunload();
11371
11372     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11373     void onhelp(VARIANT v);
11374
11375     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11376     VARIANT onhelp();
11377
11378     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11379     void onerror(VARIANT v);
11380
11381     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11382     VARIANT onerror();
11383
11384     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11385     void onresize(VARIANT v);
11386
11387     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11388     VARIANT onresize();
11389
11390     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11391     void onscroll(VARIANT v);
11392
11393     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11394     VARIANT onscroll();
11395
11396     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11397     IHTMLDocument2 *document();
11398
11399     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11400     IHTMLEventObj *event();
11401
11402     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11403     IUnknown *_newEnum();
11404
11405     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11406     VARIANT showModalDialog(
11407             [in] BSTR dialog,
11408             [in, optional] VARIANT *varArgIn,
11409             [in, optional] VARIANT *varOptions);
11410
11411     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11412     void showHelp(
11413             [in] BSTR helpURL,
11414             [in, optional] VARIANT helpArg,
11415             [in, defaultvalue("")] BSTR features);
11416
11417     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11418     IHTMLScreen *screen();
11419
11420     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11421     IHTMLOptionElementFactory *Option();
11422
11423     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11424     void focus();
11425
11426     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11427     VARIANT_BOOL closed();
11428
11429     [id(DISPID_IHTMLWINDOW2_BLUR)]
11430     void blur();
11431
11432     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11433     void scroll([in] LONG x, [in] LONG y);
11434
11435     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11436     IOmNavigator *clientInformation();
11437
11438     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11439     void clearInterval([in] LONG timerID);
11440
11441     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11442     void offscreenBuffering(VARIANT v);
11443
11444     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11445     VARIANT offscreenBuffering();
11446
11447     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11448     VARIANT execScript(
11449             [in] BSTR _code,
11450             [in, defaultvalue("JScript")] BSTR language);
11451
11452     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11453     BSTR toString();
11454
11455     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11456     void scrollBy([in] LONG x, [in] LONG y);
11457
11458     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11459     void scrollTo([in] LONG x, [in] LONG y);
11460
11461     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11462     void moveTo([in] LONG x, [in] LONG y);
11463
11464     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11465     void moveBy([in] LONG x, [in] LONG y);
11466
11467     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11468     void resizeTo([in] LONG x, [in] LONG y);
11469
11470     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11471     void resizeBy([in] LONG x, [in] LONG y);
11472
11473     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11474     IDispatch *external();
11475
11476     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11477     LONG screenLeft();
11478
11479     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11480     LONG screenTop();
11481
11482     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11483     VARIANT_BOOL attachEvent(
11484              [in] BSTR event,
11485              [in] IDispatch *pDisp);
11486
11487     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11488     void detachEvent(
11489             [in] BSTR event,
11490             [in] IDispatch *pDisp);
11491
11492     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11493     LONG setTimeout(
11494             [in] VARIANT *expression,
11495             [in] LONG msec,
11496             [in, optional] VARIANT *language);
11497
11498     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11499     LONG setInterval(
11500             [in] VARIANT *expression,
11501             [in] LONG msec,
11502             [in, optional] VARIANT *language);
11503
11504     [id(DISPID_IHTMLWINDOW3_PRINT)]
11505     void print();
11506
11507     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11508     void onbeforeprint(VARIANT v);
11509
11510     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11511     VARIANT onbeforeprint();
11512
11513     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11514     void onafterprint(VARIANT v);
11515
11516     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11517     VARIANT onafterprint();
11518
11519     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11520     IHTMLDataTransfer *clipboardData();
11521
11522     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11523     IHTMLWindow2 *showModelessDialog(
11524             [in, defaultvalue("")] BSTR url,
11525             [in, optional] VARIANT *varArgIn,
11526             [in, optional] VARIANT *options);
11527
11528     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11529     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
11530
11531     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11532     IHTMLFrameBase *frameElement();
11533
11534     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
11535     IHTMLStorage *sessionStorage();
11536
11537     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
11538     IHTMLStorage *localStorage();
11539
11540     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11541     void onhashchange(VARIANT v);
11542
11543     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11544     VARIANT onhashchange();
11545
11546     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
11547     long maxConnectionsPerServer();
11548
11549     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
11550     void postMessage(
11551             [in] BSTR msg,
11552             [in, optional] VARIANT targetOrigin);
11553
11554     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
11555     BSTR toStaticHTML([in] BSTR bstrHTML);
11556
11557     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11558     void onmessage(VARIANT v);
11559
11560     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11561     VARIANT onmessage();
11562
11563     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
11564     void msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
11565
11566     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
11567 }
11568
11569 /*****************************************************************************
11570  *    DispHTMLWindowProxy dispinterface
11571  */
11572 [
11573     hidden,
11574     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
11575 ]
11576 dispinterface DispHTMLWindowProxy
11577 {
11578 properties:
11579 methods:
11580     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11581     VARIANT item([in] VARIANT* pvarIndex);
11582
11583     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11584     LONG length();
11585
11586     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11587     IHTMLFramesCollection2* frames();
11588
11589     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11590     void defaultStatus(BSTR v);
11591
11592     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11593     BSTR defaultStatus();
11594
11595     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11596     void status(BSTR v);
11597
11598     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11599     BSTR status();
11600
11601     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11602     void clearTimeout([in] LONG timerID);
11603
11604     [id(DISPID_IHTMLWINDOW2_ALERT)]
11605     void alert([defaultvalue(""), in] BSTR message);
11606
11607     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11608     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
11609
11610     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11611     VARIANT prompt([defaultvalue(""), in] BSTR message,
11612                    [defaultvalue("undefined"), in] BSTR defstr);
11613
11614     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11615     IHTMLImageElementFactory* Image();
11616
11617     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11618     IHTMLLocation* location();
11619
11620     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11621     IOmHistory* history();
11622
11623     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11624     void close();
11625
11626     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11627     void opener(VARIANT v);
11628
11629     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11630     VARIANT opener();
11631
11632     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11633     IOmNavigator* navigator();
11634
11635     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11636     void name(BSTR v);
11637
11638     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11639     BSTR name();
11640
11641     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11642     IHTMLWindow2* parent();
11643
11644     [id(DISPID_IHTMLWINDOW2_OPEN)]
11645     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
11646                        [defaultvalue(""), in] BSTR name,
11647                        [defaultvalue(""), in] BSTR features,
11648                        [defaultvalue(0), in] VARIANT_BOOL replace);
11649
11650     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11651     IHTMLWindow2* self();
11652
11653     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11654     IHTMLWindow2* top();
11655
11656     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11657     IHTMLWindow2* window();
11658
11659     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11660     void navigate([in] BSTR url);
11661
11662     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11663     void onfocus(VARIANT v);
11664
11665     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11666     VARIANT onfocus();
11667
11668     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11669     void onblur(VARIANT v);
11670
11671     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11672     VARIANT onblur();
11673
11674     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11675     void onload(VARIANT v);
11676
11677     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11678     VARIANT onload();
11679
11680     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11681     void onbeforeunload(VARIANT v);
11682
11683     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11684     VARIANT onbeforeunload();
11685
11686     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11687     void onunload(VARIANT v);
11688
11689     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11690     VARIANT onunload();
11691
11692     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11693     void onhelp(VARIANT v);
11694
11695     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11696     VARIANT onhelp();
11697
11698     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11699     void onerror(VARIANT v);
11700
11701     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11702     VARIANT onerror();
11703
11704     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11705     void onresize(VARIANT v);
11706
11707     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11708     VARIANT onresize();
11709
11710     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11711     void onscroll(VARIANT v);
11712
11713     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11714     VARIANT onscroll();
11715
11716     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11717     IHTMLDocument2* document();
11718
11719     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11720     IHTMLEventObj* event();
11721
11722     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11723     IUnknown* _newEnum();
11724
11725     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11726     VARIANT showModalDialog([in] BSTR dialog,
11727                             [optional, in] VARIANT* varArgIn,
11728                             [optional, in] VARIANT* varOptions);
11729
11730     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11731     void showHelp([in] BSTR helpURL,
11732                   [optional, in] VARIANT helpArg,
11733                   [defaultvalue(""), in] BSTR features);
11734
11735     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11736     IHTMLScreen* screen();
11737
11738     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11739     IHTMLOptionElementFactory* Option();
11740
11741     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11742     void focus();
11743
11744     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11745     VARIANT_BOOL closed();
11746
11747     [id(DISPID_IHTMLWINDOW2_BLUR)]
11748     void blur();
11749
11750     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11751     void scroll([in] LONG x,
11752                 [in] LONG y);
11753
11754     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11755     IOmNavigator* clientInformation();
11756
11757     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11758     void clearInterval([in] LONG timerID);
11759
11760     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11761     void offscreenBuffering(VARIANT v);
11762
11763     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11764     VARIANT offscreenBuffering();
11765
11766     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11767     VARIANT execScript([in] BSTR code,
11768                        [defaultvalue("JScript"), in] BSTR language);
11769
11770     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11771     BSTR toString();
11772
11773     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11774     void scrollBy([in] LONG x,
11775                   [in] LONG y);
11776
11777     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11778     void scrollTo([in] LONG x,
11779                   [in] LONG y);
11780
11781     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11782     void moveTo([in] LONG x,
11783                 [in] LONG y);
11784
11785     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11786     void moveBy([in] LONG x,
11787                 [in] LONG y);
11788
11789     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11790     void resizeTo([in] LONG x,
11791                   [in] LONG y);
11792
11793     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11794     void resizeBy([in] LONG x,
11795                   [in] LONG y);
11796
11797     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11798     IDispatch* external();
11799
11800     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11801     LONG screenLeft();
11802
11803     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11804     LONG screenTop();
11805
11806     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11807     VARIANT_BOOL attachEvent([in] BSTR event,
11808                              [in] IDispatch* pDisp);
11809
11810     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11811     void detachEvent([in] BSTR event,
11812                      [in] IDispatch* pDisp);
11813
11814     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11815     LONG setTimeout([in] VARIANT* expression,
11816                     [in] LONG msec,
11817                     [optional, in] VARIANT* language);
11818
11819     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11820     LONG setInterval([in] VARIANT* expression,
11821                      [in] LONG msec,
11822                      [optional, in] VARIANT* language);
11823
11824     [id(DISPID_IHTMLWINDOW3_PRINT)]
11825     void print();
11826
11827     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11828     void onbeforeprint(VARIANT v);
11829
11830     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11831     VARIANT onbeforeprint();
11832
11833     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11834     void onafterprint(VARIANT v);
11835
11836     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11837     VARIANT onafterprint();
11838
11839     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11840     IHTMLDataTransfer* clipboardData();
11841
11842     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11843     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
11844                                      [optional, in] VARIANT* varArgIn,
11845                                      [optional, in] VARIANT* options);
11846
11847     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11848     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
11849
11850     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11851     IHTMLFrameBase* frameElement();
11852
11853     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11854     void XMLHttpRequest(VARIANT v);
11855
11856     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11857     VARIANT XMLHttpRequest();
11858
11859     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
11860     IHTMLStorage *sessionStorage();
11861
11862     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
11863     IHTMLStorage *localStorage();
11864
11865     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11866     void onhashchange(VARIANT v);
11867
11868     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11869     VARIANT onhashchange();
11870
11871     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
11872     long maxConnectionsPerServer();
11873
11874     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
11875     void postMessage(
11876             [in] BSTR msg,
11877             [in, optional] VARIANT targetOrigin);
11878
11879     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
11880     BSTR toStaticHTML([in] BSTR bstrHTML);
11881
11882     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11883     void onmessage(VARIANT v);
11884
11885     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11886     VARIANT onmessage();
11887
11888     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
11889     void msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
11890
11891     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
11892 }
11893
11894 /*****************************************************************************
11895  *    HTMLWindowEvents interface
11896  */
11897 [
11898     hidden,
11899     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
11900 ]
11901 dispinterface HTMLWindowEvents
11902 {
11903 properties:
11904 methods:
11905     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
11906     void onload();
11907
11908     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
11909     void onunload();
11910
11911     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
11912     VARIANT_BOOL onhelp();
11913
11914     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
11915     void onfocus();
11916
11917     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
11918     void onblur();
11919
11920     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
11921     void onerror([in] BSTR description,
11922                  [in] BSTR url,
11923                  [in] LONG line);
11924
11925     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
11926     void onresize();
11927
11928     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
11929     void onscroll();
11930
11931     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
11932     void onbeforeunload();
11933
11934     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
11935     void onbeforeprint();
11936
11937     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
11938     void onafterprint();
11939 }
11940
11941 /*****************************************************************************
11942  *    HTMLWindowEvents2 interface
11943  */
11944 [
11945     hidden,
11946     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
11947 ]
11948 dispinterface HTMLWindowEvents2
11949 {
11950 properties:
11951 methods:
11952     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
11953     void onload([in] IHTMLEventObj* pEvtObj);
11954
11955     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
11956     void onunload([in] IHTMLEventObj* pEvtObj);
11957
11958     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
11959     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
11960
11961     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
11962     void onfocus([in] IHTMLEventObj* pEvtObj);
11963
11964     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
11965     void onblur([in] IHTMLEventObj* pEvtObj);
11966
11967     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
11968     void onerror([in] BSTR description,
11969                  [in] BSTR url,
11970                  [in] LONG line);
11971
11972     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
11973     void onresize([in] IHTMLEventObj* pEvtObj);
11974
11975     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
11976     void onscroll([in] IHTMLEventObj* pEvtObj);
11977
11978     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
11979     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
11980
11981     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
11982     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
11983
11984     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
11985     void onafterprint([in] IHTMLEventObj* pEvtObj);
11986 }
11987
11988 /*****************************************************************************
11989  *    HTMLWindowProxy class
11990  */
11991 [
11992     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
11993 ]
11994 coclass HTMLWindowProxy
11995 {
11996     [default]           dispinterface DispHTMLWindowProxy;
11997     [source, default]   dispinterface HTMLWindowEvents;
11998     [source]            dispinterface HTMLWindowEvents2;
11999                         interface IHTMLWindow2;
12000                         interface IHTMLWindow3;
12001                         interface IHTMLWindow4;
12002                         interface IHTMLWindow5;
12003 }
12004
12005 /*****************************************************************************
12006  *    HTMLDocumentEvents2 interface
12007  */
12008 [
12009     hidden,
12010     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
12011 ]
12012 dispinterface HTMLDocumentEvents2
12013 {
12014     properties:
12015     methods:
12016     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
12017     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
12018
12019     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
12020     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
12021
12022     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
12023     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
12024
12025     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
12026     void onkeydown([in] IHTMLEventObj *pEvtObj);
12027
12028     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
12029     void onkeyup([in] IHTMLEventObj *pEvtObj);
12030
12031     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
12032     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
12033
12034     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
12035     void onmousedown([in] IHTMLEventObj *pEvtObj);
12036
12037     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
12038     void onmousemove([in] IHTMLEventObj *pEvtObj);
12039
12040     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
12041     void onmouseup([in] IHTMLEventObj *pEvtObj);
12042
12043     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
12044     void onmouseout([in] IHTMLEventObj *pEvtObj);
12045
12046     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
12047     void onmouseover([in] IHTMLEventObj *pEvtObj);
12048
12049     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
12050     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
12051
12052     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
12053     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
12054
12055     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
12056     void onafterupdate([in] IHTMLEventObj *pEvtObj);
12057
12058     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
12059     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
12060
12061     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
12062     void onrowenter([in] IHTMLEventObj *pEvtObj);
12063
12064     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
12065     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
12066
12067     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
12068     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
12069
12070     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
12071     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
12072
12073     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
12074     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
12075
12076     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
12077     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
12078
12079     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
12080     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
12081
12082     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
12083     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
12084
12085     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
12086     void oncellchange([in] IHTMLEventObj *pEvtObj);
12087
12088     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
12089     void onpropertychange([in] IHTMLEventObj *pEvtObj);
12090
12091     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
12092     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
12093
12094     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
12095     void ondataavailable([in] IHTMLEventObj *pEvtObj);
12096
12097     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
12098     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
12099
12100     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
12101     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
12102
12103     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
12104     void onselectionchange([in] IHTMLEventObj *pEvtObj);
12105
12106     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
12107     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
12108
12109     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
12110     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
12111
12112     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
12113     void onfocusin([in] IHTMLEventObj *pEvtObj);
12114
12115     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
12116     void onfocusout([in] IHTMLEventObj *pEvtObj);
12117
12118     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
12119     void onactivate([in] IHTMLEventObj *pEvtObj);
12120
12121     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
12122     void ondeactivate([in] IHTMLEventObj *pEvtObj);
12123
12124     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
12125     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
12126
12127     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
12128     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
12129 }
12130
12131 /*****************************************************************************
12132  *    HTMLDocumentEvents interface
12133  */
12134 [
12135     hidden,
12136     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
12137 ]
12138 dispinterface HTMLDocumentEvents
12139 {
12140     properties:
12141     methods:
12142     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
12143     VARIANT_BOOL onhelp();
12144
12145     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
12146     VARIANT_BOOL onclick();
12147
12148     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
12149     VARIANT_BOOL ondblclick();
12150
12151     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
12152     void onkeydown();
12153
12154     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
12155     void onkeyup();
12156
12157     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
12158     VARIANT_BOOL onkeypress();
12159
12160     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
12161     void onmousedown();
12162
12163     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
12164     void onmousemove();
12165
12166     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
12167     void onmouseup();
12168
12169     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
12170     void onmouseout();
12171
12172     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
12173     void onmouseover();
12174
12175     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
12176     void onreadystatechange();
12177
12178     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
12179     VARIANT_BOOL onbeforeupdate();
12180
12181     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
12182     void onafterupdate();
12183
12184     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
12185     VARIANT_BOOL onrowexit();
12186
12187     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
12188     void onrowenter();
12189
12190     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
12191     VARIANT_BOOL ondragstart();
12192
12193     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
12194     VARIANT_BOOL onselectstart();
12195
12196     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
12197     VARIANT_BOOL onerrorupdate();
12198
12199     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
12200     VARIANT_BOOL oncontextmenu();
12201
12202     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
12203     VARIANT_BOOL onstop();
12204
12205     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
12206     void onrowsdelete();
12207
12208     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
12209     void onrowsinserted();
12210
12211     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
12212     void oncellchange();
12213
12214     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
12215     void onpropertychange();
12216
12217     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
12218     void ondatasetchanged();
12219
12220     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
12221     void ondataavailable();
12222
12223     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
12224     void ondatasetcomplete();
12225
12226     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
12227     void onbeforeeditfocus();
12228
12229     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
12230     void onselectionchange();
12231
12232     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
12233     VARIANT_BOOL oncontrolselect();
12234
12235     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
12236     VARIANT_BOOL onmousewheel();
12237
12238     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
12239     void onfocusin();
12240
12241     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
12242     void onfocusout();
12243
12244     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
12245     void onactivate();
12246
12247     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
12248     void ondeactivate();
12249
12250     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
12251     VARIANT_BOOL onbeforeactivate();
12252
12253     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
12254     VARIANT_BOOL onbeforedeactivate();
12255 }
12256
12257 /*****************************************************************************
12258  *    HTMLTextContainerEvents interface
12259  */
12260 [
12261     hidden,
12262     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
12263 ]
12264 dispinterface HTMLTextContainerEvents
12265 {
12266 properties:
12267
12268 methods:
12269     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
12270     VARIANT_BOOL onhelp();
12271
12272     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
12273     VARIANT_BOOL onclick();
12274
12275     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
12276     VARIANT_BOOL ondblclick();
12277
12278     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
12279     VARIANT_BOOL onkeypress();
12280
12281     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
12282     void onkeydown();
12283
12284     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
12285     void onkeyup();
12286
12287     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
12288     void onmouseout();
12289
12290     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
12291     void onmouseover();
12292
12293     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
12294     void onmousemove();
12295
12296     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
12297     void onmousedown();
12298
12299     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
12300     void onmouseup();
12301
12302     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
12303     VARIANT_BOOL onselectstart();
12304
12305     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
12306     void onfilterchange();
12307
12308     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
12309     VARIANT_BOOL ondragstart();
12310
12311     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
12312     VARIANT_BOOL onbeforeupdate();
12313
12314     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
12315     void onafterupdate();
12316
12317     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
12318     VARIANT_BOOL onerrorupdate();
12319
12320     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
12321     VARIANT_BOOL onrowexit();
12322
12323     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
12324     void onrowenter();
12325
12326     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
12327     void ondatasetchanged();
12328
12329     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
12330     void ondataavailable();
12331
12332     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
12333     void ondatasetcomplete();
12334
12335     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
12336     void onlosecapture();
12337
12338     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
12339     void onpropertychange();
12340
12341     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
12342     void onscroll();
12343
12344     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
12345     void onfocus();
12346
12347     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
12348     void onblur();
12349
12350     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
12351     void onresize();
12352
12353     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
12354     VARIANT_BOOL ondrag();
12355
12356     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
12357     void ondragend();
12358
12359     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
12360     VARIANT_BOOL ondragenter();
12361
12362     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
12363     VARIANT_BOOL ondragover();
12364
12365     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
12366     void ondragleave();
12367
12368     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
12369     VARIANT_BOOL ondrop();
12370
12371     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
12372     VARIANT_BOOL onbeforecut();
12373
12374     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
12375     VARIANT_BOOL oncut();
12376
12377     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
12378     VARIANT_BOOL onbeforecopy();
12379
12380     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
12381     VARIANT_BOOL oncopy();
12382
12383     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
12384     VARIANT_BOOL onbeforepaste();
12385
12386     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
12387     VARIANT_BOOL onpaste();
12388
12389     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
12390     VARIANT_BOOL oncontextmenu();
12391
12392     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
12393     void onrowsdelete();
12394
12395     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
12396     void onrowsinserted();
12397
12398     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
12399     void oncellchange();
12400
12401     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
12402     void onreadystatechange();
12403
12404     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
12405     void onbeforeeditfocus();
12406
12407     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
12408     void onlayoutcomplete();
12409
12410     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
12411     void onpage();
12412
12413     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
12414     VARIANT_BOOL onbeforedeactivate();
12415
12416     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
12417     VARIANT_BOOL onbeforeactivate();
12418
12419     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
12420     void onmove();
12421
12422     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
12423     VARIANT_BOOL oncontrolselect();
12424
12425     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
12426     VARIANT_BOOL onmovestart();
12427
12428     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
12429     void onmoveend();
12430
12431     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
12432     VARIANT_BOOL onresizestart();
12433
12434     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
12435     void onresizeend();
12436
12437     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
12438     void onmouseenter();
12439
12440     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
12441     void onmouseleave();
12442
12443     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
12444     VARIANT_BOOL onmousewheel();
12445
12446     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
12447     void onactivate();
12448
12449     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
12450     void ondeactivate();
12451
12452     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
12453     void onfocusin();
12454
12455     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
12456     void onfocusout();
12457
12458     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
12459     void onchange();
12460
12461     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
12462     void onselect();
12463 }
12464
12465 /*****************************************************************************
12466  *    HTMLTextContainerEvents2 interface
12467  */
12468 [
12469     hidden,
12470     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
12471 ]
12472 dispinterface HTMLTextContainerEvents2
12473 {
12474 properties:
12475 methods:
12476     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
12477     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
12478
12479     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
12480     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
12481
12482     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
12483     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
12484
12485     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
12486     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
12487
12488     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
12489     void onkeydown([in] IHTMLEventObj* pEvtObj);
12490
12491     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
12492     void onkeyup([in] IHTMLEventObj* pEvtObj);
12493
12494     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
12495     void onmouseout([in] IHTMLEventObj* pEvtObj);
12496
12497     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
12498     void onmouseover([in] IHTMLEventObj* pEvtObj);
12499
12500     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
12501     void onmousemove([in] IHTMLEventObj* pEvtObj);
12502
12503     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
12504     void onmousedown([in] IHTMLEventObj* pEvtObj);
12505
12506     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
12507     void onmouseup([in] IHTMLEventObj* pEvtObj);
12508
12509     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
12510     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
12511
12512     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
12513     void onfilterchange([in] IHTMLEventObj* pEvtObj);
12514
12515     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
12516     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
12517
12518     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
12519     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
12520
12521     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
12522     void onafterupdate([in] IHTMLEventObj* pEvtObj);
12523
12524     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
12525     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
12526
12527     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
12528     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
12529
12530     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
12531     void onrowenter([in] IHTMLEventObj* pEvtObj);
12532
12533     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
12534     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
12535
12536     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
12537     void ondataavailable([in] IHTMLEventObj* pEvtObj);
12538
12539     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
12540     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
12541
12542     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
12543     void onlosecapture([in] IHTMLEventObj* pEvtObj);
12544
12545     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
12546     void onpropertychange([in] IHTMLEventObj* pEvtObj);
12547
12548     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
12549     void onscroll([in] IHTMLEventObj* pEvtObj);
12550
12551     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
12552     void onfocus([in] IHTMLEventObj* pEvtObj);
12553
12554     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
12555     void onblur([in] IHTMLEventObj* pEvtObj);
12556
12557     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
12558     void onresize([in] IHTMLEventObj* pEvtObj);
12559
12560     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
12561     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
12562
12563     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
12564     void ondragend([in] IHTMLEventObj* pEvtObj);
12565
12566     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
12567     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
12568
12569     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
12570     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
12571
12572     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
12573     void ondragleave([in] IHTMLEventObj* pEvtObj);
12574
12575     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
12576     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
12577
12578     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
12579     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
12580
12581     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
12582     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
12583
12584     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
12585     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
12586
12587     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
12588     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
12589
12590     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
12591     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
12592
12593     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
12594     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
12595
12596     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
12597     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
12598
12599     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
12600     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
12601
12602     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
12603     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
12604
12605     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
12606     void oncellchange([in] IHTMLEventObj* pEvtObj);
12607
12608     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
12609     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
12610
12611     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
12612     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
12613
12614     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
12615     void onpage([in] IHTMLEventObj* pEvtObj);
12616
12617     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
12618     void onmouseenter([in] IHTMLEventObj* pEvtObj);
12619
12620     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
12621     void onmouseleave([in] IHTMLEventObj* pEvtObj);
12622
12623     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
12624     void onactivate([in] IHTMLEventObj* pEvtObj);
12625
12626     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
12627     void ondeactivate([in] IHTMLEventObj* pEvtObj);
12628
12629     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
12630     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
12631
12632     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
12633     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
12634
12635     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
12636     void onfocusin([in] IHTMLEventObj* pEvtObj);
12637
12638     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
12639     void onfocusout([in] IHTMLEventObj* pEvtObj);
12640
12641     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
12642     void onmove([in] IHTMLEventObj* pEvtObj);
12643
12644     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
12645     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
12646
12647     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
12648     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
12649
12650     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
12651     void onmoveend([in] IHTMLEventObj* pEvtObj);
12652
12653     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
12654     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
12655
12656     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
12657     void onresizeend([in] IHTMLEventObj* pEvtObj);
12658
12659     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
12660     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
12661
12662     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
12663     void onchange([in] IHTMLEventObj* pEvtObj);
12664
12665     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
12666     void onselect([in] IHTMLEventObj* pEvtObj);
12667 }
12668
12669 /*****************************************************************************
12670  *    IHTMLDocument interface
12671  */
12672 [
12673     odl,
12674     oleautomation,
12675     dual,
12676     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
12677 ]
12678 interface IHTMLDocument : IDispatch
12679 {
12680     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
12681     HRESULT Script([retval, out] IDispatch **p);
12682 }
12683
12684 /*****************************************************************************
12685  *    IHTMLDocument2 interface
12686  */
12687 [
12688     odl,
12689     oleautomation,
12690     dual,
12691     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
12692 ]
12693 interface IHTMLDocument2 : IHTMLDocument
12694 {
12695     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
12696     HRESULT all([retval, out] IHTMLElementCollection **p);
12697
12698     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
12699     HRESULT body([retval, out] IHTMLElement **p);
12700
12701     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
12702     HRESULT activeElement([retval, out] IHTMLElement **p);
12703
12704     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
12705     HRESULT images([retval, out] IHTMLElementCollection **p);
12706
12707     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
12708     HRESULT applets([retval, out] IHTMLElementCollection **p);
12709
12710     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
12711     HRESULT links([retval, out] IHTMLElementCollection **p);
12712
12713     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
12714     HRESULT forms([retval, out] IHTMLElementCollection **p);
12715
12716     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
12717     HRESULT anchors([retval, out] IHTMLElementCollection **p);
12718
12719     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12720     HRESULT title([in] BSTR v);
12721
12722     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12723     HRESULT title([retval, out] BSTR *p);
12724
12725     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
12726     HRESULT scripts([retval, out] IHTMLElementCollection **p);
12727
12728     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
12729     HRESULT designMode([in] BSTR v);
12730
12731     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
12732     HRESULT designMode([retval, out] BSTR *p);
12733
12734     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
12735     HRESULT selection([retval, out] IHTMLSelectionObject **p);
12736
12737     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
12738      HRESULT readyState([retval, out] BSTR *p);
12739
12740     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
12741     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
12742
12743     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
12744     HRESULT embeds([retval, out] IHTMLElementCollection **p);
12745
12746     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
12747     HRESULT plugins([retval, out] IHTMLElementCollection **p);
12748
12749     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12750     HRESULT alinkColor([in] VARIANT v);
12751
12752     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12753     HRESULT alinkColor([retval, out] VARIANT *p);
12754
12755     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12756     HRESULT bgColor([in] VARIANT v);
12757
12758     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12759     HRESULT bgColor([retval, out] VARIANT *p);
12760
12761     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12762     HRESULT fgColor([in] VARIANT v);
12763
12764     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12765     HRESULT fgColor([retval, out] VARIANT *p);
12766
12767     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12768     HRESULT linkColor([in] VARIANT v);
12769
12770     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12771     HRESULT linkColor([retval, out] VARIANT *p);
12772
12773     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12774     HRESULT vlinkColor([in] VARIANT v);
12775
12776     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12777     HRESULT vlinkColor([retval, out] VARIANT *p);
12778
12779     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
12780     HRESULT referrer([retval, out] BSTR *p);
12781
12782     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
12783     HRESULT location([retval, out] IHTMLLocation **p);
12784
12785     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
12786     HRESULT lastModified([retval, out] BSTR *p);
12787
12788     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
12789     HRESULT URL([in] BSTR v);
12790
12791     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
12792     HRESULT URL([retval, out] BSTR *p);
12793
12794     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12795     HRESULT domain([in] BSTR v);
12796
12797     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12798     HRESULT domain([retval, out] BSTR *p);
12799
12800     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12801     HRESULT cookie([in] BSTR v);
12802
12803     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12804     HRESULT cookie([retval, out] BSTR *p);
12805
12806     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12807     HRESULT expando([in] VARIANT_BOOL v);
12808
12809     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12810     HRESULT expando([retval, out] VARIANT_BOOL *p);
12811
12812     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12813      HRESULT charset([in] BSTR v);
12814
12815     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12816     HRESULT charset([retval, out] BSTR *p);
12817
12818     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12819     HRESULT defaultCharset([in] BSTR v);
12820
12821     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12822     HRESULT defaultCharset([retval, out] BSTR *p);
12823
12824     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
12825     HRESULT mimeType([retval, out] BSTR *p);
12826
12827     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
12828     HRESULT fileSize([retval, out] BSTR *p);
12829
12830     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
12831     HRESULT fileCreatedDate([retval, out] BSTR *p);
12832
12833     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
12834     HRESULT fileModifiedDate([retval, out] BSTR *p);
12835
12836     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
12837     HRESULT fileUpdatedDate([retval, out] BSTR *p);
12838
12839     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
12840     HRESULT security([retval, out] BSTR *p);
12841
12842     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
12843     HRESULT protocol([retval, out] BSTR *p);
12844
12845     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
12846      HRESULT nameProp([retval, out] BSTR *p);
12847
12848     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
12849     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
12850
12851     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
12852     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
12853
12854     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
12855     HRESULT open(
12856         [defaultvalue("text/html"), in] BSTR url,
12857         [optional, in] VARIANT name,
12858         [optional, in] VARIANT features,
12859         [optional, in] VARIANT replace,
12860         [retval, out]  IDispatch **pomWindowResult);
12861
12862     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
12863     HRESULT close();
12864
12865     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
12866     HRESULT clear();
12867
12868     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
12869     HRESULT queryCommandSupported(
12870         [in] BSTR cmdID,
12871         [retval, out] VARIANT_BOOL *pfRet);
12872
12873     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
12874     HRESULT queryCommandEnabled(
12875         [in] BSTR cmdID,
12876         [retval, out] VARIANT_BOOL *pfRet);
12877
12878     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
12879     HRESULT queryCommandState(
12880         [in] BSTR cmdID,
12881         [retval, out] VARIANT_BOOL *pfRet);
12882
12883     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
12884     HRESULT queryCommandIndeterm(
12885         [in] BSTR cmdID,
12886         [retval, out] VARIANT_BOOL *pfRet);
12887
12888     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
12889     HRESULT queryCommandText(
12890         [in] BSTR cmdID,
12891         [retval, out] BSTR *pcmdText);
12892
12893     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
12894     HRESULT queryCommandValue(
12895         [in] BSTR cmdID,
12896         [retval, out] VARIANT *pcmdValue);
12897
12898     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
12899     HRESULT execCommand(
12900         [in] BSTR cmdID,
12901         [defaultvalue(0), in] VARIANT_BOOL showUI,
12902         [optional, in] VARIANT value,
12903         [retval, out] VARIANT_BOOL *pfRet);
12904
12905     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12906     HRESULT execCommandShowHelp(
12907         [in] BSTR cmdID,
12908         [retval, out] VARIANT_BOOL *pfRet);
12909
12910     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12911      HRESULT createElement(
12912         [in] BSTR eTag,
12913         [retval, out] IHTMLElement **newElem);
12914
12915     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12916     HRESULT onhelp([in] VARIANT v);
12917
12918     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12919     HRESULT onhelp([retval, out] VARIANT *p);
12920
12921     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12922     HRESULT onclick([in] VARIANT v);
12923
12924     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12925     HRESULT onclick([retval, out] VARIANT *p);
12926
12927     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12928     HRESULT ondblclick([in] VARIANT v);
12929
12930     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12931     HRESULT ondblclick([retval, out] VARIANT *p);
12932
12933     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12934     HRESULT onkeyup([in] VARIANT v);
12935
12936     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12937     HRESULT onkeyup([retval, out] VARIANT *p);
12938
12939     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12940     HRESULT onkeydown([in] VARIANT v);
12941
12942     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12943     HRESULT onkeydown([retval, out] VARIANT *p);
12944
12945     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12946      HRESULT onkeypress([in] VARIANT v);
12947
12948     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12949     HRESULT onkeypress([retval, out] VARIANT *p);
12950
12951     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12952     HRESULT onmouseup([in] VARIANT v);
12953
12954     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12955     HRESULT onmouseup([retval, out] VARIANT *p);
12956
12957     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12958     HRESULT onmousedown([in] VARIANT v);
12959
12960     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12961     HRESULT onmousedown([retval, out] VARIANT *p);
12962
12963     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12964     HRESULT onmousemove([in] VARIANT v);
12965
12966     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12967     HRESULT onmousemove([retval, out] VARIANT *p);
12968
12969     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12970     HRESULT onmouseout([in] VARIANT v);
12971
12972     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12973     HRESULT onmouseout([retval, out] VARIANT *p);
12974
12975     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12976     HRESULT onmouseover([in] VARIANT v);
12977
12978     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12979     HRESULT onmouseover([retval, out] VARIANT *p);
12980
12981     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12982     HRESULT onreadystatechange([in] VARIANT v);
12983
12984     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12985     HRESULT onreadystatechange([retval, out] VARIANT *p);
12986
12987     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12988     HRESULT onafterupdate([in] VARIANT v);
12989
12990     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12991     HRESULT onafterupdate([retval, out] VARIANT *p);
12992
12993     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12994     HRESULT onrowexit([in] VARIANT v);
12995
12996     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12997     HRESULT onrowexit([retval, out] VARIANT *p);
12998
12999     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
13000     HRESULT onrowenter([in] VARIANT v);
13001
13002     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
13003     HRESULT onrowenter([retval, out] VARIANT *p);
13004
13005     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
13006     HRESULT ondragstart([in] VARIANT v);
13007
13008     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
13009     HRESULT ondragstart([retval, out] VARIANT *p);
13010
13011     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
13012     HRESULT onselectstart([in] VARIANT v);
13013
13014     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
13015     HRESULT onselectstart([retval, out] VARIANT *p);
13016
13017     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
13018     HRESULT elementFromPoint(
13019         [in] LONG x,
13020         [in] LONG y,
13021         [retval, out] IHTMLElement **elementHit);
13022
13023     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
13024     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
13025
13026     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
13027     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
13028
13029     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
13030     HRESULT onbeforeupdate([in] VARIANT v);
13031
13032     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
13033     HRESULT onbeforeupdate([retval, out] VARIANT *p);
13034
13035     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
13036     HRESULT onerrorupdate([in] VARIANT v);
13037
13038     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
13039     HRESULT onerrorupdate([retval, out] VARIANT *p);
13040
13041     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
13042     HRESULT toString([retval, out] BSTR *String);
13043
13044     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
13045     HRESULT createStyleSheet(
13046         [defaultvalue(""), in] BSTR bstrHref,
13047         [defaultvalue(-1), in] LONG lIndex,
13048         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
13049 }
13050
13051 /*****************************************************************************
13052  *    IHTMLDocument3 interface
13053  */
13054 [
13055     odl,
13056     oleautomation,
13057     dual,
13058     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
13059 ]
13060 interface IHTMLDocument3 : IDispatch
13061 {
13062     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
13063     HRESULT releaseCapture();
13064
13065     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
13066     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
13067
13068     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
13069     HRESULT createTextNode(
13070         [in] BSTR text,
13071         [retval, out] IHTMLDOMNode **newTextNode);
13072
13073     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
13074     HRESULT documentElement([retval, out] IHTMLElement **p);
13075
13076     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
13077     HRESULT uniqueID([retval, out] BSTR *p);
13078
13079     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
13080     HRESULT attachEvent(
13081         [in] BSTR event,
13082         [in] IDispatch* pDisp,
13083         [retval, out] VARIANT_BOOL *pfResult);
13084
13085     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
13086     HRESULT detachEvent(
13087         [in] BSTR event,
13088         [in] IDispatch *pDisp);
13089
13090     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13091     HRESULT onrowsdelete([in] VARIANT v);
13092
13093     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13094     HRESULT onrowsdelete([retval, out] VARIANT *p);
13095
13096     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13097     HRESULT onrowsinserted([in] VARIANT v);
13098
13099     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13100     HRESULT onrowsinserted([retval, out] VARIANT *p);
13101
13102     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13103     HRESULT oncellchange([in] VARIANT v);
13104
13105     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13106     HRESULT oncellchange([retval, out] VARIANT *p);
13107
13108     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13109     HRESULT ondatasetchanged([in] VARIANT v);
13110
13111     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13112     HRESULT ondatasetchanged([retval, out] VARIANT *p);
13113
13114     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13115     HRESULT ondataavailable([in] VARIANT v);
13116
13117     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13118     HRESULT ondataavailable([retval, out] VARIANT * p);
13119
13120     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13121     HRESULT ondatasetcomplete([in] VARIANT v);
13122
13123     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13124     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
13125
13126     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13127     HRESULT onpropertychange([in] VARIANT v);
13128
13129     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13130     HRESULT onpropertychange([retval, out] VARIANT *p);
13131
13132     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
13133     HRESULT dir([in] BSTR v);
13134
13135     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
13136     HRESULT dir([retval, out] BSTR *p);
13137
13138     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13139     HRESULT oncontextmenu([in] VARIANT v);
13140
13141     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13142     HRESULT oncontextmenu([retval, out] VARIANT *p);
13143
13144     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13145     HRESULT onstop([in] VARIANT v);
13146
13147     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13148     HRESULT onstop([retval, out] VARIANT *p);
13149
13150     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
13151     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
13152
13153     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
13154     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
13155
13156     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13157     HRESULT enableDownload([in] VARIANT_BOOL v);
13158
13159     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13160     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
13161
13162     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13163     HRESULT baseUrl([in] BSTR v);
13164
13165     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13166     HRESULT baseUrl([retval, out] BSTR *p);
13167
13168     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
13169     HRESULT childNodes([retval, out] IDispatch **p);
13170
13171     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13172     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
13173
13174     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13175     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
13176
13177     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13178     HRESULT onbeforeeditfocus([in] VARIANT v);
13179
13180     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13181     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
13182
13183     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
13184     HRESULT getElementsByName(
13185         [in] BSTR v,
13186         [retval, out] IHTMLElementCollection **pelColl);
13187
13188     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
13189     HRESULT getElementById(
13190         [in] BSTR v,
13191         [retval, out] IHTMLElement **pel);
13192
13193     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
13194     HRESULT getElementsByTagName(
13195         [in] BSTR v,
13196         [retval, out] IHTMLElementCollection **pelColl);
13197 }
13198
13199 /*****************************************************************************
13200  *    IHTMLDocument4 interface
13201  */
13202 [
13203     odl,
13204     oleautomation,
13205     dual,
13206     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
13207 ]
13208 interface IHTMLDocument4 : IDispatch
13209 {
13210     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
13211     HRESULT focus();
13212
13213     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
13214     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
13215
13216     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13217     HRESULT onselectionchange([in] VARIANT v);
13218
13219     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13220     HRESULT onselectionchange([retval, out] VARIANT *p);
13221
13222     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
13223     HRESULT namespaces([retval, out] IDispatch **p);
13224
13225     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
13226     HRESULT createDocumentFromUrl(
13227         [in] BSTR bstrUrl,
13228         [in] BSTR bstrOptions,
13229         [retval, out] IHTMLDocument2 **newDoc);
13230
13231     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13232     HRESULT media([in] BSTR v);
13233
13234     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13235     HRESULT media([retval, out] BSTR *p);
13236
13237     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
13238     HRESULT createEventObject(
13239         [optional, in] VARIANT *pvarEventObject,
13240         [retval, out] IHTMLEventObj **ppEventObj);
13241
13242     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
13243     HRESULT fireEvent(
13244         [in] BSTR bstrEventName,
13245         [optional, in] VARIANT *pvarEventObject,
13246         [retval, out] VARIANT_BOOL *pfCancelled);
13247
13248     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
13249     HRESULT createRenderStyle(
13250         [in] BSTR v,
13251         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
13252
13253     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13254     HRESULT oncontrolselect([in] VARIANT v);
13255
13256     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13257     HRESULT oncontrolselect([retval, out] VARIANT *p);
13258
13259     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
13260     HRESULT URLUnencoded([retval, out] BSTR *p);
13261 }
13262
13263 /*****************************************************************************
13264  *    IHTMLDocument5 interface
13265  */
13266 [
13267     odl,
13268     oleautomation,
13269     dual,
13270     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
13271 ]
13272 interface IHTMLDocument5 : IDispatch
13273 {
13274     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13275     HRESULT onmousewheel([in] VARIANT v);
13276
13277     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13278     HRESULT onmousewheel([retval, out] VARIANT *p);
13279
13280     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
13281     HRESULT doctype([retval, out] IHTMLDOMNode **p);
13282
13283     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13284     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
13285
13286     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13287     HRESULT createAttribute(
13288         [in] BSTR bstrattrName,
13289         [retval, out] IHTMLDOMAttribute **ppattribute);
13290
13291     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13292     HRESULT createComment(
13293         [in] BSTR bstrdata,
13294         [retval, out] IHTMLDOMNode **ppRetNode);
13295
13296     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13297     HRESULT onfocusin([in] VARIANT v);
13298
13299     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13300     HRESULT onfocusin([retval, out] VARIANT *p);
13301
13302     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13303     HRESULT onfocusout([in] VARIANT v);
13304
13305     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13306     HRESULT onfocusout([retval, out] VARIANT *p);
13307
13308     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13309     HRESULT onactivate([in] VARIANT v);
13310
13311     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13312     HRESULT onactivate([retval, out] VARIANT *p);
13313
13314     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13315     HRESULT ondeactivate([in] VARIANT v);
13316
13317     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13318     HRESULT ondeactivate([retval, out] VARIANT *p);
13319
13320     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13321     HRESULT onbeforeactivate([in] VARIANT v);
13322
13323     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13324     HRESULT onbeforeactivate([retval, out] VARIANT *p);
13325
13326     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13327     HRESULT onbeforedeactivate([in] VARIANT v);
13328
13329     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13330     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
13331
13332     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
13333     HRESULT compatMode([retval, out] BSTR *p);
13334 }
13335
13336 /*****************************************************************************
13337  *    IHTMLDocument6 interface
13338  */
13339 [
13340     odl,
13341     oleautomation,
13342     dual,
13343     uuid(30510417-98b5-11cf-bb82-00aa00bdce0b)
13344 ]
13345 interface IHTMLDocument6 : IDispatch
13346 {
13347     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
13348     HRESULT compatible([retval, out] IHTMLDocumentCompatibleInfoCollection **p);
13349
13350     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
13351     HRESULT documentMode([retval, out] VARIANT *p);
13352
13353     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13354     HRESULT onstorage([in] VARIANT v);
13355
13356     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13357     HRESULT onstorage([out] VARIANT *p);
13358
13359     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13360     HRESULT onstoragecommit([in] VARIANT v);
13361
13362     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13363     HRESULT onstoragecommit([out] VARIANT *p);
13364
13365     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
13366     HRESULT getElementById(
13367         [in] BSTR bstrId,
13368         [retval, out] IHTMLElement2 **p);
13369
13370     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
13371     HRESULT updateSettings();
13372 }
13373
13374 /*****************************************************************************
13375  *    DispHTMLDocument dispinterface
13376  */
13377 [
13378     hidden,
13379     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
13380 ]
13381 dispinterface DispHTMLDocument
13382 {
13383 properties:
13384 methods:
13385     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
13386     IDispatch *Script();
13387
13388     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
13389     IHTMLElementCollection *all();
13390
13391     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
13392     IHTMLElement *body();
13393
13394     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
13395     IHTMLElement *activeElement();
13396
13397     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
13398     IHTMLElementCollection *images();
13399
13400     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
13401     IHTMLElementCollection *applets();
13402
13403     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
13404     IHTMLElementCollection *links();
13405
13406     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
13407     IHTMLElementCollection *forms();
13408
13409     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
13410     IHTMLElementCollection *anchors();
13411
13412     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13413     void title(BSTR v);
13414
13415     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13416     BSTR title();
13417
13418     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
13419     IHTMLElementCollection *scripts();
13420
13421     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
13422     void designMode(BSTR v);
13423
13424     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
13425     BSTR designMode();
13426
13427     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
13428     IHTMLSelectionObject *selection();
13429
13430     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
13431     BSTR readyState();
13432
13433     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
13434     IHTMLFramesCollection2 *frames();
13435
13436     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
13437     IHTMLElementCollection *embeds();
13438
13439     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
13440     IHTMLElementCollection *plugins();
13441
13442     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13443     void alinkColor(VARIANT v);
13444
13445     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13446     VARIANT alinkColor();
13447
13448     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13449     void bgColor(VARIANT v);
13450
13451     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13452     VARIANT bgColor();
13453
13454     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13455     void fgColor(VARIANT v);
13456
13457     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13458     VARIANT fgColor();
13459
13460     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13461     void linkColor(VARIANT v);
13462
13463     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13464     VARIANT linkColor();
13465
13466     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13467     void vlinkColor(VARIANT v);
13468
13469     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13470     VARIANT vlinkColor();
13471
13472     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
13473     BSTR referrer();
13474
13475     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
13476     IHTMLLocation *location();
13477
13478     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
13479     BSTR lastModified();
13480
13481     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
13482     void URL(BSTR v);
13483
13484     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
13485     BSTR URL();
13486
13487     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13488     void domain(BSTR v);
13489
13490     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13491     BSTR domain();
13492
13493     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13494     void cookie(BSTR v);
13495
13496     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13497     BSTR cookie();
13498
13499     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
13500     void expando(VARIANT_BOOL v);
13501
13502     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
13503     VARIANT_BOOL expando();
13504
13505     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
13506     void charset(BSTR v);
13507
13508     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
13509     BSTR charset();
13510
13511     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13512     void defaultCharset(BSTR v);
13513
13514     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13515     BSTR defaultCharset();
13516
13517     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
13518     BSTR mimeType();
13519
13520     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
13521     BSTR fileSize();
13522
13523     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
13524     BSTR fileCreatedDate();
13525
13526     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
13527     BSTR fileModifiedDate();
13528
13529     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
13530     BSTR fileUpdatedDate();
13531
13532     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
13533     BSTR security();
13534
13535     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
13536     BSTR protocol();
13537
13538     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
13539     BSTR nameProp();
13540
13541     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
13542     void write([in] SAFEARRAY(VARIANT) psarray);
13543
13544     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
13545     void writeln([in] SAFEARRAY(VARIANT) psarray);
13546
13547     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
13548     IDispatch *open(
13549         [defaultvalue("text/html"), in] BSTR url,
13550         [optional, in] VARIANT name,
13551         [optional, in] VARIANT features,
13552         [optional, in] VARIANT replace);
13553
13554     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
13555     void close();
13556
13557     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
13558     void clear();
13559
13560     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
13561     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
13562
13563     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
13564     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
13565
13566     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
13567     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
13568
13569     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
13570     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
13571
13572     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
13573     BSTR queryCommandText([in] BSTR cmdID);
13574
13575     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
13576     VARIANT queryCommandValue([in] BSTR cmdID);
13577
13578     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
13579     VARIANT_BOOL execCommand(
13580         [in] BSTR cmdID,
13581         [defaultvalue(0), in] VARIANT_BOOL showUI,
13582         [optional, in] VARIANT value);
13583
13584     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
13585     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
13586
13587     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
13588     IHTMLElement *createElement([in] BSTR eTag);
13589
13590     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
13591     void onhelp(VARIANT v);
13592
13593     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
13594     VARIANT onhelp();
13595
13596     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
13597     void onclick(VARIANT v);
13598
13599     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
13600     VARIANT onclick();
13601
13602     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
13603     void ondblclick(VARIANT v);
13604
13605     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
13606     VARIANT ondblclick();
13607
13608     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
13609     void onkeyup(VARIANT v);
13610
13611     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
13612     VARIANT onkeyup();
13613
13614     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
13615     void onkeydown(VARIANT v);
13616
13617     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
13618     VARIANT onkeydown();
13619
13620     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
13621     void onkeypress(VARIANT v);
13622
13623     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
13624     VARIANT onkeypress();
13625
13626     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
13627     void onmouseup(VARIANT v);
13628
13629     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
13630     VARIANT onmouseup();
13631
13632     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
13633     void onmousedown(VARIANT v);
13634
13635     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
13636     VARIANT onmousedown();
13637
13638     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
13639     void onmousemove(VARIANT v);
13640
13641     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
13642     VARIANT onmousemove();
13643
13644     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
13645     void onmouseout(VARIANT v);
13646
13647     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
13648     VARIANT onmouseout();
13649
13650     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
13651     void onmouseover(VARIANT v);
13652
13653     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
13654     VARIANT onmouseover();
13655
13656     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13657     void onreadystatechange(VARIANT v);
13658
13659     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13660     VARIANT onreadystatechange();
13661
13662     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
13663     void onafterupdate(VARIANT v);
13664
13665     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
13666     VARIANT onafterupdate();
13667
13668     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
13669     void onrowexit(VARIANT v);
13670
13671     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
13672     VARIANT onrowexit();
13673
13674     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
13675     void onrowenter(VARIANT v);
13676
13677     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
13678     VARIANT onrowenter();
13679
13680     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
13681     void ondragstart(VARIANT v);
13682
13683     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
13684     VARIANT ondragstart();
13685
13686     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
13687     void onselectstart(VARIANT v);
13688
13689     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
13690     VARIANT onselectstart();
13691
13692     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
13693     IHTMLElement *elementFromPoint(
13694         [in] LONG x,
13695         [in] LONG y);
13696
13697     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
13698     IHTMLWindow2 *parentWindow();
13699
13700     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
13701     IHTMLStyleSheetsCollection *styleSheets();
13702
13703     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
13704     void onbeforeupdate(VARIANT v);
13705
13706     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
13707     VARIANT onbeforeupdate();
13708
13709     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
13710     void onerrorupdate(VARIANT v);
13711
13712     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
13713     VARIANT onerrorupdate();
13714
13715     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
13716     BSTR toString();
13717
13718     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
13719     IHTMLStyleSheet *createStyleSheet(
13720         [defaultvalue(""), in] BSTR bstrHref,
13721         [defaultvalue(-1), in] LONG lIndex);
13722
13723     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
13724     void releaseCapture();
13725
13726     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
13727     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
13728
13729     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
13730     IHTMLDOMNode *createTextNode([in] BSTR text);
13731
13732     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
13733     IHTMLElement *documentElement();
13734
13735     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
13736     BSTR uniqueID();
13737
13738     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
13739     VARIANT_BOOL attachEvent(
13740         [in] BSTR event,
13741         [in] IDispatch *pDisp);
13742
13743     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
13744     void detachEvent(
13745         [in] BSTR event,
13746         [in] IDispatch *pDisp);
13747
13748     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13749     void onrowsdelete(VARIANT v);
13750
13751     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13752     VARIANT onrowsdelete();
13753
13754     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13755     void onrowsinserted(VARIANT v);
13756
13757     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13758     VARIANT onrowsinserted();
13759
13760     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13761     void oncellchange(VARIANT v);
13762
13763     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13764     VARIANT oncellchange();
13765
13766     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13767     void ondatasetchanged(VARIANT v);
13768
13769     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13770     VARIANT ondatasetchanged();
13771
13772     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13773     void ondataavailable(VARIANT v);
13774
13775     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13776     VARIANT ondataavailable();
13777
13778     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13779     void ondatasetcomplete(VARIANT v);
13780
13781     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13782     VARIANT ondatasetcomplete();
13783
13784     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13785     void onpropertychange(VARIANT v);
13786
13787     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13788     VARIANT onpropertychange();
13789
13790     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
13791     void dir(BSTR v);
13792
13793     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
13794     BSTR dir();
13795
13796     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13797     void oncontextmenu(VARIANT v);
13798
13799     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13800     VARIANT oncontextmenu();
13801
13802     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13803     void onstop(VARIANT v);
13804
13805     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13806     VARIANT onstop();
13807
13808     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
13809     IHTMLDocument2 *createDocumentFragment();
13810
13811     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
13812     IHTMLDocument2 *parentDocument();
13813
13814     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13815     void enableDownload(VARIANT_BOOL v);
13816
13817     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13818     VARIANT_BOOL enableDownload();
13819
13820     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13821     void baseUrl(BSTR v);
13822
13823     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13824     BSTR baseUrl();
13825
13826     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13827     void inheritStyleSheets(VARIANT_BOOL v);
13828
13829     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13830     VARIANT_BOOL inheritStyleSheets();
13831
13832     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13833     void onbeforeeditfocus(VARIANT v);
13834
13835     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13836     VARIANT onbeforeeditfocus();
13837
13838     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
13839     IHTMLElementCollection *getElementsByName([in] BSTR v);
13840
13841     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
13842     IHTMLElement *getElementById([in] BSTR v);
13843
13844     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
13845     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
13846
13847     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
13848     void focus();
13849
13850     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
13851     VARIANT_BOOL hasFocus();
13852
13853     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13854     void onselectionchange(VARIANT v);
13855
13856     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13857     VARIANT onselectionchange();
13858
13859     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
13860     IDispatch *namespaces();
13861
13862     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
13863     IHTMLDocument2 *createDocumentFromUrl(
13864         [in] BSTR bstrUrl,
13865         [in] BSTR bstrOptions);
13866
13867     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13868     void media(BSTR v);
13869
13870     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13871     BSTR media();
13872
13873     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
13874     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
13875
13876     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
13877     VARIANT_BOOL fireEvent(
13878         [in] BSTR bstrEventName,
13879         [optional, in] VARIANT *pvarEventObject);
13880
13881     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
13882     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
13883
13884     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13885     void oncontrolselect(VARIANT v);
13886
13887     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13888     VARIANT oncontrolselect();
13889
13890     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
13891     BSTR URLUnencoded();
13892
13893     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13894     void onmousewheel(VARIANT v);
13895
13896     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13897     VARIANT onmousewheel();
13898
13899     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
13900     IHTMLDOMNode *doctype();
13901
13902     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13903     IHTMLDOMImplementation *implementation();
13904
13905     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13906     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
13907
13908     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13909     IHTMLDOMNode *createComment([in] BSTR bstrdata);
13910
13911     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13912     void onfocusin(VARIANT v);
13913
13914     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13915     VARIANT onfocusin();
13916
13917     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13918     void onfocusout(VARIANT v);
13919
13920     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13921     VARIANT onfocusout();
13922
13923     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13924     void onactivate(VARIANT v);
13925
13926     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13927     VARIANT onactivate();
13928
13929     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13930     void ondeactivate(VARIANT v);
13931
13932     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13933     VARIANT ondeactivate();
13934
13935     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13936     void onbeforeactivate(VARIANT v);
13937
13938     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13939     VARIANT onbeforeactivate();
13940
13941     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13942     void onbeforedeactivate(VARIANT v);
13943
13944     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13945     VARIANT onbeforedeactivate();
13946
13947     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
13948     BSTR compatMode();
13949
13950     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
13951     IHTMLDocumentCompatibleInfoCollection *compatible();
13952
13953     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
13954     VARIANT documentMode();
13955
13956     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13957     void onstorage(VARIANT v);
13958
13959     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13960     VARIANT onstorage();
13961
13962     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13963     void onstoragecommit(VARIANT v);
13964
13965     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13966     VARIANT onstoragecommit();
13967
13968     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
13969     IHTMLElement2 *ie8_getElementById([in] BSTR bstrId);
13970
13971     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
13972     void updateSettings();
13973
13974     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
13975 }
13976
13977 /*****************************************************************************
13978  *    HTMLDocument coclass
13979  */
13980 [
13981     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
13982 ]
13983 coclass HTMLDocument
13984 {
13985     [default]         dispinterface DispHTMLDocument;
13986     [source, default] dispinterface HTMLDocumentEvents;
13987     [source]          dispinterface HTMLDocumentEvents2;
13988                       interface IHTMLDocument2;
13989                       interface IHTMLDocument3;
13990                       interface IHTMLDocument4;
13991                       interface IHTMLDocument5;
13992                       interface IHTMLDocument6;
13993                       interface IHTMLDOMNode;
13994                       interface IHTMLDOMNode2;
13995 }
13996
13997 /*****************************************************************************
13998  *    DWebBridgeEvents dispinterface
13999  */
14000 [
14001     hidden,
14002     uuid(a6d897ff-0a95-11d1-b0ba-006008166e11)
14003 ]
14004 dispinterface DWebBridgeEvents
14005 {
14006 properties:
14007 methods:
14008     [id(DISPID_DWEBBRIDGEEVENTS_ONSCRIPTLETEVENT)]
14009     void onscriptletevent([in] BSTR name,[in] VARIANT eventData);
14010
14011     [id(DISPID_DWEBBRIDGEEVENTS_ONREADYSTATECHANGE)]
14012     void onreadystatechange();
14013
14014     [id(DISPID_DWEBBRIDGEEVENTS_ONCLICK)]
14015     VARIANT_BOOL onclick();
14016
14017     [id(DISPID_DWEBBRIDGEEVENTS_ONDBLCLICK)]
14018     VARIANT_BOOL ondblclick();
14019
14020     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYDOWN)]
14021     void onkeydown();
14022
14023     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYUP)]
14024     void onkeyup();
14025
14026     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYPRESS)]
14027     VARIANT_BOOL onkeypress();
14028
14029     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEDOWN)]
14030     void onmousedown();
14031
14032     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEMOVE)]
14033     void onmousemove();
14034
14035     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEUP)]
14036     void onmouseup();
14037 }
14038
14039 /*****************************************************************************
14040  *    IWebBridge interface
14041  */
14042 [
14043     odl,
14044     oleautomation,
14045     dual,
14046     uuid(ae24fdad-03c6-11d1-8b76-0080c744f389)
14047 ]
14048 interface IWebBridge : IDispatch
14049 {
14050     [propput, id(DISPID_IWEBBRIDGE_URL)]
14051     HRESULT URL([in] BSTR v);
14052
14053     [propget, id(DISPID_IWEBBRIDGE_URL)]
14054     HRESULT URL([retval, out] BSTR * p);
14055
14056     [propput, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
14057     HRESULT Scrollbar([in] VARIANT_BOOL v);
14058
14059     [propget, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
14060     HRESULT Scrollbar([retval, out] VARIANT_BOOL * p);
14061
14062     [propput, id(DISPID_IWEBBRIDGE_EMBED)]
14063     HRESULT embed([in] VARIANT_BOOL v);
14064
14065     [propget, id(DISPID_IWEBBRIDGE_EMBED)]
14066     HRESULT embed([retval, out] VARIANT_BOOL * p);
14067
14068     [propget, id(DISPID_IWEBBRIDGE_EVENT)]
14069     HRESULT event([retval, out] IDispatch* * p);
14070
14071     [propget, id(DISPID_IWEBBRIDGE_READYSTATE)]
14072     HRESULT readyState([retval, out] long * p);
14073
14074     [id(DISPID_IWEBBRIDGE_ABOUTBOX)]
14075     HRESULT AboutBox();
14076 }
14077
14078 /*****************************************************************************
14079  *    Scriptlet coclass
14080  */
14081 [
14082     control,
14083     helpstring("Microsoft Scriptlet Component"),
14084     progid("ScriptBridge.ScriptBridge.1"),
14085     vi_progid("ScriptBridge.ScriptBridge"),
14086     uuid(ae24fdae-03c6-11d1-8b76-0080c744f389)
14087 ]
14088 coclass Scriptlet
14089 {
14090     [default]           interface IWebBridge;
14091     [source, default]   dispinterface DWebBridgeEvents;
14092 }
14093
14094 /*****************************************************************************
14095  *    IHTMLEmbedElement interface
14096  */
14097 [
14098     odl,
14099     oleautomation,
14100     dual,
14101     uuid(3050f25f-98b5-11cf-bb82-00aa00bdce0b)
14102 ]
14103 interface IHTMLEmbedElement : IDispatch
14104 {
14105     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14106     HRESULT hidden([in] BSTR v);
14107
14108     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14109     HRESULT hidden([retval, out] BSTR *p);
14110
14111     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
14112     HRESULT palette([retval, out] BSTR *p);
14113
14114     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
14115     HRESULT pluginspage([retval, out] BSTR *p);
14116
14117     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14118     HRESULT src([in] BSTR v);
14119
14120     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14121     HRESULT src([retval, out] BSTR *p);
14122
14123     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14124     HRESULT units([in] BSTR v);
14125
14126     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14127     HRESULT units([retval, out] BSTR *p);
14128
14129     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14130     HRESULT name([in] BSTR v);
14131
14132     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14133     HRESULT name([retval, out] BSTR *p);
14134
14135     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14136     HRESULT width([in] VARIANT v);
14137
14138     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14139     HRESULT width([retval, out] VARIANT *p);
14140
14141     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14142     HRESULT height([in] VARIANT v);
14143
14144     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14145     HRESULT height([retval, out] VARIANT *p);
14146 }
14147
14148 /*****************************************************************************
14149  *    DispHTMLEmbedElement dispinterface
14150  */
14151 [
14152     hidden,
14153     uuid(3050f52e-98b5-11cf-bb82-00aa00bdce0b)
14154 ]
14155 dispinterface DispHTMLEmbed
14156 {
14157 properties:
14158 methods:
14159     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14160
14161     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14162     void hidden(BSTR v);
14163
14164     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14165     BSTR hidden();
14166
14167     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
14168     BSTR palette();
14169
14170     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
14171     BSTR pluginspage();
14172
14173     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14174     void src(BSTR v);
14175
14176     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14177     BSTR src();
14178
14179     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14180     void units(BSTR v);
14181
14182     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14183     BSTR units();
14184
14185     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14186     void name(BSTR v);
14187
14188     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14189     BSTR name();
14190
14191     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14192     void width(VARIANT v);
14193
14194     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14195     VARIANT width();
14196
14197     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14198     void height(VARIANT v);
14199
14200     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14201     VARIANT height();
14202
14203     [propput, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
14204     void ie8_src(BSTR v);
14205
14206     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
14207     BSTR ie8_src();
14208
14209     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_PLUGINSPAGE)]
14210     BSTR ie8_pluginspage();
14211 }
14212
14213 /*****************************************************************************
14214  *    IHTMLCommentElement interface
14215  */
14216 [
14217     odl,
14218     oleautomation,
14219     dual,
14220     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
14221 ]
14222 interface IHTMLCommentElement : IDispatch
14223 {
14224     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14225     HRESULT text([in] BSTR v);
14226
14227     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14228     HRESULT text([out, retval] BSTR *p);
14229
14230     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14231     HRESULT atomic([in] LONG v);
14232
14233     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14234     HRESULT atomic([out, retval] LONG *p);
14235 }
14236
14237 /*****************************************************************************
14238  *    IHTMLCommentElement2 interface
14239  */
14240 [
14241     odl,
14242     oleautomation,
14243     dual,
14244     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
14245 ]
14246 interface IHTMLCommentElement2 : IDispatch
14247 {
14248     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14249     HRESULT data([in] BSTR v);
14250
14251     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14252     HRESULT data([out, retval] BSTR *p);
14253
14254     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14255     HRESULT length([out, retval] LONG *p);
14256
14257     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14258     HRESULT substringData(
14259             [in] LONG offset,
14260             [in] LONG Count,
14261             [out, retval] BSTR *pbstrsubString);
14262
14263     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14264     HRESULT appendData([in] BSTR bstrstring);
14265
14266     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14267     HRESULT insertData(
14268             [in] LONG offset,
14269             [in] BSTR bstrstring);
14270
14271     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
14272     HRESULT deleteData(
14273             [in] LONG offset,
14274             [in] LONG Count);
14275
14276     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
14277     HRESULT replaceData(
14278             [in] LONG offset,
14279             [in] LONG Count,
14280             [in] BSTR bstrstring);
14281 }
14282
14283 /*****************************************************************************
14284  *    DispHTMLCommentElement dispinterface
14285  */
14286 [
14287     hidden,
14288     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
14289 ]
14290 dispinterface DispHTMLCommentElement
14291 {
14292 properties:
14293 methods:
14294     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14295
14296     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14297     void text(BSTR v);
14298
14299     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14300     BSTR text();
14301
14302     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14303     void atomic(LONG v);
14304
14305     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14306     LONG atomic();
14307
14308     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14309     void data(BSTR v);
14310
14311     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14312     BSTR data();
14313
14314     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14315     LONG length();
14316
14317     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14318     BSTR substringData(
14319             [in] LONG offset,
14320             [in] LONG Count);
14321
14322     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14323     void appendData([in] BSTR bstrstring);
14324
14325     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14326      void insertData(
14327             [in] LONG offset,
14328             [in] BSTR bstrstring);
14329
14330     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
14331     void deleteData(
14332             [in] LONG offset,
14333             [in] LONG Count);
14334
14335     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
14336     void replaceData(
14337             [in] LONG offset,
14338             [in] LONG Count,
14339             [in] BSTR bstrstring);
14340 }
14341
14342 [
14343     hidden,
14344     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
14345 ]
14346 dispinterface HTMLElementEvents2
14347 {
14348 properties:
14349 methods:
14350     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14351     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14352
14353     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14354     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14355
14356     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14357     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14358
14359     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14360     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14361
14362     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14363     void onkeydown([in] IHTMLEventObj* pEvtObj);
14364
14365     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14366     void onkeyup([in] IHTMLEventObj* pEvtObj);
14367
14368     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14369     void onmouseout([in] IHTMLEventObj* pEvtObj);
14370
14371     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14372     void onmouseover([in] IHTMLEventObj* pEvtObj);
14373
14374     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14375     void onmousemove([in] IHTMLEventObj* pEvtObj);
14376
14377     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14378     void onmousedown([in] IHTMLEventObj* pEvtObj);
14379
14380     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14381     void onmouseup([in] IHTMLEventObj* pEvtObj);
14382
14383     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14384     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14385
14386     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14387     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14388
14389     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14390     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14391
14392     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14393     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14394
14395     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14396     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14397
14398     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14399     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14400
14401     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14402     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14403
14404     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14405     void onrowenter([in] IHTMLEventObj* pEvtObj);
14406
14407     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14408     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14409
14410     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14411     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14412
14413     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14414     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14415
14416     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14417     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14418
14419     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14420     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14421
14422     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14423     void onscroll([in] IHTMLEventObj* pEvtObj);
14424
14425     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14426     void onfocus([in] IHTMLEventObj* pEvtObj);
14427
14428     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14429     void onblur([in] IHTMLEventObj* pEvtObj);
14430
14431     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14432     void onresize([in] IHTMLEventObj* pEvtObj);
14433
14434     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14435     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14436
14437     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14438     void ondragend([in] IHTMLEventObj* pEvtObj);
14439
14440     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14441     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14442
14443     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14444     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14445
14446     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14447     void ondragleave([in] IHTMLEventObj* pEvtObj);
14448
14449     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14450     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14451
14452     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14453     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14454
14455     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14456     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14457
14458     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14459     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14460
14461     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14462     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14463
14464     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14465     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14466
14467     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14468     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14469
14470     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14471     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14472
14473     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14474     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14475
14476     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14477     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14478
14479     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14480     void oncellchange([in] IHTMLEventObj* pEvtObj);
14481
14482     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14483     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14484
14485     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14486     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14487
14488     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14489     void onpage([in] IHTMLEventObj* pEvtObj);
14490
14491     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14492     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14493
14494     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14495     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14496
14497     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14498     void onactivate([in] IHTMLEventObj* pEvtObj);
14499
14500     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14501     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14502
14503     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14504     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14505
14506     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14507     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14508
14509     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14510     void onfocusin([in] IHTMLEventObj* pEvtObj);
14511
14512     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14513     void onfocusout([in] IHTMLEventObj* pEvtObj);
14514
14515     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14516     void onmove([in] IHTMLEventObj* pEvtObj);
14517
14518     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14519     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14520
14521     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14522     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14523
14524     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14525     void onmoveend([in] IHTMLEventObj* pEvtObj);
14526
14527     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14528     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14529
14530     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14531     void onresizeend([in] IHTMLEventObj* pEvtObj);
14532
14533     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14534     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14535 }
14536
14537 [
14538     hidden,
14539     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
14540 ]
14541 dispinterface HTMLElementEvents
14542 {
14543 properties:
14544 methods:
14545     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14546     VARIANT_BOOL onhelp();
14547
14548     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14549     VARIANT_BOOL onclick();
14550
14551     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14552     VARIANT_BOOL ondblclick();
14553
14554     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14555     VARIANT_BOOL onkeypress();
14556
14557     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14558     void onkeydown();
14559
14560     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14561     void onkeyup();
14562
14563     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14564     void onmouseout();
14565
14566     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14567     void onmouseover();
14568
14569     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14570     void onmousemove();
14571
14572     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14573     void onmousedown();
14574
14575     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14576     void onmouseup();
14577
14578     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14579     VARIANT_BOOL onselectstart();
14580
14581     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14582     void onfilterchange();
14583
14584     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14585     VARIANT_BOOL ondragstart();
14586
14587     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14588     VARIANT_BOOL onbeforeupdate();
14589
14590     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14591     void onafterupdate();
14592
14593     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14594     VARIANT_BOOL onerrorupdate();
14595
14596     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14597     VARIANT_BOOL onrowexit();
14598
14599     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14600     void onrowenter();
14601
14602     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14603     void ondatasetchanged();
14604
14605     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14606     void ondataavailable();
14607
14608     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14609     void ondatasetcomplete();
14610
14611     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14612     void onlosecapture();
14613
14614     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14615     void onpropertychange();
14616
14617     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14618     void onscroll();
14619
14620     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14621     void onfocus();
14622
14623     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14624     void onblur();
14625
14626     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14627     void onresize();
14628
14629     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14630     VARIANT_BOOL ondrag();
14631
14632     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14633     void ondragend();
14634
14635     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14636     VARIANT_BOOL ondragenter();
14637
14638     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14639     VARIANT_BOOL ondragover();
14640
14641     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14642     void ondragleave();
14643
14644     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14645     VARIANT_BOOL ondrop();
14646
14647     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14648     VARIANT_BOOL onbeforecut();
14649
14650     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14651     VARIANT_BOOL oncut();
14652
14653     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14654     VARIANT_BOOL onbeforecopy();
14655
14656     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14657     VARIANT_BOOL oncopy();
14658
14659     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14660     VARIANT_BOOL onbeforepaste();
14661
14662     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14663     VARIANT_BOOL onpaste();
14664
14665     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14666     VARIANT_BOOL oncontextmenu();
14667
14668     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14669     void onrowsdelete();
14670
14671     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14672     void onrowsinserted();
14673
14674     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14675     void oncellchange();
14676
14677     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14678     void onreadystatechange();
14679
14680     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14681     void onbeforeeditfocus();
14682
14683     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14684     void onlayoutcomplete();
14685
14686     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14687     void onpage();
14688
14689     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14690     VARIANT_BOOL onbeforedeactivate();
14691
14692     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14693     VARIANT_BOOL onbeforeactivate();
14694
14695     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14696     void onmove();
14697
14698     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14699     VARIANT_BOOL oncontrolselect();
14700
14701     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14702     VARIANT_BOOL onmovestart();
14703
14704     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14705     void onmoveend();
14706
14707     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14708     VARIANT_BOOL onresizestart();
14709
14710     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14711     void onresizeend();
14712
14713     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14714     void onmouseenter();
14715
14716     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14717     void onmouseleave();
14718
14719     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14720     VARIANT_BOOL onmousewheel();
14721
14722     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14723     void onactivate();
14724
14725     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14726     void ondeactivate();
14727
14728     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14729     void onfocusin();
14730
14731     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14732     void onfocusout();
14733 }
14734
14735 [
14736     noncreatable,
14737     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
14738 ]
14739 coclass HTMLCommentElement
14740 {
14741     [default]           dispinterface DispHTMLCommentElement;
14742     [source, default]   dispinterface HTMLElementEvents;
14743     [source]            dispinterface HTMLElementEvents2;
14744                         interface IHTMLElement;
14745                         interface IHTMLElement2;
14746                         interface IHTMLElement3;
14747                         interface IHTMLElement4;
14748                         interface IHTMLUniqueName;
14749                         interface IHTMLDOMNode;
14750                         interface IHTMLDOMNode2;
14751                         interface IHTMLCommentElement;
14752                         interface IHTMLCommentElement2;
14753 }
14754
14755 /*****************************************************************************
14756  *    HTMLTableEvents dispinterface
14757  */
14758 [
14759     hidden,
14760     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
14761 ]
14762 dispinterface HTMLTableEvents
14763 {
14764 properties:
14765 methods:
14766     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14767     VARIANT_BOOL onhelp();
14768
14769     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14770     VARIANT_BOOL onclick();
14771
14772     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14773     VARIANT_BOOL ondblclick();
14774
14775     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14776     VARIANT_BOOL onkeypress();
14777
14778     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14779     void onkeydown();
14780
14781     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14782     void onkeyup();
14783
14784     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14785     void onmouseout();
14786
14787     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14788     void onmouseover();
14789
14790     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14791     void onmousemove();
14792
14793     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14794     void onmousedown();
14795
14796     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14797     void onmouseup();
14798
14799     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14800     VARIANT_BOOL onselectstart();
14801
14802     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14803     void onfilterchange();
14804
14805     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14806     VARIANT_BOOL ondragstart();
14807
14808     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14809     VARIANT_BOOL onbeforeupdate();
14810
14811     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14812     void onafterupdate();
14813
14814     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14815     VARIANT_BOOL onerrorupdate();
14816
14817     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14818     VARIANT_BOOL onrowexit();
14819
14820     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14821     void onrowenter();
14822
14823     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14824     void ondatasetchanged();
14825
14826     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14827     void ondataavailable();
14828
14829     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14830     void ondatasetcomplete();
14831
14832     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14833     void onlosecapture();
14834
14835     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14836     void onpropertychange();
14837
14838     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14839     void onscroll();
14840
14841     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14842     void onfocus();
14843
14844     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14845     void onblur();
14846
14847     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14848     void onresize();
14849
14850     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14851     VARIANT_BOOL ondrag();
14852
14853     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14854     void ondragend();
14855
14856     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14857     VARIANT_BOOL ondragenter();
14858
14859     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14860     VARIANT_BOOL ondragover();
14861
14862     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14863     void ondragleave();
14864
14865     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14866     VARIANT_BOOL ondrop();
14867
14868     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14869     VARIANT_BOOL onbeforecut();
14870
14871     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14872     VARIANT_BOOL oncut();
14873
14874     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14875     VARIANT_BOOL onbeforecopy();
14876
14877     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14878     VARIANT_BOOL oncopy();
14879
14880     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14881     VARIANT_BOOL onbeforepaste();
14882
14883     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14884     VARIANT_BOOL onpaste();
14885
14886     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14887     VARIANT_BOOL oncontextmenu();
14888
14889     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14890     void onrowsdelete();
14891
14892     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14893     void onrowsinserted();
14894
14895     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14896     void oncellchange();
14897
14898     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14899     void onreadystatechange();
14900
14901     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14902     void onbeforeeditfocus();
14903
14904     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14905     void onlayoutcomplete();
14906
14907     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14908     void onpage();
14909
14910     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14911     VARIANT_BOOL onbeforedeactivate();
14912
14913     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14914     VARIANT_BOOL onbeforeactivate();
14915
14916     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14917     void onmove();
14918
14919     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14920     VARIANT_BOOL oncontrolselect();
14921
14922     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14923     VARIANT_BOOL onmovestart();
14924
14925     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14926     void onmoveend();
14927
14928     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14929     VARIANT_BOOL onresizestart();
14930
14931     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14932     void onresizeend();
14933
14934     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14935     void onmouseenter();
14936
14937     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14938     void onmouseleave();
14939
14940     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14941     VARIANT_BOOL onmousewheel();
14942
14943     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14944     void onactivate();
14945
14946     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14947     void ondeactivate();
14948
14949     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14950     void onfocusin();
14951
14952     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14953     void onfocusout();
14954 }
14955
14956 [
14957     hidden,
14958     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
14959 ]
14960 dispinterface HTMLTableEvents2
14961 {
14962 properties:
14963 methods:
14964     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14965     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14966
14967     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14968     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14969
14970     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14971     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14972
14973     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14974     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14975
14976     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14977     void onkeydown([in] IHTMLEventObj* pEvtObj);
14978
14979     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14980     void onkeyup([in] IHTMLEventObj* pEvtObj);
14981
14982     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14983     void onmouseout([in] IHTMLEventObj* pEvtObj);
14984
14985     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14986     void onmouseover([in] IHTMLEventObj* pEvtObj);
14987
14988     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14989     void onmousemove([in] IHTMLEventObj* pEvtObj);
14990
14991     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14992     void onmousedown([in] IHTMLEventObj* pEvtObj);
14993
14994     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14995     void onmouseup([in] IHTMLEventObj* pEvtObj);
14996
14997     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14998     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14999
15000     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
15001     void onfilterchange([in] IHTMLEventObj* pEvtObj);
15002
15003     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
15004     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
15005
15006     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
15007     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
15008
15009     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
15010     void onafterupdate([in] IHTMLEventObj* pEvtObj);
15011
15012     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
15013     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
15014
15015     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
15016     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
15017
15018     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
15019     void onrowenter([in] IHTMLEventObj* pEvtObj);
15020
15021     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
15022     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
15023
15024     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
15025     void ondataavailable([in] IHTMLEventObj* pEvtObj);
15026
15027     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
15028     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
15029
15030     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
15031     void onlosecapture([in] IHTMLEventObj* pEvtObj);
15032
15033     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
15034     void onpropertychange([in] IHTMLEventObj* pEvtObj);
15035
15036     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
15037     void onscroll([in] IHTMLEventObj* pEvtObj);
15038
15039     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
15040     void onfocus([in] IHTMLEventObj* pEvtObj);
15041
15042     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
15043     void onblur([in] IHTMLEventObj* pEvtObj);
15044
15045     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
15046     void onresize([in] IHTMLEventObj* pEvtObj);
15047
15048     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
15049     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
15050
15051     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
15052     void ondragend([in] IHTMLEventObj* pEvtObj);
15053
15054     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
15055     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
15056
15057     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
15058     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
15059
15060     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
15061     void ondragleave([in] IHTMLEventObj* pEvtObj);
15062
15063     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
15064     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
15065
15066     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
15067     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
15068
15069     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
15070     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
15071
15072     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
15073     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
15074
15075     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
15076     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
15077
15078     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
15079     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
15080
15081     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
15082     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
15083
15084     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
15085     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
15086
15087     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
15088     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
15089
15090     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
15091     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
15092
15093     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
15094     void oncellchange([in] IHTMLEventObj* pEvtObj);
15095
15096     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
15097     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
15098
15099     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
15100     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
15101
15102     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
15103     void onpage([in] IHTMLEventObj* pEvtObj);
15104
15105     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
15106     void onmouseenter([in] IHTMLEventObj* pEvtObj);
15107
15108     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
15109     void onmouseleave([in] IHTMLEventObj* pEvtObj);
15110
15111     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
15112     void onactivate([in] IHTMLEventObj* pEvtObj);
15113
15114     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
15115     void ondeactivate([in] IHTMLEventObj* pEvtObj);
15116
15117     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
15118     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
15119
15120     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
15121     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
15122
15123     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
15124     void onfocusin([in] IHTMLEventObj* pEvtObj);
15125
15126     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
15127     void onfocusout([in] IHTMLEventObj* pEvtObj);
15128
15129     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
15130     void onmove([in] IHTMLEventObj* pEvtObj);
15131
15132     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
15133     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
15134
15135     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
15136     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
15137
15138     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
15139     void onmoveend([in] IHTMLEventObj* pEvtObj);
15140
15141     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
15142     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
15143
15144     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
15145     void onresizeend([in] IHTMLEventObj* pEvtObj);
15146
15147     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
15148     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
15149 }
15150
15151 /*****************************************************************************
15152  *    IHTMLTableCaption interface
15153  */
15154 [
15155     odl,
15156     oleautomation,
15157     dual,
15158     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
15159 ]
15160 interface IHTMLTableCaption : IDispatch
15161 {
15162     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
15163     HRESULT align([in] BSTR v);
15164
15165     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
15166     HRESULT align([retval, out] BSTR *p);
15167
15168     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
15169     HRESULT vAlign([in] BSTR v);
15170
15171     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
15172     HRESULT vAlign([retval, out] BSTR *p);
15173 }
15174
15175 interface IHTMLTableSection;
15176
15177 /*****************************************************************************
15178  *    IHTMLTable interface
15179  */
15180 [
15181     odl,
15182     oleautomation,
15183     dual,
15184     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
15185 ]
15186 interface IHTMLTable : IDispatch
15187 {
15188     [propput, id(DISPID_IHTMLTABLE_COLS)]
15189     HRESULT cols([in] LONG v);
15190
15191     [propget, id(DISPID_IHTMLTABLE_COLS)]
15192     HRESULT cols([retval, out] LONG *p);
15193
15194     [propput, id(DISPID_IHTMLTABLE_BORDER)]
15195     HRESULT border([in] VARIANT v);
15196
15197     [propget, id(DISPID_IHTMLTABLE_BORDER)]
15198     HRESULT border([retval, out] VARIANT *p);
15199
15200     [propput, id(DISPID_IHTMLTABLE_FRAME)]
15201     HRESULT frame([in] BSTR v);
15202
15203     [propget, id(DISPID_IHTMLTABLE_FRAME)]
15204     HRESULT frame([retval, out] BSTR *p);
15205
15206     [propput, id(DISPID_IHTMLTABLE_RULES)]
15207     HRESULT rules([in] BSTR v);
15208
15209     [propget, id(DISPID_IHTMLTABLE_RULES)]
15210     HRESULT rules([retval, out] BSTR *p);
15211
15212     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
15213     HRESULT cellSpacing([in] VARIANT v);
15214
15215     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
15216     HRESULT cellSpacing([retval, out] VARIANT *p);
15217
15218     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
15219     HRESULT cellPadding([in] VARIANT v);
15220
15221     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
15222     HRESULT cellPadding([retval, out] VARIANT *p);
15223
15224     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
15225     HRESULT background([in] BSTR v);
15226
15227     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
15228     HRESULT background([retval, out] BSTR *p);
15229
15230     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
15231     HRESULT bgColor([in] VARIANT v);
15232
15233     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
15234     HRESULT bgColor([retval, out] VARIANT *p);
15235
15236     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15237     HRESULT borderColor([in] VARIANT v);
15238
15239     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15240     HRESULT borderColor([retval, out] VARIANT *p);
15241
15242     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15243     HRESULT borderColorLight([in] VARIANT v);
15244
15245     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15246     HRESULT borderColorLight([retval, out] VARIANT *p);
15247
15248     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15249     HRESULT borderColorDark([in] VARIANT v);
15250
15251     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15252     HRESULT borderColorDark([retval, out] VARIANT *p);
15253
15254     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
15255     HRESULT align([in] BSTR v);
15256
15257     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
15258     HRESULT align([retval, out] BSTR * p);
15259
15260     [id(DISPID_IHTMLTABLE_REFRESH)]
15261     HRESULT refresh();
15262
15263     [propget, id(DISPID_IHTMLTABLE_ROWS)]
15264     HRESULT rows([retval, out] IHTMLElementCollection **p);
15265
15266     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
15267     HRESULT width([in] VARIANT v);
15268
15269     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
15270     HRESULT width([retval, out] VARIANT *p);
15271
15272     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
15273     HRESULT height([in] VARIANT v);
15274
15275     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
15276     HRESULT height([retval, out] VARIANT *p);
15277
15278     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15279     HRESULT dataPageSize([in] LONG v);
15280
15281     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15282     HRESULT dataPageSize([retval, out] LONG *p);
15283
15284     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
15285     HRESULT nextPage();
15286
15287     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
15288     HRESULT previousPage();
15289
15290     [propget, id(DISPID_IHTMLTABLE_THEAD)]
15291     HRESULT tHead([retval, out] IHTMLTableSection **p);
15292
15293     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
15294     HRESULT tFoot([retval, out] IHTMLTableSection **p);
15295
15296     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
15297     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
15298
15299     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
15300     HRESULT caption([retval, out] IHTMLTableCaption **p);
15301
15302     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
15303     HRESULT createTHead([retval, out] IDispatch **head);
15304
15305     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
15306     HRESULT deleteTHead();
15307
15308     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
15309     HRESULT createTFoot([retval, out] IDispatch **foot);
15310
15311     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
15312     HRESULT deleteTFoot();
15313
15314     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
15315     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
15316
15317     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
15318     HRESULT deleteCaption();
15319
15320     [id(DISPID_IHTMLTABLE_INSERTROW)]
15321     HRESULT insertRow(
15322             [defaultvalue(-1), in] LONG index,
15323             [retval, out] IDispatch **row);
15324
15325     [id(DISPID_IHTMLTABLE_DELETEROW)]
15326     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
15327
15328     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
15329     HRESULT readyState([retval, out] BSTR *p);
15330
15331     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
15332     HRESULT onreadystatechange([in] VARIANT v);
15333
15334     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
15335     HRESULT onreadystatechange([retval, out] VARIANT *p);
15336 }
15337
15338 [
15339     odl,
15340     oleautomation,
15341     dual,
15342     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
15343 ]
15344 interface IHTMLTable2 : IDispatch
15345 {
15346     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
15347     HRESULT firstPage();
15348
15349     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
15350     HRESULT lastPage();
15351
15352     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
15353     HRESULT cells([retval, out] IHTMLElementCollection* * p);
15354
15355     [id(DISPID_IHTMLTABLE2_MOVEROW)]
15356     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
15357         [defaultvalue(-1), in] LONG indexTo,
15358         [retval, out] IDispatch** row);
15359 }
15360
15361 [
15362     odl,
15363     oleautomation,
15364     dual,
15365     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
15366 ]
15367 interface IHTMLTable3 : IDispatch
15368 {
15369     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15370     HRESULT summary([in] BSTR v);
15371
15372     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15373     HRESULT summary([retval, out] BSTR * p);
15374 }
15375
15376 [
15377     noncreatable,
15378     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
15379 ]
15380 coclass HTMLTable
15381 {
15382     [default]           dispinterface DispHTMLTable;
15383     [source, default]   dispinterface HTMLTableEvents;
15384     [source]            dispinterface HTMLTableEvents2;
15385                         interface IHTMLElement;
15386                         interface IHTMLElement2;
15387                         interface IHTMLElement3;
15388                         interface IHTMLElement4;
15389                         interface IHTMLUniqueName;
15390                         interface IHTMLDOMNode;
15391                         interface IHTMLDOMNode2;
15392                         interface IHTMLDatabinding;
15393                         interface IHTMLControlElement;
15394                         interface IHTMLTable;
15395                         interface IHTMLTable2;
15396                         interface IHTMLTable3;
15397 }
15398
15399 [
15400     odl,
15401     oleautomation,
15402     dual,
15403     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
15404 ]
15405 interface IHTMLTableSection : IDispatch
15406 {
15407     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
15408     HRESULT align([in] BSTR v);
15409
15410     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
15411     HRESULT align([retval, out] BSTR *p);
15412
15413     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
15414     HRESULT vAlign([in] BSTR v);
15415
15416     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
15417     HRESULT vAlign([retval, out] BSTR *p);
15418
15419     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
15420     HRESULT bgColor([in] VARIANT v);
15421
15422     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
15423     HRESULT bgColor([retval, out] VARIANT *p);
15424
15425     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
15426     HRESULT rows([retval, out] IHTMLElementCollection **p);
15427
15428     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
15429     HRESULT insertRow(
15430             [defaultvalue(-1), in] LONG index,
15431             [retval, out] IDispatch **row);
15432
15433     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
15434     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
15435 }
15436
15437 /*****************************************************************************
15438  *    IHTMLTableRow interface
15439  */
15440 [
15441     odl,
15442     oleautomation,
15443     dual,
15444     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
15445 ]
15446 interface IHTMLTableRow : IDispatch
15447 {
15448     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
15449     HRESULT align([in] BSTR v);
15450
15451     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
15452     HRESULT align([out, retval] BSTR *p);
15453
15454     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
15455     HRESULT vAlign([in] BSTR v);
15456
15457     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
15458     HRESULT vAlign([out, retval] BSTR *p);
15459
15460     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15461     HRESULT bgColor([in] VARIANT v);
15462
15463     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15464     HRESULT bgColor([out, retval] VARIANT *p);
15465
15466     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15467     HRESULT borderColor([in] VARIANT v);
15468
15469     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15470     HRESULT borderColor([out, retval] VARIANT *p);
15471
15472     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15473     HRESULT borderColorLight([in] VARIANT v);
15474
15475     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15476     HRESULT borderColorLight([out, retval] VARIANT *p);
15477
15478     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15479     HRESULT borderColorDark([in] VARIANT v);
15480
15481     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15482     HRESULT borderColorDark([out, retval] VARIANT *p);
15483
15484     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
15485     HRESULT rowIndex([out, retval] LONG *p);
15486
15487     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
15488     HRESULT sectionRowIndex([out, retval] LONG *p);
15489
15490     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
15491     HRESULT cells([out, retval] IHTMLElementCollection **p);
15492
15493     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
15494     HRESULT insertCell(
15495             [in, defaultvalue(-1)] LONG index,
15496             [out, retval] IDispatch **row);
15497
15498     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
15499     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
15500 }
15501
15502 /*****************************************************************************
15503  *    IHTMLTableCell interface
15504  */
15505 [
15506     odl,
15507     oleautomation,
15508     dual,
15509     uuid(3050f23d-98b5-11cf-bb82-00aa00bdce0b)
15510 ]
15511 interface IHTMLTableCell : IDispatch
15512 {
15513     [propput, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
15514     HRESULT rowSpan([in] long v);
15515
15516     [propget, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
15517     HRESULT rowSpan([retval, out] long *p);
15518
15519     [propput, id(DISPID_IHTMLTABLECELL_COLSPAN)]
15520     HRESULT colSpan([in] long v);
15521
15522     [propget, id(DISPID_IHTMLTABLECELL_COLSPAN)]
15523     HRESULT colSpan([retval, out] long *p);
15524
15525     [propput, id(DISPID_IHTMLTABLECELL_ALIGN)]
15526     HRESULT align([in] BSTR v);
15527
15528     [propget, id(DISPID_IHTMLTABLECELL_ALIGN)]
15529     HRESULT align([retval, out] BSTR *p);
15530
15531     [propput, id(DISPID_IHTMLTABLECELL_VALIGN)]
15532     HRESULT vAlign([in] BSTR v);
15533
15534     [propget, id(DISPID_IHTMLTABLECELL_VALIGN)]
15535     HRESULT vAlign([retval, out] BSTR *p);
15536
15537     [propput, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
15538     HRESULT bgColor([in] VARIANT v);
15539
15540     [propget, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
15541     HRESULT bgColor([retval, out] VARIANT *p);
15542
15543     [propput, id(DISPID_IHTMLTABLECELL_NOWRAP)]
15544     HRESULT noWrap([in] VARIANT_BOOL v);
15545
15546     [propget, id(DISPID_IHTMLTABLECELL_NOWRAP)]
15547     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
15548
15549     [propput, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
15550     HRESULT background([in] BSTR v);
15551
15552     [propget, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
15553     HRESULT background([retval, out] BSTR *p);
15554
15555     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
15556     HRESULT borderColor([in] VARIANT v);
15557
15558     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
15559     HRESULT borderColor([retval, out] VARIANT *p);
15560
15561     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
15562     HRESULT borderColorLight([in] VARIANT v);
15563
15564     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
15565     HRESULT borderColorLight([retval, out] VARIANT *p);
15566
15567     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
15568     HRESULT borderColorDark([in] VARIANT v);
15569
15570     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
15571     HRESULT borderColorDark([retval, out] VARIANT *p);
15572
15573     [propput, id(DISPID_IHTMLTABLECELL_WIDTH)]
15574     HRESULT width([in] VARIANT v);
15575
15576     [propget, id(DISPID_IHTMLTABLECELL_WIDTH)]
15577     HRESULT width([retval, out] VARIANT *p);
15578
15579     [propput, id(DISPID_IHTMLTABLECELL_HEIGHT)]
15580     HRESULT height([in] VARIANT v);
15581
15582     [propget, id(DISPID_IHTMLTABLECELL_HEIGHT)]
15583     HRESULT height([retval, out] VARIANT *p);
15584
15585     [propget, id(DISPID_IHTMLTABLECELL_CELLINDEX)]
15586     HRESULT cellIndex([retval, out] long *p);
15587 }
15588
15589 /*****************************************************************************
15590  *    DispHTMLTable dispinterface
15591  */
15592 [
15593     hidden,
15594     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
15595 ]
15596 dispinterface DispHTMLTable
15597 {
15598 properties:
15599 methods:
15600     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
15601
15602     [propput, id(DISPID_IHTMLTABLE_COLS)]
15603     void cols(LONG v);
15604
15605     [propget, id(DISPID_IHTMLTABLE_COLS)]
15606     LONG cols();
15607
15608     [propput, id(DISPID_IHTMLTABLE_BORDER)]
15609     void border(VARIANT v);
15610
15611     [propget, id(DISPID_IHTMLTABLE_BORDER)]
15612     VARIANT border();
15613
15614     [propput, id(DISPID_IHTMLTABLE_FRAME)]
15615     void frame(BSTR v);
15616
15617     [propget, id(DISPID_IHTMLTABLE_FRAME)]
15618     BSTR frame();
15619
15620     [propput, id(DISPID_IHTMLTABLE_RULES)]
15621     void rules(BSTR v);
15622
15623     [propget, id(DISPID_IHTMLTABLE_RULES)]
15624     BSTR rules();
15625
15626     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
15627     void cellSpacing(VARIANT v);
15628
15629     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
15630     VARIANT cellSpacing();
15631
15632     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
15633     void cellPadding(VARIANT v);
15634
15635     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
15636     VARIANT cellPadding();
15637
15638     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
15639     void background(BSTR v);
15640
15641     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
15642     BSTR background();
15643
15644     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
15645     void bgColor(VARIANT v);
15646
15647     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
15648     VARIANT bgColor();
15649
15650     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15651     void borderColor(VARIANT v);
15652
15653     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15654     VARIANT borderColor();
15655
15656     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15657     void borderColorLight(VARIANT v);
15658
15659     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15660     VARIANT borderColorLight();
15661
15662     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15663     void borderColorDark(VARIANT v);
15664
15665     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15666     VARIANT borderColorDark();
15667
15668     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
15669     void align(BSTR v);
15670
15671     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
15672     BSTR align();
15673
15674     [id(DISPID_IHTMLTABLE_REFRESH)]
15675     void refresh();
15676
15677     [propget, id(DISPID_IHTMLTABLE_ROWS)]
15678     IHTMLElementCollection *rows();
15679
15680     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
15681     void width(VARIANT v);
15682
15683     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
15684     VARIANT width();
15685
15686     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
15687     void height(VARIANT v);
15688
15689     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
15690     VARIANT height();
15691
15692     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15693     void dataPageSize(LONG v);
15694
15695     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15696     LONG dataPageSize();
15697
15698     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
15699     void nextPage();
15700
15701     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
15702     void previousPage();
15703
15704     [propget, id(DISPID_IHTMLTABLE_THEAD)]
15705     IHTMLTableSection *tHead();
15706
15707     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
15708     IHTMLTableSection *tFoot();
15709
15710     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
15711     IHTMLElementCollection *tBodies();
15712
15713     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
15714     IHTMLTableCaption *caption();
15715
15716     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
15717     IDispatch *createTHead();
15718
15719     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
15720     void deleteTHead();
15721
15722     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
15723     IDispatch *createTFoot();
15724
15725     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
15726     void deleteTFoot();
15727
15728     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
15729     IHTMLTableCaption *createCaption();
15730
15731     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
15732     void deleteCaption();
15733
15734     [id(DISPID_IHTMLTABLE_INSERTROW)]
15735     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
15736
15737     [id(DISPID_IHTMLTABLE_DELETEROW)]
15738     void deleteRow([in, defaultvalue(-1)] LONG index);
15739
15740     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
15741     void firstPage();
15742
15743     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
15744     void lastPage();
15745
15746     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
15747     IHTMLElementCollection *cells();
15748
15749     [id(DISPID_IHTMLTABLE2_MOVEROW)]
15750     IDispatch *moveRow(
15751             [in, defaultvalue(-1)] LONG indexFrom,
15752             [in, defaultvalue(-1)] LONG indexTo);
15753
15754     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15755     void summary(BSTR v);
15756
15757     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15758     BSTR summary();
15759 }
15760
15761 /*****************************************************************************
15762  *    DispHTMLTableRow dispinterface
15763  */
15764 [
15765     hidden,
15766     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
15767 ]
15768 dispinterface DispHTMLTableRow
15769 {
15770 properties:
15771 methods:
15772     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15773
15774     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
15775     void align(BSTR v);
15776
15777     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
15778     BSTR align();
15779
15780     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
15781     void vAlign(BSTR v);
15782
15783     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
15784     BSTR vAlign();
15785
15786     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15787     void bgColor(VARIANT v);
15788
15789     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15790     VARIANT bgColor();
15791
15792     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15793     void borderColor(VARIANT v);
15794
15795     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15796     VARIANT borderColor();
15797
15798     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15799     void borderColorLight(VARIANT v);
15800
15801     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15802     VARIANT borderColorLight();
15803
15804     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15805     void borderColorDark(VARIANT v);
15806
15807     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15808     VARIANT borderColorDark();
15809
15810     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
15811     LONG rowIndex();
15812
15813     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
15814     LONG sectionRowIndex();
15815
15816     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
15817     IHTMLElementCollection *cells();
15818
15819     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
15820     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
15821
15822     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
15823     void deleteCell([in, defaultvalue(-1)] LONG index);
15824
15825     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
15826     void height(VARIANT v);
15827
15828     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
15829     VARIANT height();
15830
15831     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
15832     void ch(BSTR v);
15833
15834     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
15835     BSTR ch();
15836
15837     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
15838     void chOff(BSTR v);
15839
15840     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
15841     BSTR chOff();
15842 }
15843
15844 /*****************************************************************************
15845  *    DispHTMLTableCell dispinterface
15846  */
15847 [
15848     hidden,
15849     uuid(3050f536-98b5-11cf-bb82-00aa00bdce0b)
15850 ]
15851 dispinterface DispHTMLTableCell
15852 {
15853 properties:
15854 methods:
15855     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15856
15857     [propput, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
15858     void rowSpan(long v);
15859
15860     [propget, id(DISPID_IHTMLTABLECELL_ROWSPAN)]
15861     long rowSpan();
15862
15863     [propput, id(DISPID_IHTMLTABLECELL_COLSPAN)]
15864     void colSpan(long v);
15865
15866     [propget, id(DISPID_IHTMLTABLECELL_COLSPAN)]
15867     long colSpan();
15868
15869     [propput, id(DISPID_IHTMLTABLECELL_ALIGN)]
15870     void align(BSTR v);
15871
15872     [propget, id(DISPID_IHTMLTABLECELL_ALIGN)]
15873     BSTR align();
15874
15875     [propput, id(DISPID_IHTMLTABLECELL_VALIGN)]
15876     void vAlign(BSTR v);
15877
15878     [propget, id(DISPID_IHTMLTABLECELL_VALIGN)]
15879     BSTR vAlign();
15880
15881     [propput, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
15882     void bgColor(VARIANT v);
15883
15884     [propget, id(DISPID_IHTMLTABLECELL_BGCOLOR)]
15885     VARIANT bgColor();
15886
15887     [propput, id(DISPID_IHTMLTABLECELL_NOWRAP)]
15888     void noWrap(VARIANT_BOOL v);
15889
15890     [propget, id(DISPID_IHTMLTABLECELL_NOWRAP)]
15891     VARIANT_BOOL noWrap();
15892
15893     [propput, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
15894     void background(BSTR v);
15895
15896     [propget, id(DISPID_IHTMLTABLECELL_BACKGROUND)]
15897     BSTR background();
15898
15899     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
15900     void borderColor(VARIANT v);
15901
15902     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)]
15903     VARIANT borderColor();
15904
15905     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
15906     void borderColorLight(VARIANT v);
15907
15908     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)]
15909     VARIANT borderColorLight();
15910
15911     [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
15912     void borderColorDark(VARIANT v);
15913
15914     [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)]
15915     VARIANT borderColorDark();
15916
15917     [propput, id(DISPID_IHTMLTABLECELL_WIDTH)]
15918     void width(VARIANT v);
15919
15920     [propget, id(DISPID_IHTMLTABLECELL_WIDTH)]
15921     VARIANT width();
15922
15923     [propput, id(DISPID_IHTMLTABLECELL_HEIGHT)]
15924     void height(VARIANT v);
15925
15926     [propget, id(DISPID_IHTMLTABLECELL_HEIGHT)]
15927     VARIANT height();
15928
15929     [propget, id(DISPID_IHTMLTABLECELL_CELLINDEX)]
15930     long cellIndex();
15931
15932     [propput, id(DISPID_IHTMLTABLECELL2_ABBR), displaybind, bindable]
15933     void abbr(BSTR v);
15934
15935     [propget, id(DISPID_IHTMLTABLECELL2_ABBR), displaybind, bindable]
15936     BSTR abbr();
15937
15938     [propput, id(DISPID_IHTMLTABLECELL2_AXIS), displaybind, bindable]
15939     void axis(BSTR v);
15940
15941     [propget, id(DISPID_IHTMLTABLECELL2_AXIS), displaybind, bindable]
15942     BSTR axis();
15943
15944     [propput, id(DISPID_IHTMLTABLECELL2_CH), displaybind, bindable]
15945     void ch(BSTR v);
15946
15947     [propget, id(DISPID_IHTMLTABLECELL2_CH), displaybind, bindable]
15948     BSTR ch();
15949
15950     [propput, id(DISPID_IHTMLTABLECELL2_CHOFF), displaybind, bindable]
15951     void chOff(BSTR v);
15952
15953     [propget, id(DISPID_IHTMLTABLECELL2_CHOFF), displaybind, bindable]
15954     BSTR chOff();
15955
15956     [propput, id(DISPID_IHTMLTABLECELL2_HEADERS), displaybind, bindable]
15957     void headers(BSTR v);
15958
15959     [propget, id(DISPID_IHTMLTABLECELL2_HEADERS), displaybind, bindable]
15960     BSTR headers();
15961
15962     [propput, id(DISPID_IHTMLTABLECELL2_SCOPE), displaybind, bindable]
15963     void scope(BSTR v);
15964
15965     [propget, id(DISPID_IHTMLTABLECELL2_SCOPE), displaybind, bindable]
15966     BSTR scope();
15967
15968     [propput, id(DISPID_IHTMLTABLECELL3_IE9_CH), displaybind, bindable]
15969     void ie9_ch(BSTR v);
15970
15971     [propget, id(DISPID_IHTMLTABLECELL3_IE9_CH), displaybind, bindable]
15972     BSTR ie9_ch();
15973
15974     [propput, id(DISPID_IHTMLTABLECELL3_IE9_CHOFF), displaybind, bindable]
15975     void ie9_chOff(BSTR v);
15976
15977     [propget, id(DISPID_IHTMLTABLECELL3_IE9_CHOFF), displaybind, bindable]
15978     BSTR ie9_chOff();
15979 }
15980
15981 /*****************************************************************************
15982  *    IHTMLScriptElement interface
15983  */
15984 [
15985     odl,
15986     oleautomation,
15987     dual,
15988     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
15989 ]
15990 interface IHTMLScriptElement : IDispatch
15991 {
15992     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15993     HRESULT src([in] BSTR v);
15994
15995     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15996     HRESULT src([retval, out] BSTR *p);
15997
15998     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15999     HRESULT htmlFor([in] BSTR v);
16000
16001     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16002     HRESULT htmlFor([retval, out] BSTR *p);
16003
16004     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16005     HRESULT event([in] BSTR v);
16006
16007     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16008     HRESULT event([retval, out] BSTR *p);
16009
16010     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16011     HRESULT text([in] BSTR v);
16012
16013     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16014     HRESULT text([retval, out] BSTR *p);
16015
16016     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16017     HRESULT defer([in] VARIANT_BOOL v);
16018
16019     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16020     HRESULT defer([retval, out] VARIANT_BOOL *p);
16021
16022     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
16023     HRESULT readyState([retval, out] BSTR *p);
16024
16025     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16026     HRESULT onerror([in] VARIANT v);
16027
16028     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16029     HRESULT onerror([retval, out] VARIANT *p);
16030
16031     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16032     HRESULT type([in] BSTR v);
16033
16034     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16035     HRESULT type([retval, out] BSTR *p);
16036 }
16037
16038 /*****************************************************************************
16039  *    IHTMLScriptElement2 interface
16040  */
16041 [
16042     odl,
16043     oleautomation,
16044     dual,
16045     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
16046 ]
16047 interface IHTMLScriptElement2 : IDispatch
16048 {
16049     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16050     HRESULT charset([in] BSTR v);
16051
16052     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16053     HRESULT charset([retval, out] BSTR *p);
16054 }
16055
16056 /*****************************************************************************
16057  *    DispHTMLScriptElement dispinterface
16058  */
16059 [
16060     hidden,
16061     uuid(3050f530-98b5-11cf-bb82-00aa00bdce0b)
16062 ]
16063 dispinterface DispHTMLScriptElement
16064 {
16065 properties:
16066 methods:
16067     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16068
16069     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16070     void src(BSTR v);
16071
16072     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
16073     BSTR src();
16074
16075     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16076     void htmlFor(BSTR v);
16077
16078     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
16079     BSTR htmlFor();
16080
16081     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16082     void event(BSTR v);
16083
16084     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
16085     BSTR event();
16086
16087     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16088     void text(BSTR v);
16089
16090     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
16091     BSTR text();
16092
16093     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16094     void defer(VARIANT_BOOL v);
16095
16096     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
16097     VARIANT_BOOL defer();
16098
16099     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16100     void onerror(VARIANT v);
16101
16102     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
16103     VARIANT onerror();
16104
16105     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16106     void type(BSTR v);
16107
16108     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
16109     BSTR type();
16110
16111     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16112     void charset(BSTR v);
16113
16114     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
16115     BSTR charset();
16116
16117     [propput, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
16118     void ie8_src(BSTR v);
16119
16120     [propget, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
16121     BSTR ie8_src();
16122 }
16123
16124 /*****************************************************************************
16125  *    IHTMLObjectElement interface
16126  */
16127 [
16128     odl,
16129     oleautomation,
16130     dual,
16131     uuid(3050f24f-98b5-11cf-bb82-00aa00bdce0b)
16132 ]
16133 interface IHTMLObjectElement : IDispatch
16134 {
16135     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
16136     HRESULT object([retval, out] IDispatch **p);
16137
16138     [propget, id(DISPID_IHTMLOBJECTELEMENT_CLASSID), hidden]
16139     HRESULT classid([retval, out] BSTR *p);
16140
16141     [propget, id(DISPID_IHTMLOBJECTELEMENT_DATA), hidden]
16142     HRESULT data([retval, out] BSTR *p);
16143
16144     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16145     HRESULT recordset([in] IDispatch *v);
16146
16147     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16148     HRESULT recordset([retval, out] IDispatch **p);
16149
16150     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16151     HRESULT align([in] BSTR v);
16152
16153     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16154     HRESULT align([retval, out] BSTR *p);
16155
16156     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16157     HRESULT name([in] BSTR v);
16158
16159     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16160     HRESULT name([retval, out] BSTR *p);
16161
16162     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16163     HRESULT codeBase([in] BSTR v);
16164
16165     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16166     HRESULT codeBase([retval, out] BSTR *p);
16167
16168     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16169     HRESULT codeType([in] BSTR v);
16170
16171     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16172     HRESULT codeType([retval, out] BSTR *p);
16173
16174     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16175     HRESULT code([in] BSTR v);
16176
16177     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16178     HRESULT code([retval, out] BSTR *p);
16179
16180     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
16181     HRESULT BaseHref([retval, out] BSTR *p);
16182
16183     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16184     HRESULT type([in] BSTR v);
16185
16186     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16187     HRESULT type([retval, out] BSTR *p);
16188
16189     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
16190     HRESULT form([retval, out] IHTMLFormElement **p);
16191
16192     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16193     HRESULT width([in] VARIANT v);
16194
16195     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16196     HRESULT width([retval, out] VARIANT *p);
16197
16198     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16199     HRESULT height([in] VARIANT v);
16200
16201     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16202     HRESULT height([retval, out] VARIANT *p);
16203
16204     [propget, id(DISPID_IHTMLOBJECTELEMENT_READYSTATE), hidden]
16205     HRESULT readyState([retval, out] long *p);
16206
16207     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16208     HRESULT onreadystatechange([in] VARIANT v);
16209
16210     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16211     HRESULT onreadystatechange([retval, out] VARIANT *p);
16212
16213     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16214     HRESULT onerror([in] VARIANT v);
16215
16216     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16217     HRESULT onerror([retval, out] VARIANT *p);
16218
16219     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16220     HRESULT altHtml([in] BSTR v);
16221
16222     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16223     HRESULT altHtml([retval, out] BSTR *p);
16224
16225     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16226     HRESULT vspace([in] long v);
16227
16228     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16229     HRESULT vspace([retval, out] long *p);
16230
16231     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16232     HRESULT hspace([in] long v);
16233
16234     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16235     HRESULT hspace([retval, out] long *p);
16236 }
16237
16238 /*****************************************************************************
16239  *    IHTMLObjectElement2 interface
16240  */
16241 [
16242     odl,
16243     oleautomation,
16244     dual,
16245     uuid(3050f4cd-98b5-11cf-bb82-00aa00bdce0b)
16246 ]
16247 interface IHTMLObjectElement2 : IDispatch
16248 {
16249     [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
16250     HRESULT namedRecordset(
16251             [in] BSTR dataMember,
16252             [in, optional] VARIANT *hierarchy,
16253             [out, retval] IDispatch **ppRecordset);
16254
16255     [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16256     HRESULT classid([in] BSTR v);
16257
16258     [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16259     HRESULT classid([out, retval] BSTR *p);
16260
16261     [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16262     HRESULT data([in] BSTR v);
16263
16264     [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16265     HRESULT data([out, retval] BSTR *p);
16266 }
16267
16268 /*****************************************************************************
16269  *    IHTMLParamElement interface
16270  */
16271 [
16272     odl,
16273     oleautomation,
16274     dual,
16275     uuid(3050f83d-98b5-11cf-bb82-00aa00bdce0b)
16276 ]
16277 interface IHTMLParamElement : IDispatch
16278 {
16279     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16280     HRESULT name([in] BSTR v);
16281
16282     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16283     HRESULT name([retval, out] BSTR *p);
16284
16285     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16286     HRESULT value([in] BSTR v);
16287
16288     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16289     HRESULT value([retval, out] BSTR *p);
16290
16291     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16292     HRESULT type([in] BSTR v);
16293
16294     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16295     HRESULT type([retval, out] BSTR *p);
16296
16297     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16298     HRESULT valueType([in] BSTR v);
16299
16300     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16301     HRESULT valueType([retval, out] BSTR *p);
16302 }
16303
16304 /*****************************************************************************
16305  *    IHTMLParamElement2 interface
16306  */
16307 [
16308     odl,
16309     oleautomation,
16310     dual,
16311     uuid(30510444-98b5-11cf-bb82-00aa00bdce0b)
16312 ]
16313 interface IHTMLParamElement2 : IDispatch
16314 {
16315     [propput, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
16316     HRESULT name([in] BSTR v);
16317
16318     [propget, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
16319     HRESULT name([retval, out] BSTR *p);
16320
16321     [propput, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
16322     HRESULT type([in] BSTR v);
16323
16324     [propget, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
16325     HRESULT type([retval, out] BSTR *p);
16326
16327     [propput, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
16328     HRESULT value([in] BSTR v);
16329
16330     [propget, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
16331     HRESULT value([retval, out] BSTR *p);
16332
16333     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16334     HRESULT valueType([in] BSTR v);
16335
16336     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16337     HRESULT valueType([retval, out] BSTR *p);
16338 }
16339
16340 /*****************************************************************************
16341  *    DispHTMLObjectElement dispinterface
16342  */
16343 [
16344     hidden,
16345     uuid(3050f529-98b5-11cf-bb82-00aa00bdce0b)
16346 ]
16347 dispinterface DispHTMLObjectElement
16348 {
16349 properties:
16350 methods:
16351     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16352
16353     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
16354     IDispatch *object();
16355
16356     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16357     void recordset(IDispatch *v);
16358
16359     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
16360     IDispatch *recordset();
16361
16362     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16363     void align(BSTR v);
16364
16365     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
16366     BSTR align();
16367
16368     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16369     void name(BSTR v);
16370
16371     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
16372     BSTR name();
16373
16374     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16375     void codeBase(BSTR v);
16376
16377     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
16378     BSTR codeBase();
16379
16380     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16381     void codeType(BSTR v);
16382
16383     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
16384     BSTR codeType();
16385
16386     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16387     void code(BSTR v);
16388
16389     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
16390     BSTR code();
16391
16392     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
16393     BSTR BaseHref();
16394
16395     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16396     void type(BSTR v);
16397
16398     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
16399     BSTR type();
16400
16401     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
16402     IHTMLFormElement *form();
16403
16404     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16405     void width(VARIANT v);
16406
16407     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
16408     VARIANT width();
16409
16410     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16411     void height(VARIANT v);
16412
16413     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
16414     VARIANT height();
16415
16416     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16417     void onerror(VARIANT v);
16418
16419     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16420     VARIANT onerror();
16421
16422     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16423     void altHtml(BSTR v);
16424
16425     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16426     BSTR altHtml();
16427
16428     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16429     void vspace(long v);
16430
16431     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16432     long vspace();
16433
16434     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16435     void hspace(long v);
16436
16437     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16438     long hspace();
16439
16440     [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
16441     IDispatch *namedRecordset(
16442             [in] BSTR dataMember,
16443             [optional, in] VARIANT *hierarchy);
16444
16445     [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16446     void classid(BSTR v);
16447
16448     [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16449     BSTR classid();
16450
16451     [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16452     void data(BSTR v);
16453
16454     [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16455     BSTR data();
16456
16457     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
16458     void archive(BSTR v);
16459
16460     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
16461     BSTR archive();
16462
16463     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
16464     void alt(BSTR v);
16465
16466     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
16467     BSTR alt();
16468
16469     [propput, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
16470     void declare(VARIANT_BOOL v);
16471
16472     [propget, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
16473     VARIANT_BOOL declare();
16474
16475     [propput, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
16476     void standby(BSTR v);
16477
16478     [propget, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
16479     BSTR standby();
16480
16481     [propput, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
16482     void border(VARIANT v);
16483
16484     [propget, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
16485     VARIANT border();
16486
16487     [propput, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
16488     void useMap(BSTR v);
16489
16490     [propget, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
16491     BSTR useMap();
16492
16493     [propget, id(DISPID_IHTMLOBJECTELEMENT4_CONTENTDOCUMENT)]
16494     IDispatch *contentDocument();
16495
16496     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
16497     void ie8_codeBase(BSTR v);
16498
16499     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
16500     BSTR ie8_codeBase();
16501
16502     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
16503     void ie8_data(BSTR v);
16504
16505     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
16506     BSTR ie8_data();
16507 }
16508
16509 /*****************************************************************************
16510  *    DispHTMLParamElement dispinterface
16511  */
16512 [
16513     hidden,
16514     uuid(3050f590-98b5-11cf-bb82-00aa00bdce0b)
16515 ]
16516 dispinterface DispHTMLParamElement
16517 {
16518 properties:
16519 methods:
16520     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16521
16522     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16523     void name(BSTR v);
16524
16525     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16526     BSTR name();
16527
16528     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16529     void value(BSTR v);
16530
16531     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16532     BSTR value();
16533
16534     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16535     void type(BSTR v);
16536
16537     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16538     BSTR type();
16539
16540     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16541     void valueType(BSTR v);
16542
16543     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16544     BSTR valueType();
16545
16546     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16547     void ie8_valueType(BSTR v);
16548
16549     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16550     BSTR ie8_valueType();
16551 }
16552
16553 /*****************************************************************************
16554  *    IHTMLFrameBase interface
16555  */
16556 [
16557     odl,
16558     oleautomation,
16559     dual,
16560     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
16561 ]
16562 interface IHTMLFrameBase : IDispatch
16563 {
16564     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
16565     HRESULT src([in] BSTR v);
16566
16567     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
16568     HRESULT src([out, retval] BSTR *p);
16569
16570     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
16571     HRESULT name([in] BSTR v);
16572
16573     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
16574     HRESULT name([out, retval] BSTR *p);
16575
16576     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
16577     HRESULT border([in] VARIANT v);
16578
16579     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
16580     HRESULT border([out, retval] VARIANT *p);
16581
16582     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
16583     HRESULT frameBorder([in] BSTR v);
16584
16585     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
16586     HRESULT frameBorder([out, retval] BSTR *p);
16587
16588     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
16589     HRESULT frameSpacing([in] VARIANT v);
16590
16591     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
16592     HRESULT frameSpacing([out, retval] VARIANT *p);
16593
16594     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
16595     HRESULT marginWidth([in] VARIANT v);
16596
16597     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
16598     HRESULT marginWidth([out, retval] VARIANT *p);
16599
16600     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
16601     HRESULT marginHeight([in] VARIANT v);
16602
16603     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
16604     HRESULT marginHeight([out, retval] VARIANT *p);
16605
16606     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
16607     HRESULT noResize([in] VARIANT_BOOL v);
16608
16609     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
16610     HRESULT noResize([out, retval] VARIANT_BOOL *p);
16611
16612     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
16613     HRESULT scrolling([in] BSTR v);
16614
16615     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
16616     HRESULT scrolling([out, retval] BSTR *p);
16617 }
16618
16619 #define WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL          \
16620     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
16621     void src(BSTR v);                                   \
16622                                                         \
16623     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
16624     BSTR src();                                         \
16625                                                         \
16626     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
16627     void name(BSTR v);                                  \
16628                                                         \
16629     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
16630     BSTR name();                                        \
16631                                                         \
16632     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
16633     void border(VARIANT v);                             \
16634                                                         \
16635     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
16636     VARIANT border();                                   \
16637                                                         \
16638     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
16639     void frameBorder(BSTR v);                           \
16640                                                         \
16641     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
16642     BSTR frameBorder();                                 \
16643                                                         \
16644     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
16645     void frameSpacing(VARIANT v);                       \
16646                                                         \
16647     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
16648     VARIANT frameSpacing();                             \
16649                                                         \
16650     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
16651     void marginWidth(VARIANT v);                        \
16652                                                         \
16653     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
16654     VARIANT marginWidth();                              \
16655                                                         \
16656     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
16657     void marginHeight(VARIANT v);                       \
16658                                                         \
16659     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
16660     VARIANT marginHeight();                             \
16661                                                         \
16662     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
16663     void noResize(VARIANT_BOOL v);                      \
16664                                                         \
16665     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
16666     VARIANT_BOOL noResize();                            \
16667                                                         \
16668     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
16669     void scrolling(BSTR v);                             \
16670                                                         \
16671     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
16672     BSTR scrolling()
16673
16674 /*****************************************************************************
16675  *    IHTMLFrameBase2 interface
16676  */
16677 [
16678     odl,
16679     oleautomation,
16680     dual,
16681     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
16682 ]
16683 interface IHTMLFrameBase2 : IDispatch
16684 {
16685     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
16686     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
16687
16688     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
16689     HRESULT onload([in] VARIANT v);
16690
16691     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
16692     HRESULT onload([retval, out] VARIANT *p);
16693
16694     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
16695     HRESULT onreadystatechange([in] VARIANT v);
16696
16697     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
16698     HRESULT onreadystatechange([retval, out] VARIANT *p);
16699
16700     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
16701     HRESULT readyState([retval, out] BSTR *p);
16702
16703     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
16704     HRESULT allowTransparency([in] VARIANT_BOOL v);
16705
16706     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
16707     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
16708 }
16709
16710 #define WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL                         \
16711     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]                 \
16712     IHTMLWindow2 *contentWindow();                                      \
16713                                                                         \
16714     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
16715     void onload(VARIANT v);                                             \
16716                                                                         \
16717     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
16718     VARIANT onload();                                                   \
16719                                                                         \
16720     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
16721     void allowTransparency(VARIANT_BOOL v);                             \
16722                                                                         \
16723     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
16724     VARIANT_BOOL allowTransparency()
16725
16726 #define WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL                           \
16727     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
16728     void longDesc(BSTR v);                                                \
16729                                                                           \
16730     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
16731     BSTR longDesc()
16732
16733
16734 #define WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL \
16735     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;  \
16736     WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL;   \
16737     WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL;  \
16738     WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL
16739
16740 /*****************************************************************************
16741  *    IHTMLFrameElement3 interface
16742  */
16743 [
16744     odl,
16745     oleautomation,
16746     dual,
16747     uuid(3051042d-98b5-11cf-bb82-00aa00bdce0b)
16748 ]
16749 interface IHTMLFrameElement3 : IDispatch
16750 {
16751     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
16752     HRESULT contentDocument([out, retval] IDispatch **p);
16753
16754     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16755     HRESULT src([in] BSTR v);
16756
16757     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16758     HRESULT src([out, retval] BSTR *p);
16759
16760     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16761     HRESULT longDesc([in] BSTR v);
16762
16763     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16764     HRESULT longDesc([out, retval] BSTR *p);
16765
16766     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16767     HRESULT frameBorder([in] BSTR v);
16768
16769     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16770     HRESULT frameBorder([out, retval] BSTR * p);
16771 }
16772
16773 /*****************************************************************************
16774  *    DispHTMLFrameElement dispinterface
16775  */
16776 [
16777     hidden,
16778     uuid(3050f513-98b5-11cf-bb82-00aa00bdce0b)
16779 ]
16780 dispinterface DispHTMLFrameElement
16781 {
16782 properties:
16783 methods:
16784     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
16785
16786     [propput, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
16787     void borderColor(VARIANT v);
16788
16789     [propget, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
16790     VARIANT borderColor();
16791
16792     [propput, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
16793     void height(VARIANT v);
16794
16795     [propget, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
16796     VARIANT height();
16797
16798     [propput, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
16799     void width(VARIANT v);
16800
16801     [propget, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
16802     VARIANT width();
16803
16804     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
16805     IDispatch *contentDocument();
16806
16807     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16808     void ie8_src(BSTR v);
16809
16810     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16811     BSTR ie8_src();
16812
16813     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16814     void ie8_longDesc(BSTR v);
16815
16816     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16817     BSTR ie8_longDesc();
16818
16819     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16820     void ie8_frameBorder(BSTR v);
16821
16822     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16823     BSTR ie8_frameBorder();
16824 }
16825
16826 /*****************************************************************************
16827  *    IHTMLIFrameElement interface
16828  */
16829 [
16830     odl,
16831     oleautomation,
16832     dual,
16833     uuid(3050f315-98b5-11cf-bb82-00aa00bdce0b)
16834 ]
16835 interface IHTMLIFrameElement : IDispatch
16836 {
16837     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16838     HRESULT vspace([in] LONG v);
16839
16840     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16841     HRESULT vspace([retval, out] LONG *p);
16842
16843     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16844     HRESULT hspace([in] LONG v);
16845
16846     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16847     HRESULT hspace([retval, out] LONG *p);
16848
16849     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16850     HRESULT align([in] BSTR v);
16851
16852     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16853     HRESULT align([retval, out] BSTR *p);
16854 }
16855
16856 /*****************************************************************************
16857  *    DispHTMLIFrame dispinterface
16858  */
16859 [
16860     hidden,
16861     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
16862 ]
16863 dispinterface DispHTMLIFrame
16864 {
16865 properties:
16866 methods:
16867     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
16868
16869     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16870     void vspace(LONG v);
16871
16872     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16873     LONG vspace();
16874
16875     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16876     void hspace(LONG v);
16877
16878     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16879     LONG hspace();
16880
16881     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16882     void align(BSTR v);
16883
16884     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16885     BSTR align();
16886
16887     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
16888     void height(VARIANT v);
16889
16890     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
16891     VARIANT height();
16892
16893     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
16894     void width(VARIANT v);
16895
16896     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
16897     VARIANT width();
16898 }
16899
16900 /*****************************************************************************
16901  *    IHTMLStyleElement interface
16902  */
16903 [
16904     odl,
16905     oleautomation,
16906     dual,
16907     uuid(3050f375-98b5-11cf-bb82-00aa00bdce0b)
16908 ]
16909 interface IHTMLStyleElement : IDispatch
16910 {
16911     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16912     HRESULT type([in] BSTR v);
16913
16914     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16915     HRESULT type([retval, out] BSTR *p);
16916
16917     [propget, id(DISPID_IHTMLSTYLEELEMENT_READYSTATE)]
16918     HRESULT readyState([retval, out] BSTR *p);
16919
16920     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16921     HRESULT onreadystatechange([in] VARIANT v);
16922
16923     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16924     HRESULT onreadystatechange([retval, out] VARIANT *p);
16925
16926     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16927     HRESULT onload([in] VARIANT v);
16928
16929     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16930     HRESULT onload([retval, out] VARIANT *p);
16931
16932     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16933     HRESULT onerror([in] VARIANT v);
16934
16935     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16936     HRESULT onerror([retval, out] VARIANT *p);
16937
16938     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
16939     HRESULT styleSheet([retval, out] IHTMLStyleSheet **p);
16940
16941     [propput, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
16942     HRESULT disabled([in] VARIANT_BOOL v);
16943
16944     [propget, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
16945     HRESULT disabled([retval, out] VARIANT_BOOL *p);
16946
16947     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16948     HRESULT media([in] BSTR v);
16949
16950     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16951     HRESULT media([retval, out] BSTR *p);
16952 }
16953
16954 /*****************************************************************************
16955  *    DispHTMLStyleElement dispinterface
16956  */
16957 [
16958     hidden,
16959     uuid(3050f511-98b5-11cf-bb82-00aa00bdce0b)
16960 ]
16961 dispinterface DispHTMLStyleElement
16962 {
16963 properties:
16964 methods:
16965     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16966
16967     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16968     void type(BSTR v);
16969
16970     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16971     BSTR type();
16972
16973     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16974     void onload(VARIANT v);
16975
16976     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16977     VARIANT onload();
16978
16979     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16980     void onerror(VARIANT v);
16981
16982     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16983     VARIANT onerror();
16984
16985     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
16986     IHTMLStyleSheet *styleSheet();
16987
16988     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16989     void media(BSTR v);
16990
16991     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16992     BSTR media();
16993 }
16994
16995 /*****************************************************************************
16996  *    IHTMLStorage interface
16997  */
16998 [
16999     odl,
17000     oleautomation,
17001     dual,
17002     uuid(30510474-98b5-11cf-bb82-00aa00bdce0b)
17003 ]
17004 interface IHTMLStorage : IDispatch
17005 {
17006     [propget, id(DISPID_IHTMLSTORAGE_LENGTH), hidden]
17007     HRESULT length([out, retval] long *p);
17008
17009     [propget, id(DISPID_IHTMLSTORAGE_REMAININGSPACE), hidden]
17010     HRESULT remainingSpace([out, retval] long *p);
17011
17012     [id(DISPID_IHTMLSTORAGE_KEY)]
17013     HRESULT key(
17014             [in] long lIndex,
17015             [out, retval] BSTR *);
17016
17017     [id(DISPID_IHTMLSTORAGE_GETITEM)]
17018     HRESULT getItem(
17019             [in] BSTR bstrKey,
17020             [out, retval] VARIANT *);
17021
17022     [id(DISPID_IHTMLSTORAGE_SETITEM)]
17023     HRESULT setItem(
17024             [in] BSTR bstrKey,
17025             [in] BSTR bstrValue);
17026
17027     [id(DISPID_IHTMLSTORAGE_REMOVEITEM)]
17028     HRESULT removeItem([in] BSTR bstrKey);
17029
17030     [id(DISPID_IHTMLSTORAGE_CLEAR)]
17031     HRESULT clear();
17032 }
17033
17034 /*****************************************************************************
17035  *    IMarkupContainer interface
17036  */
17037 [
17038     object,
17039     pointer_default(unique),
17040     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
17041 ]
17042 interface IMarkupContainer : IUnknown
17043 {
17044     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
17045 }
17046
17047 /*****************************************************************************
17048  *    IMarkupPointer interface
17049  */
17050 [
17051     object,
17052     pointer_default(unique),
17053     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
17054 ]
17055 interface IMarkupPointer : IUnknown
17056 {
17057     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
17058
17059     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
17060
17061     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
17062
17063     HRESULT Cling([out] BOOL *pfCling);
17064
17065     HRESULT SetCling([in] BOOL fCLing);
17066
17067     HRESULT UnPosition();
17068
17069     HRESULT IsPositioned([out] BOOL *pfPositioned);
17070
17071     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
17072
17073     HRESULT MoveAdjacentToElement(
17074         [in] IHTMLElement *pElement,
17075         [in] ELEMENT_ADJACENCY eAdj);
17076
17077     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
17078
17079     HRESULT MoveToContainer(
17080         [in] IMarkupContainer *pContainer,
17081         [in] BOOL fAtStart);
17082
17083     HRESULT Left(
17084         [in] BOOL fMove,
17085         [out] MARKUP_CONTEXT_TYPE *pContext,
17086         [out] IHTMLElement **ppElement,
17087         [in, out] LONG *pcch,
17088         [out, size_is(*pcch)] OLECHAR *pchText);
17089
17090     HRESULT Right(
17091         [in] BOOL fMove,
17092         [out] MARKUP_CONTEXT_TYPE *pContext,
17093         [out] IHTMLElement **ppElement,
17094         [in, out] LONG *pcch,
17095         [out, size_is(*pcch)] OLECHAR *pchText);
17096
17097     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
17098
17099     HRESULT IsLeftOf(
17100         [in] IMarkupPointer *pPointerThat,
17101         [out] BOOL *pfResult);
17102
17103     HRESULT IsLeftOfOrEqualTo(
17104         [in] IMarkupPointer *pPointerThat,
17105         [out] BOOL *pfResult);
17106
17107     HRESULT IsRightOf(
17108         [in] IMarkupPointer *pPointerThat,
17109         [out] BOOL *pfResult);
17110
17111     HRESULT IsRightOfOrEqualTo(
17112         [in] IMarkupPointer *pPointerThat,
17113         [out] BOOL *pfResult);
17114
17115     HRESULT IsEqualTo(
17116         [in] IMarkupPointer *pPointerThat,
17117         [out] BOOL *pfAreEqual);
17118
17119     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
17120
17121     HRESULT FindText(
17122         [in] OLECHAR *pchFindText,
17123         [in] DWORD dwFlags,
17124         [in] IMarkupPointer *pIEndMatch,
17125         [in] IMarkupPointer *pIEndSearch);
17126 }
17127
17128 /*****************************************************************************
17129  *    IXMLGenericParse interface
17130  */
17131 [
17132     object,
17133     pointer_default(unique),
17134     uuid(E4E23071-4D07-11d2-AE76-0080C73BC199)
17135 ]
17136 interface IXMLGenericParse : IUnknown
17137 {
17138     HRESULT SetGenericParse(
17139         [in] VARIANT_BOOL fDoGeneric);
17140 }
17141
17142 /*****************************************************************************
17143  *    ISegment interface
17144  */
17145 [
17146     object,
17147     pointer_default(unique),
17148     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
17149 ]
17150 interface ISegment : IUnknown
17151 {
17152     HRESULT GetPointers(
17153         [in] IMarkupPointer *pIStart,
17154         [in] IMarkupPointer *pIEnd);
17155 }
17156
17157 /*****************************************************************************
17158  *    IElementSegment interface
17159  */
17160 [
17161     object,
17162     pointer_default(unique),
17163     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
17164 ]
17165 interface IElementSegment : ISegment
17166 {
17167     HRESULT GetElement([out] IHTMLElement **ppIElement);
17168
17169     HRESULT SetPrimary([in] BOOL fPrimary);
17170
17171     HRESULT IsPrimary([out] BOOL *pfPrimary);
17172 }
17173
17174 /*****************************************************************************
17175  *    ISelectionServicesListener interface
17176  */
17177 [
17178     object,
17179     pointer_default(unique),
17180     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
17181 ]
17182 interface ISelectionServicesListener : IUnknown
17183 {
17184     HRESULT BeginSelectionUndo();
17185
17186     HRESULT EndSelectionUndo();
17187
17188     HRESULT OnSelectedElementExit(
17189         [in] IMarkupPointer *pIElementStart,
17190         [in] IMarkupPointer *pIElementEnd,
17191         [in] IMarkupPointer *pIElementContentStart,
17192         [in] IMarkupPointer *pIElementContentEnd);
17193
17194     HRESULT OnChangeType(
17195         [in] SELECTION_TYPE eType,
17196         [in] ISelectionServicesListener *pIListener);
17197
17198     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
17199 }
17200
17201 /*****************************************************************************
17202  *    ISelectionServices interface
17203  */
17204 [
17205     object,
17206     pointer_default(unique),
17207     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
17208 ]
17209 interface ISelectionServices : IUnknown
17210 {
17211     HRESULT SetSelectionType(
17212         [in] SELECTION_TYPE eType,
17213         [in] ISelectionServicesListener *pIListener);
17214
17215     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
17216
17217     HRESULT AddSegment(
17218         [in] IMarkupPointer *pIStart,
17219         [in] IMarkupPointer *pIEnd,
17220         [out] ISegment **ppISegmentAdded);
17221
17222     HRESULT AddElementSegment(
17223         [in] IHTMLElement *pIElement,
17224         [out] IElementSegment **ppISegmentAdded);
17225
17226     HRESULT RemoveSegment([in] ISegment *pISegment);
17227
17228     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
17229 }
17230
17231 /*****************************************************************************
17232  *    IHTMLEditDesigner interface
17233  */
17234 [
17235     object,
17236     pointer_default(unique),
17237     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
17238 ]
17239 interface IHTMLEditDesigner : IUnknown
17240 {
17241     HRESULT PreHandleEvent(
17242         [in] DISPID inEvtDispId,
17243         [in] IHTMLEventObj *pIEventObj);
17244
17245     HRESULT PostHandleEvent(
17246         [in] DISPID inEvtDispId,
17247         [in] IHTMLEventObj *pIEventObj);
17248
17249     HRESULT TranslateAccelerator(
17250         [in] DISPID inEvtDispId,
17251         [in] IHTMLEventObj *pIEventObj);
17252
17253     HRESULT PostEditorEventNotify(
17254         [in] DISPID inEvtDispId,
17255         [in] IHTMLEventObj *pIEventObj);
17256 }
17257
17258 /*****************************************************************************
17259  *    IHTMLEditServices interface
17260  */
17261 [
17262     object,
17263     pointer_default(unique),
17264     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
17265 ]
17266 interface IHTMLEditServices : IUnknown
17267 {
17268     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
17269
17270     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
17271
17272     HRESULT GetSelectionServices(
17273         [in] IMarkupContainer *pIContainer,
17274         [out] ISelectionServices **ppSelSvc);
17275
17276     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
17277
17278     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
17279
17280     HRESULT SelectRange(
17281         [in] IMarkupPointer* pStart,
17282         [in] IMarkupPointer* pEnd,
17283         [in] SELECTION_TYPE eType);
17284 }
17285
17286 /*****************************************************************************
17287  *    IElementBehaviorSite interface
17288  */
17289 [
17290     odl,
17291     uuid(3050F427-98B5-11CF-BB82-00AA00BDCE0B)
17292 ]
17293 interface IElementBehaviorSite : IUnknown {
17294     HRESULT GetElement([out, retval] IHTMLElement **ppElement);
17295     HRESULT RegisterNotification([in] long lEvent);
17296 }
17297
17298 /*****************************************************************************
17299  *    IElementBehavior interface
17300  */
17301 [
17302     odl,
17303     uuid(3050F425-98B5-11CF-BB82-00AA00BDCE0B)
17304 ]
17305 interface IElementBehavior : IUnknown {
17306     HRESULT Init([in] IElementBehaviorSite *pBehaviorSite);
17307     HRESULT Notify([in] long lEvent,  [in, out] VARIANT *pVar);
17308     HRESULT Detach();
17309 }
17310
17311 /*****************************************************************************
17312  *    IElementBehaviorFactory interface
17313  */
17314 [
17315     odl,
17316     uuid(3050f429-98b5-11cf-bb82-00aa00bdce0b)
17317 ]
17318 interface IElementBehaviorFactory : IUnknown
17319 {
17320     HRESULT FindBehavior(
17321         [in] BSTR bstrBehavior,
17322         [in] BSTR bstrBehaviorUrl,
17323         [in] IElementBehaviorSite *pSite,
17324         [out] IElementBehavior **ppBehavior);
17325 }
17326
17327 } /* library MSHTML */
17328
17329 interface IOleCommandTarget;
17330
17331 /*****************************************************************************
17332  *    IHTMLPrivateWindow interface
17333  */
17334 [
17335     object,
17336     uuid(3050f6dc-98b5-11cf-bb82-00aa00bdce0b),
17337     local
17338 ]
17339 interface IHTMLPrivateWindow : IUnknown
17340 {
17341     HRESULT SuperNavigate(BSTR url, BSTR arg2, BSTR arg3, BSTR arg4, VARIANT *post_data, VARIANT *headers, ULONG flags);
17342     HRESULT GetPendingUrl(BSTR *url);
17343     HRESULT SetPICSTarget(IOleCommandTarget *cmdtrg);
17344     HRESULT PICSComplete(int arg);
17345     HRESULT FindWindowByName(LPCWSTR name, IHTMLWindow2 **ret);
17346     HRESULT GetAddressBarUrl(BSTR *url);
17347 }