usp10: Correct glyph caching beyond the BMP.
[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  *    DispHTMLHeadElement interface
9615  */
9616 [
9617     hidden,
9618     uuid(3050f561-98b5-11cf-bb82-00aa00bdce0b)
9619 ]
9620 dispinterface DispHTMLHeadElement
9621 {
9622 properties:
9623 methods:
9624     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9625
9626     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9627     void profile(BSTR v);
9628
9629     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
9630     BSTR profile();
9631
9632     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9633     void ie8_profile(BSTR v);
9634
9635     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
9636     BSTR ie8_profile();
9637 }
9638
9639 /*****************************************************************************
9640  *    DispHTMLTitleElement interface
9641  */
9642 [
9643     hidden,
9644     uuid(3050f516-98b5-11cf-bb82-00aa00bdce0b)
9645 ]
9646 dispinterface DispHTMLTitleElement
9647 {
9648 properties:
9649 methods:
9650     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9651
9652     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9653     void text(BSTR v);
9654
9655     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
9656     BSTR text();
9657 }
9658
9659 /*****************************************************************************
9660  *    DispHTMLUnknownElement interface
9661  */
9662 [
9663     hidden,
9664     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
9665 ]
9666 dispinterface DispHTMLUnknownElement
9667 {
9668 properties:
9669 methods:
9670     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
9671 }
9672
9673 /*****************************************************************************
9674  *    IOmHistory interface
9675  */
9676 [
9677     odl,
9678     oleautomation,
9679     dual,
9680     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
9681 ]
9682 interface IOmHistory : IDispatch
9683 {
9684     [propget, id(DISPID_IOMHISTORY_LENGTH)]
9685     HRESULT length([retval, out] short *p);
9686
9687     [id(DISPID_IOMHISTORY_BACK)]
9688     HRESULT back([optional, in] VARIANT *pvargdistance);
9689
9690     [id(DISPID_IOMHISTORY_FORWARD)]
9691     HRESULT forward([optional, in] VARIANT *pvargdistance);
9692
9693     [id(DISPID_IOMHISTORY_GO)]
9694     HRESULT go([optional, in] VARIANT *pvargdistance);
9695 }
9696
9697 [
9698     noncreatable,
9699     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
9700 ]
9701 coclass HTMLHistory
9702 {
9703     [default]           interface IOmHistory;
9704 }
9705
9706 /*****************************************************************************
9707  *    IHTMLMimeTypesCollection interface
9708  */
9709 [
9710     odl,
9711     oleautomation,
9712     dual,
9713     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
9714 ]
9715 interface IHTMLMimeTypesCollection : IDispatch
9716 {
9717     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
9718     HRESULT length([retval, out] LONG *p);
9719 }
9720
9721 [
9722     noncreatable,
9723     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
9724 ]
9725 coclass CMimeTypes
9726 {
9727     [default]           interface IHTMLMimeTypesCollection;
9728 }
9729
9730 /*****************************************************************************
9731  *    IHTMLPluginsCollection interface
9732  */
9733 [
9734     odl,
9735     oleautomation,
9736     dual,
9737     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
9738 ]
9739 interface IHTMLPluginsCollection : IDispatch
9740 {
9741     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9742     HRESULT length([retval, out] LONG *p);
9743
9744     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9745     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9746 }
9747
9748 [
9749     hidden,
9750     uuid(3050f54a-98b5-11cf-bb82-00aa00bdce0b)
9751 ]
9752 dispinterface DispCPlugins
9753 {
9754  properties:
9755 methods:
9756     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
9757     long length();
9758
9759     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
9760     void refresh([defaultvalue(0), in] VARIANT_BOOL reload);
9761
9762     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
9763     IDispatch *constructor();
9764 }
9765
9766 [
9767     noncreatable,
9768     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
9769 ]
9770 coclass CPlugins
9771 {
9772     [default]  dispinterface DispCPlugins;
9773                interface IHTMLPluginsCollection;
9774                interface IHTMLDOMConstructor;
9775 }
9776
9777 /*****************************************************************************
9778  *    IHTMLOpsProfile interface
9779  */
9780 [
9781     odl,
9782     oleautomation,
9783     dual,
9784     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
9785 ]
9786 interface IHTMLOpsProfile : IDispatch
9787 {
9788     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
9789     HRESULT addRequest(
9790         [in] BSTR name,
9791         [optional, in] VARIANT reserved,
9792         [retval, out] VARIANT_BOOL *success);
9793
9794     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
9795     HRESULT clearRequest();
9796
9797     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
9798     HRESULT doRequest(
9799         [in] VARIANT usage,
9800         [optional, in] VARIANT fname,
9801         [optional, in] VARIANT domain,
9802         [optional, in] VARIANT path,
9803         [optional, in] VARIANT expire,
9804         [optional, in] VARIANT reserved);
9805
9806     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
9807     HRESULT getAttribute(
9808         [in] BSTR name,
9809         [retval, out] BSTR *value);
9810
9811     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
9812     HRESULT setAttribute(
9813         [in] BSTR name,
9814         [in] BSTR value,
9815         [optional, in] VARIANT prefs,
9816         [retval, out] VARIANT_BOOL *success);
9817
9818     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
9819     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
9820
9821     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
9822     HRESULT addReadRequest(
9823         [in] BSTR name,
9824         [optional, in] VARIANT reserved,
9825         [retval, out] VARIANT_BOOL *success);
9826
9827     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
9828     HRESULT doReadRequest(
9829         [in] VARIANT usage,
9830         [optional, in] VARIANT fname,
9831         [optional, in] VARIANT domain,
9832         [optional, in] VARIANT path,
9833         [optional, in] VARIANT expire,
9834         [optional, in] VARIANT reserved);
9835
9836     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
9837     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
9838 }
9839
9840 [
9841     noncreatable,
9842     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
9843 ]
9844 coclass COpsProfile
9845 {
9846     [default]           interface IHTMLOpsProfile;
9847 }
9848
9849 /*****************************************************************************
9850  *    IOmNavigator interface
9851  */
9852 [
9853     odl,
9854     oleautomation,
9855     dual,
9856     uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
9857 ]
9858 interface IOmNavigator : IDispatch
9859 {
9860     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9861     HRESULT appCodeName([retval, out] BSTR *p);
9862
9863     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9864     HRESULT appName([retval, out] BSTR *p);
9865
9866     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
9867     HRESULT appVersion([retval, out] BSTR *p);
9868
9869     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
9870     HRESULT userAgent([retval, out] BSTR *p);
9871
9872     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
9873     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
9874
9875     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
9876     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
9877
9878     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
9879     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
9880
9881     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
9882     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
9883
9884     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
9885     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
9886
9887     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
9888     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
9889
9890     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
9891     HRESULT toString([retval, out] BSTR *String);
9892
9893     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
9894     HRESULT cpuClass([retval, out] BSTR *p);
9895
9896     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
9897     HRESULT systemLanguage([retval, out] BSTR *p);
9898
9899     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
9900     HRESULT browserLanguage([retval, out] BSTR *p);
9901
9902     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
9903     HRESULT userLanguage([retval, out] BSTR *p);
9904
9905     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
9906     HRESULT platform([retval, out] BSTR *p);
9907
9908     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
9909     HRESULT appMinorVersion([retval, out] BSTR *p);
9910
9911     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
9912     HRESULT connectionSpeed([retval, out] LONG *p);
9913
9914     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
9915     HRESULT onLine([retval, out] VARIANT_BOOL *p);
9916
9917     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
9918     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
9919 }
9920
9921 /*****************************************************************************
9922  *    DispHTMLNavigator dispinterface
9923  */
9924 [
9925     hidden,
9926     uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
9927 ]
9928 dispinterface DispHTMLNavigator
9929 {
9930 properties:
9931 methods:
9932     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
9933     BSTR appCodeName();
9934
9935     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
9936     BSTR appName();
9937
9938     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
9939     BSTR appVersion();
9940
9941     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
9942     BSTR userAgent();
9943
9944     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
9945     VARIANT_BOOL javaEnabled();
9946
9947     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
9948     VARIANT_BOOL taintEnabled();
9949
9950     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
9951     IHTMLMimeTypesCollection *mimeTypes();
9952
9953     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
9954     IHTMLPluginsCollection *plugins();
9955
9956     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
9957     VARIANT_BOOL cookieEnabled();
9958
9959     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
9960     IHTMLOpsProfile *opsProfile();
9961
9962     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
9963     BSTR toString();
9964
9965     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
9966     BSTR cpuClass();
9967
9968     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
9969     BSTR systemLanguage();
9970
9971     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
9972     BSTR browserLanguage();
9973
9974     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
9975     BSTR userLanguage();
9976
9977     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
9978     BSTR platform();
9979
9980     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
9981     BSTR appMinorVersion();
9982
9983     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
9984     LONG connectionSpeed();
9985
9986     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
9987     VARIANT_BOOL onLine();
9988
9989     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
9990     IHTMLOpsProfile *userProfile();
9991
9992     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
9993 }
9994
9995 [
9996     noncreatable,
9997     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
9998 ]
9999 coclass HTMLNavigator
10000 {
10001     [default]  dispinterface DispHTMLNavigator;
10002                interface IOmNavigator;
10003 }
10004
10005 /*****************************************************************************
10006  *    IHTMLLocation interface
10007  */
10008 [
10009     odl,
10010     oleautomation,
10011     dual,
10012     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
10013 ]
10014 interface IHTMLLocation : IDispatch
10015 {
10016     [propput, id(DISPID_IHTMLLOCATION_HREF)]
10017     HRESULT href([in] BSTR v);
10018
10019     [propget, id(DISPID_IHTMLLOCATION_HREF)]
10020     HRESULT href([retval, out] BSTR *p);
10021
10022     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10023     HRESULT protocol([in] BSTR v);
10024
10025     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10026     HRESULT protocol([retval, out] BSTR *p);
10027
10028     [propput, id(DISPID_IHTMLLOCATION_HOST)]
10029     HRESULT host([in] BSTR v);
10030
10031     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10032     HRESULT host([retval, out] BSTR *p);
10033
10034     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10035     HRESULT hostname([in] BSTR v);
10036
10037     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10038     HRESULT hostname([retval, out] BSTR *p);
10039
10040     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10041     HRESULT port([in] BSTR v);
10042
10043     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10044     HRESULT port([retval, out] BSTR *p);
10045
10046     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10047     HRESULT pathname([in] BSTR v);
10048
10049     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10050     HRESULT pathname([retval, out] BSTR *p);
10051
10052     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10053     HRESULT search([in] BSTR v);
10054
10055     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10056     HRESULT search([retval, out] BSTR *p);
10057
10058     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10059     HRESULT hash([in] BSTR v);
10060
10061     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10062     HRESULT hash([retval, out] BSTR *p);
10063
10064     [id(DISPID_IHTMLLOCATION_RELOAD)]
10065     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
10066
10067     [id(DISPID_IHTMLLOCATION_REPLACE)]
10068     HRESULT replace([in] BSTR bstr);
10069
10070     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10071     HRESULT assign([in] BSTR bstr);
10072
10073     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10074     HRESULT toString([retval, out] BSTR *String);
10075 }
10076
10077 /*****************************************************************************
10078  *    DispHTMLLocation dispinterface
10079  */
10080 [
10081     hidden,
10082     uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
10083 ]
10084 dispinterface DispHTMLLocation
10085 {
10086 properties:
10087 methods:
10088     [propput, id(DISPID_IHTMLLOCATION_HREF)]
10089     void href(BSTR v);
10090
10091     [propget, id(DISPID_IHTMLLOCATION_HREF)]
10092     BSTR href();
10093
10094     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10095     void protocol(BSTR v);
10096
10097     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10098     BSTR protocol();
10099
10100     [propput, id(DISPID_IHTMLLOCATION_HOST)]
10101     void host(BSTR v);
10102
10103     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10104     BSTR host();
10105
10106     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10107     void hostname(BSTR v);
10108
10109     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10110     BSTR hostname();
10111
10112     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10113     void port(BSTR v);
10114
10115     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10116     BSTR port();
10117
10118     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10119     void pathname(BSTR v);
10120
10121     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10122     BSTR pathname();
10123
10124     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10125     void search(BSTR v);
10126
10127     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10128     BSTR search();
10129
10130     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10131     void hash(BSTR v);
10132
10133     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10134     BSTR hash();
10135
10136     [id(DISPID_IHTMLLOCATION_RELOAD)]
10137     void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
10138
10139     [id(DISPID_IHTMLLOCATION_REPLACE)]
10140     void replace([in] BSTR bstr);
10141
10142     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10143     void assign([in] BSTR bstr);
10144
10145     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10146     BSTR toString();
10147
10148     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
10149 }
10150
10151 [
10152     noncreatable,
10153     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
10154 ]
10155 coclass HTMLLocation
10156 {
10157     [default]  dispinterface DispHTMLLocation;
10158                interface IHTMLLocation;
10159 }
10160
10161 [
10162     odl,
10163     oleautomation,
10164     dual,
10165     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
10166 ]
10167 interface IHTMLBookmarkCollection : IDispatch
10168 {
10169     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
10170     HRESULT length([out, retval] LONG *p);
10171
10172     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
10173     HRESULT _newEnum([out, retval] IUnknown **p);
10174
10175     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
10176     HRESULT item(
10177             [in] LONG index,
10178             [out, retval] VARIANT *pVarBookmark);
10179 }
10180
10181 /*****************************************************************************
10182  *    IHTMLDataTransfer interface
10183  */
10184 [
10185     odl,
10186     oleautomation,
10187     dual,
10188     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
10189 ]
10190 interface IHTMLDataTransfer : IDispatch
10191 {
10192     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
10193     HRESULT setData(
10194             [in] BSTR format,
10195             [in] VARIANT *data,
10196             [out, retval] VARIANT_BOOL *pret);
10197
10198     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
10199     HRESULT getData(
10200             [in] BSTR format,
10201             [out, retval] VARIANT *pvarRet);
10202
10203     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
10204     HRESULT clearData(
10205             [in] BSTR format,
10206             [out, retval] VARIANT_BOOL *pret);
10207
10208     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10209     HRESULT dropEffect([in] BSTR v);
10210
10211     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10212     HRESULT dropEffect([out, retval] BSTR *p);
10213
10214     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10215     HRESULT effectAllowed([in] BSTR v);
10216
10217     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10218     HRESULT effectAllowed([out, retval] BSTR *p);
10219 }
10220
10221 /*****************************************************************************
10222  *    IHTMLEventObj interface
10223  */
10224 [
10225     odl,
10226     oleautomation,
10227     dual,
10228     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
10229 ]
10230 interface IHTMLEventObj : IDispatch
10231 {
10232     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
10233     HRESULT srcElement([retval, out] IHTMLElement **p);
10234
10235     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
10236     HRESULT altKey([retval, out] VARIANT_BOOL *p);
10237
10238     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
10239     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
10240
10241     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
10242     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
10243
10244     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10245     HRESULT returnValue([in] VARIANT v);
10246
10247     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10248     HRESULT returnValue([retval, out] VARIANT *p);
10249
10250     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10251     HRESULT cancelBubble([in] VARIANT_BOOL v);
10252
10253     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10254     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
10255
10256     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
10257     HRESULT fromElement([retval, out] IHTMLElement **p);
10258
10259     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
10260     HRESULT toElement([retval, out] IHTMLElement **p);
10261
10262     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10263     HRESULT keyCode([in] LONG v);
10264
10265     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10266     HRESULT keyCode([retval, out] LONG *p);
10267
10268     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
10269     HRESULT button([retval, out] LONG *p);
10270
10271     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
10272     HRESULT type([retval, out] BSTR *p);
10273
10274     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
10275     HRESULT qualifier([retval, out] BSTR *p);
10276
10277     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
10278     HRESULT reason([retval, out] LONG *p);
10279
10280     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
10281     HRESULT x([retval, out] LONG *p);
10282
10283     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
10284     HRESULT y([retval, out] LONG *p);
10285
10286     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
10287     HRESULT clientX([retval, out] LONG *p);
10288
10289     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
10290     HRESULT clientY([retval, out] LONG *p);
10291
10292     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
10293     HRESULT offsetX([retval, out] LONG *p);
10294
10295     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
10296     HRESULT offsetY([retval, out] LONG *p);
10297
10298     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
10299     HRESULT screenX([retval, out] LONG *p);
10300
10301     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
10302     HRESULT screenY([retval, out] LONG *p);
10303
10304     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
10305     HRESULT srcFilter([retval, out] IDispatch **p);
10306 }
10307
10308 /*****************************************************************************
10309  *    DispCEventObj dispinterface
10310  */
10311 [
10312     hidden,
10313     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
10314 ]
10315 dispinterface DispCEventObj
10316 {
10317 properties:
10318 methods:
10319     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10320     void returnValue(VARIANT v);
10321
10322     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10323     VARIANT returnValue();
10324
10325     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10326     void cancelBubble(VARIANT_BOOL v);
10327
10328     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10329     VARIANT_BOOL cancelBubble();
10330
10331     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10332     void keyCode(LONG v);
10333
10334     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10335     LONG keyCode();
10336
10337     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
10338     void setAttribute(
10339             [in] BSTR strAttributeName,
10340             [in] VARIANT AttributeValue,
10341             [in, defaultvalue(1)] LONG lFlags);
10342
10343     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
10344     VARIANT getAttribute(
10345             [in] BSTR strAttributeName,
10346             [in, defaultvalue(0)] LONG lFlags);
10347
10348     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
10349     VARIANT_BOOL removeAttribute(
10350             [in] BSTR strAttributeName,
10351             [in, defaultvalue(1)] LONG lFlags);
10352
10353     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
10354     void propertyName(BSTR v);
10355
10356     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
10357     BSTR propertyName();
10358
10359     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
10360     void bookmarks(IHTMLBookmarkCollection *v);
10361
10362     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
10363     IHTMLBookmarkCollection *bookmarks();
10364
10365     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
10366     void recordset(IDispatch *v);
10367
10368     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
10369     IDispatch *recordset();
10370
10371     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
10372     void dataFld(BSTR v);
10373
10374     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
10375     BSTR dataFld();
10376
10377     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
10378     void boundElements(IHTMLElementCollection *v);
10379
10380     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
10381     IHTMLElementCollection *boundElements();
10382
10383     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
10384     void repeat(VARIANT_BOOL v);
10385
10386     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
10387     VARIANT_BOOL repeat();
10388
10389     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
10390     void srcUrn(BSTR v);
10391
10392     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
10393     BSTR srcUrn();
10394
10395     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
10396     void srcElement(IHTMLElement *v);
10397
10398     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
10399     IHTMLElement *srcElement();
10400
10401     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
10402     void altKey(VARIANT_BOOL v);
10403
10404     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
10405     VARIANT_BOOL altKey();
10406
10407     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
10408     void ctrlKey(VARIANT_BOOL v);
10409
10410     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
10411     VARIANT_BOOL ctrlKey();
10412
10413     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
10414     void shiftKey(VARIANT_BOOL v);
10415
10416     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
10417     VARIANT_BOOL shiftKey();
10418
10419     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
10420     void fromElement(IHTMLElement *v);
10421
10422     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
10423     IHTMLElement *fromElement();
10424
10425     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
10426     void toElement(IHTMLElement *v);
10427
10428     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
10429     IHTMLElement *toElement();
10430
10431     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
10432     void button(LONG v);
10433
10434     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
10435     LONG button();
10436
10437     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
10438     void type(BSTR v);
10439
10440     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
10441     BSTR type();
10442
10443     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
10444     void qualifier(BSTR v);
10445
10446     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
10447     BSTR qualifier();
10448
10449     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
10450     void reason(LONG v);
10451
10452     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
10453     LONG reason();
10454
10455     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
10456     void x(LONG v);
10457
10458     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
10459     LONG x();
10460
10461     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
10462     void y(LONG v);
10463
10464     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
10465     LONG y();
10466
10467     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
10468     void clientX(LONG v);
10469
10470     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
10471     LONG clientX();
10472
10473     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
10474     void clientY(LONG v);
10475
10476     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
10477     LONG clientY();
10478     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
10479     void offsetX(LONG v);
10480
10481     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
10482     LONG offsetX();
10483
10484     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
10485     void offsetY(LONG v);
10486
10487     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
10488     LONG offsetY();
10489
10490     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
10491     void screenX(LONG v);
10492
10493     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
10494     LONG screenX();
10495
10496     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
10497     void screenY(LONG v);
10498
10499     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
10500     LONG screenY();
10501
10502     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
10503     void srcFilter(IDispatch *v);
10504
10505     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
10506     IDispatch *srcFilter();
10507
10508     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
10509     IHTMLDataTransfer *dataTransfer();
10510
10511     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
10512     VARIANT_BOOL contentOverflow();
10513
10514     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
10515     void shiftLeft(VARIANT_BOOL v);
10516
10517     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
10518     VARIANT_BOOL shiftLeft();
10519
10520     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
10521     void altLeft(VARIANT_BOOL v);
10522
10523     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
10524     VARIANT_BOOL altLeft();
10525
10526     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
10527     void ctrlLeft(VARIANT_BOOL v);
10528
10529     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
10530     VARIANT_BOOL ctrlLeft();
10531
10532     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
10533     LONG_PTR imeCompositionChange();
10534
10535     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
10536     LONG_PTR imeNotifyCommand();
10537
10538     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
10539     LONG_PTR imeNotifyData();
10540
10541     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
10542     LONG_PTR imeRequest();
10543
10544     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
10545     LONG_PTR imeRequestData();
10546
10547     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
10548     LONG_PTR keyboardLayout();
10549
10550     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
10551     LONG behaviorCookie();
10552
10553     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
10554     LONG behaviorPart();
10555
10556     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
10557     BSTR nextPage();
10558
10559     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
10560     LONG wheelDelta();
10561 }
10562
10563 /*****************************************************************************
10564  *    IHTMLFramesCollection2 interface
10565  */
10566 [
10567     odl,
10568     oleautomation,
10569     dual,
10570     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
10571 ]
10572 interface IHTMLFramesCollection2 : IDispatch
10573 {
10574     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10575     HRESULT item(
10576         [in] VARIANT *pvarIndex,
10577         [retval, out] VARIANT *pvarResult);
10578
10579     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10580     HRESULT length([retval, out] LONG *p);
10581 }
10582
10583 /*****************************************************************************
10584  *    IHTMLScreen interface
10585  */
10586 [
10587     odl,
10588     oleautomation,
10589     dual,
10590     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
10591 ]
10592 interface IHTMLScreen : IDispatch
10593 {
10594     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
10595     HRESULT colorDepth([retval, out] LONG *p);
10596
10597     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10598     HRESULT bufferDepth([in] LONG v);
10599
10600     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10601     HRESULT bufferDepth([retval, out] LONG *p);
10602
10603     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10604     HRESULT width([retval, out] LONG *p);
10605
10606     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10607     HRESULT height([retval, out] LONG *p);
10608
10609     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10610     HRESULT updateInterval([in] LONG v);
10611
10612     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10613     HRESULT updateInterval([retval, out] LONG *p);
10614
10615     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
10616     HRESULT availHeight([retval, out] LONG *p);
10617
10618     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
10619     HRESULT availWidth([retval, out] LONG *p);
10620
10621     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10622     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
10623 }
10624
10625 /*****************************************************************************
10626  *    IHTMLWindow2 interface
10627  */
10628 [
10629     odl,
10630     oleautomation,
10631     dual,
10632     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
10633 ]
10634 interface IHTMLWindow2 : IHTMLFramesCollection2
10635 {
10636     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10637     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
10638
10639     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10640     HRESULT defaultStatus([in] BSTR v);
10641
10642     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10643     HRESULT defaultStatus([retval, out] BSTR *p);
10644
10645     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10646     HRESULT status([in] BSTR v);
10647
10648     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10649     HRESULT status([retval, out] BSTR *p);
10650
10651     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
10652     HRESULT setTimeout(
10653         [in] BSTR expression,
10654         [in] LONG msec,
10655         [optional, in] VARIANT *language,
10656         [retval, out] LONG *timerID);
10657
10658     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10659     HRESULT clearTimeout([in] LONG timerID);
10660
10661     [id(DISPID_IHTMLWINDOW2_ALERT)]
10662     HRESULT alert([defaultvalue(""), in] BSTR message);
10663
10664     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10665     HRESULT confirm(
10666         [defaultvalue(""), in] BSTR message,
10667         [retval, out] VARIANT_BOOL *confirmed);
10668
10669     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10670     HRESULT prompt(
10671         [defaultvalue(""), in] BSTR message,
10672         [defaultvalue("undefined"), in] BSTR defstr,
10673         [retval, out] VARIANT *textdata);
10674
10675     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10676     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
10677
10678     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10679     HRESULT location([retval, out] IHTMLLocation **p);
10680
10681     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10682     HRESULT history([retval, out] IOmHistory **p);
10683
10684     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10685     HRESULT close();
10686
10687     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10688     HRESULT opener([in] VARIANT v);
10689
10690     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10691     HRESULT opener([retval, out] VARIANT *p);
10692
10693     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10694     HRESULT navigator([retval, out] IOmNavigator **p);
10695
10696     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10697     HRESULT name([in] BSTR v);
10698
10699     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10700     HRESULT name([retval, out] BSTR *p);
10701
10702     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10703     HRESULT parent([retval, out] IHTMLWindow2 **p);
10704
10705     [id(DISPID_IHTMLWINDOW2_OPEN)]
10706     HRESULT open(
10707         [defaultvalue(""), in] BSTR url,
10708         [defaultvalue(""), in] BSTR name,
10709         [defaultvalue(""), in] BSTR features,
10710         [defaultvalue(0), in] VARIANT_BOOL replace,
10711         [retval, out] IHTMLWindow2 **pomWindowResult);
10712
10713     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10714     HRESULT self([retval, out] IHTMLWindow2 **p);
10715
10716     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10717     HRESULT top([retval, out] IHTMLWindow2 **p);
10718
10719     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10720     HRESULT window([retval, out] IHTMLWindow2 **p);
10721
10722     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10723     HRESULT navigate([in] BSTR url);
10724
10725     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10726     HRESULT onfocus([in] VARIANT v);
10727
10728     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10729     HRESULT onfocus([retval, out] VARIANT *p);
10730
10731     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10732     HRESULT onblur([in] VARIANT v);
10733
10734     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10735     HRESULT onblur([retval, out] VARIANT *p);
10736
10737     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10738     HRESULT onload([in] VARIANT v);
10739
10740     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10741     HRESULT onload([retval, out] VARIANT *p);
10742
10743     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10744     HRESULT onbeforeunload([in] VARIANT v);
10745
10746     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10747     HRESULT onbeforeunload([retval, out] VARIANT *p);
10748
10749     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10750     HRESULT onunload([in] VARIANT v);
10751
10752     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10753     HRESULT onunload([retval, out] VARIANT *p);
10754
10755     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
10756     HRESULT onhelp([in] VARIANT v);
10757
10758     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
10759     HRESULT onhelp([retval, out] VARIANT *p);
10760
10761     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
10762     HRESULT onerror([in] VARIANT v);
10763
10764     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
10765     HRESULT onerror([retval, out] VARIANT *p);
10766
10767     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10768     HRESULT onresize([in] VARIANT v);
10769
10770     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
10771     HRESULT onresize([retval, out] VARIANT *p);
10772
10773     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10774     HRESULT onscroll([in] VARIANT v);
10775
10776     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
10777     HRESULT onscroll([retval, out] VARIANT *p);
10778
10779     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
10780     HRESULT document([retval, out] IHTMLDocument2 **p);
10781
10782     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10783     HRESULT event([retval, out] IHTMLEventObj **p);
10784
10785     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
10786     HRESULT _newEnum([retval, out] IUnknown **p);
10787
10788     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10789     HRESULT showModalDialog(
10790         [in] BSTR dialog,
10791         [optional, in] VARIANT *varArgIn,
10792         [optional, in] VARIANT *varOptions,
10793         [retval, out] VARIANT *varArgOut);
10794
10795     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10796     HRESULT showHelp(
10797         [in] BSTR helpURL,
10798         [optional, in] VARIANT helpArg,
10799         [defaultvalue(""), in] BSTR features);
10800
10801     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10802     HRESULT screen([retval, out] IHTMLScreen **p);
10803
10804     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10805     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
10806
10807     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10808     HRESULT focus();
10809
10810     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10811     HRESULT closed([retval, out] VARIANT_BOOL *p);
10812
10813     [id(DISPID_IHTMLWINDOW2_BLUR)]
10814     HRESULT blur();
10815
10816     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10817     HRESULT scroll([in] LONG x, [in] LONG y);
10818
10819     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10820     HRESULT clientInformation([retval, out] IOmNavigator **p);
10821
10822     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
10823     HRESULT setInterval([
10824         in] BSTR expression,
10825         [in] LONG msec,
10826         [optional, in] VARIANT *language,
10827         [retval, out] LONG *timerID);
10828
10829     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10830     HRESULT clearInterval([in] LONG timerID);
10831
10832     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10833     HRESULT offscreenBuffering([in] VARIANT v);
10834
10835     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10836     HRESULT offscreenBuffering([retval, out] VARIANT *p);
10837
10838     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10839     HRESULT execScript(
10840         [in] BSTR scode,
10841         [defaultvalue("JScript"), in] BSTR language,
10842         [retval, out] VARIANT *pvarRet);
10843
10844     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10845     HRESULT toString([retval, out] BSTR *String);
10846
10847     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10848     HRESULT scrollBy([in] LONG x, [in] LONG y);
10849
10850     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10851     HRESULT scrollTo([in] LONG x, [in] LONG y);
10852
10853     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10854     HRESULT moveTo([in] LONG x, [in] LONG y);
10855
10856     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10857     HRESULT moveBy([in] LONG x, [in] LONG y);
10858
10859     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10860     HRESULT resizeTo([in] LONG x, [in] LONG y);
10861
10862     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10863     HRESULT resizeBy([in] LONG x, [in] LONG y);
10864
10865     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10866     HRESULT external([retval, out] IDispatch **p);
10867 }
10868
10869 /*****************************************************************************
10870  *    IHTMLWindow3 interface
10871  */
10872 [
10873     odl,
10874     oleautomation,
10875     dual,
10876     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
10877 ]
10878 interface IHTMLWindow3 : IDispatch
10879 {
10880     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10881     HRESULT screenLeft([out, retval] LONG *p);
10882
10883     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10884     HRESULT screenTop([out, retval] LONG *p);
10885
10886     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10887     HRESULT attachEvent(
10888             [in] BSTR event,
10889             [in] IDispatch *pDisp,
10890             [out, retval] VARIANT_BOOL *pfResult);
10891
10892     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10893     HRESULT detachEvent(
10894             [in] BSTR event,
10895             [in] IDispatch *pDisp);
10896
10897     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10898     HRESULT setTimeout(
10899             [in] VARIANT *expression,
10900             [in] LONG msec,
10901             [in, optional] VARIANT *language,
10902             [out, retval] LONG *timerID);
10903
10904     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10905     HRESULT setInterval(
10906             [in] VARIANT *expression,
10907             [in] LONG msec,
10908             [in, optional] VARIANT *language,
10909             [out, retval] LONG *timerID);
10910
10911     [id(DISPID_IHTMLWINDOW3_PRINT)]
10912     HRESULT print();
10913
10914     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10915     HRESULT onbeforeprint([in] VARIANT v);
10916
10917     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10918     HRESULT onbeforeprint([out, retval] VARIANT *p);
10919
10920     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10921     HRESULT onafterprint([in] VARIANT v);
10922
10923     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10924     HRESULT onafterprint([out, retval] VARIANT *p);
10925
10926     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10927     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
10928
10929     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10930     HRESULT showModelessDialog(
10931             [in, defaultvalue("")] BSTR url,
10932             [in, optional] VARIANT *varArgIn,
10933             [in, optional] VARIANT *options,
10934             [out, retval] IHTMLWindow2 **pDialog);
10935 }
10936
10937 /*****************************************************************************
10938  *    IHTMLWindow4 interface
10939  */
10940 [
10941     odl,
10942     oleautomation,
10943     dual,
10944     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
10945 ]
10946 interface IHTMLWindow4 : IDispatch
10947 {
10948     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10949     HRESULT createPopup([optional, in] VARIANT* varArgIn,
10950                         [retval, out] IDispatch** ppPopup);
10951
10952     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10953     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
10954 }
10955
10956 /*****************************************************************************
10957  *    IHTMLWindow5 interface
10958  */
10959 [
10960     odl,
10961     oleautomation,
10962     dual,
10963     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
10964 ]
10965 interface IHTMLWindow5 : IDispatch
10966 {
10967     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10968     HRESULT XMLHttpRequest([in] VARIANT v);
10969
10970     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10971     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
10972 }
10973
10974 /*****************************************************************************
10975  *    IHTMLWindow6 interface
10976  */
10977 [
10978     odl,
10979     oleautomation,
10980     dual,
10981     uuid(30510453-98b5-11cf-bb82-00aa00bdce0b)
10982 ]
10983 interface IHTMLWindow6 : IDispatch
10984 {
10985     [propput, id(DISPID_IHTMLWINDOW6_XDOMAINREQUEST)]
10986     HRESULT XDomainRequest([in] VARIANT v);
10987
10988     [propget, id(DISPID_IHTMLWINDOW6_XDOMAINREQUEST)]
10989     HRESULT XDomainRequest([out, retval] VARIANT *p);
10990
10991     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
10992     HRESULT sessionStorage([out, retval] IHTMLStorage **p);
10993
10994     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
10995     HRESULT localStorage([out, retval] IHTMLStorage **p);
10996
10997     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
10998     HRESULT onhashchange([in] VARIANT v);
10999
11000     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11001     HRESULT onhashchange([out, retval] VARIANT *p);
11002
11003     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
11004     HRESULT maxConnectionsPerServer([out, retval] long *p);
11005
11006     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
11007     HRESULT postMessage(
11008             [in] BSTR msg,
11009             [in, optional] VARIANT targetOrigin);
11010
11011     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
11012     HRESULT toStaticHTML(
11013             [in] BSTR bstrHTML,
11014             [out, retval] BSTR *pbstrStaticHTML);
11015
11016     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11017     HRESULT onmessage([in] VARIANT v);
11018
11019     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11020     HRESULT onmessage([out, retval] VARIANT *p);
11021
11022     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
11023     HRESULT msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
11024 }
11025
11026 /*****************************************************************************
11027  *    DispHTMLScreen dispinterface
11028  */
11029 [
11030     hidden,
11031     uuid(3050f591-98b5-11cf-bb82-00aa00bdce0b)
11032 ]
11033 dispinterface DispHTMLScreen
11034 {
11035 properties:
11036 methods:
11037     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
11038     long colorDepth();
11039
11040     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11041     void bufferDepth(long v);
11042
11043     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
11044     long bufferDepth();
11045
11046     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
11047     long width();
11048
11049     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
11050     long height();
11051
11052     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11053     void updateInterval(long v);
11054
11055     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
11056     long updateInterval();
11057
11058     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
11059     long availHeight();
11060
11061     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
11062     long availWidth();
11063
11064     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
11065     VARIANT_BOOL fontSmoothingEnabled();
11066
11067     [propget, id(DISPID_IHTMLSCREEN2_LOGICALXDPI)]
11068     long logicalXDPI();
11069
11070     [propget, id(DISPID_IHTMLSCREEN2_LOGICALYDPI)]
11071     long logicalYDPI();
11072
11073     [propget, id(DISPID_IHTMLSCREEN2_DEVICEXDPI)]
11074     long deviceXDPI();
11075
11076     [propget, id(DISPID_IHTMLSCREEN2_DEVICEYDPI)]
11077     long deviceYDPI();
11078
11079     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMXDPI)]
11080     long systemXDPI();
11081
11082     [propget, id(DISPID_IHTMLSCREEN3_SYSTEMYDPI)]
11083     long systemYDPI();
11084
11085     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
11086     IDispatch *constructor();
11087 }
11088
11089 /*****************************************************************************
11090  *    DispHTMLWindow2 dispinterface
11091  */
11092 [
11093     hidden,
11094     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
11095 ]
11096 dispinterface DispHTMLWindow2
11097 {
11098 properties:
11099 methods:
11100     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11101     VARIANT item([in] VARIANT *pvarIndex);
11102
11103     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11104     LONG length();
11105
11106     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11107     IHTMLFramesCollection2 *frames();
11108
11109     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11110     void defaultStatus(BSTR v);
11111
11112     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11113     BSTR defaultStatus();
11114
11115     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11116     void status(BSTR v);
11117
11118     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11119     BSTR status();
11120
11121     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11122     void clearTimeout([in] LONG timerID);
11123
11124     [id(DISPID_IHTMLWINDOW2_ALERT)]
11125     void alert([in, defaultvalue("")] BSTR message);
11126
11127     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11128     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
11129
11130     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11131     VARIANT prompt(
11132             [in, defaultvalue("")] BSTR message,
11133             [in, defaultvalue("undefined")] BSTR defstr);
11134
11135     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11136     IHTMLImageElementFactory *Image();
11137
11138     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11139     IHTMLLocation *location();
11140
11141     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11142     IOmHistory *history();
11143
11144     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11145     void close();
11146
11147     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11148     void opener(VARIANT v);
11149
11150     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11151     VARIANT opener();
11152
11153     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11154     IOmNavigator *navigator();
11155
11156     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11157     void name(BSTR v);
11158
11159     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11160     BSTR name();
11161
11162     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11163     IHTMLWindow2 *parent();
11164
11165     [id(DISPID_IHTMLWINDOW2_OPEN)]
11166     IHTMLWindow2 *open(
11167             [in, defaultvalue("")] BSTR url,
11168             [in, defaultvalue("")] BSTR name,
11169             [in, defaultvalue("")] BSTR features,
11170             [in, defaultvalue(0)]  VARIANT_BOOL replace);
11171
11172     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11173     IHTMLWindow2 *self();
11174
11175     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11176     IHTMLWindow2 *top();
11177
11178     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11179     IHTMLWindow2 *window();
11180
11181     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11182     void navigate([in] BSTR url);
11183
11184     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11185     void onfocus(VARIANT v);
11186
11187     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11188     VARIANT onfocus();
11189
11190     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11191     void onblur(VARIANT v);
11192
11193     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11194     VARIANT onblur();
11195
11196     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11197     VARIANT onload();
11198
11199     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11200     void onbeforeunload(VARIANT v);
11201
11202     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11203     VARIANT onbeforeunload();
11204
11205     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11206     void onunload(VARIANT v);
11207
11208     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11209     VARIANT onunload();
11210
11211     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11212     void onhelp(VARIANT v);
11213
11214     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11215     VARIANT onhelp();
11216
11217     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11218     void onerror(VARIANT v);
11219
11220     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11221     VARIANT onerror();
11222
11223     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11224     void onresize(VARIANT v);
11225
11226     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11227     VARIANT onresize();
11228
11229     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11230     void onscroll(VARIANT v);
11231
11232     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11233     VARIANT onscroll();
11234
11235     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11236     IHTMLDocument2 *document();
11237
11238     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11239     IHTMLEventObj *event();
11240
11241     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11242     IUnknown *_newEnum();
11243
11244     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11245     VARIANT showModalDialog(
11246             [in] BSTR dialog,
11247             [in, optional] VARIANT *varArgIn,
11248             [in, optional] VARIANT *varOptions);
11249
11250     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11251     void showHelp(
11252             [in] BSTR helpURL,
11253             [in, optional] VARIANT helpArg,
11254             [in, defaultvalue("")] BSTR features);
11255
11256     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11257     IHTMLScreen *screen();
11258
11259     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11260     IHTMLOptionElementFactory *Option();
11261
11262     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11263     void focus();
11264
11265     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11266     VARIANT_BOOL closed();
11267
11268     [id(DISPID_IHTMLWINDOW2_BLUR)]
11269     void blur();
11270
11271     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11272     void scroll([in] LONG x, [in] LONG y);
11273
11274     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11275     IOmNavigator *clientInformation();
11276
11277     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11278     void clearInterval([in] LONG timerID);
11279
11280     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11281     void offscreenBuffering(VARIANT v);
11282
11283     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11284     VARIANT offscreenBuffering();
11285
11286     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11287     VARIANT execScript(
11288             [in] BSTR _code,
11289             [in, defaultvalue("JScript")] BSTR language);
11290
11291     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11292     BSTR toString();
11293
11294     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11295     void scrollBy([in] LONG x, [in] LONG y);
11296
11297     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11298     void scrollTo([in] LONG x, [in] LONG y);
11299
11300     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11301     void moveTo([in] LONG x, [in] LONG y);
11302
11303     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11304     void moveBy([in] LONG x, [in] LONG y);
11305
11306     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11307     void resizeTo([in] LONG x, [in] LONG y);
11308
11309     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11310     void resizeBy([in] LONG x, [in] LONG y);
11311
11312     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11313     IDispatch *external();
11314
11315     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11316     LONG screenLeft();
11317
11318     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11319     LONG screenTop();
11320
11321     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11322     VARIANT_BOOL attachEvent(
11323              [in] BSTR event,
11324              [in] IDispatch *pDisp);
11325
11326     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11327     void detachEvent(
11328             [in] BSTR event,
11329             [in] IDispatch *pDisp);
11330
11331     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11332     LONG setTimeout(
11333             [in] VARIANT *expression,
11334             [in] LONG msec,
11335             [in, optional] VARIANT *language);
11336
11337     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11338     LONG setInterval(
11339             [in] VARIANT *expression,
11340             [in] LONG msec,
11341             [in, optional] VARIANT *language);
11342
11343     [id(DISPID_IHTMLWINDOW3_PRINT)]
11344     void print();
11345
11346     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11347     void onbeforeprint(VARIANT v);
11348
11349     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11350     VARIANT onbeforeprint();
11351
11352     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11353     void onafterprint(VARIANT v);
11354
11355     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11356     VARIANT onafterprint();
11357
11358     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11359     IHTMLDataTransfer *clipboardData();
11360
11361     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11362     IHTMLWindow2 *showModelessDialog(
11363             [in, defaultvalue("")] BSTR url,
11364             [in, optional] VARIANT *varArgIn,
11365             [in, optional] VARIANT *options);
11366
11367     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11368     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
11369
11370     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11371     IHTMLFrameBase *frameElement();
11372
11373     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
11374     IHTMLStorage *sessionStorage();
11375
11376     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
11377     IHTMLStorage *localStorage();
11378
11379     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11380     void onhashchange(VARIANT v);
11381
11382     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11383     VARIANT onhashchange();
11384
11385     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
11386     long maxConnectionsPerServer();
11387
11388     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
11389     void postMessage(
11390             [in] BSTR msg,
11391             [in, optional] VARIANT targetOrigin);
11392
11393     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
11394     BSTR toStaticHTML([in] BSTR bstrHTML);
11395
11396     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11397     void onmessage(VARIANT v);
11398
11399     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11400     VARIANT onmessage();
11401
11402     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
11403     void msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
11404
11405     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
11406 }
11407
11408 /*****************************************************************************
11409  *    DispHTMLWindowProxy dispinterface
11410  */
11411 [
11412     hidden,
11413     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
11414 ]
11415 dispinterface DispHTMLWindowProxy
11416 {
11417 properties:
11418 methods:
11419     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11420     VARIANT item([in] VARIANT* pvarIndex);
11421
11422     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11423     LONG length();
11424
11425     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11426     IHTMLFramesCollection2* frames();
11427
11428     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11429     void defaultStatus(BSTR v);
11430
11431     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11432     BSTR defaultStatus();
11433
11434     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11435     void status(BSTR v);
11436
11437     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11438     BSTR status();
11439
11440     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11441     void clearTimeout([in] LONG timerID);
11442
11443     [id(DISPID_IHTMLWINDOW2_ALERT)]
11444     void alert([defaultvalue(""), in] BSTR message);
11445
11446     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11447     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
11448
11449     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11450     VARIANT prompt([defaultvalue(""), in] BSTR message,
11451                    [defaultvalue("undefined"), in] BSTR defstr);
11452
11453     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11454     IHTMLImageElementFactory* Image();
11455
11456     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11457     IHTMLLocation* location();
11458
11459     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11460     IOmHistory* history();
11461
11462     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11463     void close();
11464
11465     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11466     void opener(VARIANT v);
11467
11468     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11469     VARIANT opener();
11470
11471     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11472     IOmNavigator* navigator();
11473
11474     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11475     void name(BSTR v);
11476
11477     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11478     BSTR name();
11479
11480     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11481     IHTMLWindow2* parent();
11482
11483     [id(DISPID_IHTMLWINDOW2_OPEN)]
11484     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
11485                        [defaultvalue(""), in] BSTR name,
11486                        [defaultvalue(""), in] BSTR features,
11487                        [defaultvalue(0), in] VARIANT_BOOL replace);
11488
11489     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11490     IHTMLWindow2* self();
11491
11492     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11493     IHTMLWindow2* top();
11494
11495     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11496     IHTMLWindow2* window();
11497
11498     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11499     void navigate([in] BSTR url);
11500
11501     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11502     void onfocus(VARIANT v);
11503
11504     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11505     VARIANT onfocus();
11506
11507     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11508     void onblur(VARIANT v);
11509
11510     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11511     VARIANT onblur();
11512
11513     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11514     void onload(VARIANT v);
11515
11516     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11517     VARIANT onload();
11518
11519     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11520     void onbeforeunload(VARIANT v);
11521
11522     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11523     VARIANT onbeforeunload();
11524
11525     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11526     void onunload(VARIANT v);
11527
11528     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11529     VARIANT onunload();
11530
11531     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11532     void onhelp(VARIANT v);
11533
11534     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11535     VARIANT onhelp();
11536
11537     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11538     void onerror(VARIANT v);
11539
11540     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11541     VARIANT onerror();
11542
11543     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11544     void onresize(VARIANT v);
11545
11546     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11547     VARIANT onresize();
11548
11549     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11550     void onscroll(VARIANT v);
11551
11552     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11553     VARIANT onscroll();
11554
11555     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11556     IHTMLDocument2* document();
11557
11558     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11559     IHTMLEventObj* event();
11560
11561     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11562     IUnknown* _newEnum();
11563
11564     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11565     VARIANT showModalDialog([in] BSTR dialog,
11566                             [optional, in] VARIANT* varArgIn,
11567                             [optional, in] VARIANT* varOptions);
11568
11569     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11570     void showHelp([in] BSTR helpURL,
11571                   [optional, in] VARIANT helpArg,
11572                   [defaultvalue(""), in] BSTR features);
11573
11574     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11575     IHTMLScreen* screen();
11576
11577     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11578     IHTMLOptionElementFactory* Option();
11579
11580     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11581     void focus();
11582
11583     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11584     VARIANT_BOOL closed();
11585
11586     [id(DISPID_IHTMLWINDOW2_BLUR)]
11587     void blur();
11588
11589     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11590     void scroll([in] LONG x,
11591                 [in] LONG y);
11592
11593     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11594     IOmNavigator* clientInformation();
11595
11596     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11597     void clearInterval([in] LONG timerID);
11598
11599     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11600     void offscreenBuffering(VARIANT v);
11601
11602     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11603     VARIANT offscreenBuffering();
11604
11605     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11606     VARIANT execScript([in] BSTR code,
11607                        [defaultvalue("JScript"), in] BSTR language);
11608
11609     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11610     BSTR toString();
11611
11612     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11613     void scrollBy([in] LONG x,
11614                   [in] LONG y);
11615
11616     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11617     void scrollTo([in] LONG x,
11618                   [in] LONG y);
11619
11620     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11621     void moveTo([in] LONG x,
11622                 [in] LONG y);
11623
11624     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11625     void moveBy([in] LONG x,
11626                 [in] LONG y);
11627
11628     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11629     void resizeTo([in] LONG x,
11630                   [in] LONG y);
11631
11632     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11633     void resizeBy([in] LONG x,
11634                   [in] LONG y);
11635
11636     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11637     IDispatch* external();
11638
11639     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11640     LONG screenLeft();
11641
11642     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11643     LONG screenTop();
11644
11645     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11646     VARIANT_BOOL attachEvent([in] BSTR event,
11647                              [in] IDispatch* pDisp);
11648
11649     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11650     void detachEvent([in] BSTR event,
11651                      [in] IDispatch* pDisp);
11652
11653     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11654     LONG setTimeout([in] VARIANT* expression,
11655                     [in] LONG msec,
11656                     [optional, in] VARIANT* language);
11657
11658     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11659     LONG setInterval([in] VARIANT* expression,
11660                      [in] LONG msec,
11661                      [optional, in] VARIANT* language);
11662
11663     [id(DISPID_IHTMLWINDOW3_PRINT)]
11664     void print();
11665
11666     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11667     void onbeforeprint(VARIANT v);
11668
11669     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11670     VARIANT onbeforeprint();
11671
11672     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11673     void onafterprint(VARIANT v);
11674
11675     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11676     VARIANT onafterprint();
11677
11678     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11679     IHTMLDataTransfer* clipboardData();
11680
11681     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11682     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
11683                                      [optional, in] VARIANT* varArgIn,
11684                                      [optional, in] VARIANT* options);
11685
11686     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11687     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
11688
11689     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11690     IHTMLFrameBase* frameElement();
11691
11692     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11693     void XMLHttpRequest(VARIANT v);
11694
11695     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
11696     VARIANT XMLHttpRequest();
11697
11698     [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)]
11699     IHTMLStorage *sessionStorage();
11700
11701     [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)]
11702     IHTMLStorage *localStorage();
11703
11704     [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11705     void onhashchange(VARIANT v);
11706
11707     [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable]
11708     VARIANT onhashchange();
11709
11710     [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)]
11711     long maxConnectionsPerServer();
11712
11713     [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)]
11714     void postMessage(
11715             [in] BSTR msg,
11716             [in, optional] VARIANT targetOrigin);
11717
11718     [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)]
11719     BSTR toStaticHTML([in] BSTR bstrHTML);
11720
11721     [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11722     void onmessage(VARIANT v);
11723
11724     [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable]
11725     VARIANT onmessage();
11726
11727     [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)]
11728     void msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
11729
11730     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
11731 }
11732
11733 /*****************************************************************************
11734  *    HTMLWindowEvents interface
11735  */
11736 [
11737     hidden,
11738     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
11739 ]
11740 dispinterface HTMLWindowEvents
11741 {
11742 properties:
11743 methods:
11744     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
11745     void onload();
11746
11747     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
11748     void onunload();
11749
11750     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
11751     VARIANT_BOOL onhelp();
11752
11753     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
11754     void onfocus();
11755
11756     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
11757     void onblur();
11758
11759     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
11760     void onerror([in] BSTR description,
11761                  [in] BSTR url,
11762                  [in] LONG line);
11763
11764     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
11765     void onresize();
11766
11767     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
11768     void onscroll();
11769
11770     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
11771     void onbeforeunload();
11772
11773     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
11774     void onbeforeprint();
11775
11776     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
11777     void onafterprint();
11778 }
11779
11780 /*****************************************************************************
11781  *    HTMLWindowEvents2 interface
11782  */
11783 [
11784     hidden,
11785     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
11786 ]
11787 dispinterface HTMLWindowEvents2
11788 {
11789 properties:
11790 methods:
11791     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
11792     void onload([in] IHTMLEventObj* pEvtObj);
11793
11794     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
11795     void onunload([in] IHTMLEventObj* pEvtObj);
11796
11797     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
11798     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
11799
11800     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
11801     void onfocus([in] IHTMLEventObj* pEvtObj);
11802
11803     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
11804     void onblur([in] IHTMLEventObj* pEvtObj);
11805
11806     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
11807     void onerror([in] BSTR description,
11808                  [in] BSTR url,
11809                  [in] LONG line);
11810
11811     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
11812     void onresize([in] IHTMLEventObj* pEvtObj);
11813
11814     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
11815     void onscroll([in] IHTMLEventObj* pEvtObj);
11816
11817     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
11818     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
11819
11820     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
11821     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
11822
11823     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
11824     void onafterprint([in] IHTMLEventObj* pEvtObj);
11825 }
11826
11827 /*****************************************************************************
11828  *    HTMLWindowProxy class
11829  */
11830 [
11831     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
11832 ]
11833 coclass HTMLWindowProxy
11834 {
11835     [default]           dispinterface DispHTMLWindowProxy;
11836     [source, default]   dispinterface HTMLWindowEvents;
11837     [source]            dispinterface HTMLWindowEvents2;
11838                         interface IHTMLWindow2;
11839                         interface IHTMLWindow3;
11840                         interface IHTMLWindow4;
11841                         interface IHTMLWindow5;
11842 }
11843
11844 /*****************************************************************************
11845  *    HTMLDocumentEvents2 interface
11846  */
11847 [
11848     hidden,
11849     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
11850 ]
11851 dispinterface HTMLDocumentEvents2
11852 {
11853     properties:
11854     methods:
11855     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
11856     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
11857
11858     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
11859     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
11860
11861     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
11862     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
11863
11864     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
11865     void onkeydown([in] IHTMLEventObj *pEvtObj);
11866
11867     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
11868     void onkeyup([in] IHTMLEventObj *pEvtObj);
11869
11870     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
11871     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
11872
11873     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
11874     void onmousedown([in] IHTMLEventObj *pEvtObj);
11875
11876     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
11877     void onmousemove([in] IHTMLEventObj *pEvtObj);
11878
11879     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
11880     void onmouseup([in] IHTMLEventObj *pEvtObj);
11881
11882     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
11883     void onmouseout([in] IHTMLEventObj *pEvtObj);
11884
11885     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
11886     void onmouseover([in] IHTMLEventObj *pEvtObj);
11887
11888     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
11889     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
11890
11891     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
11892     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
11893
11894     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
11895     void onafterupdate([in] IHTMLEventObj *pEvtObj);
11896
11897     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
11898     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
11899
11900     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
11901     void onrowenter([in] IHTMLEventObj *pEvtObj);
11902
11903     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
11904     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
11905
11906     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
11907     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
11908
11909     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
11910     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
11911
11912     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
11913     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
11914
11915     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
11916     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
11917
11918     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
11919     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
11920
11921     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
11922     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
11923
11924     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
11925     void oncellchange([in] IHTMLEventObj *pEvtObj);
11926
11927     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
11928     void onpropertychange([in] IHTMLEventObj *pEvtObj);
11929
11930     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
11931     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
11932
11933     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
11934     void ondataavailable([in] IHTMLEventObj *pEvtObj);
11935
11936     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
11937     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
11938
11939     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
11940     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
11941
11942     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
11943     void onselectionchange([in] IHTMLEventObj *pEvtObj);
11944
11945     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
11946     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
11947
11948     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
11949     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
11950
11951     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
11952     void onfocusin([in] IHTMLEventObj *pEvtObj);
11953
11954     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
11955     void onfocusout([in] IHTMLEventObj *pEvtObj);
11956
11957     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
11958     void onactivate([in] IHTMLEventObj *pEvtObj);
11959
11960     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
11961     void ondeactivate([in] IHTMLEventObj *pEvtObj);
11962
11963     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
11964     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
11965
11966     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
11967     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
11968 }
11969
11970 /*****************************************************************************
11971  *    HTMLDocumentEvents interface
11972  */
11973 [
11974     hidden,
11975     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
11976 ]
11977 dispinterface HTMLDocumentEvents
11978 {
11979     properties:
11980     methods:
11981     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
11982     VARIANT_BOOL onhelp();
11983
11984     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
11985     VARIANT_BOOL onclick();
11986
11987     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
11988     VARIANT_BOOL ondblclick();
11989
11990     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
11991     void onkeydown();
11992
11993     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
11994     void onkeyup();
11995
11996     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
11997     VARIANT_BOOL onkeypress();
11998
11999     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
12000     void onmousedown();
12001
12002     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
12003     void onmousemove();
12004
12005     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
12006     void onmouseup();
12007
12008     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
12009     void onmouseout();
12010
12011     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
12012     void onmouseover();
12013
12014     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
12015     void onreadystatechange();
12016
12017     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
12018     VARIANT_BOOL onbeforeupdate();
12019
12020     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
12021     void onafterupdate();
12022
12023     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
12024     VARIANT_BOOL onrowexit();
12025
12026     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
12027     void onrowenter();
12028
12029     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
12030     VARIANT_BOOL ondragstart();
12031
12032     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
12033     VARIANT_BOOL onselectstart();
12034
12035     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
12036     VARIANT_BOOL onerrorupdate();
12037
12038     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
12039     VARIANT_BOOL oncontextmenu();
12040
12041     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
12042     VARIANT_BOOL onstop();
12043
12044     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
12045     void onrowsdelete();
12046
12047     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
12048     void onrowsinserted();
12049
12050     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
12051     void oncellchange();
12052
12053     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
12054     void onpropertychange();
12055
12056     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
12057     void ondatasetchanged();
12058
12059     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
12060     void ondataavailable();
12061
12062     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
12063     void ondatasetcomplete();
12064
12065     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
12066     void onbeforeeditfocus();
12067
12068     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
12069     void onselectionchange();
12070
12071     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
12072     VARIANT_BOOL oncontrolselect();
12073
12074     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
12075     VARIANT_BOOL onmousewheel();
12076
12077     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
12078     void onfocusin();
12079
12080     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
12081     void onfocusout();
12082
12083     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
12084     void onactivate();
12085
12086     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
12087     void ondeactivate();
12088
12089     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
12090     VARIANT_BOOL onbeforeactivate();
12091
12092     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
12093     VARIANT_BOOL onbeforedeactivate();
12094 }
12095
12096 /*****************************************************************************
12097  *    HTMLTextContainerEvents interface
12098  */
12099 [
12100     hidden,
12101     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
12102 ]
12103 dispinterface HTMLTextContainerEvents
12104 {
12105 properties:
12106
12107 methods:
12108     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
12109     VARIANT_BOOL onhelp();
12110
12111     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
12112     VARIANT_BOOL onclick();
12113
12114     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
12115     VARIANT_BOOL ondblclick();
12116
12117     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
12118     VARIANT_BOOL onkeypress();
12119
12120     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
12121     void onkeydown();
12122
12123     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
12124     void onkeyup();
12125
12126     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
12127     void onmouseout();
12128
12129     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
12130     void onmouseover();
12131
12132     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
12133     void onmousemove();
12134
12135     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
12136     void onmousedown();
12137
12138     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
12139     void onmouseup();
12140
12141     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
12142     VARIANT_BOOL onselectstart();
12143
12144     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
12145     void onfilterchange();
12146
12147     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
12148     VARIANT_BOOL ondragstart();
12149
12150     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
12151     VARIANT_BOOL onbeforeupdate();
12152
12153     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
12154     void onafterupdate();
12155
12156     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
12157     VARIANT_BOOL onerrorupdate();
12158
12159     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
12160     VARIANT_BOOL onrowexit();
12161
12162     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
12163     void onrowenter();
12164
12165     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
12166     void ondatasetchanged();
12167
12168     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
12169     void ondataavailable();
12170
12171     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
12172     void ondatasetcomplete();
12173
12174     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
12175     void onlosecapture();
12176
12177     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
12178     void onpropertychange();
12179
12180     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
12181     void onscroll();
12182
12183     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
12184     void onfocus();
12185
12186     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
12187     void onblur();
12188
12189     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
12190     void onresize();
12191
12192     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
12193     VARIANT_BOOL ondrag();
12194
12195     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
12196     void ondragend();
12197
12198     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
12199     VARIANT_BOOL ondragenter();
12200
12201     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
12202     VARIANT_BOOL ondragover();
12203
12204     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
12205     void ondragleave();
12206
12207     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
12208     VARIANT_BOOL ondrop();
12209
12210     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
12211     VARIANT_BOOL onbeforecut();
12212
12213     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
12214     VARIANT_BOOL oncut();
12215
12216     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
12217     VARIANT_BOOL onbeforecopy();
12218
12219     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
12220     VARIANT_BOOL oncopy();
12221
12222     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
12223     VARIANT_BOOL onbeforepaste();
12224
12225     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
12226     VARIANT_BOOL onpaste();
12227
12228     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
12229     VARIANT_BOOL oncontextmenu();
12230
12231     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
12232     void onrowsdelete();
12233
12234     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
12235     void onrowsinserted();
12236
12237     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
12238     void oncellchange();
12239
12240     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
12241     void onreadystatechange();
12242
12243     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
12244     void onbeforeeditfocus();
12245
12246     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
12247     void onlayoutcomplete();
12248
12249     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
12250     void onpage();
12251
12252     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
12253     VARIANT_BOOL onbeforedeactivate();
12254
12255     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
12256     VARIANT_BOOL onbeforeactivate();
12257
12258     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
12259     void onmove();
12260
12261     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
12262     VARIANT_BOOL oncontrolselect();
12263
12264     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
12265     VARIANT_BOOL onmovestart();
12266
12267     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
12268     void onmoveend();
12269
12270     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
12271     VARIANT_BOOL onresizestart();
12272
12273     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
12274     void onresizeend();
12275
12276     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
12277     void onmouseenter();
12278
12279     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
12280     void onmouseleave();
12281
12282     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
12283     VARIANT_BOOL onmousewheel();
12284
12285     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
12286     void onactivate();
12287
12288     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
12289     void ondeactivate();
12290
12291     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
12292     void onfocusin();
12293
12294     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
12295     void onfocusout();
12296
12297     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
12298     void onchange();
12299
12300     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
12301     void onselect();
12302 }
12303
12304 /*****************************************************************************
12305  *    HTMLTextContainerEvents2 interface
12306  */
12307 [
12308     hidden,
12309     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
12310 ]
12311 dispinterface HTMLTextContainerEvents2
12312 {
12313 properties:
12314 methods:
12315     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
12316     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
12317
12318     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
12319     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
12320
12321     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
12322     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
12323
12324     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
12325     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
12326
12327     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
12328     void onkeydown([in] IHTMLEventObj* pEvtObj);
12329
12330     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
12331     void onkeyup([in] IHTMLEventObj* pEvtObj);
12332
12333     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
12334     void onmouseout([in] IHTMLEventObj* pEvtObj);
12335
12336     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
12337     void onmouseover([in] IHTMLEventObj* pEvtObj);
12338
12339     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
12340     void onmousemove([in] IHTMLEventObj* pEvtObj);
12341
12342     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
12343     void onmousedown([in] IHTMLEventObj* pEvtObj);
12344
12345     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
12346     void onmouseup([in] IHTMLEventObj* pEvtObj);
12347
12348     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
12349     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
12350
12351     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
12352     void onfilterchange([in] IHTMLEventObj* pEvtObj);
12353
12354     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
12355     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
12356
12357     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
12358     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
12359
12360     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
12361     void onafterupdate([in] IHTMLEventObj* pEvtObj);
12362
12363     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
12364     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
12365
12366     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
12367     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
12368
12369     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
12370     void onrowenter([in] IHTMLEventObj* pEvtObj);
12371
12372     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
12373     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
12374
12375     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
12376     void ondataavailable([in] IHTMLEventObj* pEvtObj);
12377
12378     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
12379     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
12380
12381     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
12382     void onlosecapture([in] IHTMLEventObj* pEvtObj);
12383
12384     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
12385     void onpropertychange([in] IHTMLEventObj* pEvtObj);
12386
12387     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
12388     void onscroll([in] IHTMLEventObj* pEvtObj);
12389
12390     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
12391     void onfocus([in] IHTMLEventObj* pEvtObj);
12392
12393     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
12394     void onblur([in] IHTMLEventObj* pEvtObj);
12395
12396     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
12397     void onresize([in] IHTMLEventObj* pEvtObj);
12398
12399     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
12400     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
12401
12402     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
12403     void ondragend([in] IHTMLEventObj* pEvtObj);
12404
12405     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
12406     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
12407
12408     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
12409     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
12410
12411     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
12412     void ondragleave([in] IHTMLEventObj* pEvtObj);
12413
12414     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
12415     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
12416
12417     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
12418     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
12419
12420     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
12421     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
12422
12423     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
12424     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
12425
12426     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
12427     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
12428
12429     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
12430     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
12431
12432     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
12433     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
12434
12435     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
12436     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
12437
12438     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
12439     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
12440
12441     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
12442     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
12443
12444     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
12445     void oncellchange([in] IHTMLEventObj* pEvtObj);
12446
12447     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
12448     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
12449
12450     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
12451     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
12452
12453     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
12454     void onpage([in] IHTMLEventObj* pEvtObj);
12455
12456     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
12457     void onmouseenter([in] IHTMLEventObj* pEvtObj);
12458
12459     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
12460     void onmouseleave([in] IHTMLEventObj* pEvtObj);
12461
12462     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
12463     void onactivate([in] IHTMLEventObj* pEvtObj);
12464
12465     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
12466     void ondeactivate([in] IHTMLEventObj* pEvtObj);
12467
12468     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
12469     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
12470
12471     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
12472     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
12473
12474     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
12475     void onfocusin([in] IHTMLEventObj* pEvtObj);
12476
12477     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
12478     void onfocusout([in] IHTMLEventObj* pEvtObj);
12479
12480     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
12481     void onmove([in] IHTMLEventObj* pEvtObj);
12482
12483     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
12484     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
12485
12486     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
12487     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
12488
12489     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
12490     void onmoveend([in] IHTMLEventObj* pEvtObj);
12491
12492     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
12493     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
12494
12495     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
12496     void onresizeend([in] IHTMLEventObj* pEvtObj);
12497
12498     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
12499     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
12500
12501     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
12502     void onchange([in] IHTMLEventObj* pEvtObj);
12503
12504     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
12505     void onselect([in] IHTMLEventObj* pEvtObj);
12506 }
12507
12508 /*****************************************************************************
12509  *    IHTMLDocument interface
12510  */
12511 [
12512     odl,
12513     oleautomation,
12514     dual,
12515     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
12516 ]
12517 interface IHTMLDocument : IDispatch
12518 {
12519     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
12520     HRESULT Script([retval, out] IDispatch **p);
12521 }
12522
12523 /*****************************************************************************
12524  *    IHTMLDocument2 interface
12525  */
12526 [
12527     odl,
12528     oleautomation,
12529     dual,
12530     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
12531 ]
12532 interface IHTMLDocument2 : IHTMLDocument
12533 {
12534     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
12535     HRESULT all([retval, out] IHTMLElementCollection **p);
12536
12537     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
12538     HRESULT body([retval, out] IHTMLElement **p);
12539
12540     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
12541     HRESULT activeElement([retval, out] IHTMLElement **p);
12542
12543     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
12544     HRESULT images([retval, out] IHTMLElementCollection **p);
12545
12546     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
12547     HRESULT applets([retval, out] IHTMLElementCollection **p);
12548
12549     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
12550     HRESULT links([retval, out] IHTMLElementCollection **p);
12551
12552     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
12553     HRESULT forms([retval, out] IHTMLElementCollection **p);
12554
12555     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
12556     HRESULT anchors([retval, out] IHTMLElementCollection **p);
12557
12558     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12559     HRESULT title([in] BSTR v);
12560
12561     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12562     HRESULT title([retval, out] BSTR *p);
12563
12564     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
12565     HRESULT scripts([retval, out] IHTMLElementCollection **p);
12566
12567     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
12568     HRESULT designMode([in] BSTR v);
12569
12570     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
12571     HRESULT designMode([retval, out] BSTR *p);
12572
12573     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
12574     HRESULT selection([retval, out] IHTMLSelectionObject **p);
12575
12576     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
12577      HRESULT readyState([retval, out] BSTR *p);
12578
12579     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
12580     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
12581
12582     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
12583     HRESULT embeds([retval, out] IHTMLElementCollection **p);
12584
12585     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
12586     HRESULT plugins([retval, out] IHTMLElementCollection **p);
12587
12588     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12589     HRESULT alinkColor([in] VARIANT v);
12590
12591     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12592     HRESULT alinkColor([retval, out] VARIANT *p);
12593
12594     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12595     HRESULT bgColor([in] VARIANT v);
12596
12597     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12598     HRESULT bgColor([retval, out] VARIANT *p);
12599
12600     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12601     HRESULT fgColor([in] VARIANT v);
12602
12603     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12604     HRESULT fgColor([retval, out] VARIANT *p);
12605
12606     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12607     HRESULT linkColor([in] VARIANT v);
12608
12609     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12610     HRESULT linkColor([retval, out] VARIANT *p);
12611
12612     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12613     HRESULT vlinkColor([in] VARIANT v);
12614
12615     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12616     HRESULT vlinkColor([retval, out] VARIANT *p);
12617
12618     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
12619     HRESULT referrer([retval, out] BSTR *p);
12620
12621     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
12622     HRESULT location([retval, out] IHTMLLocation **p);
12623
12624     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
12625     HRESULT lastModified([retval, out] BSTR *p);
12626
12627     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
12628     HRESULT URL([in] BSTR v);
12629
12630     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
12631     HRESULT URL([retval, out] BSTR *p);
12632
12633     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12634     HRESULT domain([in] BSTR v);
12635
12636     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12637     HRESULT domain([retval, out] BSTR *p);
12638
12639     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12640     HRESULT cookie([in] BSTR v);
12641
12642     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12643     HRESULT cookie([retval, out] BSTR *p);
12644
12645     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12646     HRESULT expando([in] VARIANT_BOOL v);
12647
12648     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12649     HRESULT expando([retval, out] VARIANT_BOOL *p);
12650
12651     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12652      HRESULT charset([in] BSTR v);
12653
12654     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12655     HRESULT charset([retval, out] BSTR *p);
12656
12657     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12658     HRESULT defaultCharset([in] BSTR v);
12659
12660     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12661     HRESULT defaultCharset([retval, out] BSTR *p);
12662
12663     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
12664     HRESULT mimeType([retval, out] BSTR *p);
12665
12666     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
12667     HRESULT fileSize([retval, out] BSTR *p);
12668
12669     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
12670     HRESULT fileCreatedDate([retval, out] BSTR *p);
12671
12672     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
12673     HRESULT fileModifiedDate([retval, out] BSTR *p);
12674
12675     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
12676     HRESULT fileUpdatedDate([retval, out] BSTR *p);
12677
12678     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
12679     HRESULT security([retval, out] BSTR *p);
12680
12681     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
12682     HRESULT protocol([retval, out] BSTR *p);
12683
12684     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
12685      HRESULT nameProp([retval, out] BSTR *p);
12686
12687     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
12688     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
12689
12690     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
12691     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
12692
12693     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
12694     HRESULT open(
12695         [defaultvalue("text/html"), in] BSTR url,
12696         [optional, in] VARIANT name,
12697         [optional, in] VARIANT features,
12698         [optional, in] VARIANT replace,
12699         [retval, out]  IDispatch **pomWindowResult);
12700
12701     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
12702     HRESULT close();
12703
12704     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
12705     HRESULT clear();
12706
12707     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
12708     HRESULT queryCommandSupported(
12709         [in] BSTR cmdID,
12710         [retval, out] VARIANT_BOOL *pfRet);
12711
12712     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
12713     HRESULT queryCommandEnabled(
12714         [in] BSTR cmdID,
12715         [retval, out] VARIANT_BOOL *pfRet);
12716
12717     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
12718     HRESULT queryCommandState(
12719         [in] BSTR cmdID,
12720         [retval, out] VARIANT_BOOL *pfRet);
12721
12722     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
12723     HRESULT queryCommandIndeterm(
12724         [in] BSTR cmdID,
12725         [retval, out] VARIANT_BOOL *pfRet);
12726
12727     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
12728     HRESULT queryCommandText(
12729         [in] BSTR cmdID,
12730         [retval, out] BSTR *pcmdText);
12731
12732     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
12733     HRESULT queryCommandValue(
12734         [in] BSTR cmdID,
12735         [retval, out] VARIANT *pcmdValue);
12736
12737     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
12738     HRESULT execCommand(
12739         [in] BSTR cmdID,
12740         [defaultvalue(0), in] VARIANT_BOOL showUI,
12741         [optional, in] VARIANT value,
12742         [retval, out] VARIANT_BOOL *pfRet);
12743
12744     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12745     HRESULT execCommandShowHelp(
12746         [in] BSTR cmdID,
12747         [retval, out] VARIANT_BOOL *pfRet);
12748
12749     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12750      HRESULT createElement(
12751         [in] BSTR eTag,
12752         [retval, out] IHTMLElement **newElem);
12753
12754     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12755     HRESULT onhelp([in] VARIANT v);
12756
12757     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12758     HRESULT onhelp([retval, out] VARIANT *p);
12759
12760     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12761     HRESULT onclick([in] VARIANT v);
12762
12763     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12764     HRESULT onclick([retval, out] VARIANT *p);
12765
12766     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12767     HRESULT ondblclick([in] VARIANT v);
12768
12769     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12770     HRESULT ondblclick([retval, out] VARIANT *p);
12771
12772     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12773     HRESULT onkeyup([in] VARIANT v);
12774
12775     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12776     HRESULT onkeyup([retval, out] VARIANT *p);
12777
12778     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12779     HRESULT onkeydown([in] VARIANT v);
12780
12781     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12782     HRESULT onkeydown([retval, out] VARIANT *p);
12783
12784     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12785      HRESULT onkeypress([in] VARIANT v);
12786
12787     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12788     HRESULT onkeypress([retval, out] VARIANT *p);
12789
12790     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12791     HRESULT onmouseup([in] VARIANT v);
12792
12793     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12794     HRESULT onmouseup([retval, out] VARIANT *p);
12795
12796     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12797     HRESULT onmousedown([in] VARIANT v);
12798
12799     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12800     HRESULT onmousedown([retval, out] VARIANT *p);
12801
12802     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12803     HRESULT onmousemove([in] VARIANT v);
12804
12805     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12806     HRESULT onmousemove([retval, out] VARIANT *p);
12807
12808     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12809     HRESULT onmouseout([in] VARIANT v);
12810
12811     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12812     HRESULT onmouseout([retval, out] VARIANT *p);
12813
12814     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12815     HRESULT onmouseover([in] VARIANT v);
12816
12817     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12818     HRESULT onmouseover([retval, out] VARIANT *p);
12819
12820     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12821     HRESULT onreadystatechange([in] VARIANT v);
12822
12823     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12824     HRESULT onreadystatechange([retval, out] VARIANT *p);
12825
12826     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12827     HRESULT onafterupdate([in] VARIANT v);
12828
12829     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12830     HRESULT onafterupdate([retval, out] VARIANT *p);
12831
12832     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12833     HRESULT onrowexit([in] VARIANT v);
12834
12835     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12836     HRESULT onrowexit([retval, out] VARIANT *p);
12837
12838     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12839     HRESULT onrowenter([in] VARIANT v);
12840
12841     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12842     HRESULT onrowenter([retval, out] VARIANT *p);
12843
12844     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12845     HRESULT ondragstart([in] VARIANT v);
12846
12847     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12848     HRESULT ondragstart([retval, out] VARIANT *p);
12849
12850     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12851     HRESULT onselectstart([in] VARIANT v);
12852
12853     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12854     HRESULT onselectstart([retval, out] VARIANT *p);
12855
12856     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12857     HRESULT elementFromPoint(
12858         [in] LONG x,
12859         [in] LONG y,
12860         [retval, out] IHTMLElement **elementHit);
12861
12862     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12863     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
12864
12865     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12866     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
12867
12868     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12869     HRESULT onbeforeupdate([in] VARIANT v);
12870
12871     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12872     HRESULT onbeforeupdate([retval, out] VARIANT *p);
12873
12874     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12875     HRESULT onerrorupdate([in] VARIANT v);
12876
12877     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12878     HRESULT onerrorupdate([retval, out] VARIANT *p);
12879
12880     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12881     HRESULT toString([retval, out] BSTR *String);
12882
12883     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12884     HRESULT createStyleSheet(
12885         [defaultvalue(""), in] BSTR bstrHref,
12886         [defaultvalue(-1), in] LONG lIndex,
12887         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
12888 }
12889
12890 /*****************************************************************************
12891  *    IHTMLDocument3 interface
12892  */
12893 [
12894     odl,
12895     oleautomation,
12896     dual,
12897     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
12898 ]
12899 interface IHTMLDocument3 : IDispatch
12900 {
12901     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12902     HRESULT releaseCapture();
12903
12904     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12905     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12906
12907     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12908     HRESULT createTextNode(
12909         [in] BSTR text,
12910         [retval, out] IHTMLDOMNode **newTextNode);
12911
12912     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12913     HRESULT documentElement([retval, out] IHTMLElement **p);
12914
12915     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12916     HRESULT uniqueID([retval, out] BSTR *p);
12917
12918     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12919     HRESULT attachEvent(
12920         [in] BSTR event,
12921         [in] IDispatch* pDisp,
12922         [retval, out] VARIANT_BOOL *pfResult);
12923
12924     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12925     HRESULT detachEvent(
12926         [in] BSTR event,
12927         [in] IDispatch *pDisp);
12928
12929     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12930     HRESULT onrowsdelete([in] VARIANT v);
12931
12932     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12933     HRESULT onrowsdelete([retval, out] VARIANT *p);
12934
12935     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12936     HRESULT onrowsinserted([in] VARIANT v);
12937
12938     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12939     HRESULT onrowsinserted([retval, out] VARIANT *p);
12940
12941     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12942     HRESULT oncellchange([in] VARIANT v);
12943
12944     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12945     HRESULT oncellchange([retval, out] VARIANT *p);
12946
12947     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12948     HRESULT ondatasetchanged([in] VARIANT v);
12949
12950     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12951     HRESULT ondatasetchanged([retval, out] VARIANT *p);
12952
12953     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12954     HRESULT ondataavailable([in] VARIANT v);
12955
12956     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12957     HRESULT ondataavailable([retval, out] VARIANT * p);
12958
12959     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12960     HRESULT ondatasetcomplete([in] VARIANT v);
12961
12962     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12963     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
12964
12965     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12966     HRESULT onpropertychange([in] VARIANT v);
12967
12968     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12969     HRESULT onpropertychange([retval, out] VARIANT *p);
12970
12971     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
12972     HRESULT dir([in] BSTR v);
12973
12974     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
12975     HRESULT dir([retval, out] BSTR *p);
12976
12977     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12978     HRESULT oncontextmenu([in] VARIANT v);
12979
12980     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12981     HRESULT oncontextmenu([retval, out] VARIANT *p);
12982
12983     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12984     HRESULT onstop([in] VARIANT v);
12985
12986     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12987     HRESULT onstop([retval, out] VARIANT *p);
12988
12989     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
12990     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
12991
12992     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
12993     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
12994
12995     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12996     HRESULT enableDownload([in] VARIANT_BOOL v);
12997
12998     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12999     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
13000
13001     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13002     HRESULT baseUrl([in] BSTR v);
13003
13004     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13005     HRESULT baseUrl([retval, out] BSTR *p);
13006
13007     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
13008     HRESULT childNodes([retval, out] IDispatch **p);
13009
13010     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13011     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
13012
13013     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13014     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
13015
13016     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13017     HRESULT onbeforeeditfocus([in] VARIANT v);
13018
13019     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13020     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
13021
13022     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
13023     HRESULT getElementsByName(
13024         [in] BSTR v,
13025         [retval, out] IHTMLElementCollection **pelColl);
13026
13027     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
13028     HRESULT getElementById(
13029         [in] BSTR v,
13030         [retval, out] IHTMLElement **pel);
13031
13032     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
13033     HRESULT getElementsByTagName(
13034         [in] BSTR v,
13035         [retval, out] IHTMLElementCollection **pelColl);
13036 }
13037
13038 /*****************************************************************************
13039  *    IHTMLDocument4 interface
13040  */
13041 [
13042     odl,
13043     oleautomation,
13044     dual,
13045     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
13046 ]
13047 interface IHTMLDocument4 : IDispatch
13048 {
13049     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
13050     HRESULT focus();
13051
13052     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
13053     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
13054
13055     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13056     HRESULT onselectionchange([in] VARIANT v);
13057
13058     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13059     HRESULT onselectionchange([retval, out] VARIANT *p);
13060
13061     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
13062     HRESULT namespaces([retval, out] IDispatch **p);
13063
13064     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
13065     HRESULT createDocumentFromUrl(
13066         [in] BSTR bstrUrl,
13067         [in] BSTR bstrOptions,
13068         [retval, out] IHTMLDocument2 **newDoc);
13069
13070     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13071     HRESULT media([in] BSTR v);
13072
13073     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13074     HRESULT media([retval, out] BSTR *p);
13075
13076     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
13077     HRESULT createEventObject(
13078         [optional, in] VARIANT *pvarEventObject,
13079         [retval, out] IHTMLEventObj **ppEventObj);
13080
13081     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
13082     HRESULT fireEvent(
13083         [in] BSTR bstrEventName,
13084         [optional, in] VARIANT *pvarEventObject,
13085         [retval, out] VARIANT_BOOL *pfCancelled);
13086
13087     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
13088     HRESULT createRenderStyle(
13089         [in] BSTR v,
13090         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
13091
13092     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13093     HRESULT oncontrolselect([in] VARIANT v);
13094
13095     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13096     HRESULT oncontrolselect([retval, out] VARIANT *p);
13097
13098     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
13099     HRESULT URLUnencoded([retval, out] BSTR *p);
13100 }
13101
13102 /*****************************************************************************
13103  *    IHTMLDocument5 interface
13104  */
13105 [
13106     odl,
13107     oleautomation,
13108     dual,
13109     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
13110 ]
13111 interface IHTMLDocument5 : IDispatch
13112 {
13113     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13114     HRESULT onmousewheel([in] VARIANT v);
13115
13116     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13117     HRESULT onmousewheel([retval, out] VARIANT *p);
13118
13119     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
13120     HRESULT doctype([retval, out] IHTMLDOMNode **p);
13121
13122     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13123     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
13124
13125     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13126     HRESULT createAttribute(
13127         [in] BSTR bstrattrName,
13128         [retval, out] IHTMLDOMAttribute **ppattribute);
13129
13130     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13131     HRESULT createComment(
13132         [in] BSTR bstrdata,
13133         [retval, out] IHTMLDOMNode **ppRetNode);
13134
13135     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13136     HRESULT onfocusin([in] VARIANT v);
13137
13138     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13139     HRESULT onfocusin([retval, out] VARIANT *p);
13140
13141     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13142     HRESULT onfocusout([in] VARIANT v);
13143
13144     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13145     HRESULT onfocusout([retval, out] VARIANT *p);
13146
13147     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13148     HRESULT onactivate([in] VARIANT v);
13149
13150     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13151     HRESULT onactivate([retval, out] VARIANT *p);
13152
13153     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13154     HRESULT ondeactivate([in] VARIANT v);
13155
13156     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13157     HRESULT ondeactivate([retval, out] VARIANT *p);
13158
13159     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13160     HRESULT onbeforeactivate([in] VARIANT v);
13161
13162     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13163     HRESULT onbeforeactivate([retval, out] VARIANT *p);
13164
13165     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13166     HRESULT onbeforedeactivate([in] VARIANT v);
13167
13168     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13169     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
13170
13171     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
13172     HRESULT compatMode([retval, out] BSTR *p);
13173 }
13174
13175 /*****************************************************************************
13176  *    IHTMLDocument6 interface
13177  */
13178 [
13179     odl,
13180     oleautomation,
13181     dual,
13182     uuid(30510417-98b5-11cf-bb82-00aa00bdce0b)
13183 ]
13184 interface IHTMLDocument6 : IDispatch
13185 {
13186     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
13187     HRESULT compatible([retval, out] IHTMLDocumentCompatibleInfoCollection **p);
13188
13189     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
13190     HRESULT documentMode([retval, out] VARIANT *p);
13191
13192     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13193     HRESULT onstorage([in] VARIANT v);
13194
13195     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13196     HRESULT onstorage([out] VARIANT *p);
13197
13198     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13199     HRESULT onstoragecommit([in] VARIANT v);
13200
13201     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13202     HRESULT onstoragecommit([out] VARIANT *p);
13203
13204     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
13205     HRESULT getElementById(
13206         [in] BSTR bstrId,
13207         [retval, out] IHTMLElement2 **p);
13208
13209     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
13210     HRESULT updateSettings();
13211 }
13212
13213 /*****************************************************************************
13214  *    DispHTMLDocument dispinterface
13215  */
13216 [
13217     hidden,
13218     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
13219 ]
13220 dispinterface DispHTMLDocument
13221 {
13222 properties:
13223 methods:
13224     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
13225     IDispatch *Script();
13226
13227     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
13228     IHTMLElementCollection *all();
13229
13230     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
13231     IHTMLElement *body();
13232
13233     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
13234     IHTMLElement *activeElement();
13235
13236     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
13237     IHTMLElementCollection *images();
13238
13239     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
13240     IHTMLElementCollection *applets();
13241
13242     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
13243     IHTMLElementCollection *links();
13244
13245     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
13246     IHTMLElementCollection *forms();
13247
13248     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
13249     IHTMLElementCollection *anchors();
13250
13251     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13252     void title(BSTR v);
13253
13254     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
13255     BSTR title();
13256
13257     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
13258     IHTMLElementCollection *scripts();
13259
13260     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
13261     void designMode(BSTR v);
13262
13263     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
13264     BSTR designMode();
13265
13266     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
13267     IHTMLSelectionObject *selection();
13268
13269     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
13270     BSTR readyState();
13271
13272     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
13273     IHTMLFramesCollection2 *frames();
13274
13275     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
13276     IHTMLElementCollection *embeds();
13277
13278     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
13279     IHTMLElementCollection *plugins();
13280
13281     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13282     void alinkColor(VARIANT v);
13283
13284     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
13285     VARIANT alinkColor();
13286
13287     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13288     void bgColor(VARIANT v);
13289
13290     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
13291     VARIANT bgColor();
13292
13293     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13294     void fgColor(VARIANT v);
13295
13296     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
13297     VARIANT fgColor();
13298
13299     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13300     void linkColor(VARIANT v);
13301
13302     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
13303     VARIANT linkColor();
13304
13305     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13306     void vlinkColor(VARIANT v);
13307
13308     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
13309     VARIANT vlinkColor();
13310
13311     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
13312     BSTR referrer();
13313
13314     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
13315     IHTMLLocation *location();
13316
13317     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
13318     BSTR lastModified();
13319
13320     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
13321     void URL(BSTR v);
13322
13323     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
13324     BSTR URL();
13325
13326     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13327     void domain(BSTR v);
13328
13329     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
13330     BSTR domain();
13331
13332     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13333     void cookie(BSTR v);
13334
13335     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
13336     BSTR cookie();
13337
13338     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
13339     void expando(VARIANT_BOOL v);
13340
13341     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
13342     VARIANT_BOOL expando();
13343
13344     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
13345     void charset(BSTR v);
13346
13347     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
13348     BSTR charset();
13349
13350     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13351     void defaultCharset(BSTR v);
13352
13353     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
13354     BSTR defaultCharset();
13355
13356     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
13357     BSTR mimeType();
13358
13359     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
13360     BSTR fileSize();
13361
13362     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
13363     BSTR fileCreatedDate();
13364
13365     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
13366     BSTR fileModifiedDate();
13367
13368     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
13369     BSTR fileUpdatedDate();
13370
13371     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
13372     BSTR security();
13373
13374     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
13375     BSTR protocol();
13376
13377     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
13378     BSTR nameProp();
13379
13380     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
13381     void write([in] SAFEARRAY(VARIANT) psarray);
13382
13383     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
13384     void writeln([in] SAFEARRAY(VARIANT) psarray);
13385
13386     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
13387     IDispatch *open(
13388         [defaultvalue("text/html"), in] BSTR url,
13389         [optional, in] VARIANT name,
13390         [optional, in] VARIANT features,
13391         [optional, in] VARIANT replace);
13392
13393     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
13394     void close();
13395
13396     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
13397     void clear();
13398
13399     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
13400     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
13401
13402     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
13403     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
13404
13405     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
13406     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
13407
13408     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
13409     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
13410
13411     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
13412     BSTR queryCommandText([in] BSTR cmdID);
13413
13414     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
13415     VARIANT queryCommandValue([in] BSTR cmdID);
13416
13417     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
13418     VARIANT_BOOL execCommand(
13419         [in] BSTR cmdID,
13420         [defaultvalue(0), in] VARIANT_BOOL showUI,
13421         [optional, in] VARIANT value);
13422
13423     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
13424     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
13425
13426     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
13427     IHTMLElement *createElement([in] BSTR eTag);
13428
13429     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
13430     void onhelp(VARIANT v);
13431
13432     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
13433     VARIANT onhelp();
13434
13435     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
13436     void onclick(VARIANT v);
13437
13438     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
13439     VARIANT onclick();
13440
13441     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
13442     void ondblclick(VARIANT v);
13443
13444     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
13445     VARIANT ondblclick();
13446
13447     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
13448     void onkeyup(VARIANT v);
13449
13450     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
13451     VARIANT onkeyup();
13452
13453     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
13454     void onkeydown(VARIANT v);
13455
13456     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
13457     VARIANT onkeydown();
13458
13459     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
13460     void onkeypress(VARIANT v);
13461
13462     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
13463     VARIANT onkeypress();
13464
13465     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
13466     void onmouseup(VARIANT v);
13467
13468     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
13469     VARIANT onmouseup();
13470
13471     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
13472     void onmousedown(VARIANT v);
13473
13474     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
13475     VARIANT onmousedown();
13476
13477     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
13478     void onmousemove(VARIANT v);
13479
13480     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
13481     VARIANT onmousemove();
13482
13483     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
13484     void onmouseout(VARIANT v);
13485
13486     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
13487     VARIANT onmouseout();
13488
13489     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
13490     void onmouseover(VARIANT v);
13491
13492     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
13493     VARIANT onmouseover();
13494
13495     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13496     void onreadystatechange(VARIANT v);
13497
13498     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13499     VARIANT onreadystatechange();
13500
13501     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
13502     void onafterupdate(VARIANT v);
13503
13504     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
13505     VARIANT onafterupdate();
13506
13507     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
13508     void onrowexit(VARIANT v);
13509
13510     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
13511     VARIANT onrowexit();
13512
13513     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
13514     void onrowenter(VARIANT v);
13515
13516     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
13517     VARIANT onrowenter();
13518
13519     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
13520     void ondragstart(VARIANT v);
13521
13522     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
13523     VARIANT ondragstart();
13524
13525     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
13526     void onselectstart(VARIANT v);
13527
13528     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
13529     VARIANT onselectstart();
13530
13531     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
13532     IHTMLElement *elementFromPoint(
13533         [in] LONG x,
13534         [in] LONG y);
13535
13536     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
13537     IHTMLWindow2 *parentWindow();
13538
13539     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
13540     IHTMLStyleSheetsCollection *styleSheets();
13541
13542     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
13543     void onbeforeupdate(VARIANT v);
13544
13545     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
13546     VARIANT onbeforeupdate();
13547
13548     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
13549     void onerrorupdate(VARIANT v);
13550
13551     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
13552     VARIANT onerrorupdate();
13553
13554     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
13555     BSTR toString();
13556
13557     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
13558     IHTMLStyleSheet *createStyleSheet(
13559         [defaultvalue(""), in] BSTR bstrHref,
13560         [defaultvalue(-1), in] LONG lIndex);
13561
13562     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
13563     void releaseCapture();
13564
13565     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
13566     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
13567
13568     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
13569     IHTMLDOMNode *createTextNode([in] BSTR text);
13570
13571     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
13572     IHTMLElement *documentElement();
13573
13574     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
13575     BSTR uniqueID();
13576
13577     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
13578     VARIANT_BOOL attachEvent(
13579         [in] BSTR event,
13580         [in] IDispatch *pDisp);
13581
13582     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
13583     void detachEvent(
13584         [in] BSTR event,
13585         [in] IDispatch *pDisp);
13586
13587     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13588     void onrowsdelete(VARIANT v);
13589
13590     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
13591     VARIANT onrowsdelete();
13592
13593     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13594     void onrowsinserted(VARIANT v);
13595
13596     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
13597     VARIANT onrowsinserted();
13598
13599     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13600     void oncellchange(VARIANT v);
13601
13602     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
13603     VARIANT oncellchange();
13604
13605     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13606     void ondatasetchanged(VARIANT v);
13607
13608     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
13609     VARIANT ondatasetchanged();
13610
13611     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13612     void ondataavailable(VARIANT v);
13613
13614     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
13615     VARIANT ondataavailable();
13616
13617     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13618     void ondatasetcomplete(VARIANT v);
13619
13620     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
13621     VARIANT ondatasetcomplete();
13622
13623     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13624     void onpropertychange(VARIANT v);
13625
13626     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13627     VARIANT onpropertychange();
13628
13629     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
13630     void dir(BSTR v);
13631
13632     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
13633     BSTR dir();
13634
13635     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13636     void oncontextmenu(VARIANT v);
13637
13638     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13639     VARIANT oncontextmenu();
13640
13641     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13642     void onstop(VARIANT v);
13643
13644     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13645     VARIANT onstop();
13646
13647     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
13648     IHTMLDocument2 *createDocumentFragment();
13649
13650     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
13651     IHTMLDocument2 *parentDocument();
13652
13653     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13654     void enableDownload(VARIANT_BOOL v);
13655
13656     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13657     VARIANT_BOOL enableDownload();
13658
13659     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13660     void baseUrl(BSTR v);
13661
13662     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13663     BSTR baseUrl();
13664
13665     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13666     void inheritStyleSheets(VARIANT_BOOL v);
13667
13668     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13669     VARIANT_BOOL inheritStyleSheets();
13670
13671     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13672     void onbeforeeditfocus(VARIANT v);
13673
13674     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13675     VARIANT onbeforeeditfocus();
13676
13677     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
13678     IHTMLElementCollection *getElementsByName([in] BSTR v);
13679
13680     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
13681     IHTMLElement *getElementById([in] BSTR v);
13682
13683     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
13684     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
13685
13686     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
13687     void focus();
13688
13689     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
13690     VARIANT_BOOL hasFocus();
13691
13692     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13693     void onselectionchange(VARIANT v);
13694
13695     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13696     VARIANT onselectionchange();
13697
13698     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
13699     IDispatch *namespaces();
13700
13701     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
13702     IHTMLDocument2 *createDocumentFromUrl(
13703         [in] BSTR bstrUrl,
13704         [in] BSTR bstrOptions);
13705
13706     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13707     void media(BSTR v);
13708
13709     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13710     BSTR media();
13711
13712     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
13713     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
13714
13715     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
13716     VARIANT_BOOL fireEvent(
13717         [in] BSTR bstrEventName,
13718         [optional, in] VARIANT *pvarEventObject);
13719
13720     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
13721     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
13722
13723     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13724     void oncontrolselect(VARIANT v);
13725
13726     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13727     VARIANT oncontrolselect();
13728
13729     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
13730     BSTR URLUnencoded();
13731
13732     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13733     void onmousewheel(VARIANT v);
13734
13735     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13736     VARIANT onmousewheel();
13737
13738     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
13739     IHTMLDOMNode *doctype();
13740
13741     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13742     IHTMLDOMImplementation *implementation();
13743
13744     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13745     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
13746
13747     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13748     IHTMLDOMNode *createComment([in] BSTR bstrdata);
13749
13750     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13751     void onfocusin(VARIANT v);
13752
13753     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13754     VARIANT onfocusin();
13755
13756     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13757     void onfocusout(VARIANT v);
13758
13759     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13760     VARIANT onfocusout();
13761
13762     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13763     void onactivate(VARIANT v);
13764
13765     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13766     VARIANT onactivate();
13767
13768     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13769     void ondeactivate(VARIANT v);
13770
13771     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13772     VARIANT ondeactivate();
13773
13774     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13775     void onbeforeactivate(VARIANT v);
13776
13777     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13778     VARIANT onbeforeactivate();
13779
13780     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13781     void onbeforedeactivate(VARIANT v);
13782
13783     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13784     VARIANT onbeforedeactivate();
13785
13786     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
13787     BSTR compatMode();
13788
13789     [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)]
13790     IHTMLDocumentCompatibleInfoCollection *compatible();
13791
13792     [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)]
13793     VARIANT documentMode();
13794
13795     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13796     void onstorage(VARIANT v);
13797
13798     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable]
13799     VARIANT onstorage();
13800
13801     [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13802     void onstoragecommit(VARIANT v);
13803
13804     [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable]
13805     VARIANT onstoragecommit();
13806
13807     [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)]
13808     IHTMLElement2 *ie8_getElementById([in] BSTR bstrId);
13809
13810     [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)]
13811     void updateSettings();
13812
13813     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
13814 }
13815
13816 /*****************************************************************************
13817  *    HTMLDocument coclass
13818  */
13819 [
13820     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
13821 ]
13822 coclass HTMLDocument
13823 {
13824     [default]         dispinterface DispHTMLDocument;
13825     [source, default] dispinterface HTMLDocumentEvents;
13826     [source]          dispinterface HTMLDocumentEvents2;
13827                       interface IHTMLDocument2;
13828                       interface IHTMLDocument3;
13829                       interface IHTMLDocument4;
13830                       interface IHTMLDocument5;
13831                       interface IHTMLDocument6;
13832                       interface IHTMLDOMNode;
13833                       interface IHTMLDOMNode2;
13834 }
13835
13836 /*****************************************************************************
13837  *    DWebBridgeEvents dispinterface
13838  */
13839 [
13840     hidden,
13841     uuid(a6d897ff-0a95-11d1-b0ba-006008166e11)
13842 ]
13843 dispinterface DWebBridgeEvents
13844 {
13845 properties:
13846 methods:
13847     [id(DISPID_DWEBBRIDGEEVENTS_ONSCRIPTLETEVENT)]
13848     void onscriptletevent([in] BSTR name,[in] VARIANT eventData);
13849
13850     [id(DISPID_DWEBBRIDGEEVENTS_ONREADYSTATECHANGE)]
13851     void onreadystatechange();
13852
13853     [id(DISPID_DWEBBRIDGEEVENTS_ONCLICK)]
13854     VARIANT_BOOL onclick();
13855
13856     [id(DISPID_DWEBBRIDGEEVENTS_ONDBLCLICK)]
13857     VARIANT_BOOL ondblclick();
13858
13859     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYDOWN)]
13860     void onkeydown();
13861
13862     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYUP)]
13863     void onkeyup();
13864
13865     [id(DISPID_DWEBBRIDGEEVENTS_ONKEYPRESS)]
13866     VARIANT_BOOL onkeypress();
13867
13868     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEDOWN)]
13869     void onmousedown();
13870
13871     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEMOVE)]
13872     void onmousemove();
13873
13874     [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEUP)]
13875     void onmouseup();
13876 }
13877
13878 /*****************************************************************************
13879  *    IWebBridge interface
13880  */
13881 [
13882     odl,
13883     oleautomation,
13884     dual,
13885     uuid(ae24fdad-03c6-11d1-8b76-0080c744f389)
13886 ]
13887 interface IWebBridge : IDispatch
13888 {
13889     [propput, id(DISPID_IWEBBRIDGE_URL)]
13890     HRESULT URL([in] BSTR v);
13891
13892     [propget, id(DISPID_IWEBBRIDGE_URL)]
13893     HRESULT URL([retval, out] BSTR * p);
13894
13895     [propput, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
13896     HRESULT Scrollbar([in] VARIANT_BOOL v);
13897
13898     [propget, id(DISPID_IWEBBRIDGE_SCROLLBAR)]
13899     HRESULT Scrollbar([retval, out] VARIANT_BOOL * p);
13900
13901     [propput, id(DISPID_IWEBBRIDGE_EMBED)]
13902     HRESULT embed([in] VARIANT_BOOL v);
13903
13904     [propget, id(DISPID_IWEBBRIDGE_EMBED)]
13905     HRESULT embed([retval, out] VARIANT_BOOL * p);
13906
13907     [propget, id(DISPID_IWEBBRIDGE_EVENT)]
13908     HRESULT event([retval, out] IDispatch* * p);
13909
13910     [propget, id(DISPID_IWEBBRIDGE_READYSTATE)]
13911     HRESULT readyState([retval, out] long * p);
13912
13913     [id(DISPID_IWEBBRIDGE_ABOUTBOX)]
13914     HRESULT AboutBox();
13915 }
13916
13917 /*****************************************************************************
13918  *    Scriptlet coclass
13919  */
13920 [
13921     control,
13922     helpstring("Microsoft Scriptlet Component"),
13923     progid("ScriptBridge.ScriptBridge.1"),
13924     vi_progid("ScriptBridge.ScriptBridge"),
13925     uuid(ae24fdae-03c6-11d1-8b76-0080c744f389)
13926 ]
13927 coclass Scriptlet
13928 {
13929     [default]           interface IWebBridge;
13930     [source, default]   dispinterface DWebBridgeEvents;
13931 }
13932
13933 /*****************************************************************************
13934  *    IHTMLEmbedElement interface
13935  */
13936 [
13937     odl,
13938     oleautomation,
13939     dual,
13940     uuid(3050f25f-98b5-11cf-bb82-00aa00bdce0b)
13941 ]
13942 interface IHTMLEmbedElement : IDispatch
13943 {
13944     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13945     HRESULT hidden([in] BSTR v);
13946
13947     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
13948     HRESULT hidden([retval, out] BSTR *p);
13949
13950     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
13951     HRESULT palette([retval, out] BSTR *p);
13952
13953     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
13954     HRESULT pluginspage([retval, out] BSTR *p);
13955
13956     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13957     HRESULT src([in] BSTR v);
13958
13959     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
13960     HRESULT src([retval, out] BSTR *p);
13961
13962     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13963     HRESULT units([in] BSTR v);
13964
13965     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
13966     HRESULT units([retval, out] BSTR *p);
13967
13968     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13969     HRESULT name([in] BSTR v);
13970
13971     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
13972     HRESULT name([retval, out] BSTR *p);
13973
13974     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13975     HRESULT width([in] VARIANT v);
13976
13977     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
13978     HRESULT width([retval, out] VARIANT *p);
13979
13980     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13981     HRESULT height([in] VARIANT v);
13982
13983     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
13984     HRESULT height([retval, out] VARIANT *p);
13985 }
13986
13987 /*****************************************************************************
13988  *    DispHTMLEmbedElement dispinterface
13989  */
13990 [
13991     hidden,
13992     uuid(3050f52e-98b5-11cf-bb82-00aa00bdce0b)
13993 ]
13994 dispinterface DispHTMLEmbed
13995 {
13996 properties:
13997 methods:
13998     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
13999
14000     [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14001     void hidden(BSTR v);
14002
14003     [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)]
14004     BSTR hidden();
14005
14006     [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)]
14007     BSTR palette();
14008
14009     [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)]
14010     BSTR pluginspage();
14011
14012     [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14013     void src(BSTR v);
14014
14015     [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)]
14016     BSTR src();
14017
14018     [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14019     void units(BSTR v);
14020
14021     [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)]
14022     BSTR units();
14023
14024     [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14025     void name(BSTR v);
14026
14027     [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable]
14028     BSTR name();
14029
14030     [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14031     void width(VARIANT v);
14032
14033     [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)]
14034     VARIANT width();
14035
14036     [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14037     void height(VARIANT v);
14038
14039     [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)]
14040     VARIANT height();
14041
14042     [propput, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
14043     void ie8_src(BSTR v);
14044
14045     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)]
14046     BSTR ie8_src();
14047
14048     [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_PLUGINSPAGE)]
14049     BSTR ie8_pluginspage();
14050 }
14051
14052 /*****************************************************************************
14053  *    IHTMLCommentElement interface
14054  */
14055 [
14056     odl,
14057     oleautomation,
14058     dual,
14059     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
14060 ]
14061 interface IHTMLCommentElement : IDispatch
14062 {
14063     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14064     HRESULT text([in] BSTR v);
14065
14066     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14067     HRESULT text([out, retval] BSTR *p);
14068
14069     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14070     HRESULT atomic([in] LONG v);
14071
14072     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14073     HRESULT atomic([out, retval] LONG *p);
14074 }
14075
14076 /*****************************************************************************
14077  *    IHTMLCommentElement2 interface
14078  */
14079 [
14080     odl,
14081     oleautomation,
14082     dual,
14083     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
14084 ]
14085 interface IHTMLCommentElement2 : IDispatch
14086 {
14087     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14088     HRESULT data([in] BSTR v);
14089
14090     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14091     HRESULT data([out, retval] BSTR *p);
14092
14093     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14094     HRESULT length([out, retval] LONG *p);
14095
14096     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14097     HRESULT substringData(
14098             [in] LONG offset,
14099             [in] LONG Count,
14100             [out, retval] BSTR *pbstrsubString);
14101
14102     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14103     HRESULT appendData([in] BSTR bstrstring);
14104
14105     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14106     HRESULT insertData(
14107             [in] LONG offset,
14108             [in] BSTR bstrstring);
14109
14110     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
14111     HRESULT deleteData(
14112             [in] LONG offset,
14113             [in] LONG Count);
14114
14115     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
14116     HRESULT replaceData(
14117             [in] LONG offset,
14118             [in] LONG Count,
14119             [in] BSTR bstrstring);
14120 }
14121
14122 /*****************************************************************************
14123  *    DispHTMLCommentElement dispinterface
14124  */
14125 [
14126     hidden,
14127     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
14128 ]
14129 dispinterface DispHTMLCommentElement
14130 {
14131 properties:
14132 methods:
14133     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
14134
14135     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14136     void text(BSTR v);
14137
14138     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14139     BSTR text();
14140
14141     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14142     void atomic(LONG v);
14143
14144     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14145     LONG atomic();
14146
14147     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14148     void data(BSTR v);
14149
14150     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14151     BSTR data();
14152
14153     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14154     LONG length();
14155
14156     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14157     BSTR substringData(
14158             [in] LONG offset,
14159             [in] LONG Count);
14160
14161     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14162     void appendData([in] BSTR bstrstring);
14163
14164     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14165      void insertData(
14166             [in] LONG offset,
14167             [in] BSTR bstrstring);
14168
14169     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
14170     void deleteData(
14171             [in] LONG offset,
14172             [in] LONG Count);
14173
14174     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
14175     void replaceData(
14176             [in] LONG offset,
14177             [in] LONG Count,
14178             [in] BSTR bstrstring);
14179 }
14180
14181 [
14182     hidden,
14183     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
14184 ]
14185 dispinterface HTMLElementEvents2
14186 {
14187 properties:
14188 methods:
14189     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14190     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14191
14192     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14193     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14194
14195     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14196     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14197
14198     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14199     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14200
14201     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14202     void onkeydown([in] IHTMLEventObj* pEvtObj);
14203
14204     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14205     void onkeyup([in] IHTMLEventObj* pEvtObj);
14206
14207     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14208     void onmouseout([in] IHTMLEventObj* pEvtObj);
14209
14210     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14211     void onmouseover([in] IHTMLEventObj* pEvtObj);
14212
14213     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14214     void onmousemove([in] IHTMLEventObj* pEvtObj);
14215
14216     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14217     void onmousedown([in] IHTMLEventObj* pEvtObj);
14218
14219     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14220     void onmouseup([in] IHTMLEventObj* pEvtObj);
14221
14222     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14223     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14224
14225     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14226     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14227
14228     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14229     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14230
14231     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14232     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14233
14234     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14235     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14236
14237     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14238     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14239
14240     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14241     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14242
14243     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14244     void onrowenter([in] IHTMLEventObj* pEvtObj);
14245
14246     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14247     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14248
14249     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14250     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14251
14252     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14253     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14254
14255     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14256     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14257
14258     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14259     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14260
14261     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14262     void onscroll([in] IHTMLEventObj* pEvtObj);
14263
14264     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14265     void onfocus([in] IHTMLEventObj* pEvtObj);
14266
14267     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14268     void onblur([in] IHTMLEventObj* pEvtObj);
14269
14270     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14271     void onresize([in] IHTMLEventObj* pEvtObj);
14272
14273     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14274     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14275
14276     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14277     void ondragend([in] IHTMLEventObj* pEvtObj);
14278
14279     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14280     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14281
14282     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14283     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14284
14285     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14286     void ondragleave([in] IHTMLEventObj* pEvtObj);
14287
14288     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14289     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14290
14291     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14292     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14293
14294     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14295     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14296
14297     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14298     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14299
14300     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14301     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14302
14303     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14304     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14305
14306     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14307     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14308
14309     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14310     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14311
14312     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14313     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14314
14315     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14316     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14317
14318     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14319     void oncellchange([in] IHTMLEventObj* pEvtObj);
14320
14321     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14322     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14323
14324     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14325     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14326
14327     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14328     void onpage([in] IHTMLEventObj* pEvtObj);
14329
14330     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14331     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14332
14333     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14334     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14335
14336     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14337     void onactivate([in] IHTMLEventObj* pEvtObj);
14338
14339     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14340     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14341
14342     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14343     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14344
14345     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14346     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14347
14348     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14349     void onfocusin([in] IHTMLEventObj* pEvtObj);
14350
14351     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14352     void onfocusout([in] IHTMLEventObj* pEvtObj);
14353
14354     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14355     void onmove([in] IHTMLEventObj* pEvtObj);
14356
14357     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14358     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14359
14360     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14361     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14362
14363     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14364     void onmoveend([in] IHTMLEventObj* pEvtObj);
14365
14366     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14367     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14368
14369     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14370     void onresizeend([in] IHTMLEventObj* pEvtObj);
14371
14372     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14373     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14374 }
14375
14376 [
14377     hidden,
14378     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
14379 ]
14380 dispinterface HTMLElementEvents
14381 {
14382 properties:
14383 methods:
14384     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14385     VARIANT_BOOL onhelp();
14386
14387     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14388     VARIANT_BOOL onclick();
14389
14390     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14391     VARIANT_BOOL ondblclick();
14392
14393     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14394     VARIANT_BOOL onkeypress();
14395
14396     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14397     void onkeydown();
14398
14399     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14400     void onkeyup();
14401
14402     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14403     void onmouseout();
14404
14405     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14406     void onmouseover();
14407
14408     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14409     void onmousemove();
14410
14411     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14412     void onmousedown();
14413
14414     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14415     void onmouseup();
14416
14417     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14418     VARIANT_BOOL onselectstart();
14419
14420     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14421     void onfilterchange();
14422
14423     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14424     VARIANT_BOOL ondragstart();
14425
14426     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14427     VARIANT_BOOL onbeforeupdate();
14428
14429     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14430     void onafterupdate();
14431
14432     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14433     VARIANT_BOOL onerrorupdate();
14434
14435     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14436     VARIANT_BOOL onrowexit();
14437
14438     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14439     void onrowenter();
14440
14441     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14442     void ondatasetchanged();
14443
14444     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14445     void ondataavailable();
14446
14447     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14448     void ondatasetcomplete();
14449
14450     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14451     void onlosecapture();
14452
14453     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14454     void onpropertychange();
14455
14456     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14457     void onscroll();
14458
14459     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14460     void onfocus();
14461
14462     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14463     void onblur();
14464
14465     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14466     void onresize();
14467
14468     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14469     VARIANT_BOOL ondrag();
14470
14471     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14472     void ondragend();
14473
14474     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14475     VARIANT_BOOL ondragenter();
14476
14477     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14478     VARIANT_BOOL ondragover();
14479
14480     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14481     void ondragleave();
14482
14483     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14484     VARIANT_BOOL ondrop();
14485
14486     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14487     VARIANT_BOOL onbeforecut();
14488
14489     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14490     VARIANT_BOOL oncut();
14491
14492     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14493     VARIANT_BOOL onbeforecopy();
14494
14495     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14496     VARIANT_BOOL oncopy();
14497
14498     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14499     VARIANT_BOOL onbeforepaste();
14500
14501     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14502     VARIANT_BOOL onpaste();
14503
14504     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14505     VARIANT_BOOL oncontextmenu();
14506
14507     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14508     void onrowsdelete();
14509
14510     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14511     void onrowsinserted();
14512
14513     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14514     void oncellchange();
14515
14516     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14517     void onreadystatechange();
14518
14519     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14520     void onbeforeeditfocus();
14521
14522     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14523     void onlayoutcomplete();
14524
14525     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14526     void onpage();
14527
14528     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14529     VARIANT_BOOL onbeforedeactivate();
14530
14531     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14532     VARIANT_BOOL onbeforeactivate();
14533
14534     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14535     void onmove();
14536
14537     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14538     VARIANT_BOOL oncontrolselect();
14539
14540     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14541     VARIANT_BOOL onmovestart();
14542
14543     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14544     void onmoveend();
14545
14546     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14547     VARIANT_BOOL onresizestart();
14548
14549     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14550     void onresizeend();
14551
14552     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14553     void onmouseenter();
14554
14555     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14556     void onmouseleave();
14557
14558     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14559     VARIANT_BOOL onmousewheel();
14560
14561     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14562     void onactivate();
14563
14564     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14565     void ondeactivate();
14566
14567     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14568     void onfocusin();
14569
14570     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14571     void onfocusout();
14572 }
14573
14574 [
14575     noncreatable,
14576     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
14577 ]
14578 coclass HTMLCommentElement
14579 {
14580     [default]           dispinterface DispHTMLCommentElement;
14581     [source, default]   dispinterface HTMLElementEvents;
14582     [source]            dispinterface HTMLElementEvents2;
14583                         interface IHTMLElement;
14584                         interface IHTMLElement2;
14585                         interface IHTMLElement3;
14586                         interface IHTMLElement4;
14587                         interface IHTMLUniqueName;
14588                         interface IHTMLDOMNode;
14589                         interface IHTMLDOMNode2;
14590                         interface IHTMLCommentElement;
14591                         interface IHTMLCommentElement2;
14592 }
14593
14594 /*****************************************************************************
14595  *    HTMLTableEvents dispinterface
14596  */
14597 [
14598     hidden,
14599     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
14600 ]
14601 dispinterface HTMLTableEvents
14602 {
14603 properties:
14604 methods:
14605     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14606     VARIANT_BOOL onhelp();
14607
14608     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14609     VARIANT_BOOL onclick();
14610
14611     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14612     VARIANT_BOOL ondblclick();
14613
14614     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14615     VARIANT_BOOL onkeypress();
14616
14617     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14618     void onkeydown();
14619
14620     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14621     void onkeyup();
14622
14623     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14624     void onmouseout();
14625
14626     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14627     void onmouseover();
14628
14629     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14630     void onmousemove();
14631
14632     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14633     void onmousedown();
14634
14635     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14636     void onmouseup();
14637
14638     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14639     VARIANT_BOOL onselectstart();
14640
14641     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14642     void onfilterchange();
14643
14644     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14645     VARIANT_BOOL ondragstart();
14646
14647     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14648     VARIANT_BOOL onbeforeupdate();
14649
14650     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14651     void onafterupdate();
14652
14653     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14654     VARIANT_BOOL onerrorupdate();
14655
14656     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14657     VARIANT_BOOL onrowexit();
14658
14659     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14660     void onrowenter();
14661
14662     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14663     void ondatasetchanged();
14664
14665     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14666     void ondataavailable();
14667
14668     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14669     void ondatasetcomplete();
14670
14671     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14672     void onlosecapture();
14673
14674     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14675     void onpropertychange();
14676
14677     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14678     void onscroll();
14679
14680     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14681     void onfocus();
14682
14683     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14684     void onblur();
14685
14686     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14687     void onresize();
14688
14689     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14690     VARIANT_BOOL ondrag();
14691
14692     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14693     void ondragend();
14694
14695     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14696     VARIANT_BOOL ondragenter();
14697
14698     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14699     VARIANT_BOOL ondragover();
14700
14701     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14702     void ondragleave();
14703
14704     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14705     VARIANT_BOOL ondrop();
14706
14707     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14708     VARIANT_BOOL onbeforecut();
14709
14710     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14711     VARIANT_BOOL oncut();
14712
14713     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14714     VARIANT_BOOL onbeforecopy();
14715
14716     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14717     VARIANT_BOOL oncopy();
14718
14719     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14720     VARIANT_BOOL onbeforepaste();
14721
14722     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14723     VARIANT_BOOL onpaste();
14724
14725     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14726     VARIANT_BOOL oncontextmenu();
14727
14728     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14729     void onrowsdelete();
14730
14731     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14732     void onrowsinserted();
14733
14734     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14735     void oncellchange();
14736
14737     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14738     void onreadystatechange();
14739
14740     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14741     void onbeforeeditfocus();
14742
14743     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14744     void onlayoutcomplete();
14745
14746     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14747     void onpage();
14748
14749     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14750     VARIANT_BOOL onbeforedeactivate();
14751
14752     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14753     VARIANT_BOOL onbeforeactivate();
14754
14755     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14756     void onmove();
14757
14758     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14759     VARIANT_BOOL oncontrolselect();
14760
14761     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14762     VARIANT_BOOL onmovestart();
14763
14764     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14765     void onmoveend();
14766
14767     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14768     VARIANT_BOOL onresizestart();
14769
14770     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14771     void onresizeend();
14772
14773     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14774     void onmouseenter();
14775
14776     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14777     void onmouseleave();
14778
14779     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14780     VARIANT_BOOL onmousewheel();
14781
14782     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14783     void onactivate();
14784
14785     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14786     void ondeactivate();
14787
14788     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14789     void onfocusin();
14790
14791     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14792     void onfocusout();
14793 }
14794
14795 [
14796     hidden,
14797     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
14798 ]
14799 dispinterface HTMLTableEvents2
14800 {
14801 properties:
14802 methods:
14803     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14804     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14805
14806     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14807     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14808
14809     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14810     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14811
14812     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14813     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14814
14815     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14816     void onkeydown([in] IHTMLEventObj* pEvtObj);
14817
14818     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14819     void onkeyup([in] IHTMLEventObj* pEvtObj);
14820
14821     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14822     void onmouseout([in] IHTMLEventObj* pEvtObj);
14823
14824     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14825     void onmouseover([in] IHTMLEventObj* pEvtObj);
14826
14827     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14828     void onmousemove([in] IHTMLEventObj* pEvtObj);
14829
14830     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14831     void onmousedown([in] IHTMLEventObj* pEvtObj);
14832
14833     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14834     void onmouseup([in] IHTMLEventObj* pEvtObj);
14835
14836     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14837     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14838
14839     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14840     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14841
14842     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14843     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14844
14845     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14846     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14847
14848     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14849     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14850
14851     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14852     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14853
14854     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14855     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14856
14857     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14858     void onrowenter([in] IHTMLEventObj* pEvtObj);
14859
14860     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14861     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14862
14863     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14864     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14865
14866     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14867     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14868
14869     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14870     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14871
14872     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14873     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14874
14875     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14876     void onscroll([in] IHTMLEventObj* pEvtObj);
14877
14878     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14879     void onfocus([in] IHTMLEventObj* pEvtObj);
14880
14881     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14882     void onblur([in] IHTMLEventObj* pEvtObj);
14883
14884     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14885     void onresize([in] IHTMLEventObj* pEvtObj);
14886
14887     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14888     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14889
14890     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14891     void ondragend([in] IHTMLEventObj* pEvtObj);
14892
14893     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14894     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14895
14896     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14897     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14898
14899     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14900     void ondragleave([in] IHTMLEventObj* pEvtObj);
14901
14902     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14903     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14904
14905     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14906     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14907
14908     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14909     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14910
14911     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14912     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14913
14914     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14915     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14916
14917     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14918     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14919
14920     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14921     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14922
14923     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14924     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14925
14926     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14927     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14928
14929     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14930     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14931
14932     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14933     void oncellchange([in] IHTMLEventObj* pEvtObj);
14934
14935     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14936     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14937
14938     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14939     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14940
14941     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14942     void onpage([in] IHTMLEventObj* pEvtObj);
14943
14944     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14945     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14946
14947     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14948     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14949
14950     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14951     void onactivate([in] IHTMLEventObj* pEvtObj);
14952
14953     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14954     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14955
14956     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14957     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14958
14959     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14960     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14961
14962     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14963     void onfocusin([in] IHTMLEventObj* pEvtObj);
14964
14965     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14966     void onfocusout([in] IHTMLEventObj* pEvtObj);
14967
14968     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14969     void onmove([in] IHTMLEventObj* pEvtObj);
14970
14971     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14972     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14973
14974     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14975     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14976
14977     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14978     void onmoveend([in] IHTMLEventObj* pEvtObj);
14979
14980     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14981     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14982
14983     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14984     void onresizeend([in] IHTMLEventObj* pEvtObj);
14985
14986     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14987     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14988 }
14989
14990 /*****************************************************************************
14991  *    IHTMLTableCaption interface
14992  */
14993 [
14994     odl,
14995     oleautomation,
14996     dual,
14997     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
14998 ]
14999 interface IHTMLTableCaption : IDispatch
15000 {
15001     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
15002     HRESULT align([in] BSTR v);
15003
15004     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
15005     HRESULT align([retval, out] BSTR *p);
15006
15007     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
15008     HRESULT vAlign([in] BSTR v);
15009
15010     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
15011     HRESULT vAlign([retval, out] BSTR *p);
15012 }
15013
15014 interface IHTMLTableSection;
15015
15016 /*****************************************************************************
15017  *    IHTMLTable interface
15018  */
15019 [
15020     odl,
15021     oleautomation,
15022     dual,
15023     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
15024 ]
15025 interface IHTMLTable : IDispatch
15026 {
15027     [propput, id(DISPID_IHTMLTABLE_COLS)]
15028     HRESULT cols([in] LONG v);
15029
15030     [propget, id(DISPID_IHTMLTABLE_COLS)]
15031     HRESULT cols([retval, out] LONG *p);
15032
15033     [propput, id(DISPID_IHTMLTABLE_BORDER)]
15034     HRESULT border([in] VARIANT v);
15035
15036     [propget, id(DISPID_IHTMLTABLE_BORDER)]
15037     HRESULT border([retval, out] VARIANT *p);
15038
15039     [propput, id(DISPID_IHTMLTABLE_FRAME)]
15040     HRESULT frame([in] BSTR v);
15041
15042     [propget, id(DISPID_IHTMLTABLE_FRAME)]
15043     HRESULT frame([retval, out] BSTR *p);
15044
15045     [propput, id(DISPID_IHTMLTABLE_RULES)]
15046     HRESULT rules([in] BSTR v);
15047
15048     [propget, id(DISPID_IHTMLTABLE_RULES)]
15049     HRESULT rules([retval, out] BSTR *p);
15050
15051     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
15052     HRESULT cellSpacing([in] VARIANT v);
15053
15054     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
15055     HRESULT cellSpacing([retval, out] VARIANT *p);
15056
15057     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
15058     HRESULT cellPadding([in] VARIANT v);
15059
15060     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
15061     HRESULT cellPadding([retval, out] VARIANT *p);
15062
15063     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
15064     HRESULT background([in] BSTR v);
15065
15066     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
15067     HRESULT background([retval, out] BSTR *p);
15068
15069     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
15070     HRESULT bgColor([in] VARIANT v);
15071
15072     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
15073     HRESULT bgColor([retval, out] VARIANT *p);
15074
15075     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15076     HRESULT borderColor([in] VARIANT v);
15077
15078     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15079     HRESULT borderColor([retval, out] VARIANT *p);
15080
15081     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15082     HRESULT borderColorLight([in] VARIANT v);
15083
15084     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15085     HRESULT borderColorLight([retval, out] VARIANT *p);
15086
15087     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15088     HRESULT borderColorDark([in] VARIANT v);
15089
15090     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15091     HRESULT borderColorDark([retval, out] VARIANT *p);
15092
15093     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
15094     HRESULT align([in] BSTR v);
15095
15096     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
15097     HRESULT align([retval, out] BSTR * p);
15098
15099     [id(DISPID_IHTMLTABLE_REFRESH)]
15100     HRESULT refresh();
15101
15102     [propget, id(DISPID_IHTMLTABLE_ROWS)]
15103     HRESULT rows([retval, out] IHTMLElementCollection **p);
15104
15105     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
15106     HRESULT width([in] VARIANT v);
15107
15108     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
15109     HRESULT width([retval, out] VARIANT *p);
15110
15111     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
15112     HRESULT height([in] VARIANT v);
15113
15114     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
15115     HRESULT height([retval, out] VARIANT *p);
15116
15117     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15118     HRESULT dataPageSize([in] LONG v);
15119
15120     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15121     HRESULT dataPageSize([retval, out] LONG *p);
15122
15123     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
15124     HRESULT nextPage();
15125
15126     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
15127     HRESULT previousPage();
15128
15129     [propget, id(DISPID_IHTMLTABLE_THEAD)]
15130     HRESULT tHead([retval, out] IHTMLTableSection **p);
15131
15132     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
15133     HRESULT tFoot([retval, out] IHTMLTableSection **p);
15134
15135     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
15136     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
15137
15138     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
15139     HRESULT caption([retval, out] IHTMLTableCaption **p);
15140
15141     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
15142     HRESULT createTHead([retval, out] IDispatch **head);
15143
15144     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
15145     HRESULT deleteTHead();
15146
15147     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
15148     HRESULT createTFoot([retval, out] IDispatch **foot);
15149
15150     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
15151     HRESULT deleteTFoot();
15152
15153     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
15154     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
15155
15156     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
15157     HRESULT deleteCaption();
15158
15159     [id(DISPID_IHTMLTABLE_INSERTROW)]
15160     HRESULT insertRow(
15161             [defaultvalue(-1), in] LONG index,
15162             [retval, out] IDispatch **row);
15163
15164     [id(DISPID_IHTMLTABLE_DELETEROW)]
15165     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
15166
15167     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
15168     HRESULT readyState([retval, out] BSTR *p);
15169
15170     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
15171     HRESULT onreadystatechange([in] VARIANT v);
15172
15173     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
15174     HRESULT onreadystatechange([retval, out] VARIANT *p);
15175 }
15176
15177 [
15178     odl,
15179     oleautomation,
15180     dual,
15181     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
15182 ]
15183 interface IHTMLTable2 : IDispatch
15184 {
15185     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
15186     HRESULT firstPage();
15187
15188     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
15189     HRESULT lastPage();
15190
15191     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
15192     HRESULT cells([retval, out] IHTMLElementCollection* * p);
15193
15194     [id(DISPID_IHTMLTABLE2_MOVEROW)]
15195     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
15196         [defaultvalue(-1), in] LONG indexTo,
15197         [retval, out] IDispatch** row);
15198 }
15199
15200 [
15201     odl,
15202     oleautomation,
15203     dual,
15204     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
15205 ]
15206 interface IHTMLTable3 : IDispatch
15207 {
15208     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15209     HRESULT summary([in] BSTR v);
15210
15211     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15212     HRESULT summary([retval, out] BSTR * p);
15213 }
15214
15215 [
15216     noncreatable,
15217     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
15218 ]
15219 coclass HTMLTable
15220 {
15221     [default]           dispinterface DispHTMLTable;
15222     [source, default]   dispinterface HTMLTableEvents;
15223     [source]            dispinterface HTMLTableEvents2;
15224                         interface IHTMLElement;
15225                         interface IHTMLElement2;
15226                         interface IHTMLElement3;
15227                         interface IHTMLElement4;
15228                         interface IHTMLUniqueName;
15229                         interface IHTMLDOMNode;
15230                         interface IHTMLDOMNode2;
15231                         interface IHTMLDatabinding;
15232                         interface IHTMLControlElement;
15233                         interface IHTMLTable;
15234                         interface IHTMLTable2;
15235                         interface IHTMLTable3;
15236 }
15237
15238 [
15239     odl,
15240     oleautomation,
15241     dual,
15242     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
15243 ]
15244 interface IHTMLTableSection : IDispatch
15245 {
15246     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
15247     HRESULT align([in] BSTR v);
15248
15249     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
15250     HRESULT align([retval, out] BSTR *p);
15251
15252     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
15253     HRESULT vAlign([in] BSTR v);
15254
15255     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
15256     HRESULT vAlign([retval, out] BSTR *p);
15257
15258     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
15259     HRESULT bgColor([in] VARIANT v);
15260
15261     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
15262     HRESULT bgColor([retval, out] VARIANT *p);
15263
15264     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
15265     HRESULT rows([retval, out] IHTMLElementCollection **p);
15266
15267     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
15268     HRESULT insertRow(
15269             [defaultvalue(-1), in] LONG index,
15270             [retval, out] IDispatch **row);
15271
15272     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
15273     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
15274 }
15275
15276 /*****************************************************************************
15277  *    IHTMLTableRow interface
15278  */
15279 [
15280     odl,
15281     oleautomation,
15282     dual,
15283     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
15284 ]
15285 interface IHTMLTableRow : IDispatch
15286 {
15287     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
15288     HRESULT align([in] BSTR v);
15289
15290     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
15291     HRESULT align([out, retval] BSTR *p);
15292
15293     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
15294     HRESULT vAlign([in] BSTR v);
15295
15296     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
15297     HRESULT vAlign([out, retval] BSTR *p);
15298
15299     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15300     HRESULT bgColor([in] VARIANT v);
15301
15302     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15303     HRESULT bgColor([out, retval] VARIANT *p);
15304
15305     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15306     HRESULT borderColor([in] VARIANT v);
15307
15308     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15309     HRESULT borderColor([out, retval] VARIANT *p);
15310
15311     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15312     HRESULT borderColorLight([in] VARIANT v);
15313
15314     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15315     HRESULT borderColorLight([out, retval] VARIANT *p);
15316
15317     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15318     HRESULT borderColorDark([in] VARIANT v);
15319
15320     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15321     HRESULT borderColorDark([out, retval] VARIANT *p);
15322
15323     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
15324     HRESULT rowIndex([out, retval] LONG *p);
15325
15326     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
15327     HRESULT sectionRowIndex([out, retval] LONG *p);
15328
15329     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
15330     HRESULT cells([out, retval] IHTMLElementCollection **p);
15331
15332     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
15333     HRESULT insertCell(
15334             [in, defaultvalue(-1)] LONG index,
15335             [out, retval] IDispatch **row);
15336
15337     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
15338     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
15339 }
15340
15341 /*****************************************************************************
15342  *    DispHTMLTable interface
15343  */
15344 [
15345     hidden,
15346     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
15347 ]
15348 dispinterface DispHTMLTable
15349 {
15350 properties:
15351 methods:
15352     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
15353
15354     [propput, id(DISPID_IHTMLTABLE_COLS)]
15355     void cols(LONG v);
15356
15357     [propget, id(DISPID_IHTMLTABLE_COLS)]
15358     LONG cols();
15359
15360     [propput, id(DISPID_IHTMLTABLE_BORDER)]
15361     void border(VARIANT v);
15362
15363     [propget, id(DISPID_IHTMLTABLE_BORDER)]
15364     VARIANT border();
15365
15366     [propput, id(DISPID_IHTMLTABLE_FRAME)]
15367     void frame(BSTR v);
15368
15369     [propget, id(DISPID_IHTMLTABLE_FRAME)]
15370     BSTR frame();
15371
15372     [propput, id(DISPID_IHTMLTABLE_RULES)]
15373     void rules(BSTR v);
15374
15375     [propget, id(DISPID_IHTMLTABLE_RULES)]
15376     BSTR rules();
15377
15378     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
15379     void cellSpacing(VARIANT v);
15380
15381     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
15382     VARIANT cellSpacing();
15383
15384     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
15385     void cellPadding(VARIANT v);
15386
15387     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
15388     VARIANT cellPadding();
15389
15390     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
15391     void background(BSTR v);
15392
15393     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
15394     BSTR background();
15395
15396     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
15397     void bgColor(VARIANT v);
15398
15399     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
15400     VARIANT bgColor();
15401
15402     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15403     void borderColor(VARIANT v);
15404
15405     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
15406     VARIANT borderColor();
15407
15408     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15409     void borderColorLight(VARIANT v);
15410
15411     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
15412     VARIANT borderColorLight();
15413
15414     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15415     void borderColorDark(VARIANT v);
15416
15417     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
15418     VARIANT borderColorDark();
15419
15420     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
15421     void align(BSTR v);
15422
15423     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
15424     BSTR align();
15425
15426     [id(DISPID_IHTMLTABLE_REFRESH)]
15427     void refresh();
15428
15429     [propget, id(DISPID_IHTMLTABLE_ROWS)]
15430     IHTMLElementCollection *rows();
15431
15432     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
15433     void width(VARIANT v);
15434
15435     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
15436     VARIANT width();
15437
15438     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
15439     void height(VARIANT v);
15440
15441     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
15442     VARIANT height();
15443
15444     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15445     void dataPageSize(LONG v);
15446
15447     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
15448     LONG dataPageSize();
15449
15450     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
15451     void nextPage();
15452
15453     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
15454     void previousPage();
15455
15456     [propget, id(DISPID_IHTMLTABLE_THEAD)]
15457     IHTMLTableSection *tHead();
15458
15459     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
15460     IHTMLTableSection *tFoot();
15461
15462     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
15463     IHTMLElementCollection *tBodies();
15464
15465     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
15466     IHTMLTableCaption *caption();
15467
15468     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
15469     IDispatch *createTHead();
15470
15471     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
15472     void deleteTHead();
15473
15474     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
15475     IDispatch *createTFoot();
15476
15477     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
15478     void deleteTFoot();
15479
15480     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
15481     IHTMLTableCaption *createCaption();
15482
15483     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
15484     void deleteCaption();
15485
15486     [id(DISPID_IHTMLTABLE_INSERTROW)]
15487     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
15488
15489     [id(DISPID_IHTMLTABLE_DELETEROW)]
15490     void deleteRow([in, defaultvalue(-1)] LONG index);
15491
15492     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
15493     void firstPage();
15494
15495     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
15496     void lastPage();
15497
15498     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
15499     IHTMLElementCollection *cells();
15500
15501     [id(DISPID_IHTMLTABLE2_MOVEROW)]
15502     IDispatch *moveRow(
15503             [in, defaultvalue(-1)] LONG indexFrom,
15504             [in, defaultvalue(-1)] LONG indexTo);
15505
15506     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15507     void summary(BSTR v);
15508
15509     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
15510     BSTR summary();
15511 }
15512
15513 /*****************************************************************************
15514  *    DispHTMLTableRow dispinterface
15515  */
15516 [
15517     hidden,
15518     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
15519 ]
15520 dispinterface DispHTMLTableRow
15521 {
15522 properties:
15523 methods:
15524     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15525
15526     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
15527     void align(BSTR v);
15528
15529     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
15530     BSTR align();
15531
15532     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
15533     void vAlign(BSTR v);
15534
15535     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
15536     BSTR vAlign();
15537
15538     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15539     void bgColor(VARIANT v);
15540
15541     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
15542     VARIANT bgColor();
15543
15544     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15545     void borderColor(VARIANT v);
15546
15547     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
15548     VARIANT borderColor();
15549
15550     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15551     void borderColorLight(VARIANT v);
15552
15553     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
15554     VARIANT borderColorLight();
15555
15556     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15557     void borderColorDark(VARIANT v);
15558
15559     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
15560     VARIANT borderColorDark();
15561
15562     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
15563     LONG rowIndex();
15564
15565     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
15566     LONG sectionRowIndex();
15567
15568     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
15569     IHTMLElementCollection *cells();
15570
15571     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
15572     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
15573
15574     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
15575     void deleteCell([in, defaultvalue(-1)] LONG index);
15576
15577     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
15578     void height(VARIANT v);
15579
15580     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
15581     VARIANT height();
15582
15583     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
15584     void ch(BSTR v);
15585
15586     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
15587     BSTR ch();
15588
15589     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
15590     void chOff(BSTR v);
15591
15592     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
15593     BSTR chOff();
15594 }
15595
15596 /*****************************************************************************
15597  *    IHTMLScriptElement interface
15598  */
15599 [
15600     odl,
15601     oleautomation,
15602     dual,
15603     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
15604 ]
15605 interface IHTMLScriptElement : IDispatch
15606 {
15607     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15608     HRESULT src([in] BSTR v);
15609
15610     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15611     HRESULT src([retval, out] BSTR *p);
15612
15613     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15614     HRESULT htmlFor([in] BSTR v);
15615
15616     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15617     HRESULT htmlFor([retval, out] BSTR *p);
15618
15619     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15620     HRESULT event([in] BSTR v);
15621
15622     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15623     HRESULT event([retval, out] BSTR *p);
15624
15625     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15626     HRESULT text([in] BSTR v);
15627
15628     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15629     HRESULT text([retval, out] BSTR *p);
15630
15631     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15632     HRESULT defer([in] VARIANT_BOOL v);
15633
15634     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15635     HRESULT defer([retval, out] VARIANT_BOOL *p);
15636
15637     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
15638     HRESULT readyState([retval, out] BSTR *p);
15639
15640     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15641     HRESULT onerror([in] VARIANT v);
15642
15643     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15644     HRESULT onerror([retval, out] VARIANT *p);
15645
15646     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15647     HRESULT type([in] BSTR v);
15648
15649     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15650     HRESULT type([retval, out] BSTR *p);
15651 }
15652
15653 /*****************************************************************************
15654  *    IHTMLScriptElement2 interface
15655  */
15656 [
15657     odl,
15658     oleautomation,
15659     dual,
15660     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
15661 ]
15662 interface IHTMLScriptElement2 : IDispatch
15663 {
15664     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15665     HRESULT charset([in] BSTR v);
15666
15667     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15668     HRESULT charset([retval, out] BSTR *p);
15669 }
15670
15671 /*****************************************************************************
15672  *    DispHTMLScriptElement dispinterface
15673  */
15674 [
15675     hidden,
15676     uuid(3050f530-98b5-11cf-bb82-00aa00bdce0b)
15677 ]
15678 dispinterface DispHTMLScriptElement
15679 {
15680 properties:
15681 methods:
15682     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15683
15684     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15685     void src(BSTR v);
15686
15687     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
15688     BSTR src();
15689
15690     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15691     void htmlFor(BSTR v);
15692
15693     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
15694     BSTR htmlFor();
15695
15696     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15697     void event(BSTR v);
15698
15699     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
15700     BSTR event();
15701
15702     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15703     void text(BSTR v);
15704
15705     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
15706     BSTR text();
15707
15708     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15709     void defer(VARIANT_BOOL v);
15710
15711     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
15712     VARIANT_BOOL defer();
15713
15714     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15715     void onerror(VARIANT v);
15716
15717     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
15718     VARIANT onerror();
15719
15720     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15721     void type(BSTR v);
15722
15723     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
15724     BSTR type();
15725
15726     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15727     void charset(BSTR v);
15728
15729     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
15730     BSTR charset();
15731
15732     [propput, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
15733     void ie8_src(BSTR v);
15734
15735     [propget, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
15736     BSTR ie8_src();
15737 }
15738
15739 /*****************************************************************************
15740  *    IHTMLObjectElement interface
15741  */
15742 [
15743     odl,
15744     oleautomation,
15745     dual,
15746     uuid(3050f24f-98b5-11cf-bb82-00aa00bdce0b)
15747 ]
15748 interface IHTMLObjectElement : IDispatch
15749 {
15750     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
15751     HRESULT object([retval, out] IDispatch **p);
15752
15753     [propget, id(DISPID_IHTMLOBJECTELEMENT_CLASSID), hidden]
15754     HRESULT classid([retval, out] BSTR *p);
15755
15756     [propget, id(DISPID_IHTMLOBJECTELEMENT_DATA), hidden]
15757     HRESULT data([retval, out] BSTR *p);
15758
15759     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15760     HRESULT recordset([in] IDispatch *v);
15761
15762     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15763     HRESULT recordset([retval, out] IDispatch **p);
15764
15765     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15766     HRESULT align([in] BSTR v);
15767
15768     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15769     HRESULT align([retval, out] BSTR *p);
15770
15771     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15772     HRESULT name([in] BSTR v);
15773
15774     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15775     HRESULT name([retval, out] BSTR *p);
15776
15777     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15778     HRESULT codeBase([in] BSTR v);
15779
15780     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15781     HRESULT codeBase([retval, out] BSTR *p);
15782
15783     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15784     HRESULT codeType([in] BSTR v);
15785
15786     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15787     HRESULT codeType([retval, out] BSTR *p);
15788
15789     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15790     HRESULT code([in] BSTR v);
15791
15792     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15793     HRESULT code([retval, out] BSTR *p);
15794
15795     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
15796     HRESULT BaseHref([retval, out] BSTR *p);
15797
15798     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15799     HRESULT type([in] BSTR v);
15800
15801     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15802     HRESULT type([retval, out] BSTR *p);
15803
15804     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
15805     HRESULT form([retval, out] IHTMLFormElement **p);
15806
15807     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15808     HRESULT width([in] VARIANT v);
15809
15810     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15811     HRESULT width([retval, out] VARIANT *p);
15812
15813     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15814     HRESULT height([in] VARIANT v);
15815
15816     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15817     HRESULT height([retval, out] VARIANT *p);
15818
15819     [propget, id(DISPID_IHTMLOBJECTELEMENT_READYSTATE), hidden]
15820     HRESULT readyState([retval, out] long *p);
15821
15822     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
15823     HRESULT onreadystatechange([in] VARIANT v);
15824
15825     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
15826     HRESULT onreadystatechange([retval, out] VARIANT *p);
15827
15828     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15829     HRESULT onerror([in] VARIANT v);
15830
15831     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
15832     HRESULT onerror([retval, out] VARIANT *p);
15833
15834     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15835     HRESULT altHtml([in] BSTR v);
15836
15837     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
15838     HRESULT altHtml([retval, out] BSTR *p);
15839
15840     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15841     HRESULT vspace([in] long v);
15842
15843     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
15844     HRESULT vspace([retval, out] long *p);
15845
15846     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15847     HRESULT hspace([in] long v);
15848
15849     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
15850     HRESULT hspace([retval, out] long *p);
15851 }
15852
15853 /*****************************************************************************
15854  *    IHTMLParamElement interface
15855  */
15856 [
15857     odl,
15858     oleautomation,
15859     dual,
15860     uuid(3050f83d-98b5-11cf-bb82-00aa00bdce0b)
15861 ]
15862 interface IHTMLParamElement : IDispatch
15863 {
15864     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15865     HRESULT name([in] BSTR v);
15866
15867     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
15868     HRESULT name([retval, out] BSTR *p);
15869
15870     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15871     HRESULT value([in] BSTR v);
15872
15873     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
15874     HRESULT value([retval, out] BSTR *p);
15875
15876     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15877     HRESULT type([in] BSTR v);
15878
15879     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
15880     HRESULT type([retval, out] BSTR *p);
15881
15882     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15883     HRESULT valueType([in] BSTR v);
15884
15885     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
15886     HRESULT valueType([retval, out] BSTR *p);
15887 }
15888
15889 /*****************************************************************************
15890  *    IHTMLParamElement2 interface
15891  */
15892 [
15893     odl,
15894     oleautomation,
15895     dual,
15896     uuid(30510444-98b5-11cf-bb82-00aa00bdce0b)
15897 ]
15898 interface IHTMLParamElement2 : IDispatch
15899 {
15900     [propput, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
15901     HRESULT name([in] BSTR v);
15902
15903     [propget, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable]
15904     HRESULT name([retval, out] BSTR *p);
15905
15906     [propput, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
15907     HRESULT type([in] BSTR v);
15908
15909     [propget, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable]
15910     HRESULT type([retval, out] BSTR *p);
15911
15912     [propput, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
15913     HRESULT value([in] BSTR v);
15914
15915     [propget, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable]
15916     HRESULT value([retval, out] BSTR *p);
15917
15918     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15919     HRESULT valueType([in] BSTR v);
15920
15921     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
15922     HRESULT valueType([retval, out] BSTR *p);
15923 }
15924
15925 /*****************************************************************************
15926  *    DispHTMLObjectElement dispinterface
15927  */
15928 [
15929     hidden,
15930     uuid(3050f529-98b5-11cf-bb82-00aa00bdce0b)
15931 ]
15932 dispinterface DispHTMLObjectElement
15933 {
15934 properties:
15935 methods:
15936     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
15937
15938     [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden]
15939     IDispatch *object();
15940
15941     [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15942     void recordset(IDispatch *v);
15943
15944     [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden]
15945     IDispatch *recordset();
15946
15947     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15948     void align(BSTR v);
15949
15950     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable]
15951     BSTR align();
15952
15953     [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15954     void name(BSTR v);
15955
15956     [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable]
15957     BSTR name();
15958
15959     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15960     void codeBase(BSTR v);
15961
15962     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable]
15963     BSTR codeBase();
15964
15965     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15966     void codeType(BSTR v);
15967
15968     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable]
15969     BSTR codeType();
15970
15971     [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15972     void code(BSTR v);
15973
15974     [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable]
15975     BSTR code();
15976
15977     [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)]
15978     BSTR BaseHref();
15979
15980     [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15981     void type(BSTR v);
15982
15983     [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable]
15984     BSTR type();
15985
15986     [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)]
15987     IHTMLFormElement *form();
15988
15989     [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15990     void width(VARIANT v);
15991
15992     [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)]
15993     VARIANT width();
15994
15995     [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15996     void height(VARIANT v);
15997
15998     [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)]
15999     VARIANT height();
16000
16001     [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16002     void onerror(VARIANT v);
16003
16004     [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable]
16005     VARIANT onerror();
16006
16007     [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16008     void altHtml(BSTR v);
16009
16010     [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)]
16011     BSTR altHtml();
16012
16013     [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16014     void vspace(long v);
16015
16016     [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)]
16017     long vspace();
16018
16019     [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16020     void hspace(long v);
16021
16022     [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)]
16023     long hspace();
16024
16025     [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)]
16026     IDispatch *namedRecordset(
16027             [in] BSTR dataMember,
16028             [optional, in] VARIANT *hierarchy);
16029
16030     [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16031     void classid(BSTR v);
16032
16033     [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden]
16034     BSTR classid();
16035
16036     [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16037     void data(BSTR v);
16038
16039     [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden]
16040     BSTR data();
16041
16042     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
16043     void archive(BSTR v);
16044
16045     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable]
16046     BSTR archive();
16047
16048     [propput, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
16049     void alt(BSTR v);
16050
16051     [propget, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable]
16052     BSTR alt();
16053
16054     [propput, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
16055     void declare(VARIANT_BOOL v);
16056
16057     [propget, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable]
16058     VARIANT_BOOL declare();
16059
16060     [propput, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
16061     void standby(BSTR v);
16062
16063     [propget, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable]
16064     BSTR standby();
16065
16066     [propput, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
16067     void border(VARIANT v);
16068
16069     [propget, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)]
16070     VARIANT border();
16071
16072     [propput, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
16073     void useMap(BSTR v);
16074
16075     [propget, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable]
16076     BSTR useMap();
16077
16078     [propget, id(DISPID_IHTMLOBJECTELEMENT4_CONTENTDOCUMENT)]
16079     IDispatch *contentDocument();
16080
16081     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
16082     void ie8_codeBase(BSTR v);
16083
16084     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)]
16085     BSTR ie8_codeBase();
16086
16087     [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
16088     void ie8_data(BSTR v);
16089
16090     [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)]
16091     BSTR ie8_data();
16092 }
16093
16094 /*****************************************************************************
16095  *    DispHTMLParamElement dispinterface
16096  */
16097 [
16098     hidden,
16099     uuid(3050f590-98b5-11cf-bb82-00aa00bdce0b)
16100 ]
16101 dispinterface DispHTMLParamElement
16102 {
16103 properties:
16104 methods:
16105     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16106
16107     [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16108     void name(BSTR v);
16109
16110     [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable]
16111     BSTR name();
16112
16113     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16114     void value(BSTR v);
16115
16116     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable]
16117     BSTR value();
16118
16119     [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16120     void type(BSTR v);
16121
16122     [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable]
16123     BSTR type();
16124
16125     [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16126     void valueType(BSTR v);
16127
16128     [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable]
16129     BSTR valueType();
16130
16131     [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16132     void ie8_valueType(BSTR v);
16133
16134     [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)]
16135     BSTR ie8_valueType();
16136 }
16137
16138 /*****************************************************************************
16139  *    IHTMLFrameBase interface
16140  */
16141 [
16142     odl,
16143     oleautomation,
16144     dual,
16145     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
16146 ]
16147 interface IHTMLFrameBase : IDispatch
16148 {
16149     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
16150     HRESULT src([in] BSTR v);
16151
16152     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
16153     HRESULT src([out, retval] BSTR *p);
16154
16155     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
16156     HRESULT name([in] BSTR v);
16157
16158     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
16159     HRESULT name([out, retval] BSTR *p);
16160
16161     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
16162     HRESULT border([in] VARIANT v);
16163
16164     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
16165     HRESULT border([out, retval] VARIANT *p);
16166
16167     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
16168     HRESULT frameBorder([in] BSTR v);
16169
16170     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
16171     HRESULT frameBorder([out, retval] BSTR *p);
16172
16173     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
16174     HRESULT frameSpacing([in] VARIANT v);
16175
16176     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
16177     HRESULT frameSpacing([out, retval] VARIANT *p);
16178
16179     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
16180     HRESULT marginWidth([in] VARIANT v);
16181
16182     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
16183     HRESULT marginWidth([out, retval] VARIANT *p);
16184
16185     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
16186     HRESULT marginHeight([in] VARIANT v);
16187
16188     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
16189     HRESULT marginHeight([out, retval] VARIANT *p);
16190
16191     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
16192     HRESULT noResize([in] VARIANT_BOOL v);
16193
16194     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
16195     HRESULT noResize([out, retval] VARIANT_BOOL *p);
16196
16197     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
16198     HRESULT scrolling([in] BSTR v);
16199
16200     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
16201     HRESULT scrolling([out, retval] BSTR *p);
16202 }
16203
16204 #define WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL          \
16205     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
16206     void src(BSTR v);                                   \
16207                                                         \
16208     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]            \
16209     BSTR src();                                         \
16210                                                         \
16211     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
16212     void name(BSTR v);                                  \
16213                                                         \
16214     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]           \
16215     BSTR name();                                        \
16216                                                         \
16217     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
16218     void border(VARIANT v);                             \
16219                                                         \
16220     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]         \
16221     VARIANT border();                                   \
16222                                                         \
16223     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
16224     void frameBorder(BSTR v);                           \
16225                                                         \
16226     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]    \
16227     BSTR frameBorder();                                 \
16228                                                         \
16229     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
16230     void frameSpacing(VARIANT v);                       \
16231                                                         \
16232     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]   \
16233     VARIANT frameSpacing();                             \
16234                                                         \
16235     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
16236     void marginWidth(VARIANT v);                        \
16237                                                         \
16238     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]    \
16239     VARIANT marginWidth();                              \
16240                                                         \
16241     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
16242     void marginHeight(VARIANT v);                       \
16243                                                         \
16244     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]   \
16245     VARIANT marginHeight();                             \
16246                                                         \
16247     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
16248     void noResize(VARIANT_BOOL v);                      \
16249                                                         \
16250     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]       \
16251     VARIANT_BOOL noResize();                            \
16252                                                         \
16253     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
16254     void scrolling(BSTR v);                             \
16255                                                         \
16256     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]      \
16257     BSTR scrolling()
16258
16259 /*****************************************************************************
16260  *    IHTMLFrameBase2 interface
16261  */
16262 [
16263     odl,
16264     oleautomation,
16265     dual,
16266     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
16267 ]
16268 interface IHTMLFrameBase2 : IDispatch
16269 {
16270     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
16271     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
16272
16273     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
16274     HRESULT onload([in] VARIANT v);
16275
16276     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
16277     HRESULT onload([retval, out] VARIANT *p);
16278
16279     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
16280     HRESULT onreadystatechange([in] VARIANT v);
16281
16282     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
16283     HRESULT onreadystatechange([retval, out] VARIANT *p);
16284
16285     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
16286     HRESULT readyState([retval, out] BSTR *p);
16287
16288     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
16289     HRESULT allowTransparency([in] VARIANT_BOOL v);
16290
16291     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
16292     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
16293 }
16294
16295 #define WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL                         \
16296     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]                 \
16297     IHTMLWindow2 *contentWindow();                                      \
16298                                                                         \
16299     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
16300     void onload(VARIANT v);                                             \
16301                                                                         \
16302     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
16303     VARIANT onload();                                                   \
16304                                                                         \
16305     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
16306     void allowTransparency(VARIANT_BOOL v);                             \
16307                                                                         \
16308     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]             \
16309     VARIANT_BOOL allowTransparency()
16310
16311 #define WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL                           \
16312     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
16313     void longDesc(BSTR v);                                                \
16314                                                                           \
16315     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
16316     BSTR longDesc()
16317
16318
16319 #define WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL \
16320     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;  \
16321     WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL;   \
16322     WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL;  \
16323     WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL
16324
16325 /*****************************************************************************
16326  *    IHTMLFrameElement3 interface
16327  */
16328 [
16329     odl,
16330     oleautomation,
16331     dual,
16332     uuid(3051042d-98b5-11cf-bb82-00aa00bdce0b)
16333 ]
16334 interface IHTMLFrameElement3 : IDispatch
16335 {
16336     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
16337     HRESULT contentDocument([out, retval] IDispatch **p);
16338
16339     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16340     HRESULT src([in] BSTR v);
16341
16342     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16343     HRESULT src([out, retval] BSTR *p);
16344
16345     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16346     HRESULT longDesc([in] BSTR v);
16347
16348     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16349     HRESULT longDesc([out, retval] BSTR *p);
16350
16351     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16352     HRESULT frameBorder([in] BSTR v);
16353
16354     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16355     HRESULT frameBorder([out, retval] BSTR * p);
16356 }
16357
16358 /*****************************************************************************
16359  *    DispHTMLFrameElement dispinterface
16360  */
16361 [
16362     hidden,
16363     uuid(3050f513-98b5-11cf-bb82-00aa00bdce0b)
16364 ]
16365 dispinterface DispHTMLFrameElement
16366 {
16367 properties:
16368 methods:
16369     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
16370
16371     [propput, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
16372     void borderColor(VARIANT v);
16373
16374     [propget, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
16375     VARIANT borderColor();
16376
16377     [propput, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
16378     void height(VARIANT v);
16379
16380     [propget, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
16381     VARIANT height();
16382
16383     [propput, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
16384     void width(VARIANT v);
16385
16386     [propget, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
16387     VARIANT width();
16388
16389     [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
16390     IDispatch *contentDocument();
16391
16392     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16393     void ie8_src(BSTR v);
16394
16395     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
16396     BSTR ie8_src();
16397
16398     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16399     void ie8_longDesc(BSTR v);
16400
16401     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
16402     BSTR ie8_longDesc();
16403
16404     [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16405     void ie8_frameBorder(BSTR v);
16406
16407     [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
16408     BSTR ie8_frameBorder();
16409 }
16410
16411 /*****************************************************************************
16412  *    IHTMLIFrameElement interface
16413  */
16414 [
16415     odl,
16416     oleautomation,
16417     dual,
16418     uuid(3050f315-98b5-11cf-bb82-00aa00bdce0b)
16419 ]
16420 interface IHTMLIFrameElement : IDispatch
16421 {
16422     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16423     HRESULT vspace([in] LONG v);
16424
16425     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16426     HRESULT vspace([retval, out] LONG *p);
16427
16428     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16429     HRESULT hspace([in] LONG v);
16430
16431     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16432     HRESULT hspace([retval, out] LONG *p);
16433
16434     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16435     HRESULT align([in] BSTR v);
16436
16437     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16438     HRESULT align([retval, out] BSTR *p);
16439 }
16440
16441 /*****************************************************************************
16442  *    DispHTMLIFrame dispinterface
16443  */
16444 [
16445     hidden,
16446     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
16447 ]
16448 dispinterface DispHTMLIFrame
16449 {
16450 properties:
16451 methods:
16452     WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
16453
16454     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16455     void vspace(LONG v);
16456
16457     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
16458     LONG vspace();
16459
16460     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16461     void hspace(LONG v);
16462
16463     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
16464     LONG hspace();
16465
16466     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16467     void align(BSTR v);
16468
16469     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
16470     BSTR align();
16471
16472     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
16473     void height(VARIANT v);
16474
16475     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
16476     VARIANT height();
16477
16478     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
16479     void width(VARIANT v);
16480
16481     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
16482     VARIANT width();
16483 }
16484
16485 /*****************************************************************************
16486  *    IHTMLStyleElement interface
16487  */
16488 [
16489     odl,
16490     oleautomation,
16491     dual,
16492     uuid(3050f375-98b5-11cf-bb82-00aa00bdce0b)
16493 ]
16494 interface IHTMLStyleElement : IDispatch
16495 {
16496     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16497     HRESULT type([in] BSTR v);
16498
16499     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16500     HRESULT type([retval, out] BSTR *p);
16501
16502     [propget, id(DISPID_IHTMLSTYLEELEMENT_READYSTATE)]
16503     HRESULT readyState([retval, out] BSTR *p);
16504
16505     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16506     HRESULT onreadystatechange([in] VARIANT v);
16507
16508     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
16509     HRESULT onreadystatechange([retval, out] VARIANT *p);
16510
16511     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16512     HRESULT onload([in] VARIANT v);
16513
16514     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16515     HRESULT onload([retval, out] VARIANT *p);
16516
16517     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16518     HRESULT onerror([in] VARIANT v);
16519
16520     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16521     HRESULT onerror([retval, out] VARIANT *p);
16522
16523     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
16524     HRESULT styleSheet([retval, out] IHTMLStyleSheet **p);
16525
16526     [propput, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
16527     HRESULT disabled([in] VARIANT_BOOL v);
16528
16529     [propget, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable]
16530     HRESULT disabled([retval, out] VARIANT_BOOL *p);
16531
16532     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16533     HRESULT media([in] BSTR v);
16534
16535     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16536     HRESULT media([retval, out] BSTR *p);
16537 }
16538
16539 /*****************************************************************************
16540  *    DispHTMLStyleElement dispinterface
16541  */
16542 [
16543     hidden,
16544     uuid(3050f511-98b5-11cf-bb82-00aa00bdce0b)
16545 ]
16546 dispinterface DispHTMLStyleElement
16547 {
16548 properties:
16549 methods:
16550     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
16551
16552     [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16553     void type(BSTR v);
16554
16555     [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable]
16556     BSTR type();
16557
16558     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16559     void onload(VARIANT v);
16560
16561     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable]
16562     VARIANT onload();
16563
16564     [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16565     void onerror(VARIANT v);
16566
16567     [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable]
16568     VARIANT onerror();
16569
16570     [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)]
16571     IHTMLStyleSheet *styleSheet();
16572
16573     [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16574     void media(BSTR v);
16575
16576     [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable]
16577     BSTR media();
16578 }
16579
16580 /*****************************************************************************
16581  *    IHTMLStorage interface
16582  */
16583 [
16584     odl,
16585     oleautomation,
16586     dual,
16587     uuid(30510474-98b5-11cf-bb82-00aa00bdce0b)
16588 ]
16589 interface IHTMLStorage : IDispatch
16590 {
16591     [propget, id(DISPID_IHTMLSTORAGE_LENGTH), hidden]
16592     HRESULT length([out, retval] long *p);
16593
16594     [propget, id(DISPID_IHTMLSTORAGE_REMAININGSPACE), hidden]
16595     HRESULT remainingSpace([out, retval] long *p);
16596
16597     [id(DISPID_IHTMLSTORAGE_KEY)]
16598     HRESULT key(
16599             [in] long lIndex,
16600             [out, retval] BSTR *);
16601
16602     [id(DISPID_IHTMLSTORAGE_GETITEM)]
16603     HRESULT getItem(
16604             [in] BSTR bstrKey,
16605             [out, retval] VARIANT *);
16606
16607     [id(DISPID_IHTMLSTORAGE_SETITEM)]
16608     HRESULT setItem(
16609             [in] BSTR bstrKey,
16610             [in] BSTR bstrValue);
16611
16612     [id(DISPID_IHTMLSTORAGE_REMOVEITEM)]
16613     HRESULT removeItem([in] BSTR bstrKey);
16614
16615     [id(DISPID_IHTMLSTORAGE_CLEAR)]
16616     HRESULT clear();
16617 }
16618
16619 /*****************************************************************************
16620  *    IMarkupContainer interface
16621  */
16622 [
16623     object,
16624     pointer_default(unique),
16625     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
16626 ]
16627 interface IMarkupContainer : IUnknown
16628 {
16629     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
16630 }
16631
16632 /*****************************************************************************
16633  *    IMarkupPointer interface
16634  */
16635 [
16636     object,
16637     pointer_default(unique),
16638     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
16639 ]
16640 interface IMarkupPointer : IUnknown
16641 {
16642     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
16643
16644     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
16645
16646     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
16647
16648     HRESULT Cling([out] BOOL *pfCling);
16649
16650     HRESULT SetCling([in] BOOL fCLing);
16651
16652     HRESULT UnPosition();
16653
16654     HRESULT IsPositioned([out] BOOL *pfPositioned);
16655
16656     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
16657
16658     HRESULT MoveAdjacentToElement(
16659         [in] IHTMLElement *pElement,
16660         [in] ELEMENT_ADJACENCY eAdj);
16661
16662     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
16663
16664     HRESULT MoveToContainer(
16665         [in] IMarkupContainer *pContainer,
16666         [in] BOOL fAtStart);
16667
16668     HRESULT Left(
16669         [in] BOOL fMove,
16670         [out] MARKUP_CONTEXT_TYPE *pContext,
16671         [out] IHTMLElement **ppElement,
16672         [in, out] LONG *pcch,
16673         [out, size_is(*pcch)] OLECHAR *pchText);
16674
16675     HRESULT Right(
16676         [in] BOOL fMove,
16677         [out] MARKUP_CONTEXT_TYPE *pContext,
16678         [out] IHTMLElement **ppElement,
16679         [in, out] LONG *pcch,
16680         [out, size_is(*pcch)] OLECHAR *pchText);
16681
16682     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
16683
16684     HRESULT IsLeftOf(
16685         [in] IMarkupPointer *pPointerThat,
16686         [out] BOOL *pfResult);
16687
16688     HRESULT IsLeftOfOrEqualTo(
16689         [in] IMarkupPointer *pPointerThat,
16690         [out] BOOL *pfResult);
16691
16692     HRESULT IsRightOf(
16693         [in] IMarkupPointer *pPointerThat,
16694         [out] BOOL *pfResult);
16695
16696     HRESULT IsRightOfOrEqualTo(
16697         [in] IMarkupPointer *pPointerThat,
16698         [out] BOOL *pfResult);
16699
16700     HRESULT IsEqualTo(
16701         [in] IMarkupPointer *pPointerThat,
16702         [out] BOOL *pfAreEqual);
16703
16704     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
16705
16706     HRESULT FindText(
16707         [in] OLECHAR *pchFindText,
16708         [in] DWORD dwFlags,
16709         [in] IMarkupPointer *pIEndMatch,
16710         [in] IMarkupPointer *pIEndSearch);
16711 }
16712
16713 /*****************************************************************************
16714  *    ISegment interface
16715  */
16716 [
16717     object,
16718     pointer_default(unique),
16719     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
16720 ]
16721 interface ISegment : IUnknown
16722 {
16723     HRESULT GetPointers(
16724         [in] IMarkupPointer *pIStart,
16725         [in] IMarkupPointer *pIEnd);
16726 }
16727
16728 /*****************************************************************************
16729  *    IElementSegment interface
16730  */
16731 [
16732     object,
16733     pointer_default(unique),
16734     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
16735 ]
16736 interface IElementSegment : ISegment
16737 {
16738     HRESULT GetElement([out] IHTMLElement **ppIElement);
16739
16740     HRESULT SetPrimary([in] BOOL fPrimary);
16741
16742     HRESULT IsPrimary([out] BOOL *pfPrimary);
16743 }
16744
16745 /*****************************************************************************
16746  *    ISelectionServicesListener interface
16747  */
16748 [
16749     object,
16750     pointer_default(unique),
16751     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
16752 ]
16753 interface ISelectionServicesListener : IUnknown
16754 {
16755     HRESULT BeginSelectionUndo();
16756
16757     HRESULT EndSelectionUndo();
16758
16759     HRESULT OnSelectedElementExit(
16760         [in] IMarkupPointer *pIElementStart,
16761         [in] IMarkupPointer *pIElementEnd,
16762         [in] IMarkupPointer *pIElementContentStart,
16763         [in] IMarkupPointer *pIElementContentEnd);
16764
16765     HRESULT OnChangeType(
16766         [in] SELECTION_TYPE eType,
16767         [in] ISelectionServicesListener *pIListener);
16768
16769     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
16770 }
16771
16772 /*****************************************************************************
16773  *    ISelectionServices interface
16774  */
16775 [
16776     object,
16777     pointer_default(unique),
16778     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
16779 ]
16780 interface ISelectionServices : IUnknown
16781 {
16782     HRESULT SetSelectionType(
16783         [in] SELECTION_TYPE eType,
16784         [in] ISelectionServicesListener *pIListener);
16785
16786     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
16787
16788     HRESULT AddSegment(
16789         [in] IMarkupPointer *pIStart,
16790         [in] IMarkupPointer *pIEnd,
16791         [out] ISegment **ppISegmentAdded);
16792
16793     HRESULT AddElementSegment(
16794         [in] IHTMLElement *pIElement,
16795         [out] IElementSegment **ppISegmentAdded);
16796
16797     HRESULT RemoveSegment([in] ISegment *pISegment);
16798
16799     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
16800 }
16801
16802 /*****************************************************************************
16803  *    IHTMLEditDesigner interface
16804  */
16805 [
16806     object,
16807     pointer_default(unique),
16808     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
16809 ]
16810 interface IHTMLEditDesigner : IUnknown
16811 {
16812     HRESULT PreHandleEvent(
16813         [in] DISPID inEvtDispId,
16814         [in] IHTMLEventObj *pIEventObj);
16815
16816     HRESULT PostHandleEvent(
16817         [in] DISPID inEvtDispId,
16818         [in] IHTMLEventObj *pIEventObj);
16819
16820     HRESULT TranslateAccelerator(
16821         [in] DISPID inEvtDispId,
16822         [in] IHTMLEventObj *pIEventObj);
16823
16824     HRESULT PostEditorEventNotify(
16825         [in] DISPID inEvtDispId,
16826         [in] IHTMLEventObj *pIEventObj);
16827 }
16828
16829 /*****************************************************************************
16830  *    IHTMLEditServices interface
16831  */
16832 [
16833     object,
16834     pointer_default(unique),
16835     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
16836 ]
16837 interface IHTMLEditServices : IUnknown
16838 {
16839     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
16840
16841     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
16842
16843     HRESULT GetSelectionServices(
16844         [in] IMarkupContainer *pIContainer,
16845         [out] ISelectionServices **ppSelSvc);
16846
16847     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
16848
16849     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
16850
16851     HRESULT SelectRange(
16852         [in] IMarkupPointer* pStart,
16853         [in] IMarkupPointer* pEnd,
16854         [in] SELECTION_TYPE eType);
16855 }
16856
16857 /*****************************************************************************
16858  *    IElementBehaviorSite interface
16859  */
16860 [
16861     odl,
16862     uuid(3050F427-98B5-11CF-BB82-00AA00BDCE0B)
16863 ]
16864 interface IElementBehaviorSite : IUnknown {
16865     HRESULT GetElement([out, retval] IHTMLElement **ppElement);
16866     HRESULT RegisterNotification([in] long lEvent);
16867 }
16868
16869 /*****************************************************************************
16870  *    IElementBehavior interface
16871  */
16872 [
16873     odl,
16874     uuid(3050F425-98B5-11CF-BB82-00AA00BDCE0B)
16875 ]
16876 interface IElementBehavior : IUnknown {
16877     HRESULT Init([in] IElementBehaviorSite *pBehaviorSite);
16878     HRESULT Notify([in] long lEvent,  [in, out] VARIANT *pVar);
16879     HRESULT Detach();
16880 }
16881
16882 /*****************************************************************************
16883  *    IElementBehaviorFactory interface
16884  */
16885 [
16886     odl,
16887     uuid(3050f429-98b5-11cf-bb82-00aa00bdce0b)
16888 ]
16889 interface IElementBehaviorFactory : IUnknown
16890 {
16891     HRESULT FindBehavior(
16892         [in] BSTR bstrBehavior,
16893         [in] BSTR bstrBehaviorUrl,
16894         [in] IElementBehaviorSite *pSite,
16895         [out] IElementBehavior **ppBehavior);
16896 }
16897
16898 } /* library MSHTML */
16899
16900 interface IOleCommandTarget;
16901
16902 /*****************************************************************************
16903  *    IHTMLPrivateWindow interface
16904  */
16905 [
16906     object,
16907     uuid(3050f6dc-98b5-11cf-bb82-00aa00bdce0b),
16908     local
16909 ]
16910 interface IHTMLPrivateWindow : IUnknown
16911 {
16912     HRESULT SuperNavigate(BSTR url, BSTR arg2, BSTR arg3, BSTR arg4, VARIANT *post_data, VARIANT *headers, ULONG flags);
16913     HRESULT GetPendingUrl(BSTR *url);
16914     HRESULT SetPICSTarget(IOleCommandTarget *cmdtrg);
16915     HRESULT PICSComplete(int arg);
16916     HRESULT FindWindowByName(LPCWSTR name, IHTMLWindow2 **ret);
16917     HRESULT GetAddressBarUrl(BSTR *url);
16918 }