d3d8: Get rid of the unused "return_data_buffer" in the stateblock tests.
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004-2007 Jacek Caban for CodeWeavers
3  * Copyright 2008      Konstantin Kondratyuk (Etersoft)
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18  */
19
20 #include <mshtmdid.h>
21 #include <mshtmcid.h>
22 #include <olectl.h>
23
24 import "ocidl.idl";
25 import "dimm.idl";
26 import "shtypes.idl";
27
28 cpp_quote("#include <olectl.h>")
29
30 cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
31 cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
32 cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
33 cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
34 cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
35
36 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
37 cpp_quote("#undef FindText")
38 cpp_quote("#endif")
39
40 typedef enum {
41     POINTER_GRAVITY_Left,
42     POINTER_GRAVITY_Right,
43     POINTER_GRAVITY_Max = 2147483647
44 } POINTER_GRAVITY;
45
46 typedef enum {
47     CONTEXT_TYPE_None,
48     CONTEXT_TYPE_Text,
49     CONTEXT_TYPE_EnterScope,
50     CONTEXT_TYPE_ExitScope,
51     CONTEXT_TYPE_NoScope,
52     MARKUP_CONTEXT_TYPE_Max = 2147483647
53 } MARKUP_CONTEXT_TYPE;
54
55 typedef enum {
56     ELEM_ADJ_BeforeBegin,
57     ELEM_ADJ_AfterBegin,
58     ELEM_ADJ_BeforeEnd,
59     ELEM_ADJ_AfterEnd,
60     ELEMENT_ADJACENCY_Max = 2147483647
61 } ELEMENT_ADJACENCY;
62
63 typedef enum {
64     MOVEUNIT_PREVCHAR,
65     MOVEUNIT_NEXTCHAR,
66     MOVEUNIT_PREVCLUSTERBEG,
67     MOVEUNIT_NEXTCLUSTERBEG,
68     MOVEUNIT_PREVCLUSTEREND,
69     MOVEUNIT_NEXTCLUSTEREND,
70     MOVEUNIT_PREVWORDBEG,
71     MOVEUNIT_NEXTWORDBEG,
72     MOVEUNIT_PREVWORDEND,
73     MOVEUNIT_NEXTWORDEND,
74     MOVEUNIT_PREVPROOFWORD,
75     MOVEUNIT_NEXTPROOFWORD,
76     MOVEUNIT_NEXTURLBEG,
77     MOVEUNIT_PREVURLBEG,
78     MOVEUNIT_NEXTURLEND,
79     MOVEUNIT_PREVURLEND,
80     MOVEUNIT_PREVSENTENCE,
81     MOVEUNIT_NEXTSENTENCE,
82     MOVEUNIT_PREVBLOCK,
83     MOVEUNIT_NEXTBLOCK,
84     MOVEUNIT_ACTION_Max = 2147483647
85 } MOVEUNIT_ACTION;
86
87 typedef enum _SELECTION_TYPE {
88     SELECTION_TYPE_None,
89     SELECTION_TYPE_Caret,
90     SELECTION_TYPE_Text,
91     SELECTION_TYPE_Control,
92     SELECTION_TYPE_Max = 2147483647
93 } SELECTION_TYPE;
94
95 [
96     odl,
97     oleautomation,
98     dual,
99     uuid(3051049b-98b5-11cf-bb82-00aa00bdce0b)
100 ]
101 interface IHTMLDOMConstructor : IDispatch
102 {
103     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
104     HRESULT constructor([retval, out] IDispatch* * p);
105
106     HRESULT LookupGetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
107
108     HRESULT LookupSetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
109
110     HRESULT DefineGetter([in] BSTR propname, [in] VARIANT* pdispHandler);
111
112     HRESULT DefineSetter([in] BSTR propname, [in] VARIANT* pdispHandler);
113 }
114
115 #define WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL                     \
116     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]       \
117     IDispatch *constructor()
118
119 interface IHTMLDocument2;
120 interface IHTMLStyleSheetsCollection;
121 interface IHTMLFrameBase;
122
123 /*****************************************************************************
124  *    IHTMLFiltersCollection interface
125  */
126 [
127     odl,
128     oleautomation,
129     dual,
130     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
131 ]
132 interface IHTMLFiltersCollection : IDispatch
133 {
134     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
135     HRESULT length([retval, out] LONG *p);
136
137     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
138     HRESULT _newEnum([retval, out] IUnknown **p);
139
140     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
141     HRESULT item(
142         [in] VARIANT *pvarIndex,
143         [retval, out] VARIANT *pvarResult);
144 }
145
146 [
147     version(4.0),
148     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
149 ]
150 library MSHTML
151 {
152
153 importlib("stdole2.tlb");
154
155 /*****************************************************************************
156  *    IHTMLStyle interface
157  */
158 [
159     odl,
160     oleautomation,
161     dual,
162     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
163 ]
164 interface IHTMLStyle : IDispatch
165 {
166     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
167     HRESULT fontFamily([in] BSTR v);
168
169     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
170     HRESULT fontFamily([retval, out] BSTR *p);
171
172     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
173     HRESULT fontStyle([in] BSTR v);
174
175     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
176     HRESULT fontStyle([retval, out] BSTR *p);
177
178     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
179     HRESULT fontVariant([in] BSTR v);
180
181     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
182     HRESULT fontVariant([retval, out] BSTR *p);
183
184     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
185     HRESULT fontWeight([in] BSTR v);
186
187     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
188     HRESULT fontWeight([retval, out] BSTR *p);
189
190     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
191     HRESULT fontSize([in] VARIANT v);
192
193     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
194     HRESULT fontSize([retval, out] VARIANT *p);
195
196     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
197     HRESULT font([in] BSTR v);
198
199     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
200     HRESULT font([retval, out] BSTR *p);
201
202     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
203     HRESULT color([in] VARIANT v);
204
205     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
206     HRESULT color([retval, out] VARIANT *p);
207
208     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
209     HRESULT background([in] BSTR v);
210
211     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
212     HRESULT background([retval, out] BSTR *p);
213
214     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
215     HRESULT backgroundColor([in] VARIANT v);
216
217     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
218     HRESULT backgroundColor([retval, out] VARIANT *p);
219
220     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
221     HRESULT backgroundImage([in] BSTR v);
222
223     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
224     HRESULT backgroundImage([retval, out] BSTR *p);
225
226     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
227     HRESULT backgroundRepeat([in] BSTR v);
228
229     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
230     HRESULT backgroundRepeat([retval, out] BSTR *p);
231
232     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
233     HRESULT backgroundAttachment([in] BSTR v);
234
235     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
236     HRESULT backgroundAttachment([retval, out] BSTR *p);
237
238     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
239     HRESULT backgroundPosition([in] BSTR v);
240
241     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
242     HRESULT backgroundPosition([retval, out] BSTR *p);
243
244     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
245     HRESULT backgroundPositionX([in] VARIANT v);
246
247     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
248     HRESULT backgroundPositionX([retval, out] VARIANT *p);
249
250     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
251     HRESULT backgroundPositionY([in] VARIANT v);
252
253     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
254     HRESULT backgroundPositionY([retval, out] VARIANT *p);
255
256     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
257     HRESULT wordSpacing([in] VARIANT v);
258
259     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
260     HRESULT wordSpacing([retval, out] VARIANT *p);
261
262     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
263     HRESULT letterSpacing([in] VARIANT v);
264
265     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
266     HRESULT letterSpacing([retval, out] VARIANT *p);
267
268     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
269     HRESULT textDecoration([in] BSTR v);
270
271     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
272     HRESULT textDecoration([retval, out] BSTR *p);
273
274     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
275     HRESULT textDecorationNone([in] VARIANT_BOOL v);
276
277     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
278     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
279
280     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
281     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
282
283     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
284     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
285
286     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
287     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
288
289     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
290     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
291
292     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
293     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
294
295     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
296     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
297
298     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
299     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
300
301     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
302     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
303
304     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
305     HRESULT verticalAlign([in] VARIANT v);
306
307     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
308     HRESULT verticalAlign([retval, out] VARIANT *p);
309
310     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
311     HRESULT textTransform([in] BSTR v);
312
313     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
314     HRESULT textTransform([retval, out] BSTR *p);
315
316     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
317     HRESULT textAlign([in] BSTR v);
318
319     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
320     HRESULT textAlign([retval, out] BSTR *p);
321
322     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
323     HRESULT textIndent([in] VARIANT v);
324
325     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
326     HRESULT textIndent([retval, out] VARIANT *p);
327
328     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
329     HRESULT lineHeight([in] VARIANT v);
330
331     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
332     HRESULT lineHeight([retval, out] VARIANT *p);
333
334     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
335     HRESULT marginTop([in] VARIANT v);
336
337     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
338     HRESULT marginTop([retval, out] VARIANT *p);
339
340     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
341     HRESULT marginRight([in] VARIANT v);
342
343     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
344     HRESULT marginRight([retval, out] VARIANT *p);
345
346     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
347     HRESULT marginBottom([in] VARIANT v);
348
349     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
350     HRESULT marginBottom([retval, out] VARIANT *p);
351
352     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
353     HRESULT marginLeft([in] VARIANT v);
354
355     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
356     HRESULT marginLeft([retval, out] VARIANT *p);
357
358     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
359     HRESULT margin([in] BSTR v);
360
361     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
362     HRESULT margin([retval, out] BSTR *p);
363
364     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
365     HRESULT paddingTop([in] VARIANT v);
366
367     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
368     HRESULT paddingTop([retval, out] VARIANT *p);
369
370     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
371     HRESULT paddingRight([in] VARIANT v);
372
373     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
374     HRESULT paddingRight([retval, out] VARIANT *p);
375
376     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
377     HRESULT paddingBottom([in] VARIANT v);
378
379     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
380     HRESULT paddingBottom([retval, out] VARIANT *p);
381
382     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
383     HRESULT paddingLeft([in] VARIANT v);
384
385     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
386     HRESULT paddingLeft([retval, out] VARIANT *p);
387
388     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
389     HRESULT padding([in] BSTR v);
390
391     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
392     HRESULT padding([retval, out] BSTR *p);
393
394     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
395     HRESULT border([in] BSTR v);
396
397     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
398     HRESULT border([retval, out] BSTR *p);
399
400     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
401     HRESULT borderTop([in] BSTR v);
402
403     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
404     HRESULT borderTop([retval, out] BSTR *p);
405
406     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
407     HRESULT borderRight([in] BSTR v);
408
409     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
410     HRESULT borderRight([retval, out] BSTR *p);
411
412     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
413     HRESULT borderBottom([in] BSTR v);
414
415     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
416     HRESULT borderBottom([retval, out] BSTR *p);
417
418     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
419     HRESULT borderLeft([in] BSTR v);
420
421     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
422     HRESULT borderLeft([retval, out] BSTR *p);
423
424     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
425     HRESULT borderColor([in] BSTR v);
426
427     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
428     HRESULT borderColor([retval, out] BSTR *p);
429
430     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
431     HRESULT borderTopColor([in] VARIANT v);
432
433     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
434     HRESULT borderTopColor([retval, out] VARIANT *p);
435
436     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
437     HRESULT borderRightColor([in] VARIANT v);
438
439     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
440     HRESULT borderRightColor([retval, out] VARIANT *p);
441
442     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
443     HRESULT borderBottomColor([in] VARIANT v);
444
445     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
446     HRESULT borderBottomColor([retval, out] VARIANT *p);
447
448     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
449     HRESULT borderLeftColor([in] VARIANT v);
450
451     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
452     HRESULT borderLeftColor([retval, out] VARIANT *p);
453
454     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
455     HRESULT borderWidth([in] BSTR v);
456
457     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
458     HRESULT borderWidth([retval, out] BSTR *p);
459
460     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
461     HRESULT borderTopWidth([in] VARIANT v);
462
463     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
464     HRESULT borderTopWidth([retval, out] VARIANT *p);
465
466     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
467     HRESULT borderRightWidth([in] VARIANT v);
468
469     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
470     HRESULT borderRightWidth([retval, out] VARIANT *p);
471
472     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
473     HRESULT borderBottomWidth([in] VARIANT v);
474
475     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
476     HRESULT borderBottomWidth([retval, out] VARIANT *p);
477
478     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
479     HRESULT borderLeftWidth([in] VARIANT v);
480
481     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
482     HRESULT borderLeftWidth([retval, out] VARIANT *p);
483
484     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
485     HRESULT borderStyle([in] BSTR v);
486
487     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
488     HRESULT borderStyle([retval, out] BSTR *p);
489
490     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
491     HRESULT borderTopStyle([in] BSTR v);
492
493     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
494     HRESULT borderTopStyle([retval, out] BSTR *p);
495
496     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
497     HRESULT borderRightStyle([in] BSTR v);
498
499     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
500     HRESULT borderRightStyle([retval, out] BSTR *p);
501
502     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
503     HRESULT borderBottomStyle([in] BSTR v);
504
505     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
506     HRESULT borderBottomStyle([retval, out] BSTR *p);
507
508     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
509     HRESULT borderLeftStyle([in] BSTR v);
510
511     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
512     HRESULT borderLeftStyle([retval, out] BSTR *p);
513
514     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
515     HRESULT width([in] VARIANT v);
516
517     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
518     HRESULT width([retval, out] VARIANT *p);
519
520     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
521     HRESULT height([in] VARIANT v);
522
523     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
524     HRESULT height([retval, out] VARIANT *p);
525
526     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
527     HRESULT styleFloat([in] BSTR v);
528
529     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
530     HRESULT styleFloat([retval, out] BSTR *p);
531
532     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
533     HRESULT clear([in] BSTR v);
534
535     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
536     HRESULT clear([retval, out] BSTR *p);
537
538     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
539     HRESULT display([in] BSTR v);
540
541     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
542     HRESULT display([retval, out] BSTR *p);
543
544     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
545     HRESULT visibility([in] BSTR v);
546
547     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
548     HRESULT visibility([retval, out] BSTR *p);
549
550     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
551     HRESULT listStyleType([in] BSTR v);
552
553     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
554     HRESULT listStyleType([retval, out] BSTR *p);
555
556     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
557     HRESULT listStylePosition([in] BSTR v);
558
559     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
560     HRESULT listStylePosition([retval, out] BSTR *p);
561
562     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
563     HRESULT listStyleImage([in] BSTR v);
564
565     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
566     HRESULT listStyleImage([retval, out] BSTR *p);
567
568     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
569     HRESULT listStyle([in] BSTR v);
570
571     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
572     HRESULT listStyle([retval, out] BSTR *p);
573
574     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
575     HRESULT whiteSpace([in] BSTR v);
576
577     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
578     HRESULT whiteSpace([retval, out] BSTR *p);
579
580     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
581     HRESULT top([in] VARIANT v);
582
583     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
584     HRESULT top([retval, out] VARIANT *p);
585
586     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
587     HRESULT left([in] VARIANT v);
588
589     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
590     HRESULT left([retval, out] VARIANT *p);
591
592     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
593     HRESULT position([retval, out] BSTR *p);
594
595     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
596     HRESULT zIndex([in] VARIANT v);
597
598     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
599     HRESULT zIndex([retval, out] VARIANT *p);
600
601     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
602     HRESULT overflow([in] BSTR v);
603
604     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
605     HRESULT overflow([retval, out] BSTR *p);
606
607     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
608     HRESULT pageBreakBefore([in] BSTR v);
609
610     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
611     HRESULT pageBreakBefore([retval, out] BSTR *p);
612
613     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
614     HRESULT pageBreakAfter([in] BSTR v);
615
616     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
617     HRESULT pageBreakAfter([retval, out] BSTR *p);
618
619     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
620     HRESULT cssText([in] BSTR v);
621
622     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
623     HRESULT cssText([retval, out] BSTR *p);
624
625     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
626     HRESULT pixelTop([in] LONG v);
627
628     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
629     HRESULT pixelTop([retval, out] LONG *p);
630
631     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
632     HRESULT pixelLeft([in] LONG v);
633
634     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
635     HRESULT pixelLeft([retval, out] LONG *p);
636
637     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
638     HRESULT pixelWidth([in] LONG v);
639
640     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
641     HRESULT pixelWidth([retval, out] LONG *p);
642
643     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
644     HRESULT pixelHeight([in] LONG v);
645
646     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
647     HRESULT pixelHeight([retval, out] LONG *p);
648
649     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
650     HRESULT posTop([in] float v);
651
652     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
653     HRESULT posTop([retval, out] float *p);
654
655     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
656     HRESULT posLeft([in] float v);
657
658     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
659     HRESULT posLeft([retval, out] float *p);
660
661     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
662     HRESULT posWidth([in] float v);
663
664     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
665     HRESULT posWidth([retval, out] float *p);
666
667     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
668     HRESULT posHeight([in] float v);
669
670     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
671     HRESULT posHeight([retval, out] float *p);
672
673     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
674     HRESULT cursor([in] BSTR v);
675
676     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
677     HRESULT cursor([retval, out] BSTR *p);
678
679     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
680     HRESULT clip([in] BSTR v);
681
682     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
683     HRESULT clip([retval, out] BSTR *p);
684
685     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
686     HRESULT filter([in] BSTR v);
687
688     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
689     HRESULT filter([retval, out] BSTR *p);
690
691     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
692     HRESULT setAttribute(
693         [in] BSTR strAttributeName,
694         [in] VARIANT AttributeValue,
695         [defaultvalue(1), in] LONG lFlags);
696
697     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
698     HRESULT getAttribute(
699         [in] BSTR strAttributeName,
700         [defaultvalue(0), in] LONG lFlags,
701         [retval, out] VARIANT *AttributeValue);
702
703     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
704     HRESULT removeAttribute(
705         [in] BSTR strAttributeName,
706         [defaultvalue(1), in]
707         LONG lFlags,
708         [retval, out] VARIANT_BOOL *pfSuccess);
709
710     [id(DISPID_IHTMLSTYLE_TOSTRING)]
711     HRESULT toString([retval, out] BSTR *String);
712 }
713
714 /*****************************************************************************
715  *    IHTMLStyle2 interface
716  */
717 [
718     odl,
719     oleautomation,
720     dual,
721     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
722 ]
723 interface IHTMLStyle2 : IDispatch
724 {
725     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
726     HRESULT tableLayout([in] BSTR v);
727
728     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
729     HRESULT tableLayout([out, retval] BSTR *p);
730
731     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
732     HRESULT borderCollapse([in] BSTR v);
733
734     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
735     HRESULT borderCollapse([out, retval] BSTR *p);
736
737     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
738     HRESULT direction([in] BSTR v);
739
740     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
741     HRESULT direction([out, retval] BSTR *p);
742
743     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
744     HRESULT behavior([in] BSTR v);
745
746     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
747     HRESULT behavior([out, retval] BSTR *p);
748
749     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
750     HRESULT setExpression(
751             [in] BSTR propname,
752             [in] BSTR expression,
753             [in, defaultvalue("")] BSTR language);
754
755     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
756     HRESULT getExpression(
757             [in] BSTR propname,
758             [out, retval] VARIANT *expression);
759
760     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
761     HRESULT removeExpression(
762             [in] BSTR propname,
763             [out, retval] VARIANT_BOOL *pfSuccess);
764
765     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
766     HRESULT position([in] BSTR v);
767
768     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
769     HRESULT position([out, retval] BSTR *p);
770
771     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
772     HRESULT unicodeBidi([in] BSTR v);
773
774     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
775     HRESULT unicodeBidi([out, retval] BSTR *p);
776
777     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
778     HRESULT bottom([in] VARIANT v);
779
780     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
781     HRESULT bottom([out, retval] VARIANT *p);
782
783     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
784     HRESULT right([in] VARIANT v);
785
786     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
787     HRESULT right([out, retval] VARIANT *p);
788
789     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
790     HRESULT pixelBottom([in] LONG v);
791
792     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
793     HRESULT pixelBottom([out, retval] LONG *p);
794
795     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
796     HRESULT pixelRight([in] LONG v);
797
798     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
799     HRESULT pixelRight([out, retval] LONG *p);
800
801     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
802     HRESULT posBottom([in] float v);
803
804     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
805     HRESULT posBottom([out, retval] float *p);
806
807     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
808     HRESULT posRight([in] float v);
809
810     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
811     HRESULT posRight([out, retval] float *p);
812
813     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
814     HRESULT imeMode([in] BSTR v);
815
816     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
817     HRESULT imeMode([out, retval] BSTR *p);
818
819     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
820     HRESULT rubyAlign([in] BSTR v);
821
822     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
823     HRESULT rubyAlign([out, retval] BSTR *p);
824
825     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
826     HRESULT rubyPosition([in] BSTR v);
827
828     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
829     HRESULT rubyPosition([out, retval] BSTR *p);
830
831     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
832     HRESULT rubyOverhang([in] BSTR v);
833
834     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
835     HRESULT rubyOverhang([out, retval] BSTR *p);
836
837     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
838     HRESULT layoutGridChar([in] VARIANT v);
839
840     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
841     HRESULT layoutGridChar([out, retval] VARIANT *p);
842
843     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
844     HRESULT layoutGridLine([in] VARIANT v);
845
846     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
847     HRESULT layoutGridLine([out, retval] VARIANT *p);
848
849     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
850     HRESULT layoutGridMode([in] BSTR v);
851
852     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
853     HRESULT layoutGridMode([out, retval] BSTR *p);
854
855     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
856     HRESULT layoutGridType([in] BSTR v);
857
858     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
859     HRESULT layoutGridType([out, retval] BSTR *p);
860
861     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
862     HRESULT layoutGrid([in] BSTR v);
863
864     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
865     HRESULT layoutGrid([out, retval] BSTR *p);
866
867     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
868     HRESULT wordBreak([in] BSTR v);
869
870     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
871     HRESULT wordBreak([out, retval] BSTR *p);
872
873     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
874     HRESULT lineBreak([in] BSTR v);
875
876     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
877     HRESULT lineBreak([out, retval] BSTR *p);
878
879     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
880     HRESULT textJustify([in] BSTR v);
881
882     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
883     HRESULT textJustify([out, retval] BSTR *p);
884
885     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
886     HRESULT textJustifyTrim([in] BSTR v);
887
888     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
889     HRESULT textJustifyTrim([out, retval] BSTR *p);
890
891     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
892     HRESULT textKashida([in] VARIANT v);
893
894     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
895     HRESULT textKashida([out, retval] VARIANT *p);
896
897     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
898     HRESULT textAutospace([in] BSTR v);
899
900     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
901     HRESULT textAutospace([out, retval] BSTR *p);
902
903     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
904     HRESULT overflowX([in] BSTR v);
905
906     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
907     HRESULT overflowX([out, retval] BSTR *p);
908
909     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
910     HRESULT overflowY([in] BSTR v);
911
912     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
913     HRESULT overflowY([out, retval] BSTR *p);
914
915     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
916     HRESULT accelerator([in] BSTR v);
917
918     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
919     HRESULT accelerator([out, retval] BSTR *p);
920 }
921
922 /*****************************************************************************
923  *    IHTMLRuleStyle interface
924  */
925 [
926     odl,
927     oleautomation,
928     dual,
929     uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
930 ]
931 interface IHTMLRuleStyle : IDispatch
932 {
933     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
934     HRESULT fontFamily([in] BSTR v);
935
936     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
937     HRESULT fontFamily([retval, out] BSTR *p);
938
939     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
940     HRESULT fontStyle([in] BSTR v);
941
942     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
943     HRESULT fontStyle([retval, out] BSTR *p);
944
945     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
946     HRESULT fontVariant([in] BSTR v);
947
948     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
949     HRESULT fontVariant([retval, out] BSTR *p);
950
951     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
952     HRESULT fontWeight([in] BSTR v);
953
954     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
955     HRESULT fontWeight([retval, out] BSTR *p);
956
957     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
958     HRESULT fontSize([in] VARIANT v);
959
960     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
961     HRESULT fontSize([retval, out] VARIANT *p);
962
963     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
964     HRESULT font([in] BSTR v);
965
966     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
967     HRESULT font([retval, out] BSTR *p);
968
969     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
970     HRESULT color([in] VARIANT v);
971
972     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
973     HRESULT color([retval, out] VARIANT *p);
974
975     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
976     HRESULT background([in] BSTR v);
977
978     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
979     HRESULT background([retval, out] BSTR *p);
980
981     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
982     HRESULT backgroundColor([in] VARIANT v);
983
984     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
985     HRESULT backgroundColor([retval, out] VARIANT *p);
986
987     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
988     HRESULT backgroundImage([in] BSTR v);
989
990     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
991     HRESULT backgroundImage([retval, out] BSTR *p);
992
993     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
994     HRESULT backgroundRepeat([in] BSTR v);
995
996     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
997     HRESULT backgroundRepeat([retval, out] BSTR *p);
998
999     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1000     HRESULT backgroundAttachment([in] BSTR v);
1001
1002     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1003     HRESULT backgroundAttachment([retval, out] BSTR *p);
1004
1005     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1006     HRESULT backgroundPosition([in] BSTR v);
1007
1008     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1009     HRESULT backgroundPosition([retval, out] BSTR *p);
1010
1011     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1012     HRESULT backgroundPositionX([in] VARIANT v);
1013
1014     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1015     HRESULT backgroundPositionX([retval, out] VARIANT *p);
1016
1017     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1018     HRESULT backgroundPositionY([in] VARIANT v);
1019
1020     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1021     HRESULT backgroundPositionY([retval, out] VARIANT *p);
1022
1023     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1024     HRESULT wordSpacing([in] VARIANT v);
1025
1026     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1027     HRESULT wordSpacing([retval, out] VARIANT *p);
1028
1029     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1030     HRESULT letterSpacing([in] VARIANT v);
1031
1032     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1033     HRESULT letterSpacing([retval, out] VARIANT *p);
1034
1035     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1036     HRESULT textDecoration([in] BSTR v);
1037
1038     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1039     HRESULT textDecoration([retval, out] BSTR *p);
1040
1041     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1042     HRESULT textDecorationNone([in] VARIANT_BOOL v);
1043
1044     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1045     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1046
1047     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1048     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1049
1050     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1051     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1052
1053     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1054     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1055
1056     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1057     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1058
1059     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1060     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1061
1062     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1063     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1064
1065     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1066     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1067
1068     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1069     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1070
1071     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1072     HRESULT verticalAlign([in] VARIANT v);
1073
1074     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1075     HRESULT verticalAlign([retval, out] VARIANT *p);
1076
1077     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1078     HRESULT textTransform([in] BSTR v);
1079
1080     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1081     HRESULT textTransform([retval, out] BSTR *p);
1082
1083     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1084     HRESULT textAlign([in] BSTR v);
1085
1086     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1087     HRESULT textAlign([retval, out] BSTR *p);
1088
1089     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1090     HRESULT textIndent([in] VARIANT v);
1091
1092     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1093     HRESULT textIndent([retval, out] VARIANT *p);
1094
1095     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1096     HRESULT lineHeight([in] VARIANT v);
1097
1098     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1099     HRESULT lineHeight([retval, out] VARIANT *p);
1100
1101     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1102     HRESULT marginTop([in] VARIANT v);
1103
1104     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1105     HRESULT marginTop([retval, out] VARIANT *p);
1106
1107     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1108     HRESULT marginRight([in] VARIANT v);
1109
1110     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1111     HRESULT marginRight([retval, out] VARIANT *p);
1112
1113     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1114     HRESULT marginBottom([in] VARIANT v);
1115
1116     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1117     HRESULT marginBottom([retval, out] VARIANT *p);
1118
1119     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1120     HRESULT marginLeft([in] VARIANT v);
1121
1122     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1123     HRESULT marginLeft([retval, out] VARIANT *p);
1124
1125     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1126     HRESULT margin([in] BSTR v);
1127
1128     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1129     HRESULT margin([retval, out] BSTR *p);
1130
1131     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1132     HRESULT paddingTop([in] VARIANT v);
1133
1134     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1135     HRESULT paddingTop([retval, out] VARIANT *p);
1136
1137     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1138     HRESULT paddingRight([in] VARIANT v);
1139
1140     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1141     HRESULT paddingRight([retval, out] VARIANT *p);
1142
1143     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1144     HRESULT paddingBottom([in] VARIANT v);
1145
1146     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1147     HRESULT paddingBottom([retval, out] VARIANT *p);
1148
1149     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1150     HRESULT paddingLeft([in] VARIANT v);
1151
1152     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1153     HRESULT paddingLeft([retval, out] VARIANT *p);
1154
1155     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1156     HRESULT padding([in] BSTR v);
1157
1158     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1159     HRESULT padding([retval, out] BSTR *p);
1160
1161     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1162     HRESULT border([in] BSTR v);
1163
1164     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1165     HRESULT border([retval, out] BSTR *p);
1166
1167     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1168     HRESULT borderTop([in] BSTR v);
1169
1170     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1171     HRESULT borderTop([retval, out] BSTR *p);
1172
1173     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1174     HRESULT borderRight([in] BSTR v);
1175
1176     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1177     HRESULT borderRight([retval, out] BSTR *p);
1178
1179     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1180     HRESULT borderBottom([in] BSTR v);
1181
1182     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1183     HRESULT borderBottom([retval, out] BSTR *p);
1184
1185     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1186     HRESULT borderLeft([in] BSTR v);
1187
1188     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1189     HRESULT borderLeft([retval, out] BSTR *p);
1190
1191     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1192     HRESULT borderColor([in] BSTR v);
1193
1194     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1195     HRESULT borderColor([retval, out] BSTR *p);
1196
1197     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1198     HRESULT borderTopColor([in] VARIANT v);
1199
1200     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1201     HRESULT borderTopColor([retval, out] VARIANT *p);
1202
1203     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1204     HRESULT borderRightColor([in] VARIANT v);
1205
1206     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1207     HRESULT borderRightColor([retval, out] VARIANT *p);
1208
1209     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1210     HRESULT borderBottomColor([in] VARIANT v);
1211
1212     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1213     HRESULT borderBottomColor([retval, out] VARIANT *p);
1214
1215     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1216     HRESULT borderLeftColor([in] VARIANT v);
1217
1218     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1219     HRESULT borderLeftColor([retval, out] VARIANT *p);
1220
1221     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1222     HRESULT borderWidth([in] BSTR v);
1223
1224     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1225     HRESULT borderWidth([retval, out] BSTR *p);
1226
1227     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1228     HRESULT borderTopWidth([in] VARIANT v);
1229
1230     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1231     HRESULT borderTopWidth([retval, out] VARIANT *p);
1232
1233     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1234     HRESULT borderRightWidth([in] VARIANT v);
1235
1236     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1237     HRESULT borderRightWidth([retval, out] VARIANT *p);
1238
1239     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1240     HRESULT borderBottomWidth([in] VARIANT v);
1241
1242     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1243     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1244
1245     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1246     HRESULT borderLeftWidth([in] VARIANT v);
1247
1248     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1249     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1250
1251     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1252     HRESULT borderStyle([in] BSTR v);
1253
1254     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1255     HRESULT borderStyle([retval, out] BSTR *p);
1256
1257     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1258     HRESULT borderTopStyle([in] BSTR v);
1259
1260     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1261     HRESULT borderTopStyle([retval, out] BSTR *p);
1262
1263     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1264     HRESULT borderRightStyle([in] BSTR v);
1265
1266     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1267     HRESULT borderRightStyle([retval, out] BSTR *p);
1268
1269     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1270     HRESULT borderBottomStyle([in] BSTR v);
1271
1272     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1273     HRESULT borderBottomStyle([retval, out] BSTR *p);
1274
1275     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1276     HRESULT borderLeftStyle([in] BSTR v);
1277
1278     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1279     HRESULT borderLeftStyle([retval, out] BSTR *p);
1280
1281     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1282     HRESULT width([in] VARIANT v);
1283
1284     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1285     HRESULT width([retval, out] VARIANT *p);
1286
1287     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1288     HRESULT height([in] VARIANT v);
1289
1290     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1291     HRESULT height([retval, out] VARIANT *p);
1292
1293     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1294     HRESULT styleFloat([in] BSTR v);
1295
1296     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1297     HRESULT styleFloat([retval, out] BSTR *p);
1298
1299     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1300     HRESULT clear([in] BSTR v);
1301
1302     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1303     HRESULT clear([retval, out] BSTR *p);
1304
1305     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1306     HRESULT display([in] BSTR v);
1307
1308     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1309     HRESULT display([retval, out] BSTR *p);
1310
1311     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1312     HRESULT visibility([in] BSTR v);
1313
1314     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1315     HRESULT visibility([retval, out] BSTR *p);
1316
1317     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1318     HRESULT listStyleType([in] BSTR v);
1319
1320     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1321     HRESULT listStyleType([retval, out] BSTR *p);
1322
1323     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1324     HRESULT listStylePosition([in] BSTR v);
1325
1326     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1327     HRESULT listStylePosition([retval, out] BSTR *p);
1328
1329     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1330     HRESULT listStyleImage([in] BSTR v);
1331
1332     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1333     HRESULT listStyleImage([retval, out] BSTR *p);
1334
1335     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1336     HRESULT listStyle([in] BSTR v);
1337
1338     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1339     HRESULT listStyle([retval, out] BSTR *p);
1340
1341     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1342     HRESULT whiteSpace([in] BSTR v);
1343
1344     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1345     HRESULT whiteSpace([retval, out] BSTR *p);
1346
1347     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1348     HRESULT top([in] VARIANT v);
1349
1350     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1351     HRESULT top([retval, out] VARIANT *p);
1352
1353     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1354     HRESULT left([in] VARIANT v);
1355
1356     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1357     HRESULT left([retval, out] VARIANT *p);
1358
1359     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1360     HRESULT position([retval, out] BSTR *p);
1361
1362     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1363     HRESULT zIndex([in] VARIANT v);
1364
1365     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1366     HRESULT zIndex([retval, out] VARIANT *p);
1367
1368     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1369     HRESULT overflow([in] BSTR v);
1370
1371     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1372     HRESULT overflow([retval, out] BSTR *p);
1373
1374     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1375     HRESULT pageBreakBefore([in] BSTR v);
1376
1377     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1378     HRESULT pageBreakBefore([retval, out] BSTR *p);
1379
1380     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1381     HRESULT pageBreakAfter([in] BSTR v);
1382
1383     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1384     HRESULT pageBreakAfter([retval, out] BSTR *p);
1385
1386     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1387     HRESULT cssText([in] BSTR v);
1388
1389     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1390     HRESULT cssText([retval, out] BSTR *p);
1391
1392     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1393     HRESULT cursor([in] BSTR v);
1394
1395     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1396     HRESULT cursor([retval, out] BSTR *p);
1397
1398     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1399     HRESULT clip([in] BSTR v);
1400
1401     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1402     HRESULT clip([retval, out] BSTR *p);
1403
1404     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1405     HRESULT filter([in] BSTR v);
1406
1407     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1408     HRESULT filter([retval, out] BSTR *p);
1409
1410     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1411     HRESULT setAttribute(
1412         [in] BSTR strAttributeName,
1413         [in] VARIANT AttributeValue,
1414         [defaultvalue(1), in] LONG lFlags);
1415
1416     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1417     HRESULT getAttribute(
1418         [in] BSTR strAttributeName,
1419         [defaultvalue(0), in] LONG lFlags,
1420         [retval, out] VARIANT *AttributeValue);
1421
1422     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1423     HRESULT removeAttribute(
1424         [in] BSTR strAttributeName,
1425         [defaultvalue(1), in] LONG lFlags,
1426         [retval, out] VARIANT_BOOL *pfSuccess);
1427 }
1428
1429 /*****************************************************************************
1430  *    DispHTMLStyle dispinterface
1431  */
1432 [
1433     hidden,
1434     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1435 ]
1436 dispinterface DispHTMLStyle
1437 {
1438 properties:
1439 methods:
1440     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1441     void fontFamily(BSTR v);
1442
1443     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1444     BSTR fontFamily();
1445
1446     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1447     void fontStyle(BSTR v);
1448
1449     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1450     BSTR fontStyle();
1451
1452     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1453     void fontVariant(BSTR v);
1454
1455     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1456     BSTR fontVariant();
1457
1458     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1459     void fontWeight(BSTR v);
1460
1461     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1462     BSTR fontWeight();
1463
1464     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1465     void fontSize(VARIANT v);
1466
1467     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1468     VARIANT fontSize();
1469
1470     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1471     void font(BSTR v);
1472
1473     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1474     BSTR font();
1475
1476     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1477     void color(VARIANT v);
1478
1479     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1480     VARIANT color();
1481
1482     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1483     void background(BSTR v);
1484
1485     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1486     BSTR background();
1487
1488     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1489     void backgroundColor(VARIANT v);
1490
1491     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1492     VARIANT backgroundColor();
1493
1494     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1495     void backgroundImage(BSTR v);
1496
1497     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1498     BSTR backgroundImage();
1499
1500     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1501     void backgroundRepeat(BSTR v);
1502
1503     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1504     BSTR backgroundRepeat();
1505
1506     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1507     void backgroundAttachment(BSTR v);
1508
1509     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1510     BSTR backgroundAttachment();
1511
1512     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1513     void backgroundPosition(BSTR v);
1514
1515     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1516     BSTR backgroundPosition();
1517
1518     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1519     void backgroundPositionX(VARIANT v);
1520
1521     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1522     VARIANT backgroundPositionX();
1523
1524     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1525     void backgroundPositionY(VARIANT v);
1526
1527     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1528     VARIANT backgroundPositionY();
1529
1530     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1531     void wordSpacing(VARIANT v);
1532
1533     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1534     VARIANT wordSpacing();
1535
1536     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1537     void letterSpacing(VARIANT v);
1538
1539     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1540     VARIANT letterSpacing();
1541
1542     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1543     void textDecoration(BSTR v);
1544
1545     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1546     BSTR textDecoration();
1547
1548     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1549     void textDecorationNone(VARIANT_BOOL v);
1550
1551     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1552     VARIANT_BOOL textDecorationNone();
1553
1554     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1555     void textDecorationUnderline(VARIANT_BOOL v);
1556
1557     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1558     VARIANT_BOOL textDecorationUnderline();
1559
1560     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1561     void textDecorationOverline(VARIANT_BOOL v);
1562
1563     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1564     VARIANT_BOOL textDecorationOverline();
1565
1566     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1567     void textDecorationLineThrough(VARIANT_BOOL v);
1568
1569     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1570     VARIANT_BOOL textDecorationLineThrough();
1571
1572     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1573     void textDecorationBlink(VARIANT_BOOL v);
1574
1575     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1576     VARIANT_BOOL textDecorationBlink();
1577
1578     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1579     void verticalAlign(VARIANT v);
1580
1581     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1582     VARIANT verticalAlign();
1583
1584     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1585     void textTransform(BSTR v);
1586
1587     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1588     BSTR textTransform();
1589
1590     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1591     void textAlign(BSTR v);
1592
1593     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1594     BSTR textAlign();
1595
1596     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1597     void textIndent(VARIANT v);
1598
1599     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1600     VARIANT textIndent();
1601
1602     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1603     void lineHeight(VARIANT v);
1604
1605     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1606     VARIANT lineHeight();
1607
1608     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1609     void marginTop(VARIANT v);
1610
1611     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1612     VARIANT marginTop();
1613
1614     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1615     void marginRight(VARIANT v);
1616
1617     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1618     VARIANT marginRight();
1619
1620     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1621     void marginBottom(VARIANT v);
1622
1623     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1624     VARIANT marginBottom();
1625
1626     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1627     void marginLeft(VARIANT v);
1628
1629     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1630     VARIANT marginLeft();
1631
1632     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1633     void margin(BSTR v);
1634
1635     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1636     BSTR margin();
1637
1638     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1639     void paddingTop(VARIANT v);
1640
1641     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1642     VARIANT paddingTop();
1643
1644     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1645     void paddingRight(VARIANT v);
1646
1647     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1648     VARIANT paddingRight();
1649
1650     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1651     void paddingBottom(VARIANT v);
1652
1653     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1654     VARIANT paddingBottom();
1655
1656     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1657     void paddingLeft(VARIANT v);
1658
1659     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1660     VARIANT paddingLeft();
1661
1662     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1663     void padding(BSTR v);
1664
1665     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1666     BSTR padding();
1667
1668     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1669     void border(BSTR v);
1670
1671     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1672     BSTR border();
1673
1674     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1675     void borderTop(BSTR v);
1676
1677     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1678     BSTR borderTop();
1679
1680     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1681     void borderRight(BSTR v);
1682
1683     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1684     BSTR borderRight();
1685
1686     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1687     void borderBottom(BSTR v);
1688
1689     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1690     BSTR borderBottom();
1691
1692     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1693     void borderLeft(BSTR v);
1694
1695     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1696     BSTR borderLeft();
1697
1698     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1699     void borderColor(BSTR v);
1700
1701     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1702     BSTR borderColor();
1703
1704     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1705     void borderTopColor(VARIANT v);
1706
1707     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1708     VARIANT borderTopColor();
1709
1710     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1711     void borderRightColor(VARIANT v);
1712
1713     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1714     VARIANT borderRightColor();
1715
1716     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1717     void borderBottomColor(VARIANT v);
1718
1719     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1720     VARIANT borderBottomColor();
1721
1722     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1723     void borderLeftColor(VARIANT v);
1724
1725     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1726     VARIANT borderLeftColor();
1727
1728     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1729     void borderWidth(BSTR v);
1730
1731     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1732     BSTR borderWidth();
1733
1734     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1735     void borderTopWidth(VARIANT v);
1736
1737     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1738     VARIANT borderTopWidth();
1739
1740     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1741     void borderRightWidth(VARIANT v);
1742
1743     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1744     VARIANT borderRightWidth();
1745
1746     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1747     void borderBottomWidth(VARIANT v);
1748
1749     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1750     VARIANT borderBottomWidth();
1751
1752     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1753     void borderLeftWidth(VARIANT v);
1754
1755     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1756     VARIANT borderLeftWidth();
1757
1758     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1759     void borderStyle(BSTR v);
1760
1761     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1762     BSTR borderStyle();
1763
1764     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1765     void borderTopStyle(BSTR v);
1766
1767     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1768     BSTR borderTopStyle();
1769
1770     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1771     void borderRightStyle(BSTR v);
1772
1773     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1774     BSTR borderRightStyle();
1775
1776     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1777     void borderBottomStyle(BSTR v);
1778
1779     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1780     BSTR borderBottomStyle();
1781
1782     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1783     void borderLeftStyle(BSTR v);
1784
1785     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1786     BSTR borderLeftStyle();
1787
1788     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1789     void width(VARIANT v);
1790
1791     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1792     VARIANT width();
1793
1794     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1795     void height(VARIANT v);
1796
1797     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1798     VARIANT height();
1799
1800     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1801     void styleFloat(BSTR v);
1802
1803     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1804     BSTR styleFloat();
1805
1806     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1807     void clear(BSTR v);
1808
1809     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1810     BSTR clear();
1811
1812     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1813     void display(BSTR v);
1814
1815     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1816     BSTR display();
1817
1818     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1819     void visibility(BSTR v);
1820
1821     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1822     BSTR visibility();
1823
1824     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1825     void listStyleType(BSTR v);
1826
1827     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1828     BSTR listStyleType();
1829
1830     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1831     void listStylePosition(BSTR v);
1832
1833     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1834     BSTR listStylePosition();
1835
1836     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1837     void listStyleImage(BSTR v);
1838
1839     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1840     BSTR listStyleImage();
1841
1842     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1843     void listStyle(BSTR v);
1844
1845     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1846     BSTR listStyle();
1847
1848     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1849     void whiteSpace(BSTR v);
1850
1851     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1852     BSTR whiteSpace();
1853
1854     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1855     void top(VARIANT v);
1856
1857     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1858     VARIANT top();
1859
1860     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1861     void left(VARIANT v);
1862
1863     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1864     VARIANT left();
1865
1866     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1867     void zIndex(VARIANT v);
1868
1869     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1870     VARIANT zIndex();
1871
1872     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1873     void overflow(BSTR v);
1874
1875     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1876     BSTR overflow();
1877
1878     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1879     void pageBreakBefore(BSTR v);
1880
1881     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1882     BSTR pageBreakBefore();
1883
1884     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1885     void pageBreakAfter(BSTR v);
1886
1887     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1888     BSTR pageBreakAfter();
1889
1890     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1891     void cssText(BSTR v);
1892
1893     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1894     BSTR cssText();
1895
1896     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1897     void pixelTop(LONG v);
1898
1899     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1900     LONG pixelTop();
1901
1902     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1903     void pixelLeft(LONG v);
1904
1905     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1906     LONG pixelLeft();
1907
1908     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1909     void pixelWidth(LONG v);
1910
1911     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1912     LONG pixelWidth();
1913
1914     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1915     void pixelHeight(LONG v);
1916
1917     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1918     LONG pixelHeight();
1919
1920     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1921     void posTop(float v);
1922
1923     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1924     float posTop();
1925
1926     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1927     void posLeft(float v);
1928
1929     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1930     float posLeft();
1931
1932     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1933     void posWidth(float v);
1934
1935     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1936     float posWidth();
1937
1938     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1939     void posHeight(float v);
1940
1941     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1942     float posHeight();
1943
1944     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1945     void cursor(BSTR v);
1946
1947     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1948     BSTR cursor();
1949
1950     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1951     void clip(BSTR v);
1952
1953     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1954     BSTR clip();
1955
1956     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1957     void filter(BSTR v);
1958
1959     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1960     BSTR filter();
1961
1962     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1963     void setAttribute(
1964             [in] BSTR strAttributeName,
1965             [in] VARIANT AttributeValue,
1966             [in, defaultvalue(1)] LONG lFlags);
1967
1968     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1969     VARIANT getAttribute(
1970             [in] BSTR strAttributeName,
1971             [in, defaultvalue(0)] LONG lFlags);
1972
1973     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1974     VARIANT_BOOL removeAttribute(
1975             [in] BSTR strAttributeName,
1976             [in, defaultvalue(1)] LONG lFlags);
1977
1978     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1979     BSTR toString();
1980
1981     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1982     void tableLayout(BSTR v);
1983
1984     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1985     BSTR tableLayout();
1986
1987     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1988     void borderCollapse(BSTR v);
1989
1990     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1991     BSTR borderCollapse();
1992
1993     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1994     void direction(BSTR v);
1995
1996     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1997     BSTR direction();
1998
1999     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2000     void behavior(BSTR v);
2001
2002     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2003     BSTR behavior();
2004
2005     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
2006     void setExpression(
2007             [in] BSTR propname,
2008             [in] BSTR expression,
2009             [in, defaultvalue("")] BSTR language);
2010
2011     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
2012     VARIANT getExpression([in] BSTR propname);
2013
2014     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
2015     VARIANT_BOOL removeExpression([in] BSTR propname);
2016
2017     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2018     void position(BSTR v);
2019
2020     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2021     BSTR position();
2022
2023     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2024     void unicodeBidi(BSTR v);
2025
2026     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2027     BSTR unicodeBidi();
2028
2029     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2030     void bottom(VARIANT v);
2031
2032     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2033     VARIANT bottom();
2034
2035     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2036     void right(VARIANT v);
2037
2038     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2039     VARIANT right();
2040
2041     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2042     void pixelBottom(LONG v);
2043
2044     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2045     LONG pixelBottom();
2046
2047     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2048     void pixelRight(LONG v);
2049
2050     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2051     LONG pixelRight();
2052
2053     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2054     void posBottom(float v);
2055
2056     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2057     float posBottom();
2058
2059     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2060     void posRight(float v);
2061
2062     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2063     float posRight();
2064
2065     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2066     void imeMode(BSTR v);
2067
2068     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2069     BSTR imeMode();
2070
2071     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2072     void rubyAlign(BSTR v);
2073
2074     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2075     BSTR rubyAlign();
2076
2077     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2078     void rubyPosition(BSTR v);
2079
2080     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2081     BSTR rubyPosition();
2082
2083     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2084     void rubyOverhang(BSTR v);
2085
2086     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2087     BSTR rubyOverhang();
2088
2089     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2090     void layoutGridChar(VARIANT v);
2091
2092     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2093     VARIANT layoutGridChar();
2094
2095     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2096     void layoutGridLine(VARIANT v);
2097
2098     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2099     VARIANT layoutGridLine();
2100
2101     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2102     void layoutGridMode(BSTR v);
2103
2104     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2105     BSTR layoutGridMode();
2106
2107     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2108     void layoutGridType(BSTR v);
2109
2110     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2111     BSTR layoutGridType();
2112
2113     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2114     void layoutGrid(BSTR v);
2115
2116     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2117     BSTR layoutGrid();
2118
2119     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2120     void wordBreak(BSTR v);
2121
2122     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2123     BSTR wordBreak();
2124
2125     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2126     void lineBreak(BSTR v);
2127
2128     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2129     BSTR lineBreak();
2130
2131     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2132     void textJustify(BSTR v);
2133
2134     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2135     BSTR textJustify();
2136
2137     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2138     void textJustifyTrim(BSTR v);
2139
2140     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2141     BSTR textJustifyTrim();
2142
2143     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2144     void textKashida(VARIANT v);
2145
2146     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2147     VARIANT textKashida();
2148
2149     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2150     void textAutospace(BSTR v);
2151
2152     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2153     BSTR textAutospace();
2154
2155     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2156     void overflowX(BSTR v);
2157
2158     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2159     BSTR overflowX();
2160
2161     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2162     void overflowY(BSTR v);
2163
2164     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2165     BSTR overflowY();
2166
2167     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2168     void accelerator(BSTR v);
2169
2170     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2171     BSTR accelerator();
2172
2173     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2174     void layoutFlow(BSTR v);
2175
2176     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2177     BSTR layoutFlow();
2178
2179     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2180     void zoom(VARIANT v);
2181
2182     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2183     VARIANT zoom();
2184
2185     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2186     void wordWrap(BSTR v);
2187
2188     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2189     BSTR wordWrap();
2190
2191     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2192     void textUnderlinePosition(BSTR v);
2193
2194     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2195     BSTR textUnderlinePosition();
2196
2197     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2198     void scrollbarBaseColor(VARIANT v);
2199
2200     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2201     VARIANT scrollbarBaseColor();
2202
2203     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2204     void scrollbarFaceColor(VARIANT v);
2205
2206     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2207     VARIANT scrollbarFaceColor();
2208
2209     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2210     void scrollbar3dLightColor(VARIANT v);
2211
2212     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2213     VARIANT scrollbar3dLightColor();
2214
2215     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2216     void scrollbarShadowColor(VARIANT v);
2217
2218     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2219     VARIANT scrollbarShadowColor();
2220
2221     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2222     void scrollbarHighlightColor(VARIANT v);
2223
2224     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2225     VARIANT scrollbarHighlightColor();
2226
2227     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2228     void scrollbarDarkShadowColor(VARIANT v);
2229
2230     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2231     VARIANT scrollbarDarkShadowColor();
2232
2233     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2234     void scrollbarArrowColor(VARIANT v);
2235
2236     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2237     VARIANT scrollbarArrowColor();
2238
2239     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2240     void scrollbarTrackColor(VARIANT v);
2241
2242     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2243     VARIANT scrollbarTrackColor();
2244
2245     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2246     void writingMode(BSTR v);
2247
2248     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2249     BSTR writingMode();
2250
2251     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2252     void textAlignLast(BSTR v);
2253
2254     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2255     BSTR textAlignLast();
2256
2257     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2258     void textKashidaSpace(VARIANT v);
2259
2260     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2261     VARIANT textKashidaSpace();
2262
2263     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2264     void textOverflow(BSTR v);
2265
2266     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2267     BSTR textOverflow();
2268
2269     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2270     void minHeight(VARIANT v);
2271
2272     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2273     VARIANT minHeight();
2274 }
2275
2276 [
2277     odl,
2278     oleautomation,
2279     dual,
2280     uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2281 ]
2282 interface IHTMLStyle3 : IDispatch
2283 {
2284     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2285     HRESULT layoutFlow([in] BSTR v);
2286
2287     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2288     HRESULT layoutFlow([retval, out] BSTR * p);
2289
2290     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2291     HRESULT zoom([in] VARIANT v);
2292
2293     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2294     HRESULT zoom([retval, out] VARIANT * p);
2295
2296     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2297     HRESULT wordWrap([in] BSTR v);
2298
2299     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2300     HRESULT wordWrap([retval, out] BSTR * p);
2301
2302     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2303     HRESULT textUnderlinePosition([in] BSTR v);
2304
2305     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2306     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2307
2308     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2309     HRESULT scrollbarBaseColor([in] VARIANT v);
2310
2311     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2312     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2313
2314     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2315     HRESULT scrollbarFaceColor([in] VARIANT v);
2316
2317     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2318     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2319
2320     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2321     HRESULT scrollbar3dLightColor([in] VARIANT v);
2322
2323     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2324     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2325
2326     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2327     HRESULT scrollbarShadowColor([in] VARIANT v);
2328
2329     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2330     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2331
2332     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2333     HRESULT scrollbarHighlightColor([in] VARIANT v);
2334
2335     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2336     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2337
2338     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2339     HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2340
2341     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2342     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2343
2344     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2345     HRESULT scrollbarArrowColor([in] VARIANT v);
2346
2347     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2348     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2349
2350     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2351     HRESULT scrollbarTrackColor([in] VARIANT v);
2352
2353     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2354     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2355
2356     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2357     HRESULT writingMode([in] BSTR v);
2358
2359     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2360     HRESULT writingMode([retval, out] BSTR * p);
2361
2362     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2363     HRESULT textAlignLast([in] BSTR v);
2364
2365     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2366     HRESULT textAlignLast([retval, out] BSTR * p);
2367
2368     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2369     HRESULT textKashidaSpace([in] VARIANT v);
2370
2371     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2372     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2373 }
2374
2375 /*****************************************************************************
2376  *    IHTMLSytyle4 interface
2377  */
2378 [
2379     odl,
2380     oleautomation,
2381     dual,
2382     uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2383 ]
2384 interface IHTMLStyle4 : IDispatch
2385 {
2386     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2387     HRESULT textOverflow([in] BSTR v);
2388
2389     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2390     HRESULT textOverflow([retval, out] BSTR * p);
2391
2392     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2393     HRESULT minHeight([in] VARIANT v);
2394
2395     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2396     HRESULT minHeight([retval, out] VARIANT * p);
2397 }
2398
2399 [
2400     noncreatable,
2401     uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2402 ]
2403 coclass HTMLStyle
2404 {
2405     [default] dispinterface DispHTMLStyle;
2406     interface IHTMLStyle;
2407     interface IHTMLStyle2;
2408     interface IHTMLStyle3;
2409     interface IHTMLStyle4;
2410     /* interface IHTMLStyle5; */
2411 }
2412
2413 /*****************************************************************************
2414  *    IHTMLRenderStyle interface
2415  */
2416 [
2417     odl,
2418     oleautomation,
2419     dual,
2420     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2421 ]
2422 interface IHTMLRenderStyle : IDispatch
2423 {
2424     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2425     HRESULT textLineThroughStyle([in] BSTR v);
2426
2427     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2428     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2429
2430     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2431     HRESULT textUnderlineStyle([in] BSTR v);
2432
2433     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2434     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2435
2436     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2437     HRESULT textEffect([in] BSTR v);
2438
2439     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2440     HRESULT textEffect([retval, out] BSTR *p);
2441
2442     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2443     HRESULT textColor([in] VARIANT v);
2444
2445     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2446     HRESULT textColor([retval, out] VARIANT *p);
2447
2448     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2449     HRESULT textBackgroundColor([in] VARIANT v);
2450
2451     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2452     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2453
2454     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2455     HRESULT textDecorationColor([in] VARIANT v);
2456
2457     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2458     HRESULT textDecorationColor([retval, out] VARIANT *p);
2459
2460     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2461     HRESULT renderingPriority([in] LONG v);
2462
2463     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2464     HRESULT renderingPriority([retval, out] LONG *p);
2465
2466     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2467     HRESULT defaultTextSelection([in] BSTR v);
2468
2469     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2470     HRESULT defaultTextSelection([retval, out] BSTR *p);
2471
2472     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2473     HRESULT textDecoration([in] BSTR v);
2474
2475     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2476     HRESULT textDecoration([retval, out] BSTR *p);
2477 }
2478
2479 /*****************************************************************************
2480  *    IHTMLCurrentStyle interface
2481  */
2482 [
2483     odl,
2484     oleautomation,
2485     dual,
2486     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2487 ]
2488 interface IHTMLCurrentStyle : IDispatch
2489 {
2490     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2491     HRESULT position([retval, out] BSTR *p);
2492
2493     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2494     HRESULT styleFloat([retval, out] BSTR *p);
2495
2496     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2497     HRESULT color([retval, out] VARIANT *p);
2498
2499     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2500     HRESULT backgroundColor([retval, out] VARIANT *p);
2501
2502     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2503     HRESULT fontFamily([retval, out] BSTR *p);
2504
2505     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2506     HRESULT fontStyle([retval, out] BSTR *p);
2507
2508     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2509     HRESULT fontVariant([retval, out] BSTR *p);
2510
2511     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2512     HRESULT fontWeight([retval, out] VARIANT *p);
2513
2514     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2515     HRESULT fontSize([retval, out] VARIANT *p);
2516
2517     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2518     HRESULT backgroundImage([retval, out] BSTR *p);
2519
2520     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2521     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2522
2523     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2524     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2525
2526     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2527     HRESULT backgroundRepeat([retval, out] BSTR *p);
2528
2529     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2530     HRESULT borderLeftColor([retval, out] VARIANT *p);
2531
2532     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2533     HRESULT borderTopColor([retval, out] VARIANT *p);
2534
2535     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2536     HRESULT borderRightColor([retval, out] VARIANT *p);
2537
2538     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2539     HRESULT borderBottomColor([retval, out] VARIANT *p);
2540
2541     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2542     HRESULT borderTopStyle([retval, out] BSTR *p);
2543
2544     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2545     HRESULT borderRightStyle([retval, out] BSTR *p);
2546
2547     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2548     HRESULT borderBottomStyle([retval, out] BSTR *p);
2549
2550     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2551     HRESULT borderLeftStyle([retval, out] BSTR *p);
2552
2553     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2554     HRESULT borderTopWidth([retval, out] VARIANT *p);
2555
2556     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2557     HRESULT borderRightWidth([retval, out] VARIANT *p);
2558
2559     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2560     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2561
2562     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2563     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2564
2565     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2566     HRESULT left([retval, out] VARIANT *p);
2567
2568     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2569     HRESULT top([retval, out] VARIANT *p);
2570
2571     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2572     HRESULT width([retval, out] VARIANT *p);
2573
2574     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2575     HRESULT height([retval, out] VARIANT *p);
2576
2577     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2578     HRESULT paddingLeft([retval, out] VARIANT *p);
2579
2580     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2581     HRESULT paddingTop([retval, out] VARIANT *p);
2582
2583     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2584     HRESULT paddingRight([retval, out] VARIANT *p);
2585
2586     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2587     HRESULT paddingBottom([retval, out] VARIANT *p);
2588
2589     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2590     HRESULT textAlign([retval, out] BSTR *p);
2591
2592     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2593     HRESULT textDecoration([retval, out] BSTR *p);
2594
2595     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2596     HRESULT display([retval, out] BSTR *p);
2597
2598     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2599     HRESULT visibility([retval, out] BSTR *p);
2600
2601     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2602     HRESULT zIndex([retval, out] VARIANT *p);
2603
2604     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2605     HRESULT letterSpacing([retval, out] VARIANT *p);
2606
2607     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2608     HRESULT lineHeight([retval, out] VARIANT *p);
2609
2610     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2611     HRESULT textIndent([retval, out] VARIANT *p);
2612
2613     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2614     HRESULT verticalAlign([retval, out] VARIANT *p);
2615
2616     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2617     HRESULT backgroundAttachment([retval, out] BSTR *p);
2618
2619     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2620     HRESULT marginTop([retval, out] VARIANT *p);
2621
2622     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2623     HRESULT marginRight([retval, out] VARIANT *p);
2624
2625     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2626     HRESULT marginBottom([retval, out] VARIANT *p);
2627
2628     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2629     HRESULT marginLeft([retval, out] VARIANT *p);
2630
2631     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2632     HRESULT clear([retval, out] BSTR *p);
2633
2634     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2635     HRESULT listStyleType([retval, out] BSTR *p);
2636
2637     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2638     HRESULT listStylePosition([retval, out] BSTR *p);
2639
2640     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2641     HRESULT listStyleImage([retval, out] BSTR *p);
2642
2643     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2644     HRESULT clipTop([retval, out] VARIANT *p);
2645
2646     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2647     HRESULT clipRight([retval, out] VARIANT *p);
2648
2649     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2650     HRESULT clipBottom([retval, out] VARIANT *p);
2651
2652     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2653     HRESULT clipLeft([retval, out] VARIANT *p);
2654
2655     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2656     HRESULT overflow([retval, out] BSTR *p);
2657
2658     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2659     HRESULT pageBreakBefore([retval, out] BSTR *p);
2660
2661     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2662     HRESULT pageBreakAfter([retval, out] BSTR *p);
2663
2664     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2665     HRESULT cursor([retval, out] BSTR *p);
2666
2667     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2668     HRESULT tableLayout([retval, out] BSTR *p);
2669
2670     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2671     HRESULT borderCollapse([retval, out] BSTR *p);
2672
2673     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2674     HRESULT direction([retval, out] BSTR *p);
2675
2676     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2677     HRESULT behavior([retval, out] BSTR *p);
2678
2679     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2680     HRESULT getAttribute(
2681         [in] BSTR strAttributeName,
2682         [defaultvalue(0), in] LONG lFlags,
2683         [retval, out] VARIANT *AttributeValue);
2684
2685     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2686     HRESULT unicodeBidi([retval, out] BSTR *p);
2687
2688     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2689     HRESULT right([retval, out] VARIANT *p);
2690
2691     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2692     HRESULT bottom([retval, out] VARIANT *p);
2693
2694     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2695     HRESULT imeMode([retval, out] BSTR *p);
2696
2697     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2698     HRESULT rubyAlign([retval, out] BSTR *p);
2699
2700     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2701     HRESULT rubyPosition([retval, out] BSTR *p);
2702
2703     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2704     HRESULT rubyOverhang([retval, out] BSTR *p);
2705
2706     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2707     HRESULT textAutospace([retval, out] BSTR *p);
2708
2709     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2710     HRESULT lineBreak([retval, out] BSTR *p);
2711
2712     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2713     HRESULT wordBreak([retval, out] BSTR *p);
2714
2715     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2716     HRESULT textJustify([retval, out] BSTR *p);
2717
2718     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2719     HRESULT textJustifyTrim([retval, out] BSTR *p);
2720
2721     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2722     HRESULT textKashida([retval, out] VARIANT *p);
2723
2724     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2725     HRESULT blockDirection([retval, out] BSTR *p);
2726
2727     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2728     HRESULT layoutGridChar([retval, out] VARIANT *p);
2729
2730     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
2731     HRESULT layoutGridLine([retval, out] VARIANT *p);
2732
2733     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
2734     HRESULT layoutGridMode([retval, out] BSTR *p);
2735
2736     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
2737     HRESULT layoutGridType([retval, out] BSTR *p);
2738
2739     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
2740     HRESULT borderStyle([retval, out] BSTR *p);
2741
2742     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
2743     HRESULT borderColor([retval, out] BSTR *p);
2744
2745     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
2746     HRESULT borderWidth([retval, out] BSTR *p);
2747
2748     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
2749     HRESULT padding([retval, out] BSTR *p);
2750
2751     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
2752     HRESULT margin([retval, out] BSTR *p);
2753
2754     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
2755     HRESULT accelerator([retval, out] BSTR *p);
2756
2757     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
2758     HRESULT overflowX([retval, out] BSTR *p);
2759
2760     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
2761     HRESULT overflowY([retval, out] BSTR *p);
2762
2763     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
2764     HRESULT textTransform([retval, out] BSTR *p);
2765 }
2766
2767 /*****************************************************************************
2768  *    IHTMLCurrentStyle2 interface
2769  */
2770 [
2771     odl,
2772     oleautomation,
2773     dual,
2774     uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
2775 ]
2776 interface IHTMLCurrentStyle2 : IDispatch
2777 {
2778     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
2779     HRESULT layoutFlow([retval, out] BSTR * p);
2780
2781     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
2782     HRESULT wordWrap([retval, out] BSTR * p);
2783
2784     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
2785     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2786
2787     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
2788     HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
2789
2790     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
2791     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2792
2793     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
2794     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2795
2796     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2797     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2798
2799     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2800     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2801
2802     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2803     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2804
2805     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2806     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2807
2808     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
2809     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2810
2811     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
2812     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2813
2814     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
2815     HRESULT writingMode([retval, out] BSTR * p);
2816
2817     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
2818     HRESULT zoom([retval, out] VARIANT * p);
2819
2820     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
2821     HRESULT filter([retval, out] BSTR * p);
2822
2823     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
2824     HRESULT textAlignLast([retval, out] BSTR * p);
2825
2826     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
2827     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2828
2829     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
2830     HRESULT isBlock([retval, out] VARIANT_BOOL * p);
2831 }
2832
2833 /*****************************************************************************
2834  *    IHTMLCurrentStyle3 interface
2835  */
2836 [
2837     odl,
2838     oleautomation,
2839     dual,
2840     uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
2841 ]
2842 interface IHTMLCurrentStyle3 : IDispatch
2843 {
2844     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
2845     HRESULT textOverflow([retval, out] BSTR * p);
2846
2847     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
2848     HRESULT minHeight([retval, out] VARIANT * p);
2849
2850     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
2851     HRESULT wordSpacing([retval, out] VARIANT * p);
2852
2853     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
2854     HRESULT whiteSpace([retval, out] BSTR * p);
2855 }
2856
2857 /*****************************************************************************
2858  *    IHTMLCurrentStyle4 interface
2859  */
2860 [
2861     odl,
2862     oleautomation,
2863     dual,
2864     uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
2865 ]
2866 interface IHTMLCurrentStyle4 : IDispatch
2867 {
2868     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
2869     HRESULT msInterpolationMode([retval, out] BSTR * p);
2870
2871     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
2872     HRESULT maxHeight([retval, out] VARIANT * p);
2873
2874     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
2875     HRESULT minWidth([retval, out] VARIANT * p);
2876
2877     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
2878     HRESULT maxWidth([retval, out] VARIANT * p);
2879 };
2880
2881 /*****************************************************************************
2882  *    DispHTMLCurrentStyle dispinterface
2883  */
2884 [
2885     hidden,
2886     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
2887 ]
2888 dispinterface DispHTMLCurrentStyle
2889 {
2890 properties:
2891 methods:
2892     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2893     BSTR position();
2894
2895     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2896     BSTR styleFloat();
2897
2898     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2899     VARIANT color();
2900
2901     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2902     VARIANT backgroundColor();
2903
2904     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2905     BSTR fontFamily();
2906
2907     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2908     BSTR fontStyle();
2909
2910     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2911     BSTR fontVariant();
2912
2913     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2914     VARIANT fontWeight();
2915
2916     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2917     VARIANT fontSize();
2918
2919     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2920     BSTR backgroundImage();
2921
2922     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2923     VARIANT backgroundPositionX();
2924
2925     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2926     VARIANT backgroundPositionY();
2927
2928     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2929     BSTR backgroundRepeat();
2930
2931     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2932     VARIANT borderLeftColor();
2933
2934     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2935     VARIANT borderTopColor();
2936
2937     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2938     VARIANT borderRightColor();
2939
2940     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2941     VARIANT borderBottomColor();
2942
2943     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2944     BSTR borderTopStyle();
2945
2946     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2947     BSTR borderRightStyle();
2948
2949     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2950     BSTR borderBottomStyle();
2951
2952     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2953     BSTR borderLeftStyle();
2954
2955     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2956     VARIANT borderTopWidth();
2957
2958     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2959     VARIANT borderRightWidth();
2960
2961     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2962     VARIANT borderBottomWidth();
2963
2964     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2965     VARIANT borderLeftWidth();
2966
2967     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2968     VARIANT left();
2969
2970     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2971     VARIANT top();
2972
2973     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2974     VARIANT width();
2975
2976     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2977     VARIANT height();
2978
2979     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2980     VARIANT paddingLeft();
2981
2982     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2983     VARIANT paddingTop();
2984
2985     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2986     VARIANT paddingRight();
2987
2988     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2989     VARIANT paddingBottom();
2990
2991     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2992     BSTR textAlign();
2993
2994     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2995     BSTR textDecoration();
2996
2997     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2998     BSTR display();
2999
3000     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
3001     BSTR visibility();
3002
3003     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
3004     VARIANT zIndex();
3005
3006     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
3007     VARIANT letterSpacing();
3008
3009     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
3010     VARIANT lineHeight();
3011
3012     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
3013     VARIANT textIndent();
3014
3015     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
3016     VARIANT verticalAlign();
3017
3018     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
3019     BSTR backgroundAttachment();
3020
3021     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
3022     VARIANT marginTop();
3023
3024     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3025     VARIANT marginRight();
3026
3027     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3028     VARIANT marginBottom();
3029
3030     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3031     VARIANT marginLeft();
3032
3033     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3034     BSTR clear();
3035
3036     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3037     BSTR listStyleType();
3038
3039     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3040     BSTR listStylePosition();
3041
3042     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3043     BSTR listStyleImage();
3044
3045     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3046     VARIANT clipTop();
3047
3048     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3049     VARIANT clipRight();
3050
3051     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3052     VARIANT clipBottom();
3053
3054     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3055     VARIANT clipLeft();
3056
3057     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3058     BSTR overflow();
3059
3060     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3061     BSTR pageBreakBefore();
3062
3063     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3064     BSTR pageBreakAfter();
3065
3066     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3067     BSTR cursor();
3068
3069     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3070     BSTR tableLayout();
3071
3072     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3073     BSTR borderCollapse();
3074
3075     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3076     BSTR direction();
3077
3078     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3079     BSTR behavior();
3080
3081     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3082     VARIANT getAttribute(
3083             [in] BSTR strAttributeName,
3084             [in, defaultvalue(0)] LONG lFlags);
3085
3086     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3087     BSTR unicodeBidi();
3088
3089     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3090     VARIANT right();
3091
3092     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3093     VARIANT bottom();
3094
3095     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3096     BSTR imeMode();
3097
3098     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3099     BSTR rubyAlign();
3100
3101     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3102     BSTR rubyPosition();
3103
3104     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3105     BSTR rubyOverhang();
3106
3107     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3108     BSTR textAutospace();
3109
3110     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3111     BSTR lineBreak();
3112
3113     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3114     BSTR wordBreak();
3115
3116     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3117     BSTR textJustify();
3118
3119     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3120     BSTR textJustifyTrim();
3121
3122     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3123     VARIANT textKashida();
3124
3125     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3126     BSTR blockDirection();
3127
3128     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3129     VARIANT layoutGridChar();
3130
3131     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3132     VARIANT layoutGridLine();
3133
3134     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3135     BSTR layoutGridMode();
3136
3137     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3138     BSTR layoutGridType();
3139
3140     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3141     BSTR borderStyle();
3142
3143     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3144     BSTR borderColor();
3145
3146     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3147     BSTR borderWidth();
3148
3149     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3150     BSTR padding();
3151
3152     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3153     BSTR margin();
3154
3155     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3156     BSTR accelerator();
3157
3158     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3159     BSTR overflowX();
3160
3161     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3162     BSTR overflowY();
3163
3164     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3165     BSTR textTransform();
3166
3167     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3168     BSTR layoutFlow();
3169
3170     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3171     BSTR wordWrap();
3172
3173     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3174     BSTR textUnderlinePosition();
3175
3176     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3177     VARIANT_BOOL hasLayout();
3178
3179     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3180     VARIANT scrollbarBaseColor();
3181
3182     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3183     VARIANT scrollbarFaceColor();
3184
3185     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3186     VARIANT scrollbar3dLightColor();
3187
3188     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3189     VARIANT scrollbarShadowColor();
3190
3191     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3192     VARIANT scrollbarHighlightColor();
3193
3194     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3195     VARIANT scrollbarDarkShadowColor();
3196
3197     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3198     VARIANT scrollbarArrowColor();
3199
3200     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3201     VARIANT scrollbarTrackColor();
3202
3203     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3204     BSTR writingMode();
3205
3206     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3207     VARIANT zoom();
3208
3209     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3210     BSTR filter();
3211
3212     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3213     BSTR textAlignLast();
3214
3215     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3216     VARIANT textKashidaSpace();
3217
3218     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3219     VARIANT_BOOL isBlock();
3220
3221     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3222     BSTR textOverflow();
3223
3224     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3225     VARIANT minHeight();
3226
3227     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3228     VARIANT wordSpacing();
3229
3230     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3231     BSTR whiteSpace();
3232
3233     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3234     BSTR msInterpolationMode();
3235
3236     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3237     VARIANT maxHeight();
3238
3239     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3240     VARIANT minWidth();
3241
3242     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3243     VARIANT maxWidth();
3244 }
3245
3246 [
3247     noncreatable,
3248     uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3249 ]
3250 coclass HTMLCurrentStyle
3251 {
3252     [default] dispinterface DispHTMLCurrentStyle;
3253     interface IHTMLCurrentStyle;
3254     interface IHTMLCurrentStyle2;
3255     interface IHTMLCurrentStyle3;
3256     interface IHTMLCurrentStyle4;
3257 }
3258
3259 /*****************************************************************************
3260  *    IHTMLRect interface
3261  */
3262 [
3263     odl,
3264     oleautomation,
3265     dual,
3266     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3267 ]
3268 interface IHTMLRect : IDispatch
3269 {
3270     [propput, id(DISPID_IHTMLRECT_LEFT)]
3271     HRESULT left([in] LONG v);
3272
3273     [propget, id(DISPID_IHTMLRECT_LEFT)]
3274     HRESULT left([retval, out] LONG *p);
3275
3276     [propput, id(DISPID_IHTMLRECT_TOP)]
3277     HRESULT top([in] LONG v);
3278
3279     [propget, id(DISPID_IHTMLRECT_TOP)]
3280     HRESULT top([retval, out] LONG *p);
3281
3282     [propput, id(DISPID_IHTMLRECT_RIGHT)]
3283     HRESULT right([in] LONG v);
3284
3285     [propget, id(DISPID_IHTMLRECT_RIGHT)]
3286     HRESULT right([retval, out] LONG *p);
3287
3288     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3289     HRESULT bottom([in] LONG v);
3290
3291     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3292     HRESULT bottom([retval, out] LONG *p);
3293 }
3294
3295 /*****************************************************************************
3296  *    IHTMLRectCollection interface
3297  */
3298 [
3299     odl,
3300     oleautomation,
3301     dual,
3302     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3303 ]
3304 interface IHTMLRectCollection : IDispatch
3305 {
3306     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3307     HRESULT length([retval, out] LONG *p);
3308
3309     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3310     HRESULT _newEnum([retval, out] IUnknown **p);
3311
3312     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3313     HRESULT item(
3314         [in] VARIANT *pvarIndex,
3315         [retval, out] VARIANT *pvarResult);
3316 }
3317
3318 /*****************************************************************************
3319  *    IHTMLDOMNode interface
3320  */
3321 [
3322     odl,
3323     oleautomation,
3324     dual,
3325     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3326 ]
3327 interface IHTMLDOMNode : IDispatch
3328 {
3329     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3330     HRESULT nodeType([retval, out] LONG *p);
3331
3332     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3333     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3334
3335     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3336     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3337
3338     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3339     HRESULT childNodes([retval, out] IDispatch **p);
3340
3341     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3342     HRESULT attributes([retval, out] IDispatch **p);
3343
3344     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3345     HRESULT insertBefore(
3346         [in] IHTMLDOMNode *newChild,
3347         [optional, in] VARIANT refChild,
3348         [retval, out] IHTMLDOMNode **node);
3349
3350     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3351     HRESULT removeChild(
3352         [in] IHTMLDOMNode *oldChild,
3353         [retval, out] IHTMLDOMNode **node);
3354
3355     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3356     HRESULT replaceChild(
3357         [in] IHTMLDOMNode *newChild,
3358         [in] IHTMLDOMNode *oldChild,
3359         [retval, out] IHTMLDOMNode **node);
3360
3361     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3362     HRESULT cloneNode(
3363         [in] VARIANT_BOOL fDeep,
3364         [retval, out] IHTMLDOMNode **clonedNode);
3365
3366     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3367     HRESULT removeNode(
3368         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3369         [retval, out] IHTMLDOMNode **removed);
3370
3371     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3372     HRESULT swapNode(
3373         [in] IHTMLDOMNode *otherNode,
3374         [retval, out] IHTMLDOMNode **swappedNode);
3375
3376     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3377     HRESULT replaceNode(
3378         [in] IHTMLDOMNode *replacement,
3379         [retval, out] IHTMLDOMNode **replaced);
3380
3381     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3382     HRESULT appendChild(
3383         [in] IHTMLDOMNode *newChild,
3384         [retval, out] IHTMLDOMNode **node);
3385
3386     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3387     HRESULT nodeName([retval, out] BSTR *p);
3388
3389     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3390     HRESULT nodeValue([in] VARIANT v);
3391
3392     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3393     HRESULT nodeValue([retval, out] VARIANT *p);
3394
3395     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3396     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3397
3398     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3399     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3400
3401     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3402     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3403
3404     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3405     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3406 }
3407
3408 #define WINE_IHTMLDOMNODE_DISPINTERFACE_DECL                            \
3409     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]                         \
3410     LONG nodeType();                                                    \
3411                                                                         \
3412     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]                       \
3413     IHTMLDOMNode* parentNode();                                         \
3414                                                                         \
3415     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]                             \
3416     VARIANT_BOOL hasChildNodes();                                       \
3417                                                                         \
3418     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]                       \
3419     IDispatch* childNodes();                                            \
3420                                                                         \
3421     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]                       \
3422     IDispatch* attributes();                                            \
3423                                                                         \
3424     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]                              \
3425     IHTMLDOMNode* insertBefore(                                         \
3426             [in] IHTMLDOMNode* newChild,                                \
3427             [optional, in] VARIANT refChild);                           \
3428                                                                         \
3429     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]                               \
3430     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);             \
3431                                                                         \
3432     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]                              \
3433     IHTMLDOMNode* replaceChild(                                         \
3434         [in] IHTMLDOMNode* newChild,                                    \
3435         [in] IHTMLDOMNode* oldChild);                                   \
3436                                                                         \
3437     [id(DISPID_IHTMLDOMNODE_CLONENODE)]                                 \
3438     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);                   \
3439                                                                         \
3440     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]                                \
3441     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep); \
3442                                                                         \
3443     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]                                  \
3444     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);               \
3445                                                                         \
3446     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]                               \
3447     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);          \
3448                                                                         \
3449     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]                               \
3450     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);             \
3451                                                                         \
3452     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]                         \
3453     BSTR nodeName();                                                    \
3454                                                                         \
3455     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3456     void nodeValue(VARIANT v);                                          \
3457                                                                         \
3458     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3459     VARIANT nodeValue();                                                \
3460                                                                         \
3461     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]                       \
3462     IHTMLDOMNode* firstChild();                                         \
3463                                                                         \
3464     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]                        \
3465     IHTMLDOMNode* lastChild();                                          \
3466                                                                         \
3467     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]                  \
3468     IHTMLDOMNode* previousSibling();                                    \
3469                                                                         \
3470     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]                      \
3471     IHTMLDOMNode* nextSibling()
3472
3473 /*****************************************************************************
3474  *    IHTMLDOMNode2 interface
3475  */
3476 [
3477     odl,
3478     oleautomation,
3479     dual,
3480     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3481 ]
3482 interface IHTMLDOMNode2 : IDispatch
3483 {
3484     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3485     HRESULT ownerDocument([retval, out] IDispatch **p);
3486 }
3487
3488 #define WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL           \
3489     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]   \
3490     IDispatch *ownerDocument()
3491
3492 #define WINE_HTMLDOMNODE_DISPINTERFACE_DECL     \
3493     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;       \
3494     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL
3495
3496 /*****************************************************************************
3497  *    IHTMLDOMAttribute interface
3498  */
3499 [
3500     odl,
3501     oleautomation,
3502     dual,
3503     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3504 ]
3505 interface IHTMLDOMAttribute : IDispatch
3506 {
3507     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3508     HRESULT nodeName([retval, out] BSTR *p);
3509
3510     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3511     HRESULT nodeValue([in] VARIANT v);
3512
3513     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3514     HRESULT nodeValue([retval, out] VARIANT *p);
3515
3516     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3517     HRESULT specified([retval, out] VARIANT_BOOL *p);
3518 }
3519
3520 /*****************************************************************************
3521  *    IHTMLDOMAttribute2 interface
3522  */
3523 [
3524     odl,
3525     oleautomation,
3526     dual,
3527     uuid(3050f810-98b5-11cf-bb82-00aa00bdce0b)
3528 ]
3529 interface IHTMLDOMAttribute2 : IDispatch
3530 {
3531     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3532     HRESULT name([retval, out] BSTR *p);
3533
3534     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3535     HRESULT value([in] BSTR v);
3536
3537     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3538     HRESULT value([retval, out] BSTR *p);
3539
3540     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3541     HRESULT expando([retval, out] VARIANT_BOOL *p);
3542
3543     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3544     HRESULT nodeType([retval, out] long *p);
3545
3546     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3547     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3548
3549     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
3550     HRESULT childNodes([retval, out] IDispatch **p);
3551
3552     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
3553     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3554
3555     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
3556     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3557
3558     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
3559     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3560
3561     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
3562     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3563
3564     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
3565     HRESULT attributes([retval, out] IDispatch **p);
3566
3567     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
3568     HRESULT ownerDocument([retval, out] IDispatch **p);
3569
3570     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
3571     HRESULT insertBefore(
3572             [in] IHTMLDOMNode *newChild,
3573             [optional, in] VARIANT refChild,
3574             [retval, out] IHTMLDOMNode **node);
3575
3576     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
3577     HRESULT replaceChild(
3578             [in] IHTMLDOMNode *newChild,
3579             [in] IHTMLDOMNode *oldChild,
3580             [retval, out] IHTMLDOMNode **node);
3581
3582     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
3583     HRESULT removeChild(
3584             [in] IHTMLDOMNode *oldChild,
3585             [retval, out] IHTMLDOMNode **node);
3586
3587     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
3588     HRESULT appendChild(
3589             [in] IHTMLDOMNode *newChild,
3590             [retval, out] IHTMLDOMNode **node);
3591
3592     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
3593     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3594
3595     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
3596     HRESULT cloneNode(
3597             [in] VARIANT_BOOL fDeep,
3598             [retval, out] IHTMLDOMAttribute **clonedNode);
3599 }
3600
3601 /*****************************************************************************
3602  *    IHTMLDOMTextNode interface
3603  */
3604 [
3605     odl,
3606     oleautomation,
3607     dual,
3608     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3609 ]
3610 interface IHTMLDOMTextNode : IDispatch
3611 {
3612     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3613     HRESULT data([in] BSTR v);
3614
3615     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3616     HRESULT data([out, retval] BSTR *p);
3617
3618     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3619     HRESULT toString([out, retval] BSTR *String);
3620
3621     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3622     HRESULT length([out, retval] LONG *p);
3623
3624     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3625     HRESULT splitText(
3626             [in] LONG offset,
3627             [out, retval] IHTMLDOMNode **pRetNode);
3628 }
3629
3630 /*****************************************************************************
3631  *    IHTMLDOMTextNode2 interface
3632  */
3633 [
3634     odl,
3635     oleautomation,
3636     dual,
3637     uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
3638 ]
3639 interface IHTMLDOMTextNode2 : IDispatch
3640 {
3641     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3642     HRESULT substringData([in] LONG offset,[in] LONG Count,[retval, out] BSTR* pbstrsubString);
3643
3644     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3645     HRESULT appendData([in] BSTR bstrstring);
3646
3647     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3648     HRESULT insertData([in] LONG offset,[in] BSTR bstrstring);
3649
3650     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3651     HRESULT deleteData([in] LONG offset,[in] LONG Count);
3652
3653     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3654     HRESULT replaceData([in] LONG offset,[in] LONG Count,[in] BSTR bstrstring);
3655 }
3656
3657 [
3658     noncreatable,
3659     uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
3660 ]
3661 coclass HTMLDOMTextNode
3662 {
3663     [default]           dispinterface DispHTMLDOMTextNode;
3664                         interface IHTMLDOMTextNode;
3665                         interface IHTMLDOMTextNode2;
3666                         interface IHTMLDOMNode;
3667                         interface IHTMLDOMNode2;
3668 }
3669
3670 /*****************************************************************************
3671  *    IHTMLDOMImplementation interface
3672  */
3673 [
3674     odl,
3675     oleautomation,
3676     dual,
3677     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3678 ]
3679 interface IHTMLDOMImplementation : IDispatch
3680 {
3681     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3682     HRESULT hasFeature(
3683         [in] BSTR bstrfeature,
3684         [optional, in] VARIANT version,
3685         [retval, out] VARIANT_BOOL *pfHasFeature);
3686 }
3687
3688 /*****************************************************************************
3689  *    DispHTMLDOMTextNode dispinterface
3690  */
3691 [
3692     hidden,
3693     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
3694 ]
3695 dispinterface DispHTMLDOMTextNode
3696 {
3697 properties:
3698 methods:
3699     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3700     void data(BSTR v);
3701
3702     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3703     BSTR data();
3704
3705     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3706     BSTR toString();
3707
3708     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3709     LONG length();
3710
3711     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3712     IHTMLDOMNode *splitText([in] LONG offset);
3713
3714     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3715     BSTR substringData(
3716             [in] LONG offset,
3717             [in] LONG Count);
3718
3719     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3720     void appendData([in] BSTR bstrstring);
3721
3722     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3723     void insertData(
3724             [in] LONG offset,
3725             [in] BSTR bstrstring);
3726
3727     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3728     void deleteData(
3729             [in] LONG offset,
3730             [in] LONG Count);
3731
3732     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3733     void replaceData(
3734             [in] LONG offset,
3735             [in] LONG Count,
3736             [in] BSTR bstrstring);
3737
3738     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
3739 }
3740
3741 /*****************************************************************************
3742  *    IHTMLAttributeCollection3 interface
3743  */
3744 [
3745     odl,
3746     oleautomation,
3747     dual,
3748     uuid(30510469-98b5-11cf-bb82-00aa00bdce0b)
3749 ]
3750 interface IHTMLAttributeCollection3 : IDispatch
3751 {
3752     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
3753     HRESULT getNamedItem(
3754             [in] BSTR bstrName,
3755             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3756
3757     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
3758     HRESULT setNamedItem(
3759             [in] IHTMLDOMAttribute *pNodeIn,
3760             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3761
3762     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
3763     HRESULT removeNamedItem(
3764             [in] BSTR bstrName,
3765             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3766
3767     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
3768     HRESULT item(
3769             [in] long index,
3770             [retval, out] IHTMLDOMAttribute **ppNodeOut);
3771
3772     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
3773     HRESULT length([retval, out] long *p);
3774 }
3775
3776 /*****************************************************************************
3777  *    IHTMLDOMChildrenCollection interface
3778  */
3779 [
3780     odl,
3781     oleautomation,
3782     dual,
3783     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
3784 ]
3785 interface IHTMLDOMChildrenCollection : IDispatch
3786 {
3787     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3788     HRESULT length([out, retval] LONG *p);
3789
3790     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3791     HRESULT _newEnum([out, retval] IUnknown **p);
3792
3793     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3794     HRESULT item(
3795             [in] LONG index,
3796             [out, retval] IDispatch **ppItem);
3797 }
3798
3799 /*****************************************************************************
3800  *    DispDOMChildrenCollection dispinterface
3801  */
3802 [
3803     hidden,
3804     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
3805 ]
3806 dispinterface DispDOMChildrenCollection
3807 {
3808 properties:
3809 methods:
3810     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3811     LONG length();
3812
3813     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3814     IUnknown *_newEnum();
3815
3816     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3817     IDispatch *item([in] LONG index);
3818 }
3819
3820 interface IHTMLElementCollection;
3821
3822 /*****************************************************************************
3823  *    IHTMLElement interface
3824  */
3825 [
3826     odl,
3827     dual,
3828     oleautomation,
3829     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
3830 ]
3831 interface IHTMLElement : IDispatch
3832 {
3833     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3834     HRESULT setAttribute(
3835         [in] BSTR strAttributeName,
3836         [in] VARIANT AttributeValue,
3837         [defaultvalue(1), in] LONG lFlags);
3838
3839     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3840     HRESULT getAttribute(
3841         [in] BSTR strAttributeName,
3842         [defaultvalue(0), in] LONG lFlags,
3843         [retval, out] VARIANT *AttributeValue);
3844
3845     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3846     HRESULT removeAttribute(
3847         [in] BSTR strAttributeName,
3848         [defaultvalue(1), in] LONG lFlags,
3849         [retval, out] VARIANT_BOOL *pfSuccess);
3850
3851     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3852     HRESULT className([in] BSTR v);
3853
3854     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3855     HRESULT className([retval, out] BSTR *p);
3856
3857     [propput, id(DISPID_IHTMLELEMENT_ID)]
3858     HRESULT id([in] BSTR v);
3859
3860     [propget, id(DISPID_IHTMLELEMENT_ID)]
3861     HRESULT id([retval, out] BSTR *p);
3862
3863     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
3864     HRESULT tagName([retval, out] BSTR *p);
3865
3866     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
3867     HRESULT parentElement([retval, out] IHTMLElement **p);
3868
3869     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
3870     HRESULT style([retval, out] IHTMLStyle **p);
3871
3872     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
3873     HRESULT onhelp([in] VARIANT v);
3874
3875     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
3876     HRESULT onhelp([retval, out] VARIANT *p);
3877
3878     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
3879     HRESULT onclick([in] VARIANT v);
3880
3881     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
3882     HRESULT onclick([retval, out] VARIANT *p);
3883
3884     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3885     HRESULT ondblclick([in] VARIANT v);
3886
3887     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3888     HRESULT ondblclick([retval, out] VARIANT *p);
3889
3890     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3891     HRESULT onkeydown([in] VARIANT v);
3892
3893     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3894     HRESULT onkeydown([retval, out] VARIANT *p);
3895
3896     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3897     HRESULT onkeyup([in] VARIANT v);
3898
3899     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3900     HRESULT onkeyup([retval, out] VARIANT *p);
3901
3902     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3903     HRESULT onkeypress([in] VARIANT v);
3904
3905     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3906     HRESULT onkeypress([retval, out] VARIANT *p);
3907
3908     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3909     HRESULT onmouseout([in] VARIANT v);
3910
3911     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3912     HRESULT onmouseout([retval, out] VARIANT *p);
3913
3914     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3915     HRESULT onmouseover([in] VARIANT v);
3916
3917     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3918     HRESULT onmouseover([retval, out] VARIANT *p);
3919
3920     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3921     HRESULT onmousemove([in] VARIANT v);
3922
3923     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3924     HRESULT onmousemove([retval, out] VARIANT *p);
3925
3926     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3927     HRESULT onmousedown([in] VARIANT v);
3928
3929     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3930     HRESULT onmousedown([retval, out] VARIANT *p);
3931
3932     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3933     HRESULT onmouseup([in] VARIANT v);
3934
3935     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3936     HRESULT onmouseup([retval, out] VARIANT *p);
3937
3938     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
3939     HRESULT document([retval, out] IDispatch **p);
3940
3941     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
3942     HRESULT title([in] BSTR v);
3943
3944     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
3945     HRESULT title([retval, out] BSTR *p);
3946
3947     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3948     HRESULT language([in] BSTR v);
3949
3950     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3951     HRESULT language([retval, out] BSTR *p);
3952
3953     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3954     HRESULT onselectstart([in] VARIANT v);
3955
3956     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3957     HRESULT onselectstart([retval, out] VARIANT *p);
3958
3959     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
3960     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
3961
3962     [id(DISPID_IHTMLELEMENT_CONTAINS)]
3963     HRESULT contains(
3964         [in] IHTMLElement *pChild,
3965         [retval, out] VARIANT_BOOL *pfResult);
3966
3967     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
3968     HRESULT sourceIndex([retval, out] LONG *p);
3969
3970     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
3971     HRESULT recordNumber([retval, out] VARIANT *p);
3972
3973     [propput, id(DISPID_IHTMLELEMENT_LANG)]
3974     HRESULT lang([in] BSTR v);
3975
3976     [propget, id(DISPID_IHTMLELEMENT_LANG)]
3977     HRESULT lang([retval, out] BSTR *p);
3978
3979     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
3980     HRESULT offsetLeft([retval, out] LONG *p);
3981
3982     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
3983     HRESULT offsetTop([retval, out] LONG *p);
3984
3985     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
3986     HRESULT offsetWidth([retval, out] LONG *p);
3987
3988     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
3989     HRESULT offsetHeight([retval, out] LONG *p);
3990
3991     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
3992     HRESULT offsetParent([retval, out] IHTMLElement **p);
3993
3994     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
3995     HRESULT innerHTML([in] BSTR v);
3996
3997     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
3998     HRESULT innerHTML([retval, out] BSTR *p);
3999
4000     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4001     HRESULT innerText([in] BSTR v);
4002
4003     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4004     HRESULT innerText([retval, out] BSTR *p);
4005
4006     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4007     HRESULT outerHTML([in] BSTR v);
4008
4009     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4010     HRESULT outerHTML([retval, out] BSTR *p);
4011
4012     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4013     HRESULT outerText([in] BSTR v);
4014
4015     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4016     HRESULT outerText([retval, out] BSTR *p);
4017
4018     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4019     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
4020
4021     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4022     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
4023
4024     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4025     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
4026
4027     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4028     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
4029
4030     [id(DISPID_IHTMLELEMENT_CLICK)]
4031     HRESULT click();
4032
4033     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4034     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
4035
4036     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4037     HRESULT ondragstart([in] VARIANT v);
4038
4039     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4040     HRESULT ondragstart([retval, out] VARIANT *p);
4041
4042     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4043     HRESULT toString([retval, out] BSTR *String);
4044
4045     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4046     HRESULT onbeforeupdate([in] VARIANT v);
4047
4048     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4049     HRESULT onbeforeupdate([retval, out] VARIANT *p);
4050
4051     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4052     HRESULT onafterupdate([in] VARIANT v);
4053
4054     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4055     HRESULT onafterupdate([retval, out] VARIANT *p);
4056
4057     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4058     HRESULT onerrorupdate([in] VARIANT v);
4059
4060     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4061     HRESULT onerrorupdate([retval, out] VARIANT *p);
4062
4063     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4064     HRESULT onrowexit([in] VARIANT v);
4065
4066     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4067     HRESULT onrowexit([retval, out] VARIANT *p);
4068
4069     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4070     HRESULT onrowenter([in] VARIANT v);
4071
4072     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4073     HRESULT onrowenter([retval, out] VARIANT *p);
4074
4075     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4076     HRESULT ondatasetchanged([in] VARIANT v);
4077
4078     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4079     HRESULT ondatasetchanged([retval, out] VARIANT *p);
4080
4081     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4082     HRESULT ondataavailable([in] VARIANT v);
4083
4084     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4085     HRESULT ondataavailable([retval, out] VARIANT *p);
4086
4087     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4088     HRESULT ondatasetcomplete([in] VARIANT v);
4089
4090     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4091     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
4092
4093     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4094     HRESULT onfilterchange([in] VARIANT v);
4095
4096     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4097     HRESULT onfilterchange([retval, out] VARIANT *p);
4098
4099     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4100     HRESULT children([retval, out] IDispatch **p);
4101
4102     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4103     HRESULT all([retval, out] IDispatch **p);
4104 }
4105
4106 #define WINE_IHTMLELEMENT_DISPINTERFACE_DECL                            \
4107     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]                              \
4108     void setAttribute(                                                  \
4109         [in] BSTR strAttributeName,                                     \
4110         [in] VARIANT AttValue,                                          \
4111         [defaultvalue(1), in] LONG lFlags);                             \
4112                                                                         \
4113     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]                              \
4114     VARIANT getAttribute(                                               \
4115         [in] BSTR strAttributeName,                                     \
4116         [defaultvalue(0), in] LONG lFlags);                             \
4117                                                                         \
4118     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]                           \
4119     VARIANT_BOOL removeAttribute(                                       \
4120         [in] BSTR strAttributeName,                                     \
4121         [defaultvalue(1), in] LONG lFlags);                             \
4122                                                                         \
4123     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4124     void className(BSTR v);                                             \
4125                                                                         \
4126     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4127     BSTR className();                                                   \
4128                                                                         \
4129     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4130     void id(BSTR v);                                                    \
4131                                                                         \
4132     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4133     BSTR id();                                                          \
4134                                                                         \
4135     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]                          \
4136     BSTR tagName();                                                     \
4137                                                                         \
4138     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]                    \
4139     IHTMLElement *parentElement();                                      \
4140                                                                         \
4141     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]              \
4142     IHTMLStyle *style();                                                \
4143                                                                         \
4144     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4145     void onhelp(VARIANT v);                                             \
4146                                                                         \
4147     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4148     VARIANT onhelp();                                                   \
4149                                                                         \
4150     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4151     void onclick(VARIANT v);                                            \
4152                                                                         \
4153     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4154     VARIANT onclick();                                                  \
4155                                                                         \
4156     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4157     void ondblclick(VARIANT v);                                         \
4158                                                                         \
4159     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4160     VARIANT ondblclick();                                               \
4161                                                                         \
4162     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4163     void onkeydown(VARIANT v);                                          \
4164                                                                         \
4165     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4166     VARIANT onkeydown();                                                \
4167                                                                         \
4168     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4169     void onkeyup(VARIANT v);                                            \
4170                                                                         \
4171     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4172     VARIANT onkeyup();                                                  \
4173                                                                         \
4174     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4175     void onkeypress(VARIANT v);                                         \
4176                                                                         \
4177     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4178     VARIANT onkeypress();                                               \
4179                                                                         \
4180     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4181     void onmouseout(VARIANT v);                                         \
4182                                                                         \
4183     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4184     VARIANT onmouseout();                                               \
4185                                                                         \
4186     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4187     void onmouseover(VARIANT v);                                        \
4188                                                                         \
4189     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4190     VARIANT onmouseover();                                              \
4191                                                                         \
4192     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4193     void onmousemove(VARIANT v);                                        \
4194                                                                         \
4195     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4196     VARIANT onmousemove();                                              \
4197                                                                         \
4198     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4199     void onmousedown(VARIANT v);                                        \
4200                                                                         \
4201     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4202     VARIANT onmousedown();                                              \
4203                                                                         \
4204     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4205     void onmouseup(VARIANT v);                                          \
4206                                                                         \
4207     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4208     VARIANT onmouseup();                                                \
4209                                                                         \
4210     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();  \
4211                                                                         \
4212     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4213     void title(BSTR v);                                                 \
4214                                                                         \
4215     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4216     BSTR title();                                                       \
4217                                                                         \
4218     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4219     void language(BSTR v);                                              \
4220                                                                         \
4221     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4222     BSTR language();                                                    \
4223                                                                         \
4224     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4225     void onselectstart(VARIANT v);                                      \
4226                                                                         \
4227     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4228     VARIANT onselectstart();                                            \
4229                                                                         \
4230     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]                            \
4231     void scrollIntoView([optional, in] VARIANT varargStart);            \
4232                                                                         \
4233     [id(DISPID_IHTMLELEMENT_CONTAINS)]                                  \
4234     VARIANT_BOOL contains([in] IHTMLElement* pChild);                   \
4235                                                                         \
4236     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]            \
4237     LONG sourceIndex();                                                 \
4238                                                                         \
4239     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]                     \
4240     VARIANT recordNumber();                                             \
4241                                                                         \
4242     [propput, id(DISPID_IHTMLELEMENT_LANG)]                             \
4243     void lang(BSTR v);                                                  \
4244                                                                         \
4245     [propget, id(DISPID_IHTMLELEMENT_LANG)]                             \
4246     BSTR lang();                                                        \
4247                                                                         \
4248     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]                       \
4249     LONG offsetLeft();                                                  \
4250                                                                         \
4251     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]                        \
4252     LONG offsetTop();                                                   \
4253                                                                         \
4254     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]                      \
4255     LONG offsetWidth();                                                 \
4256                                                                         \
4257     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]                     \
4258     LONG offsetHeight();                                                \
4259                                                                         \
4260     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]                     \
4261     IHTMLElement* offsetParent();                                       \
4262                                                                         \
4263     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4264     void innerHTML(BSTR v);                                             \
4265                                                                         \
4266     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4267     BSTR innerHTML();                                                   \
4268                                                                         \
4269     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4270     void innerText(BSTR v);                                             \
4271                                                                         \
4272     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4273     BSTR innerText();                                                   \
4274                                                                         \
4275     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4276     void outerHTML(BSTR v);                                             \
4277                                                                         \
4278     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4279     BSTR outerHTML();                                                   \
4280                                                                         \
4281     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4282     void outerText(BSTR v);                                             \
4283                                                                         \
4284     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4285     BSTR outerText();                                                   \
4286                                                                         \
4287     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]                        \
4288     void insertAdjacentHTML(                                            \
4289         [in] BSTR where,                                                \
4290         [in] BSTR html);                                                \
4291                                                                         \
4292     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]                        \
4293     void insertAdjacentText(                                            \
4294         [in] BSTR where,                                                \
4295         [in] BSTR text);                                                \
4296                                                                         \
4297     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]                   \
4298     IHTMLElement* parentTextEdit();                                     \
4299                                                                         \
4300     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]                       \
4301     VARIANT_BOOL isTextEdit();                                          \
4302                                                                         \
4303     [id(DISPID_IHTMLELEMENT_CLICK)]                                     \
4304     void click();                                                       \
4305                                                                         \
4306     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]                          \
4307     IHTMLFiltersCollection* filters();                                  \
4308                                                                         \
4309     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4310     void ondragstart(VARIANT v);                                        \
4311                                                                         \
4312     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4313     VARIANT ondragstart();                                              \
4314                                                                         \
4315     [id(DISPID_IHTMLELEMENT_TOSTRING)]                                  \
4316     BSTR toString();                                                    \
4317                                                                         \
4318     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4319     void onbeforeupdate(VARIANT v);                                     \
4320                                                                         \
4321     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4322     VARIANT onbeforeupdate();                                           \
4323                                                                         \
4324     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4325     void onafterupdate(VARIANT v);                                      \
4326                                                                         \
4327     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4328     VARIANT onafterupdate();                                            \
4329                                                                         \
4330     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4331     void onerrorupdate(VARIANT v);                                      \
4332                                                                         \
4333     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4334     VARIANT onerrorupdate();                                            \
4335                                                                         \
4336     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4337     void onrowexit(VARIANT v);                                          \
4338                                                                         \
4339     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4340     VARIANT onrowexit();                                                \
4341                                                                         \
4342     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4343     void onrowenter(VARIANT v);                                         \
4344                                                                         \
4345     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4346     VARIANT onrowenter();                                               \
4347                                                                         \
4348     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4349     void ondatasetchanged(VARIANT v);                                   \
4350                                                                         \
4351     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4352     VARIANT ondatasetchanged();                                         \
4353                                                                         \
4354     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4355     void ondataavailable(VARIANT v);                                    \
4356                                                                         \
4357     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4358     VARIANT ondataavailable();                                          \
4359                                                                         \
4360     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4361     void ondatasetcomplete(VARIANT v);                                  \
4362                                                                         \
4363     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4364     VARIANT ondatasetcomplete();                                        \
4365                                                                         \
4366     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4367     void onfilterchange(VARIANT v);                                     \
4368                                                                         \
4369     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4370     VARIANT onfilterchange();                                           \
4371                                                                         \
4372     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]                         \
4373     IDispatch* children();                                              \
4374                                                                         \
4375     [propget, id(DISPID_IHTMLELEMENT_ALL)]                              \
4376     IDispatch* all()
4377
4378 /*****************************************************************************
4379  *    IHTMLElement2 interface
4380  */
4381 [
4382     odl,
4383     oleautomation,
4384     dual,
4385     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
4386 ]
4387 interface IHTMLElement2 : IDispatch
4388 {
4389     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4390     HRESULT scopeName([retval, out] BSTR *p);
4391
4392     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4393     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
4394
4395     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4396     HRESULT releaseCapture();
4397
4398     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4399     HRESULT onlosecapture([in] VARIANT v);
4400
4401     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4402     HRESULT onlosecapture([retval, out] VARIANT *p);
4403
4404     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4405     HRESULT componentFromPoint(
4406         [in] LONG x,
4407         [in] LONG y,
4408         [retval, out] BSTR *component);
4409
4410     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4411     HRESULT doScroll([optional, in] VARIANT component);
4412
4413     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4414     HRESULT onscroll([in] VARIANT v);
4415
4416     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4417     HRESULT onscroll([retval, out] VARIANT *p);
4418
4419     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4420     HRESULT ondrag([in] VARIANT v);
4421
4422     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4423     HRESULT ondrag([retval, out] VARIANT *p);
4424
4425     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4426     HRESULT ondragend([in] VARIANT v);
4427
4428     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4429     HRESULT ondragend([retval, out] VARIANT *p);
4430
4431     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4432     HRESULT ondragenter([in] VARIANT v);
4433
4434     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4435     HRESULT ondragenter([retval, out] VARIANT *p);
4436
4437     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4438     HRESULT ondragover([in] VARIANT v);
4439
4440     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4441     HRESULT ondragover([retval, out] VARIANT *p);
4442
4443     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4444     HRESULT ondragleave([in] VARIANT v);
4445
4446     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4447     HRESULT ondragleave([retval, out] VARIANT *p);
4448
4449     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4450     HRESULT ondrop([in] VARIANT v);
4451
4452     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4453     HRESULT ondrop([retval, out] VARIANT *p);
4454
4455     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4456     HRESULT onbeforecut([in] VARIANT v);
4457
4458     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4459     HRESULT onbeforecut([retval, out] VARIANT *p);
4460
4461     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4462     HRESULT oncut([in] VARIANT v);
4463
4464     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4465     HRESULT oncut([retval, out] VARIANT *p);
4466
4467     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4468     HRESULT onbeforecopy([in] VARIANT v);
4469
4470     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4471     HRESULT onbeforecopy([retval, out] VARIANT *p);
4472
4473     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4474     HRESULT oncopy([in] VARIANT v);
4475
4476     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4477     HRESULT oncopy([retval, out] VARIANT *p);
4478
4479     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4480     HRESULT onbeforepaste([in] VARIANT v);
4481
4482     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4483     HRESULT onbeforepaste([retval, out] VARIANT *p);
4484
4485     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4486     HRESULT onpaste([in] VARIANT v);
4487
4488     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4489     HRESULT onpaste([retval, out] VARIANT *p);
4490
4491     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4492     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
4493
4494     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4495     HRESULT onpropertychange([in] VARIANT v);
4496
4497     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4498     HRESULT onpropertychange([retval, out] VARIANT *p);
4499
4500     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4501     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
4502
4503     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4504     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
4505
4506     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4507     HRESULT setExpression(
4508         [in] BSTR propname,
4509         [in] BSTR expression,
4510         [defaultvalue(""), in] BSTR language);
4511
4512     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4513     HRESULT getExpression(
4514         [in] BSTR propname,
4515         [retval, out] VARIANT *expression);
4516
4517     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4518     HRESULT removeExpression(
4519         [in] BSTR propname,
4520         [retval, out] VARIANT_BOOL *pfSuccess);
4521
4522     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4523     HRESULT tabIndex([in] short v);
4524
4525     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4526     HRESULT tabIndex([retval, out] short *p);
4527
4528     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4529     HRESULT focus();
4530
4531     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4532     HRESULT accessKey([in] BSTR v);
4533
4534     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4535     HRESULT accessKey([retval, out] BSTR *p);
4536
4537     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4538     HRESULT onblur([in] VARIANT v);
4539
4540     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4541     HRESULT onblur([retval, out] VARIANT *p);
4542
4543     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4544     HRESULT onfocus([in] VARIANT v);
4545
4546     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4547     HRESULT onfocus([retval, out] VARIANT *p);
4548
4549     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4550     HRESULT onresize([in] VARIANT v);
4551
4552     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4553     HRESULT onresize([retval, out] VARIANT *p);
4554
4555     [id(DISPID_IHTMLELEMENT2_BLUR)]
4556     HRESULT blur();
4557
4558     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4559     HRESULT addFilter([in] IUnknown *pUnk);
4560
4561     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4562     HRESULT removeFilter([in] IUnknown *pUnk);
4563
4564     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4565     HRESULT clientHeight([retval, out] LONG *p);
4566
4567     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4568     HRESULT clientWidth([retval, out] LONG *p);
4569
4570     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4571     HRESULT clientTop([retval, out] LONG *p);
4572
4573     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4574     HRESULT clientLeft([retval, out] LONG *p);
4575
4576     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4577     HRESULT attachEvent(
4578         [in] BSTR event,
4579         [in] IDispatch *pDisp,
4580         [retval, out] VARIANT_BOOL *pfResult);
4581
4582     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4583     HRESULT detachEvent(
4584         [in] BSTR event,
4585         [in] IDispatch *pDisp);
4586
4587     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4588     HRESULT readyState([retval, out] VARIANT *p);
4589
4590     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4591     HRESULT onreadystatechange([in] VARIANT v);
4592
4593     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4594     HRESULT onreadystatechange([retval, out] VARIANT *p);
4595
4596     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4597     HRESULT onrowsdelete([in] VARIANT v);
4598
4599     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4600     HRESULT onrowsdelete([retval, out] VARIANT *p);
4601
4602     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4603     HRESULT onrowsinserted([in] VARIANT v);
4604
4605     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4606     HRESULT onrowsinserted([retval, out] VARIANT *p);
4607
4608     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4609     HRESULT oncellchange([in] VARIANT v);
4610
4611     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4612     HRESULT oncellchange([retval, out] VARIANT *p);
4613
4614     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4615     HRESULT dir([in] BSTR v);
4616
4617     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4618     HRESULT dir([retval, out] BSTR *p);
4619
4620     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
4621     HRESULT createControlRange([retval, out] IDispatch **range);
4622
4623     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
4624     HRESULT scrollHeight([retval, out] LONG *p);
4625
4626     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
4627     HRESULT scrollWidth([retval, out] LONG *p);
4628
4629     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4630     HRESULT scrollTop([in] LONG v);
4631
4632     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4633     HRESULT scrollTop([retval, out] LONG *p);
4634
4635     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4636     HRESULT scrollLeft([in] LONG v);
4637
4638     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4639     HRESULT scrollLeft([retval, out] LONG *p);
4640
4641     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
4642     HRESULT clearAttributes();
4643
4644     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
4645     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
4646
4647     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4648     HRESULT oncontextmenu([in] VARIANT v);
4649
4650     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4651     HRESULT oncontextmenu([retval, out] VARIANT *p);
4652
4653     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
4654     HRESULT insertAdjacentElement(
4655         [in] BSTR where,
4656         [in] IHTMLElement *insertedElement,
4657         [retval, out] IHTMLElement **inserted);
4658
4659     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
4660     HRESULT applyElement(
4661         [in] IHTMLElement *apply,
4662         [in] BSTR where,
4663         [retval, out] IHTMLElement **applied);
4664
4665     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
4666     HRESULT getAdjacentText(
4667         [in] BSTR where,
4668         [retval, out] BSTR *text);
4669
4670     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
4671     HRESULT replaceAdjacentText(
4672         [in] BSTR where,
4673         [in] BSTR newText,
4674         [retval, out] BSTR *oldText);
4675
4676     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
4677     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
4678
4679     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
4680     HRESULT addBehavior(
4681         [in] BSTR bstrUrl,
4682         [optional, in] VARIANT *pvarFactory,
4683         [retval, out] LONG *pCookie);
4684
4685     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
4686     HRESULT removeBehavior(
4687         [in] LONG cookie,
4688         [retval, out] VARIANT_BOOL *pfResult);
4689
4690     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
4691     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
4692
4693     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
4694     HRESULT behaviorUrns([retval, out] IDispatch **p);
4695
4696     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
4697     HRESULT tagUrn([in] BSTR v);
4698
4699     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
4700     HRESULT tagUrn([retval, out] BSTR *p);
4701
4702     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4703     HRESULT onbeforeeditfocus([in] VARIANT v);
4704
4705     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4706     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
4707
4708     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
4709     HRESULT readyStateValue([retval, out] LONG *p);
4710
4711     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
4712     HRESULT getElementsByTagName(
4713         [in] BSTR v,
4714         [retval, out] IHTMLElementCollection **pelColl);
4715 }
4716
4717 #define WINE_IHTMLELEMENT2_DISPINTERFACE_DECL                           \
4718     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]                       \
4719     BSTR scopeName();                                                   \
4720                                                                         \
4721     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]                               \
4722     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture); \
4723                                                                         \
4724     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]                           \
4725     void releaseCapture();                                              \
4726                                                                         \
4727     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
4728     void onlosecapture(VARIANT v);                                      \
4729                                                                         \
4730     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
4731     VARIANT onlosecapture();                                            \
4732                                                                         \
4733     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]                       \
4734     BSTR componentFromPoint([in] LONG x,[in] LONG y);                   \
4735                                                                         \
4736     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]                                 \
4737     void doScroll([optional, in] VARIANT component);                    \
4738                                                                         \
4739     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
4740     void onscroll(VARIANT v);                                           \
4741                                                                         \
4742     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
4743     VARIANT onscroll();                                                 \
4744                                                                         \
4745     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
4746     void ondrag(VARIANT v);                                             \
4747                                                                         \
4748     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
4749     VARIANT ondrag();                                                   \
4750                                                                         \
4751     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
4752     void ondragend(VARIANT v);                                          \
4753                                                                         \
4754     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
4755     VARIANT ondragend();                                                \
4756                                                                         \
4757     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
4758     void ondragenter(VARIANT v);                                        \
4759                                                                         \
4760     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
4761     VARIANT ondragenter();                                              \
4762                                                                         \
4763     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
4764     void ondragover(VARIANT v);                                         \
4765                                                                         \
4766     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
4767     VARIANT ondragover();                                               \
4768                                                                         \
4769     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
4770     void ondragleave(VARIANT v);                                        \
4771                                                                         \
4772     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
4773     VARIANT ondragleave();                                              \
4774                                                                         \
4775     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
4776     void ondrop(VARIANT v);                                             \
4777                                                                         \
4778     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
4779     VARIANT ondrop();                                                   \
4780                                                                         \
4781     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
4782     void onbeforecut(VARIANT v);                                        \
4783                                                                         \
4784     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
4785     VARIANT onbeforecut();                                              \
4786                                                                         \
4787     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
4788     void oncut(VARIANT v);                                              \
4789                                                                         \
4790     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
4791     VARIANT oncut();                                                    \
4792                                                                         \
4793     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
4794     void onbeforecopy(VARIANT v);                                       \
4795                                                                         \
4796     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
4797     VARIANT onbeforecopy();                                             \
4798                                                                         \
4799     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
4800     void oncopy(VARIANT v);                                             \
4801                                                                         \
4802     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
4803     VARIANT oncopy();                                                   \
4804                                                                         \
4805     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
4806     void onbeforepaste(VARIANT v);                                      \
4807                                                                         \
4808     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
4809     VARIANT onbeforepaste();                                            \
4810                                                                         \
4811     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
4812     void onpaste(VARIANT v);                                            \
4813                                                                         \
4814     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
4815     VARIANT onpaste();                                                  \
4816                                                                         \
4817     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]      \
4818     IHTMLCurrentStyle* currentStyle();                                  \
4819                                                                         \
4820     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
4821     void onpropertychange(VARIANT v);                                   \
4822                                                                         \
4823     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
4824     VARIANT onpropertychange();                                         \
4825                                                                         \
4826     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]                           \
4827     IHTMLRectCollection* getClientRects();                              \
4828                                                                         \
4829     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]                    \
4830     IHTMLRect* getBoundingClientRect();                                 \
4831                                                                         \
4832     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]                            \
4833     void setExpression(                                                 \
4834         [in] BSTR propname,                                             \
4835         [in] BSTR expr,                                                 \
4836         [defaultvalue(""), in] BSTR lang);                              \
4837                                                                         \
4838     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]                            \
4839     VARIANT getExpression([in] BSTR propname);                          \
4840                                                                         \
4841     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]                         \
4842     VARIANT_BOOL removeExpression([in] BSTR propname);                  \
4843                                                                         \
4844     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
4845     void tabIndex(short v);                                             \
4846                                                                         \
4847     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
4848     short tabIndex();                                                   \
4849                                                                         \
4850     [id(DISPID_IHTMLELEMENT2_FOCUS)]                                    \
4851     void focus();                                                       \
4852                                                                         \
4853     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
4854     void accessKey(BSTR v);                                             \
4855                                                                         \
4856     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
4857     BSTR accessKey();                                                   \
4858                                                                         \
4859     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
4860     void onblur(VARIANT v);                                             \
4861                                                                         \
4862     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
4863     VARIANT onblur();                                                   \
4864                                                                         \
4865     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
4866     void onfocus(VARIANT v);                                            \
4867                                                                         \
4868     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
4869     VARIANT onfocus();                                                  \
4870                                                                         \
4871     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
4872     void onresize(VARIANT v);                                           \
4873                                                                         \
4874     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
4875     VARIANT onresize();                                                 \
4876                                                                         \
4877     [id(DISPID_IHTMLELEMENT2_BLUR)]                                     \
4878     void blur();                                                        \
4879                                                                         \
4880     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]                                \
4881     void addFilter([in] IUnknown* pUnk);                                \
4882                                                                         \
4883     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]                             \
4884     void removeFilter([in] IUnknown* pUnk);                             \
4885                                                                         \
4886     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] \
4887     LONG clientHeight();                                                \
4888                                                                         \
4889     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] \
4890     LONG clientWidth();                                                 \
4891                                                                         \
4892     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] \
4893     LONG clientTop();                                                   \
4894                                                                         \
4895     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] \
4896     LONG clientLeft();                                                  \
4897                                                                         \
4898     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]                              \
4899     VARIANT_BOOL attachEvent(                                           \
4900             [in] BSTR event,                                            \
4901             [in] IDispatch* pDisp);                                     \
4902                                                                         \
4903     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]                              \
4904     void detachEvent(                                                   \
4905             [in] BSTR event,                                            \
4906             [in] IDispatch* pDisp);                                     \
4907                                                                         \
4908     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState(); \
4909                                                                         \
4910     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
4911     void onreadystatechange(VARIANT v);                                 \
4912                                                                         \
4913     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
4914     VARIANT onreadystatechange();                                       \
4915                                                                         \
4916     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
4917     void onrowsdelete(VARIANT v);                                       \
4918                                                                         \
4919     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
4920     VARIANT onrowsdelete();                                             \
4921                                                                         \
4922     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
4923     void onrowsinserted(VARIANT v);                                     \
4924                                                                         \
4925     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
4926     VARIANT onrowsinserted();                                           \
4927                                                                         \
4928     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
4929     void oncellchange(VARIANT v);                                       \
4930                                                                         \
4931     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
4932     VARIANT oncellchange();                                             \
4933                                                                         \
4934     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
4935     void dir(BSTR v);                                                   \
4936                                                                         \
4937     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
4938     BSTR dir();                                                         \
4939                                                                         \
4940     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]                       \
4941     IDispatch* createControlRange();                                    \
4942                                                                         \
4943     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] \
4944     LONG scrollHeight();                                                \
4945                                                                         \
4946     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] \
4947     LONG scrollWidth();                                                 \
4948                                                                         \
4949     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
4950     void scrollTop(LONG v);                                             \
4951                                                                         \
4952     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
4953     LONG scrollTop();                                                   \
4954                                                                         \
4955     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
4956     void scrollLeft(LONG v);                                            \
4957                                                                         \
4958     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
4959     LONG scrollLeft();                                                  \
4960                                                                         \
4961     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]                          \
4962     void clearAttributes();                                             \
4963                                                                         \
4964     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
4965     void oncontextmenu(VARIANT v);                                      \
4966                                                                         \
4967     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
4968     VARIANT oncontextmenu();                                            \
4969                                                                         \
4970     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]                    \
4971     IHTMLElement* insertAdjacentElement(                                \
4972         [in] BSTR where,                                                \
4973         [in] IHTMLElement* insertedElement);                            \
4974                                                                         \
4975     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]                             \
4976     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where); \
4977                                                                         \
4978     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]                          \
4979     BSTR getAdjacentText([in] BSTR where);                              \
4980                                                                         \
4981     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]                      \
4982     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);        \
4983                                                                         \
4984     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]                 \
4985     VARIANT_BOOL canHaveChildren();                                     \
4986                                                                         \
4987     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]                              \
4988     LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory); \
4989                                                                         \
4990     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]                           \
4991     VARIANT_BOOL removeBehavior([in] LONG cookie);                      \
4992                                                                         \
4993     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]      \
4994     IHTMLStyle* runtimeStyle();                                         \
4995                                                                         \
4996     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]                    \
4997     IDispatch* behaviorUrns();                                          \
4998                                                                         \
4999     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5000     void tagUrn(BSTR v);                                                \
5001                                                                         \
5002     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5003     BSTR tagUrn();                                                      \
5004                                                                         \
5005     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5006     void onbeforeeditfocus(VARIANT v);                                  \
5007                                                                         \
5008     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5009     VARIANT onbeforeeditfocus();                                        \
5010                                                                         \
5011     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] \
5012     LONG readyStateValue();                                             \
5013                                                                         \
5014     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]                     \
5015     IHTMLElementCollection* getElementsByTagName([in] BSTR v)
5016
5017 /*****************************************************************************
5018  *    IHTMLElement3 interface
5019  */
5020 [
5021     odl,
5022     oleautomation,
5023     dual,
5024     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
5025 ]
5026 interface IHTMLElement3 : IDispatch
5027 {
5028     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
5029     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
5030
5031     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5032     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
5033
5034     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5035     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
5036
5037     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5038     HRESULT onlayoutcomplete([in] VARIANT v);
5039
5040     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5041     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
5042
5043     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5044     HRESULT onpage([in] VARIANT v);
5045
5046     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5047     HRESULT onpage([retval, out] VARIANT * p);
5048
5049     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5050     HRESULT inflateBlock([in] VARIANT_BOOL v);
5051
5052     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5053     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
5054
5055     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5056     HRESULT onbeforedeactivate([in] VARIANT v);
5057
5058     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5059     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
5060
5061     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
5062
5063     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5064     HRESULT contentEditable([in] BSTR v);
5065
5066     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5067     HRESULT contentEditable([retval, out] BSTR * p);
5068
5069     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5070     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
5071
5072     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5073     HRESULT hideFocus([in] VARIANT_BOOL v);
5074
5075     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5076     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
5077
5078     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5079     HRESULT disabled([in] VARIANT_BOOL v);
5080
5081     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5082     HRESULT disabled([retval, out] VARIANT_BOOL * p);
5083
5084     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5085     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
5086
5087     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5088     HRESULT onmove([in] VARIANT v);
5089
5090     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5091     HRESULT onmove([retval, out] VARIANT * p);
5092
5093     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5094     HRESULT oncontrolselect([in] VARIANT v);
5095
5096     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5097     HRESULT oncontrolselect([retval, out] VARIANT * p);
5098
5099     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5100     HRESULT fireEvent(
5101         [in] BSTR bstrEventName,
5102         [optional, in] VARIANT* pvarEventObject,
5103         [retval, out] VARIANT_BOOL* pfCancelled);
5104
5105     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5106     HRESULT onresizestart([in] VARIANT v);
5107
5108     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5109     HRESULT onresizestart([retval, out] VARIANT * p);
5110
5111     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5112     HRESULT onresizeend([in] VARIANT v);
5113
5114     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5115     HRESULT onresizeend([retval, out] VARIANT * p);
5116
5117     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5118     HRESULT onmovestart([in] VARIANT v);
5119
5120     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5121     HRESULT onmovestart([retval, out] VARIANT * p);
5122
5123     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5124     HRESULT onmoveend([in] VARIANT v);
5125
5126     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5127     HRESULT onmoveend([retval, out] VARIANT * p);
5128
5129     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5130     HRESULT onmouseenter([in] VARIANT v);
5131
5132     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5133     HRESULT onmouseenter([retval, out] VARIANT * p);
5134
5135     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5136     HRESULT onmouseleave([in] VARIANT v);
5137
5138     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5139     HRESULT onmouseleave([retval, out] VARIANT * p);
5140
5141     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5142     HRESULT onactivate([in] VARIANT v);
5143
5144     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5145     HRESULT onactivate([retval, out] VARIANT * p);
5146
5147     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5148     HRESULT ondeactivate([in] VARIANT v);
5149
5150     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5151     HRESULT ondeactivate([retval, out] VARIANT * p);
5152
5153     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
5154     VARIANT_BOOL* pfRet);
5155
5156     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5157     HRESULT glyphMode([retval, out] LONG * p);
5158 }
5159
5160 #define WINE_IHTMLELEMENT3_DISPINTERFACE_DECL                           \
5161                                                                         \
5162     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]                          \
5163     void mergeAttributes(                                               \
5164             [in] IHTMLElement* mergeThis,                               \
5165             [optional, in] VARIANT* pvarFlags);                         \
5166                                                                         \
5167     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]                     \
5168     VARIANT_BOOL isMultiLine();                                         \
5169                                                                         \
5170     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]                     \
5171     VARIANT_BOOL canHaveHTML();                                         \
5172                                                                         \
5173     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5174     void onlayoutcomplete(VARIANT v);                                   \
5175                                                                         \
5176     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5177     VARIANT onlayoutcomplete();                                         \
5178                                                                         \
5179     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5180     void onpage(VARIANT v);                                             \
5181                                                                         \
5182     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5183     VARIANT onpage();                                                   \
5184                                                                         \
5185     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5186     void inflateBlock(VARIANT_BOOL v);                                  \
5187                                                                         \
5188     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5189     VARIANT_BOOL inflateBlock();                                        \
5190                                                                         \
5191     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5192     void onbeforedeactivate(VARIANT v);                                 \
5193                                                                         \
5194     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5195     VARIANT onbeforedeactivate();                                       \
5196                                                                         \
5197     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]                                \
5198     void setActive();                                                   \
5199                                                                         \
5200     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5201     void contentEditable(BSTR v);                                       \
5202                                                                         \
5203     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5204     BSTR contentEditable();                                             \
5205                                                                         \
5206     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]               \
5207     VARIANT_BOOL isContentEditable();                                   \
5208                                                                         \
5209     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5210     void hideFocus(VARIANT_BOOL v);                                     \
5211                                                                         \
5212     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5213     VARIANT_BOOL hideFocus();                                           \
5214                                                                         \
5215     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5216     void disabled(VARIANT_BOOL v);                                      \
5217                                                                         \
5218     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5219     VARIANT_BOOL disabled();                                            \
5220                                                                         \
5221     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]                      \
5222     VARIANT_BOOL isDisabled();                                          \
5223                                                                         \
5224     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5225     void onmove(VARIANT v);                                             \
5226                                                                         \
5227     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5228     VARIANT onmove();                                                   \
5229                                                                         \
5230     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5231     void oncontrolselect(VARIANT v);                                    \
5232                                                                         \
5233     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5234     VARIANT oncontrolselect();                                          \
5235                                                                         \
5236     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]                                \
5237     VARIANT_BOOL fireEvent(                                             \
5238         [in] BSTR bstrEventName,                                        \
5239         [optional, in] VARIANT* pvarEventObject);                       \
5240                                                                         \
5241     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5242     void onresizestart(VARIANT v);                                      \
5243                                                                         \
5244     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5245     VARIANT onresizestart();                                            \
5246                                                                         \
5247     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5248     void onresizeend(VARIANT v);                                        \
5249                                                                         \
5250     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5251     VARIANT onresizeend();                                              \
5252                                                                         \
5253     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5254     void onmovestart(VARIANT v);                                        \
5255                                                                         \
5256     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5257     VARIANT onmovestart();                                              \
5258                                                                         \
5259     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5260     void onmoveend(VARIANT v);                                          \
5261                                                                         \
5262     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5263     VARIANT onmoveend();                                                \
5264                                                                         \
5265     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5266     void onmouseenter(VARIANT v);                                       \
5267                                                                         \
5268     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5269     VARIANT onmouseenter();                                             \
5270                                                                         \
5271     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5272     void onmouseleave(VARIANT v);                                       \
5273                                                                         \
5274     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5275     VARIANT onmouseleave();                                             \
5276                                                                         \
5277     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5278     void onactivate(VARIANT v);                                         \
5279                                                                         \
5280     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5281     VARIANT onactivate();                                               \
5282                                                                         \
5283     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5284     void ondeactivate(VARIANT v);                                       \
5285                                                                         \
5286     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5287     VARIANT ondeactivate();                                             \
5288                                                                         \
5289     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]                                 \
5290     VARIANT_BOOL dragDrop();                                            \
5291                                                                         \
5292     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] \
5293     LONG glyphMode()
5294
5295 /*****************************************************************************
5296  *    IHTMLElement4 interface
5297  */
5298 [
5299     odl,
5300     oleautomation,
5301     dual,
5302     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
5303 ]
5304 interface IHTMLElement4 : IDispatch
5305 {
5306     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5307     HRESULT onmousewheel([in] VARIANT v);
5308
5309     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5310     HRESULT onmousewheel([retval, out] VARIANT * p);
5311
5312     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5313     HRESULT normalize();
5314
5315     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5316     HRESULT getAttributeNode([in] BSTR bstrname,
5317         [retval, out] IHTMLDOMAttribute** ppAttribute);
5318
5319     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5320     HRESULT setAttributeNode(
5321         [in] IHTMLDOMAttribute* pattr,
5322         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5323
5324     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5325     HRESULT removeAttributeNode(
5326         [in] IHTMLDOMAttribute* pattr,
5327         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5328
5329     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5330     HRESULT onbeforeactivate([in] VARIANT v);
5331
5332     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5333     HRESULT onbeforeactivate([retval, out] VARIANT * p);
5334
5335     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5336     HRESULT onfocusin([in] VARIANT v);
5337
5338     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5339     HRESULT onfocusin([retval, out] VARIANT * p);
5340
5341     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5342     HRESULT onfocusout([in] VARIANT v);
5343
5344     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5345     HRESULT onfocusout([retval, out] VARIANT * p);
5346 }
5347
5348 #define WINE_IHTMLELEMENT4_DISPINTERFACE_DECL                           \
5349     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5350     void onmousewheel(VARIANT v);                                       \
5351                                                                         \
5352     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5353     VARIANT onmousewheel();                                             \
5354                                                                         \
5355     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]                                \
5356     void normalize();                                                   \
5357                                                                         \
5358     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]                         \
5359     IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);            \
5360                                                                         \
5361     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]                         \
5362     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr); \
5363                                                                         \
5364     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]                      \
5365     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr); \
5366                                                                         \
5367     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5368     void onbeforeactivate(VARIANT v);                                   \
5369                                                                         \
5370     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5371     VARIANT onbeforeactivate();                                         \
5372                                                                         \
5373     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5374     void onfocusin(VARIANT v);                                          \
5375                                                                         \
5376     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5377     VARIANT onfocusin();                                                \
5378                                                                         \
5379     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5380     void onfocusout(VARIANT v);                                         \
5381                                                                         \
5382     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
5383     VARIANT onfocusout()
5384
5385 #define WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL                \
5386     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)]                 \
5387     IHTMLElement *querySelector([in] BSTR v);                   \
5388                                                                 \
5389     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)]              \
5390     IHTMLDOMChildrenCollection *querySelectorAll([in] BSTR v)
5391
5392 /*****************************************************************************
5393  *    IHTMLUniqueName interface
5394  */
5395 [
5396     odl,
5397     oleautomation,
5398     dual,
5399     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
5400 ]
5401 interface IHTMLUniqueName : IDispatch
5402 {
5403     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5404     HRESULT uniqueNumber([retval, out] LONG * p);
5405
5406     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5407     HRESULT uniqueID([retval, out] BSTR * p);
5408 }
5409
5410 #define WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL                 \
5411     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]  \
5412     LONG uniqueNumber();                                        \
5413                                                                 \
5414     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]      \
5415     BSTR uniqueID()
5416
5417 #define WINE_IHTMLELEMENT5_DISPINTERFACE_DECL                           \
5418     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)]                     \
5419     IHTMLDOMAttribute2 *ie8_getAttributeNode([in] BSTR bstrname);       \
5420                                                                         \
5421     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)]                     \
5422     IHTMLDOMAttribute2 *ie8_setAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5423                                                                         \
5424     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)]                  \
5425     IHTMLDOMAttribute2 *ie8_removeAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
5426                                                                         \
5427     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)]                             \
5428     VARIANT_BOOL hasAttribute([in] BSTR name);                          \
5429                                                                         \
5430     [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5431     void role(BSTR v);                                                  \
5432                                                                         \
5433     [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
5434     BSTR role();                                                        \
5435                                                                         \
5436     [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5437     void ariaBusy(BSTR v);                                              \
5438                                                                         \
5439     [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
5440     BSTR ariaBusy();                                                    \
5441                                                                         \
5442     [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5443     void ariaChecked(BSTR v);                                           \
5444                                                                         \
5445     [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
5446     BSTR ariaChecked();                                                 \
5447                                                                         \
5448     [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5449     void ariaDisabled(BSTR v);                                          \
5450                                                                         \
5451     [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
5452     BSTR ariaDisabled();                                                \
5453                                                                         \
5454     [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5455     void ariaExpanded(BSTR v);                                          \
5456                                                                         \
5457     [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
5458     BSTR ariaExpanded();                                                \
5459                                                                         \
5460     [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable]\
5461     void ariaHaspopup(BSTR v);                                          \
5462                                                                         \
5463     [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] \
5464     BSTR ariaHaspopup();                                                \
5465                                                                         \
5466     [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5467     void ariaHidden(BSTR v);                                            \
5468                                                                         \
5469     [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
5470     BSTR ariaHidden();                                                  \
5471                                                                         \
5472     [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5473     void ariaInvalid(BSTR v);                                           \
5474                                                                         \
5475     [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
5476     BSTR ariaInvalid();                                                 \
5477                                                                         \
5478     [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5479     void ariaMultiselectable(BSTR v);                                   \
5480                                                                         \
5481     [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
5482     BSTR ariaMultiselectable();                                         \
5483                                                                         \
5484     [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5485     void ariaPressed(BSTR v);                                           \
5486                                                                         \
5487     [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
5488     BSTR ariaPressed();                                                 \
5489                                                                         \
5490     [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
5491     void ariaReadonly(BSTR v);                                          \
5492                                                                         \
5493     [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
5494     BSTR ariaReadonly();                                                \
5495                                                                         \
5496     [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
5497     void ariaRequired(BSTR v);                                          \
5498                                                                         \
5499     [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
5500     BSTR ariaRequired();                                                \
5501                                                                         \
5502     [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
5503     void ariaSecret(BSTR v);                                            \
5504                                                                         \
5505     [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
5506     BSTR ariaSecret();                                                  \
5507                                                                         \
5508     [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
5509     void ariaSelected(BSTR v);                                          \
5510                                                                         \
5511     [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
5512     BSTR ariaSelected();                                                \
5513                                                                         \
5514     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)]                         \
5515     VARIANT ie8_getAttribute([in] BSTR strAttributeName);               \
5516                                                                         \
5517     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)]                         \
5518     void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue); \
5519                                                                         \
5520     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)]                      \
5521     VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);       \
5522                                                                         \
5523     [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)]                  \
5524     IHTMLAttributeCollection3 *ie8_attributes();                        \
5525                                                                         \
5526     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
5527     void ariaValuenow(BSTR v);                                          \
5528                                                                         \
5529     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
5530     BSTR ariaValuenow();                                                \
5531                                                                         \
5532     [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
5533     void ariaPosinset(short v);                                         \
5534                                                                         \
5535     [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
5536     short ariaPosinset();                                               \
5537                                                                         \
5538     [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
5539     void ariaSetsize(short v);                                          \
5540                                                                         \
5541     [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
5542     short ariaSetsize();                                                \
5543                                                                         \
5544     [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
5545     void ariaLevel(short v);                                            \
5546                                                                         \
5547     [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
5548     short ariaLevel();                                                  \
5549                                                                         \
5550     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
5551     void ariaValuemin(BSTR v);                                          \
5552                                                                         \
5553     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
5554     BSTR ariaValuemin();                                                \
5555                                                                         \
5556     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
5557     void ariaValuemax(BSTR v);                                          \
5558                                                                         \
5559     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
5560     BSTR ariaValuemax();                                                \
5561                                                                         \
5562     [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
5563     void ariaControls(BSTR v);                                          \
5564                                                                         \
5565     [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
5566     BSTR ariaControls();                                                \
5567                                                                         \
5568     [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
5569     void ariaDescribedby(BSTR v);                                       \
5570                                                                         \
5571     [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
5572     BSTR ariaDescribedby();                                             \
5573                                                                         \
5574     [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
5575     void ariaFlowto(BSTR v);                                            \
5576                                                                         \
5577     [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
5578     BSTR ariaFlowto();                                                  \
5579                                                                         \
5580     [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
5581     void ariaLabelledby(BSTR v);                                        \
5582                                                                         \
5583     [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
5584     BSTR ariaLabelledby();                                              \
5585                                                                         \
5586     [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
5587     void ariaActivedescendant(BSTR v);                                  \
5588                                                                         \
5589     [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
5590     BSTR ariaActivedescendant();                                        \
5591                                                                         \
5592     [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
5593     void ariaOwns(BSTR v);                                              \
5594                                                                         \
5595     [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
5596     BSTR ariaOwns();                                                    \
5597                                                                         \
5598     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)]                            \
5599     VARIANT_BOOL hasAttributes();                                       \
5600                                                                         \
5601     [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
5602     void ariaLive(BSTR v);                                              \
5603                                                                         \
5604     [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
5605     BSTR ariaLive();                                                    \
5606                                                                         \
5607     [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
5608     void ariaRelevant(BSTR v);                                          \
5609                                                                         \
5610     [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
5611     BSTR ariaRelevant()
5612
5613 [
5614     odl,
5615     oleautomation,
5616     dual,
5617     uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
5618 ]
5619 interface IHTMLDatabinding : IDispatch
5620 {
5621     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
5622     HRESULT dataFld([in] BSTR v);
5623
5624     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
5625     HRESULT dataFld([retval, out] BSTR * p);
5626
5627     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
5628     HRESULT dataSrc([in] BSTR v);
5629
5630     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
5631     HRESULT dataSrc([retval, out] BSTR * p);
5632
5633     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
5634     HRESULT dataFormatAs([in] BSTR v);
5635
5636     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
5637     HRESULT dataFormatAs([retval, out] BSTR * p);
5638 }
5639
5640 #define WINE_IHTMLDATABINDING_DISPINTERFACE_DECL        \
5641     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
5642     void dataFld(BSTR v);                               \
5643                                                         \
5644     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
5645     BSTR dataFld();                                     \
5646                                                         \
5647     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
5648     void dataSrc(BSTR v);                               \
5649                                                         \
5650     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
5651     BSTR dataSrc();                                     \
5652                                                         \
5653     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
5654     void dataFormatAs(BSTR v);                          \
5655                                                         \
5656     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
5657     BSTR dataFormatAs()
5658
5659 #define WINE_HTMLELEMENT_DISPINTERFACE_DECL     \
5660     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
5661     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
5662     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
5663     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
5664     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
5665     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
5666     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
5667     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
5668
5669 #define WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL \
5670     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
5671     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
5672     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
5673     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
5674     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
5675     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
5676     WINE_IHTMLDATABINDING_DISPINTERFACE_DECL;   \
5677     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
5678     WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL;   \
5679     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
5680
5681 /*****************************************************************************
5682  *    IHTMLGenericElement interface
5683  */
5684 [
5685     odl,
5686     oleautomation,
5687     dual,
5688     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
5689 ]
5690 interface IHTMLGenericElement : IDispatch
5691 {
5692     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5693     HRESULT recordset([out, retval] IDispatch **p);
5694
5695     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5696     HRESULT namedRecordset(
5697             [in] BSTR dataMember,
5698             [in, optional] VARIANT *hierarchy,
5699             [out, retval] IDispatch **ppRecordset);
5700 }
5701
5702 /*****************************************************************************
5703  *    DispHTMLGenericElement dispinterface
5704  */
5705 [
5706     hidden,
5707     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
5708 ]
5709 dispinterface DispHTMLGenericElement
5710 {
5711 properties:
5712 methods:
5713     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
5714
5715     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5716     IDispatch *recordset();
5717
5718     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5719     IDispatch *namedRecordset(
5720             [in] BSTR dataMember,
5721             [in, optional] VARIANT *hierarchy);
5722 }
5723
5724 /*****************************************************************************
5725  *    IHTMLStyleSheetRule interface
5726  */
5727 [
5728     odl,
5729     oleautomation,
5730     dual,
5731     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
5732 ]
5733 interface IHTMLStyleSheetRule : IDispatch
5734 {
5735     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5736     HRESULT selectorText([in] BSTR v);
5737
5738     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5739     HRESULT selectorText([retval, out] BSTR *p);
5740
5741     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
5742     HRESULT style([retval, out] IHTMLRuleStyle **p);
5743
5744     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5745     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5746 }
5747
5748 [
5749     hidden,
5750     uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b)
5751 ]
5752 dispinterface DispHTMLStyleSheetRule
5753 {
5754 properties:
5755 methods:
5756     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5757     void selectorText(BSTR v);
5758
5759     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5760     BSTR selectorText();
5761
5762     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable]
5763     IHTMLRuleStyle* style();
5764
5765     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5766     VARIANT_BOOL readOnly();
5767
5768     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
5769 }
5770
5771 [
5772     noncreatable,
5773     uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b)
5774 ]
5775 coclass HTMLStyleSheetRule
5776 {
5777     [default]           dispinterface DispHTMLStyleSheetRule;
5778                         interface IHTMLStyleSheetRule;
5779                         interface IHTMLDOMConstructor;
5780 }
5781
5782 /*****************************************************************************
5783  *    IHTMLStyleSheetRulesCollection interface
5784  */
5785 [
5786     odl,
5787     oleautomation,
5788     dual,
5789     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
5790 ]
5791 interface IHTMLStyleSheetRulesCollection : IDispatch
5792 {
5793     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5794     HRESULT length([retval, out] LONG *p);
5795
5796     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5797     HRESULT item(
5798         [in] LONG index,
5799         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
5800 }
5801
5802 [
5803     hidden,
5804     uuid(3050f52f-98b5-11cf-bb82-00aa00bdce0b)
5805 ]
5806 dispinterface DispHTMLStyleSheetRulesCollection
5807 {
5808 properties:
5809 methods:
5810     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5811     long length();
5812
5813     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5814     IHTMLStyleSheetRule* item([in] long index);
5815
5816     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
5817 }
5818
5819 [
5820     noncreatable,
5821     uuid(3050f3cd-98b5-11cf-bb82-00aa00bdce0b)
5822 ]
5823 coclass HTMLStyleSheetRulesCollection
5824 {
5825     [default]           dispinterface DispHTMLStyleSheetRulesCollection;
5826                         interface IHTMLStyleSheetRulesCollection;
5827                         interface IHTMLDOMConstructor;
5828 }
5829
5830 [
5831     odl,
5832     oleautomation,
5833     dual,
5834     uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
5835 ]
5836 interface IHTMLStyleSheetPage : IDispatch
5837 {
5838     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
5839     HRESULT selector([retval, out] BSTR *p);
5840
5841     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
5842     HRESULT pseudoClass([retval, out] BSTR *p);
5843 }
5844
5845 [
5846     hidden,
5847     uuid(3050f540-98b5-11cf-bb82-00aa00bdce0b)
5848 ]
5849 dispinterface DispHTMLStyleSheetPage
5850 {
5851 properties:
5852 methods:
5853     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
5854     BSTR selector();
5855
5856     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
5857     BSTR pseudoClass();
5858
5859     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
5860 }
5861 [
5862     noncreatable,
5863     uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b)
5864 ]
5865 coclass HTMLStyleSheetPage
5866 {
5867     [default]           dispinterface DispHTMLStyleSheetPage;
5868                         interface IHTMLStyleSheetPage;
5869                         interface IHTMLDOMConstructor;
5870 };
5871
5872 [
5873     odl,
5874     oleautomation,
5875     dual,
5876     uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
5877 ]
5878 interface IHTMLStyleSheetPagesCollection : IDispatch
5879 {
5880     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
5881     HRESULT length([retval, out] LONG *p);
5882
5883     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
5884     HRESULT item(
5885         [in] LONG index,
5886         [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
5887 }
5888
5889 [
5890     hidden,
5891     uuid(3050f543-98b5-11cf-bb82-00aa00bdce0b)
5892 ]
5893 dispinterface DispHTMLStyleSheetPagesCollection
5894 {
5895 properties:
5896 methods:
5897     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
5898     long length();
5899
5900     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
5901     IHTMLStyleSheetPage* item([in] long index);
5902
5903     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
5904 }
5905
5906 [
5907     noncreatable,
5908     uuid(3050f7f1-98b5-11cf-bb82-00aa00bdce0b)
5909 ]
5910 coclass HTMLStyleSheetPagesCollection
5911 {
5912     [default]           dispinterface DispHTMLStyleSheetPagesCollection;
5913                         interface IHTMLStyleSheetPagesCollection;
5914                         interface IHTMLDOMConstructor;
5915 }
5916
5917 /*****************************************************************************
5918  *    IHTMLStyleSheet interface
5919  */
5920 [
5921     odl,
5922     oleautomation,
5923     dual,
5924     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
5925 ]
5926 interface IHTMLStyleSheet : IDispatch
5927 {
5928     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5929     HRESULT title([in] BSTR v);
5930
5931     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5932     HRESULT title([retval, out] BSTR *p);
5933
5934     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
5935     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
5936
5937     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
5938     HRESULT owningElement([retval, out] IHTMLElement **p);
5939
5940     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5941     HRESULT disabled([in] VARIANT_BOOL v);
5942
5943     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5944     HRESULT disabled([retval, out] VARIANT_BOOL *p);
5945
5946     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
5947     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5948
5949     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
5950     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
5951
5952     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
5953     HRESULT href([in] BSTR v);
5954
5955     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
5956     HRESULT href([retval, out] BSTR *p);
5957
5958     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
5959     HRESULT type([retval, out] BSTR *p);
5960
5961     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
5962     HRESULT id([retval, out] BSTR *p);
5963
5964     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
5965     HRESULT addImport(
5966         [in] BSTR bstrURL,
5967         [defaultvalue(-1), in] LONG lIndex,
5968         [retval, out] LONG *plIndex);
5969
5970     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
5971     HRESULT addRule(
5972         [in] BSTR bstrSelector,
5973         [in] BSTR bstrStyle,
5974         [defaultvalue(-1), in] LONG lIndex,
5975         [retval, out] LONG *plNewIndex);
5976
5977     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
5978     HRESULT removeImport([in] LONG lIndex);
5979
5980     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
5981     HRESULT removeRule([in] LONG lIndex);
5982
5983     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5984     HRESULT media([in] BSTR v);
5985
5986     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5987     HRESULT media([retval, out] BSTR *p);
5988
5989     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5990     HRESULT cssText([in] BSTR v);
5991
5992     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5993     HRESULT cssText([retval, out] BSTR *p);
5994
5995     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
5996     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
5997 }
5998
5999 /*****************************************************************************
6000  *    IHTMLStyleSheet2 interface
6001  */
6002 [
6003     odl,
6004     oleautomation,
6005     dual,
6006     uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
6007 ]
6008 interface IHTMLStyleSheet2 : IDispatch
6009 {
6010     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6011     HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
6012
6013     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6014     HRESULT addPageRule(
6015         [in] BSTR bstrSelector,
6016         [in] BSTR bstrStyle,
6017         [defaultvalue(-1), in] LONG lIndex,
6018         [retval, out] LONG *plNewIndex);
6019 }
6020
6021 [
6022     hidden,
6023     uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
6024 ]
6025 dispinterface DispHTMLStyleSheet
6026 {
6027 properties:
6028 methods:
6029     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6030     void title(BSTR v);
6031
6032     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6033     BSTR title();
6034
6035     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6036     IHTMLStyleSheet* parentStyleSheet();
6037
6038     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6039     IHTMLElement* owningElement();
6040
6041     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6042     void disabled(VARIANT_BOOL v);
6043
6044     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6045     VARIANT_BOOL disabled();
6046
6047     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6048     VARIANT_BOOL readOnly();
6049
6050     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6051     IHTMLStyleSheetsCollection* imports();
6052
6053     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6054     void href(BSTR v);
6055
6056     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6057     BSTR href();
6058
6059     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6060     BSTR type();
6061
6062     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6063     BSTR id();
6064
6065     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6066     LONG addImport(
6067         [in] BSTR bstrURL,
6068         [defaultvalue(-1), in] LONG lIndex);
6069
6070     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6071     LONG addRule(
6072         [in] BSTR bstrSelector,
6073         [in] BSTR bstrStyle,
6074         [defaultvalue(-1), in] LONG lIndex);
6075
6076     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6077     void removeImport([in] LONG lIndex);
6078
6079     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6080     void removeRule([in] LONG lIndex);
6081
6082     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6083     void media(BSTR v);
6084
6085     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6086     BSTR media();
6087
6088     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6089     void cssText(BSTR v);
6090
6091     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6092     BSTR cssText();
6093
6094     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6095     IHTMLStyleSheetRulesCollection* rules();
6096
6097     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6098     IHTMLStyleSheetPagesCollection* pages();
6099
6100     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6101     LONG addPageRule(
6102         [in] BSTR bstrSelector,
6103         [in] BSTR bstrStyle,
6104         [defaultvalue(-1), in] LONG lIndex);
6105 }
6106
6107 [
6108     noncreatable,
6109     uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
6110 ]
6111 coclass HTMLStyleSheet
6112 {
6113     [default]           dispinterface DispHTMLStyleSheet;
6114                         interface IHTMLStyleSheet;
6115                         interface IHTMLStyleSheet2;
6116 }
6117
6118 /*****************************************************************************
6119  *    IHTMLStyleSheetsCollection interface
6120  */
6121 [
6122     odl,
6123     oleautomation,
6124     dual,
6125     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
6126 ]
6127 interface IHTMLStyleSheetsCollection : IDispatch
6128 {
6129     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6130     HRESULT length([retval, out] LONG *p);
6131
6132     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
6133     HRESULT _newEnum([retval, out] IUnknown **p);
6134
6135     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6136     HRESULT item(
6137         [in] VARIANT *pvarIndex,
6138         [retval, out] VARIANT *pvarResult);
6139 }
6140
6141 /*****************************************************************************
6142  *    IHTMLTxtRange interface
6143  */
6144 [
6145     odl,
6146     oleautomation,
6147     dual,
6148     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
6149 ]
6150 interface IHTMLTxtRange : IDispatch
6151 {
6152     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
6153     HRESULT htmlText([retval, out] BSTR *p);
6154
6155     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
6156     HRESULT text([in] BSTR v);
6157
6158     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
6159     HRESULT text([retval, out] BSTR *p);
6160
6161     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
6162     HRESULT parentElement([retval, out] IHTMLElement **parent);
6163
6164     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
6165     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
6166
6167     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
6168     HRESULT inRange(
6169         [in] IHTMLTxtRange *Range,
6170         [retval, out] VARIANT_BOOL *InRange);
6171
6172     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
6173     HRESULT isEqual(
6174         [in] IHTMLTxtRange *Range,
6175         [retval, out] VARIANT_BOOL *IsEqual);
6176
6177     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
6178     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
6179
6180     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
6181     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
6182
6183     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
6184     HRESULT expand(
6185         [in] BSTR Unit,
6186         [retval, out] VARIANT_BOOL *Success);
6187
6188     [id(DISPID_IHTMLTXTRANGE_MOVE)]
6189     HRESULT move(
6190         [in] BSTR Unit,
6191         [defaultvalue(1), in] LONG Count,
6192         [retval, out] LONG *ActualCount);
6193
6194     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
6195     HRESULT moveStart(
6196         [in] BSTR Unit,
6197         [defaultvalue(1), in] LONG Count,
6198         [retval, out] LONG *ActualCount);
6199
6200     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
6201     HRESULT moveEnd(
6202         [in] BSTR Unit,
6203         [defaultvalue(1), in] LONG Count,
6204         [retval, out] LONG *ActualCount);
6205
6206     [id(DISPID_IHTMLTXTRANGE_SELECT)]
6207     HRESULT select();
6208
6209     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
6210     HRESULT pasteHTML([in] BSTR html);
6211
6212     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
6213     HRESULT moveToElementText([in] IHTMLElement *element);
6214
6215     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
6216     HRESULT setEndPoint(
6217         [in] BSTR how,
6218         [in] IHTMLTxtRange *SourceRange);
6219
6220     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
6221     HRESULT compareEndPoints(
6222         [in] BSTR how,
6223         [in] IHTMLTxtRange *SourceRange,
6224         [retval, out] LONG *ret);
6225
6226     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
6227     HRESULT findText(
6228         [in] BSTR String,
6229         [defaultvalue(1073741823), in] LONG count,
6230         [defaultvalue(0), in] LONG Flags,
6231         [retval, out] VARIANT_BOOL *Success);
6232
6233     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
6234     HRESULT moveToPoint(
6235         [in] LONG x,
6236         [in] LONG y);
6237
6238     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
6239     HRESULT getBookmark([retval, out] BSTR *Boolmark);
6240
6241     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
6242     HRESULT moveToBookmark(
6243         [in] BSTR Bookmark,
6244         [retval, out] VARIANT_BOOL *Success);
6245
6246     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
6247     HRESULT queryCommandSupported(
6248         [in] BSTR cmdID,
6249         [retval, out] VARIANT_BOOL *pfRet);
6250
6251     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
6252     HRESULT queryCommandEnabled(
6253         [in] BSTR cmdID,
6254         [retval, out] VARIANT_BOOL *pfRet);
6255
6256     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
6257     HRESULT queryCommandState(
6258         [in] BSTR cmdID,
6259         [retval, out] VARIANT_BOOL *pfRet);
6260
6261     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
6262     HRESULT queryCommandIndeterm(
6263         [in] BSTR cmdID,
6264         [retval, out] VARIANT_BOOL *pfRet);
6265
6266     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
6267     HRESULT queryCommandText(
6268         [in] BSTR cmdID,
6269         [retval, out] BSTR *pcmdText);
6270
6271     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
6272     HRESULT queryCommandValue(
6273         [in] BSTR cmdID,
6274         [retval, out] VARIANT *pcmdValue);
6275
6276     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
6277     HRESULT execCommand(
6278         [in] BSTR cmdID,
6279         [defaultvalue(0), in] VARIANT_BOOL showUI,
6280         [optional, in] VARIANT value,
6281         [retval, out] VARIANT_BOOL *pfRet);
6282
6283     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
6284     HRESULT execCommandShowHelp(
6285         [in] BSTR cmdID,
6286         [retval, out] VARIANT_BOOL *pfRet);
6287 }
6288
6289 [
6290     noncreatable,
6291     uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
6292 ]
6293 coclass HTMLStyleSheetsCollection
6294 {
6295     [default]           interface IHTMLStyleSheetsCollection;
6296 }
6297
6298 /*****************************************************************************
6299  *    IHTMLFormElement interface
6300  */
6301 [
6302     odl,
6303     oleautomation,
6304     dual,
6305     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
6306 ]
6307 interface IHTMLFormElement : IDispatch
6308 {
6309     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6310     HRESULT action([in] BSTR v);
6311
6312     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
6313     HRESULT action([retval, out] BSTR *p);
6314
6315     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
6316     HRESULT dir([in] BSTR v);
6317
6318     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
6319     HRESULT dir([retval, out] BSTR *p);
6320
6321     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6322     HRESULT encoding([in] BSTR v);
6323
6324     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
6325     HRESULT encoding([retval, out] BSTR *p);
6326
6327     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6328     HRESULT method([in] BSTR v);
6329
6330     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
6331     HRESULT method([retval, out] BSTR *p);
6332
6333     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
6334     HRESULT elements([retval, out] IDispatch **p);
6335
6336     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6337     HRESULT target([in] BSTR v);
6338
6339     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
6340     HRESULT target([retval, out] BSTR *p);
6341
6342     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
6343     HRESULT name([in] BSTR v);
6344
6345     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6346     HRESULT name([retval, out] BSTR *p);
6347
6348     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6349     HRESULT onsubmit([in] VARIANT v);
6350
6351     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6352     HRESULT onsubmit([retval, out] VARIANT *p);
6353
6354     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6355     HRESULT onreset([in] VARIANT v);
6356
6357     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6358     HRESULT onreset([retval, out] VARIANT *p);
6359
6360     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6361     HRESULT submit();
6362
6363     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6364     HRESULT reset();
6365
6366     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6367     HRESULT length([in] LONG v);
6368
6369     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6370     HRESULT length([retval, out] LONG *p);
6371
6372     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
6373     HRESULT _newEnum([retval, out] IUnknown **p);
6374
6375     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6376     HRESULT item(
6377         [optional, in] VARIANT name,
6378         [optional, in] VARIANT index,
6379         [retval, out] IDispatch **pdisp);
6380
6381     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6382     HRESULT tags(
6383         [in] VARIANT tagName,
6384         [retval, out] IDispatch **pdisp);
6385 }
6386
6387 /*****************************************************************************
6388  *    IHTMLTextContainer interface
6389  */
6390 [
6391     odl,
6392     oleautomation,
6393     dual,
6394     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
6395 ]
6396 interface IHTMLTextContainer : IDispatch
6397 {
6398     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
6399     HRESULT createControlRange([retval, out] IDispatch **range);
6400
6401     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
6402     HRESULT scrollHeight([retval, out] LONG *p);
6403
6404     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
6405     HRESULT scrollWidth([retval, out] LONG *p);
6406
6407     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
6408     HRESULT scrollTop([in] LONG v);
6409
6410     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
6411     HRESULT scrollTop([retval, out] LONG *p);
6412
6413     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
6414     HRESULT scrollLeft([in] LONG v);
6415
6416     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
6417     HRESULT scrollLeft([retval, out] LONG *p);
6418
6419     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
6420     HRESULT onscroll([in] VARIANT v);
6421
6422     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
6423     HRESULT onscroll([retval, out] VARIANT *p);
6424 }
6425
6426 /*****************************************************************************
6427  *    IHTMLImgElement interface
6428  */
6429 [
6430     odl,
6431     oleautomation,
6432     dual,
6433     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
6434 ]
6435 interface IHTMLImgElement : IDispatch
6436 {
6437     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
6438     HRESULT isMap([in] VARIANT_BOOL v);
6439
6440     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
6441     HRESULT isMap([retval, out] VARIANT_BOOL *p);
6442
6443     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
6444     HRESULT useMap([in] BSTR v);
6445
6446     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
6447     HRESULT useMap([retval, out] BSTR *p);
6448
6449     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
6450     HRESULT mimeType([retval, out] BSTR *p);
6451
6452     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
6453     HRESULT fileSize([retval, out] BSTR *p);
6454
6455     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
6456     HRESULT fileCreatedDate([retval, out] BSTR *p);
6457
6458     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
6459     HRESULT fileModifiedDate([retval, out] BSTR *p);
6460
6461     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
6462     HRESULT fileUpdatedDate([retval, out] BSTR *p);
6463
6464     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
6465     HRESULT protocol([retval, out] BSTR *p);
6466
6467     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
6468     HRESULT href([retval, out] BSTR *p);
6469
6470     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
6471     HRESULT nameProp([retval, out] BSTR *p);
6472
6473     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
6474     HRESULT border([in] VARIANT v);
6475
6476     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
6477     HRESULT border([retval, out] VARIANT *p);
6478
6479     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
6480     HRESULT vspace([in] LONG v);
6481
6482     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
6483     HRESULT vspace([retval, out] LONG *p);
6484
6485     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
6486     HRESULT hspace([in] LONG v);
6487
6488     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
6489     HRESULT hspace([retval, out] LONG *p);
6490
6491     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
6492     HRESULT alt([in] BSTR v);
6493
6494     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
6495     HRESULT alt([retval, out] BSTR *p);
6496
6497     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
6498     HRESULT src([in] BSTR v);
6499
6500     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
6501     HRESULT src([retval, out] BSTR *p);
6502
6503     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
6504     HRESULT lowsrc([in] BSTR v);
6505
6506     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
6507     HRESULT lowsrc([retval, out] BSTR *p);
6508
6509     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
6510     HRESULT vrml([in] BSTR v);
6511
6512     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
6513     HRESULT vrml([retval, out] BSTR *p);
6514
6515     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
6516     HRESULT dynsrc([in] BSTR v);
6517
6518     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
6519     HRESULT dynsrc([retval, out] BSTR *p);
6520
6521     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
6522     HRESULT readyState([retval, out] BSTR *p);
6523
6524     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
6525     HRESULT complete([retval, out] VARIANT_BOOL *p);
6526
6527     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
6528     HRESULT loop([in] VARIANT v);
6529
6530     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
6531     HRESULT loop([retval, out] VARIANT *p);
6532
6533     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
6534     HRESULT align([in] BSTR v);
6535
6536     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
6537     HRESULT align([retval, out] BSTR *p);
6538
6539     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
6540     HRESULT onload([in] VARIANT v);
6541
6542     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
6543     HRESULT onload([retval, out] VARIANT *p);
6544
6545     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
6546     HRESULT onerror([in] VARIANT v);
6547
6548     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
6549     HRESULT onerror([retval, out] VARIANT *p);
6550
6551     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
6552     HRESULT onabort([in] VARIANT v);
6553
6554     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
6555     HRESULT onabort([retval, out] VARIANT *p);
6556
6557     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
6558     HRESULT name([in] BSTR v);
6559
6560     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
6561     HRESULT name([retval, out] BSTR *p);
6562
6563     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6564     HRESULT width([in] LONG v);
6565
6566     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6567     HRESULT width([retval, out] LONG *p);
6568
6569     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6570     HRESULT height([in] LONG v);
6571
6572     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6573     HRESULT height([retval, out] LONG *p);
6574
6575     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
6576     HRESULT start([in] BSTR v);
6577
6578     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
6579     HRESULT start([retval, out] BSTR *p);
6580 }
6581
6582 /*****************************************************************************
6583  *    IHTMLImageElementFactory interface
6584  */
6585 [
6586     odl,
6587     oleautomation,
6588     dual,
6589     uuid(3050F38E-98B5-11CF-BB82-00AAA0BDCE0B)
6590 ]
6591 interface IHTMLImageElementFactory : IDispatch
6592 {
6593     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
6594     HRESULT create(
6595         [optional, in] VARIANT width,
6596         [optional, in] VARIANT height,
6597         [retval, out]  IHTMLImgElement **elem);
6598 }
6599
6600 /*****************************************************************************
6601  *    DispHTMLImg interface
6602  */
6603 [
6604     hidden,
6605     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
6606 ]
6607 dispinterface DispHTMLImg
6608 {
6609 properties:
6610 methods:
6611     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6612
6613     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6614     void isMap(VARIANT_BOOL v);
6615
6616     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6617     VARIANT_BOOL isMap();
6618
6619     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6620     void useMap(BSTR v);
6621
6622     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6623     BSTR useMap();
6624
6625     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
6626     BSTR mimeType();
6627
6628     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
6629     BSTR fileSize();
6630
6631     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
6632     BSTR fileCreatedDate();
6633
6634     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
6635     BSTR fileModifiedDate();
6636
6637     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
6638     BSTR fileUpdatedDate();
6639
6640     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
6641     BSTR protocol();
6642
6643     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
6644     BSTR href();
6645
6646     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
6647     BSTR nameProp();
6648
6649     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
6650     void border(VARIANT v);
6651
6652     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
6653     VARIANT border();
6654
6655     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
6656     void vspace(LONG v);
6657
6658     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
6659     LONG vspace();
6660
6661     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
6662     void hspace(LONG v);
6663
6664     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
6665     LONG hspace();
6666
6667     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
6668     void alt(BSTR v);
6669
6670     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
6671     BSTR alt();
6672
6673     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
6674     void src(BSTR v);
6675
6676     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
6677     BSTR src();
6678
6679     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
6680     void lowsrc(BSTR v);
6681
6682     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
6683     BSTR lowsrc();
6684
6685     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
6686     void vrml(BSTR v);
6687
6688     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
6689     BSTR vrml();
6690
6691     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
6692     void dynsrc(BSTR v);
6693
6694     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
6695     BSTR dynsrc();
6696
6697     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
6698     VARIANT_BOOL complete();
6699
6700     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
6701     void loop(VARIANT v);
6702
6703     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
6704     VARIANT loop();
6705
6706     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
6707     void align(BSTR v);
6708
6709     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
6710     BSTR align();
6711
6712     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
6713     void onload(VARIANT v);
6714
6715     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
6716     VARIANT onload();
6717
6718     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
6719     void onerror(VARIANT v);
6720
6721     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
6722     VARIANT onerror();
6723
6724     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
6725     void onabort(VARIANT v);
6726
6727     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
6728     VARIANT onabort();
6729
6730     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
6731     void name(BSTR v);
6732
6733     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
6734     BSTR name();
6735
6736     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6737     void width(LONG v);
6738
6739     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6740     LONG width();
6741
6742     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6743     void height(LONG v);
6744
6745     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6746     LONG height();
6747
6748     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
6749     void start(BSTR v);
6750
6751     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
6752     BSTR start();
6753
6754     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
6755     void longDesc(BSTR v);
6756
6757     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
6758     BSTR longDesc();
6759 }
6760
6761 /*****************************************************************************
6762  *    IHTMLControlElement interface
6763  */
6764 [
6765     odl,
6766     oleautomation,
6767     dual,
6768     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
6769 ]
6770 interface IHTMLControlElement : IDispatch
6771 {
6772     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
6773     HRESULT tabIndex([in] short v);
6774
6775     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
6776     HRESULT tabIndex([retval, out] short * p);
6777
6778     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
6779     HRESULT focus();
6780
6781     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
6782     HRESULT accessKey([in] BSTR v);
6783
6784     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
6785     HRESULT accessKey([retval, out] BSTR * p);
6786
6787     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
6788     HRESULT onblur([in] VARIANT v);
6789
6790     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
6791     HRESULT onblur([retval, out] VARIANT * p);
6792
6793     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
6794     HRESULT onfocus([in] VARIANT v);
6795
6796     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
6797     HRESULT onfocus([retval, out] VARIANT * p);
6798
6799     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
6800     HRESULT onresize([in] VARIANT v);
6801
6802     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
6803     HRESULT onresize([retval, out] VARIANT * p);
6804
6805     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
6806     HRESULT blur();
6807
6808     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
6809     HRESULT addFilter([in] IUnknown* pUnk);
6810
6811     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
6812     HRESULT removeFilter([in] IUnknown* pUnk);
6813
6814     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
6815     HRESULT clientHeight([retval, out] LONG * p);
6816
6817     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
6818     HRESULT clientWidth([retval, out] LONG * p);
6819
6820     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
6821     HRESULT clientTop([retval, out] LONG * p);
6822
6823     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
6824     HRESULT clientLeft([retval, out] LONG * p);
6825 };
6826
6827 /*****************************************************************************
6828  *    IHTMLBodyElement interface
6829  */
6830 [
6831     odl,
6832     oleautomation,
6833     dual,
6834     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
6835 ]
6836 interface IHTMLBodyElement : IDispatch
6837 {
6838     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
6839     HRESULT background([in] BSTR v);
6840
6841     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
6842     HRESULT background([retval, out] BSTR *p);
6843
6844     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
6845     HRESULT bgProperties([in] BSTR v);
6846
6847     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
6848     HRESULT bgProperties([retval, out] BSTR *p);
6849
6850     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
6851     HRESULT leftMargin([in] VARIANT v);
6852
6853     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
6854     HRESULT leftMargin([retval, out] VARIANT *p);
6855
6856     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
6857     HRESULT topMargin([in] VARIANT v);
6858
6859     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
6860     HRESULT topMargin([retval, out] VARIANT *p);
6861
6862     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
6863     HRESULT rightMargin([in] VARIANT v);
6864
6865     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
6866     HRESULT rightMargin([retval, out] VARIANT *p);
6867
6868     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
6869     HRESULT bottomMargin([in] VARIANT v);
6870
6871     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
6872     HRESULT bottomMargin([retval, out] VARIANT *p);
6873
6874     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
6875     HRESULT noWrap([in] VARIANT_BOOL v);
6876
6877     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
6878     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
6879
6880     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
6881     HRESULT bgColor([in] VARIANT v);
6882
6883     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
6884     HRESULT bgColor([retval, out] VARIANT *p);
6885
6886     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
6887     HRESULT text([in] VARIANT v);
6888
6889     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
6890     HRESULT text([retval, out] VARIANT *p);
6891
6892     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
6893     HRESULT link([in] VARIANT v);
6894
6895     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
6896     HRESULT link([retval, out] VARIANT *p);
6897
6898     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
6899     HRESULT vLink([in] VARIANT v);
6900
6901     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
6902     HRESULT vLink([retval, out] VARIANT *p);
6903
6904     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
6905     HRESULT aLink([in] VARIANT v);
6906
6907     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
6908     HRESULT aLink([retval, out] VARIANT *p);
6909
6910     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
6911     HRESULT onload([in] VARIANT v);
6912
6913     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
6914     HRESULT onload([retval, out] VARIANT *p);
6915
6916     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
6917     HRESULT onunload([in] VARIANT v);
6918
6919     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
6920     HRESULT onunload([retval, out] VARIANT *p);
6921
6922     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
6923     HRESULT scroll([in] BSTR v);
6924
6925     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
6926     HRESULT scroll([retval, out] BSTR *p);
6927
6928     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
6929     HRESULT onselect([in] VARIANT v);
6930
6931     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
6932     HRESULT onselect([retval, out] VARIANT *p);
6933
6934     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
6935     HRESULT onbeforeunload([in] VARIANT v);
6936
6937     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
6938     HRESULT onbeforeunload([retval, out] VARIANT *p);
6939
6940     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
6941     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
6942 }
6943
6944 /*****************************************************************************
6945  *    IHTMLBodyElement2 interface
6946  */
6947 [
6948     odl,
6949     oleautomation,
6950     dual,
6951     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
6952 ]
6953 interface IHTMLBodyElement2 : IDispatch
6954 {
6955     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
6956     HRESULT onbeforeprint([in] VARIANT v);
6957
6958     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
6959     HRESULT onbeforeprint([retval, out] VARIANT *p);
6960
6961     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
6962     HRESULT onafterprint([in] VARIANT v);
6963
6964     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
6965     HRESULT onafterprint([retval, out] VARIANT *p);
6966 }
6967
6968 [
6969     hidden,
6970     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
6971 ]
6972 dispinterface DispHTMLBody
6973 {
6974 properties:
6975 methods:
6976     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6977
6978     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
6979     void background(BSTR v);
6980
6981     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
6982     BSTR background();
6983
6984     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
6985     void bgProperties(BSTR v);
6986
6987     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
6988     BSTR bgProperties();
6989
6990     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
6991     void leftMargin(VARIANT v);
6992
6993     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
6994     VARIANT leftMargin();
6995
6996     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
6997     void topMargin(VARIANT v);
6998
6999     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7000     VARIANT topMargin();
7001
7002     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7003     void rightMargin(VARIANT v);
7004
7005     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7006     VARIANT rightMargin();
7007
7008     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7009     void bottomMargin(VARIANT v);
7010
7011     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7012     VARIANT bottomMargin();
7013
7014     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7015     void noWrap(VARIANT_BOOL v);
7016
7017     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7018     VARIANT_BOOL noWrap();
7019
7020     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7021     void bgColor(VARIANT v);
7022
7023     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7024     VARIANT bgColor();
7025
7026     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7027     void text(VARIANT v);
7028
7029     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7030     VARIANT text();
7031
7032     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7033     void link(VARIANT v);
7034
7035     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7036     VARIANT link();
7037
7038     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7039     void vLink(VARIANT v);
7040
7041     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7042     VARIANT vLink();
7043
7044     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7045     void aLink(VARIANT v);
7046
7047     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7048     VARIANT aLink();
7049
7050     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7051     void onload(VARIANT v);
7052
7053     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7054     VARIANT onload();
7055
7056     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7057     void onunload(VARIANT v);
7058
7059     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7060     VARIANT onunload();
7061
7062     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7063     void scroll(BSTR v);
7064
7065     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7066     BSTR scroll();
7067
7068     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7069     void onselect(VARIANT v);
7070
7071     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7072     VARIANT onselect();
7073
7074     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7075     void onbeforeunload(VARIANT v);
7076
7077     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7078     VARIANT onbeforeunload();
7079
7080     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7081     IHTMLTxtRange* createTextRange();
7082
7083     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7084     void onbeforeprint(VARIANT v);
7085
7086     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7087     VARIANT onbeforeprint();
7088
7089     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7090     void onafterprint(VARIANT v);
7091
7092     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7093     VARIANT onafterprint();
7094 };
7095
7096 [
7097     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
7098 ]
7099 coclass HTMLBody
7100 {
7101     [default]           dispinterface DispHTMLBody;
7102     [source, default]   dispinterface HTMLTextContainerEvents;
7103     [source]            dispinterface HTMLTextContainerEvents2;
7104                         interface IHTMLElement;
7105                         interface IHTMLElement2;
7106                         interface IHTMLElement3;
7107                         interface IHTMLElement4;
7108                         interface IHTMLUniqueName;
7109                         interface IHTMLDOMNode;
7110                         interface IHTMLDOMNode2;
7111                         interface IHTMLControlElement;
7112                         interface IHTMLTextContainer;
7113                         interface IHTMLBodyElement;
7114                         interface IHTMLBodyElement2;
7115 };
7116
7117 /*****************************************************************************
7118  *    IHTMLAnchorElement interface
7119  */
7120 [
7121     odl,
7122     oleautomation,
7123     dual,
7124     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
7125 ]
7126 interface IHTMLAnchorElement : IDispatch
7127 {
7128     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7129     HRESULT href([in] BSTR v);
7130
7131     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7132     HRESULT href([retval, out] BSTR *p);
7133
7134     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7135     HRESULT target([in] BSTR v);
7136
7137     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7138     HRESULT target([retval, out] BSTR *p);
7139
7140     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7141     HRESULT rel([in] BSTR v);
7142
7143     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7144     HRESULT rel([retval, out] BSTR *p);
7145
7146     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7147     HRESULT rev([in] BSTR v);
7148
7149     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7150     HRESULT rev([retval, out] BSTR *p);
7151
7152     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7153     HRESULT urn([in] BSTR v);
7154
7155     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7156     HRESULT urn([retval, out] BSTR *p);
7157
7158     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7159     HRESULT Methods([in] BSTR v);
7160
7161     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7162     HRESULT Methods([retval, out] BSTR *p);
7163
7164     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7165     HRESULT name([in] BSTR v);
7166
7167     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7168     HRESULT name([retval, out] BSTR *p);
7169
7170     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7171     HRESULT host([in] BSTR v);
7172
7173     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7174     HRESULT host([retval, out] BSTR *p);
7175
7176     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7177     HRESULT hostname([in] BSTR v);
7178
7179     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7180     HRESULT hostname([retval, out] BSTR *p);
7181
7182     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7183     HRESULT pathname([in] BSTR v);
7184
7185     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7186     HRESULT pathname([retval, out] BSTR *p);
7187
7188     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7189     HRESULT port([in] BSTR v);
7190
7191     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7192     HRESULT port([retval, out] BSTR *p);
7193
7194     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7195     HRESULT protocol([in] BSTR v);
7196
7197     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7198     HRESULT protocol([retval, out] BSTR *p);
7199
7200     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7201     HRESULT search([in] BSTR v);
7202
7203     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7204     HRESULT search([retval, out] BSTR *p);
7205
7206     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7207     HRESULT hash([in] BSTR v);
7208
7209     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7210     HRESULT hash([retval, out] BSTR *p);
7211
7212     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7213     HRESULT onblur([in] VARIANT v);
7214
7215     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
7216     HRESULT onblur([retval, out] VARIANT *p);
7217
7218     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7219     HRESULT onfocus([in] VARIANT v);
7220
7221     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
7222     HRESULT onfocus([retval, out] VARIANT *p);
7223
7224     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7225     HRESULT accessKey([in] BSTR v);
7226
7227     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
7228     HRESULT accessKey([retval, out] BSTR *p);
7229
7230     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
7231     HRESULT protocolLong([retval, out] BSTR *p);
7232
7233     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
7234     HRESULT mimeType([retval, out] BSTR *p);
7235
7236     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
7237     HRESULT nameProp([retval, out] BSTR *p);
7238
7239     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7240     HRESULT tabIndex([in] short v);
7241
7242     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
7243     HRESULT tabIndex([retval, out] short *p);
7244
7245     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
7246     HRESULT focus();
7247
7248     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
7249     HRESULT blur();
7250 }
7251
7252 /*****************************************************************************
7253  *    DispHTMLAnchorElement dispinterface
7254  */
7255 [
7256     hidden,
7257     uuid(3050f502-98b5-11cf-bb82-00aa00bdce0b)
7258 ]
7259 dispinterface DispHTMLAnchorElement
7260 {
7261 properties:
7262 methods:
7263     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7264
7265     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7266     void href(BSTR v);
7267
7268     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
7269     BSTR href();
7270
7271     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7272     void target(BSTR v);
7273
7274     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
7275     BSTR target();
7276
7277     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7278     void rel(BSTR v);
7279
7280     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
7281     BSTR rel();
7282
7283     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7284     void rev(BSTR v);
7285
7286     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
7287     BSTR rev();
7288
7289     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7290     void urn(BSTR v);
7291
7292     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
7293     BSTR urn();
7294
7295     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7296     void Methods(BSTR v);
7297
7298     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
7299     BSTR Methods();
7300
7301     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7302     void name(BSTR v);
7303
7304     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
7305     BSTR name();
7306
7307     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7308     void host(BSTR v);
7309
7310     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
7311     BSTR host();
7312
7313     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7314     void hostname(BSTR v);
7315
7316     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
7317     BSTR hostname();
7318
7319     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7320     void pathname(BSTR v);
7321
7322     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
7323     BSTR pathname();
7324
7325     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7326     void port(BSTR v);
7327
7328     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
7329     BSTR port();
7330
7331     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7332     void protocol(BSTR v);
7333
7334     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
7335     BSTR protocol();
7336
7337     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7338     void search(BSTR v);
7339
7340     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
7341     BSTR search();
7342
7343     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7344     void hash(BSTR v);
7345
7346     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
7347     BSTR hash();
7348
7349     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
7350     BSTR protocolLong();
7351
7352     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
7353     BSTR mimeType();
7354
7355     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
7356     BSTR nameProp();
7357
7358     [propput, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
7359     void charset(BSTR v);
7360
7361     [propget, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
7362     BSTR charset();
7363
7364     [propput, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
7365     void coords(BSTR v);
7366
7367     [propget, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
7368     BSTR coords();
7369
7370     [propput, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
7371     void hreflang(BSTR v);
7372
7373     [propget, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
7374     BSTR hreflang();
7375
7376     [propput, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
7377     void shape(BSTR v);
7378
7379     [propget, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
7380     BSTR shape();
7381
7382     [propput, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
7383     void type(BSTR v);
7384
7385     [propget, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
7386     BSTR type();
7387
7388     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
7389     void ie8_shape(BSTR v);
7390
7391     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
7392     BSTR ie8_shape();
7393
7394     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
7395     void ie8_coords(BSTR v);
7396
7397     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
7398     BSTR ie8_coords();
7399
7400     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
7401     void ie8_href(BSTR v);
7402
7403     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
7404     BSTR ie8_href();
7405 }
7406
7407 /*****************************************************************************
7408  *    IHTMLElementCollection interface
7409  */
7410 [
7411     odl,
7412     oleautomation,
7413     dual,
7414     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
7415 ]
7416 interface IHTMLElementCollection : IDispatch
7417 {
7418     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
7419     HRESULT toString([retval, out] BSTR *String);
7420
7421     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7422     HRESULT length([in] LONG v);
7423
7424     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7425     HRESULT length([retval, out] LONG *p);
7426
7427     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
7428     HRESULT _newEnum([retval, out] IUnknown **p);
7429
7430     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
7431     HRESULT item(
7432         [optional, in] VARIANT name,
7433         [optional, in] VARIANT index,
7434         [retval,  out] IDispatch **pdisp);
7435
7436     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
7437     HRESULT tags(
7438         [in] VARIANT tagName,
7439         [retval, out] IDispatch **pdisp);
7440 }
7441
7442 /*****************************************************************************
7443  *    DispHTMLElementCollection dispinterface
7444  */
7445 [
7446     hidden,
7447     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
7448 ]
7449 dispinterface DispHTMLElementCollection
7450 {
7451 properties:
7452 methods:
7453     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
7454     BSTR toString();
7455
7456     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7457     void length(LONG v);
7458
7459     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
7460     LONG length();
7461
7462     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
7463     IUnknown *_newEnum();
7464
7465     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
7466     IDispatch *item(
7467             [in, optional] VARIANT name,
7468             [in, optional] VARIANT index);
7469
7470     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
7471     IDispatch *tags(
7472             [in] VARIANT tagName);
7473
7474     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
7475     IDispatch *urns([in] VARIANT urn);
7476
7477     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
7478     IDispatch *namedItem([in] BSTR name);
7479 }
7480
7481 /*****************************************************************************
7482  *    IHTMLSelectElement interface
7483  */
7484 [
7485     odl,
7486     oleautomation,
7487     dual,
7488     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
7489 ]
7490 interface IHTMLSelectElement : IDispatch
7491 {
7492     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7493     HRESULT size([in] LONG v);
7494
7495     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7496     HRESULT size([retval, out] LONG *p);
7497
7498     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7499     HRESULT multiple([in] VARIANT_BOOL v);
7500
7501     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7502     HRESULT multiple([retval, out] VARIANT_BOOL *p);
7503
7504     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7505     HRESULT name([in] BSTR v);
7506
7507     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7508     HRESULT name([retval, out] BSTR *p);
7509
7510     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
7511     HRESULT options([retval, out] IDispatch **p);
7512
7513     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
7514     HRESULT onchange([in] VARIANT v);
7515
7516     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
7517     HRESULT onchange([retval, out] VARIANT *p);
7518
7519     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
7520     HRESULT selectedIndex([in] LONG v);
7521
7522     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
7523     HRESULT selectedIndex([retval, out] LONG *p);
7524
7525     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
7526     HRESULT type([retval, out] BSTR *p);
7527
7528     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
7529     HRESULT value([in] BSTR v);
7530
7531     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
7532     HRESULT value([retval, out] BSTR *p);
7533
7534     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
7535     HRESULT disabled([in] VARIANT_BOOL v);
7536
7537     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
7538     HRESULT disabled([retval, out] VARIANT_BOOL *p);
7539
7540     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
7541     HRESULT form([retval, out] IHTMLFormElement **p);
7542
7543     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
7544     HRESULT add(
7545         [in] IHTMLElement *element,
7546         [optional, in] VARIANT before);
7547
7548     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
7549     HRESULT remove([defaultvalue(-1), in] LONG index);
7550
7551     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
7552     HRESULT length([in] LONG v);
7553
7554     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
7555     HRESULT length([retval, out] LONG *p);
7556
7557     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
7558     HRESULT _newEnum([retval, out] IUnknown **p);
7559
7560     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
7561     HRESULT item(
7562         [optional, in] VARIANT name,
7563         [optional, in] VARIANT index,
7564         [retval, out] IDispatch **pdisp);
7565
7566     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
7567     HRESULT tags(
7568         [in] VARIANT tagName,
7569         [retval, out] IDispatch **pdisp);
7570 }
7571
7572 /*****************************************************************************
7573  *    DispHTMLSelectElement dispinterface
7574  */
7575 [
7576     hidden,
7577     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
7578 ]
7579 dispinterface DispHTMLSelectElement
7580 {
7581 properties:
7582 methods:
7583     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7584
7585     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7586     void size(LONG v);
7587
7588     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7589     LONG size();
7590
7591     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7592     void multiple(VARIANT_BOOL v);
7593
7594     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7595     VARIANT_BOOL multiple();
7596
7597     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7598     void name(BSTR v);
7599
7600     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7601     BSTR name();
7602
7603     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
7604     IDispatch *options();
7605
7606     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
7607     void onchange(VARIANT v);
7608
7609     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
7610     VARIANT onchange();
7611
7612     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
7613     void selectedIndex(LONG v);
7614
7615     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
7616     LONG selectedIndex();
7617
7618     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
7619     BSTR type();
7620
7621     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
7622     void value(BSTR v);
7623
7624     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
7625     BSTR value();
7626
7627     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
7628     IHTMLFormElement *form();
7629
7630     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
7631     void add(
7632             [in] IHTMLElement *element,
7633             [in, optional] VARIANT before);
7634
7635     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
7636     void remove([in, defaultvalue(-1)] LONG index);
7637
7638     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
7639     void length(LONG v);
7640
7641     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
7642     LONG length();
7643
7644     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
7645     IUnknown *_newEnum();
7646
7647     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
7648     IDispatch *item(
7649             [in, optional] VARIANT name,
7650             [in, optional] VARIANT index);
7651
7652     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
7653     IDispatch *tags([in] VARIANT tagName);
7654
7655     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
7656     IDispatch *urns([in] VARIANT urn);
7657
7658     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
7659     IDispatch *namedItem([in] BSTR name);
7660 }
7661
7662 /*****************************************************************************
7663  *    IHTMLSelectionObject interface
7664  */
7665 [
7666     odl,
7667     oleautomation,
7668     dual,
7669     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
7670 ]
7671 interface IHTMLSelectionObject : IDispatch
7672 {
7673     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
7674     HRESULT createRange([retval, out] IDispatch **range);
7675
7676     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
7677     HRESULT empty();
7678
7679     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
7680     HRESULT clear();
7681
7682     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
7683     HRESULT type([retval, out] BSTR *p);
7684 }
7685
7686 /*****************************************************************************
7687  *    IHTMLOptionElement interface
7688  */
7689 [
7690     odl,
7691     oleautomation,
7692     dual,
7693     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
7694 ]
7695 interface IHTMLOptionElement : IDispatch
7696 {
7697     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
7698     HRESULT selected([in] VARIANT_BOOL v);
7699
7700     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
7701     HRESULT selected([retval, out] VARIANT_BOOL *p);
7702
7703     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
7704     HRESULT value([in] BSTR v);
7705
7706     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
7707     HRESULT value([retval, out] BSTR *p);
7708
7709     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
7710     HRESULT defaultSelected([in] VARIANT_BOOL v);
7711
7712     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
7713     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
7714
7715     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
7716     HRESULT index([in] LONG v);
7717
7718     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
7719     HRESULT index([retval, out] LONG *p);
7720
7721     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
7722     HRESULT text([in] BSTR v);
7723
7724     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
7725     HRESULT text([retval, out] BSTR *p);
7726
7727     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
7728     HRESULT form([retval, out] IHTMLFormElement **p);
7729 }
7730
7731 [
7732     odl,
7733     oleautomation,
7734     dual,
7735     uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
7736 ]
7737 interface IHTMLOptionElement3 : IDispatch
7738 {
7739     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
7740     HRESULT label([in] BSTR v);
7741
7742     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
7743     HRESULT label([retval, out] BSTR * p);
7744 }
7745
7746 /*****************************************************************************
7747  *    IHTMLOptionElementFactory interface
7748  */
7749 [
7750     odl,
7751     oleautomation,
7752     dual,
7753     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
7754 ]
7755 interface IHTMLOptionElementFactory : IDispatch
7756 {
7757     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
7758     HRESULT create(
7759         [optional, in] VARIANT text,
7760         [optional, in] VARIANT value,
7761         [optional, in] VARIANT defaultselected,
7762         [optional, in] VARIANT selected,
7763         [retval, out] IHTMLOptionElement **optelem);
7764 }
7765
7766 /*****************************************************************************
7767  *    DispHTMLOptionElement dispinterface
7768  */
7769 [
7770     hidden,
7771     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
7772 ]
7773 dispinterface DispHTMLOptionElement
7774 {
7775 properties:
7776 methods:
7777     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7778
7779     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
7780     void selected(VARIANT_BOOL v);
7781
7782     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
7783     VARIANT_BOOL selected();
7784
7785     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
7786     void value(BSTR v);
7787
7788     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
7789     BSTR value();
7790
7791     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
7792     void defaultSelected(VARIANT_BOOL v);
7793
7794     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
7795     VARIANT_BOOL defaultSelected();
7796
7797     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
7798     void index(LONG v);
7799
7800     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
7801     LONG index();
7802
7803     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
7804     void text(BSTR v);
7805
7806     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
7807     BSTR text();
7808
7809     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
7810     IHTMLFormElement *form();
7811
7812     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
7813     void label(BSTR v);
7814
7815     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
7816     BSTR label();
7817 }
7818
7819 [
7820     noncreatable,
7821     uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
7822 ]
7823 coclass HTMLOptionElement
7824 {
7825     [default]           dispinterface DispHTMLOptionElement;
7826     [source, default]   dispinterface HTMLElementEvents;
7827     [source]            dispinterface HTMLElementEvents2;
7828                         interface IHTMLElement;
7829                         interface IHTMLElement2;
7830                         interface IHTMLElement3;
7831                         interface IHTMLElement4;
7832                         interface IHTMLUniqueName;
7833                         interface IHTMLDOMNode;
7834                         interface IHTMLDOMNode2;
7835                         interface IHTMLDatabinding;
7836                         interface IHTMLOptionElement;
7837                         interface IHTMLOptionElement3;
7838 }
7839
7840 /*****************************************************************************
7841  *    IHTMLInputElement interface
7842  */
7843 [
7844     odl,
7845     oleautomation,
7846     dual,
7847     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
7848 ]
7849 interface IHTMLInputElement : IDispatch
7850 {
7851     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
7852     HRESULT type([in] BSTR v);
7853
7854     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
7855     HRESULT type([retval, out] BSTR *p);
7856
7857     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
7858     HRESULT value([in] BSTR v);
7859
7860     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
7861     HRESULT value([retval, out] BSTR *p);
7862
7863     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
7864     HRESULT name([in] BSTR v);
7865
7866     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
7867     HRESULT name([retval, out] BSTR *p);
7868
7869     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
7870     HRESULT status([in] VARIANT_BOOL v);
7871
7872     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
7873     HRESULT status([retval, out] VARIANT_BOOL *p);
7874
7875     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
7876     HRESULT disabled([in] VARIANT_BOOL v);
7877
7878     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
7879     HRESULT disabled([retval, out] VARIANT_BOOL *p);
7880
7881     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
7882     HRESULT form([retval, out] IHTMLFormElement **p);
7883
7884     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
7885     HRESULT size([in] LONG v);
7886
7887     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
7888     HRESULT size([retval, out] LONG *p);
7889
7890     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
7891     HRESULT maxLength([in] LONG v);
7892
7893     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
7894     HRESULT maxLength([retval, out] LONG *p);
7895
7896     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
7897     HRESULT select();
7898
7899     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
7900     HRESULT onchange([in] VARIANT v);
7901
7902     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
7903     HRESULT onchange([retval, out] VARIANT *p);
7904
7905     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
7906     HRESULT onselect([in] VARIANT v);
7907
7908     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
7909     HRESULT onselect([retval, out] VARIANT *p);
7910
7911     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
7912     HRESULT defaultValue([in] BSTR v);
7913
7914     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
7915     HRESULT defaultValue([retval, out] BSTR *p);
7916
7917     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
7918     HRESULT readOnly([in] VARIANT_BOOL v);
7919
7920     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
7921     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
7922
7923     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
7924     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7925
7926     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
7927     HRESULT indeterminate([in] VARIANT_BOOL v);
7928
7929     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
7930     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
7931
7932     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
7933     HRESULT defaultChecked([in] VARIANT_BOOL v);
7934
7935     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
7936     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
7937
7938     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
7939     HRESULT checked([in] VARIANT_BOOL v);
7940
7941     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
7942     HRESULT checked([retval, out] VARIANT_BOOL *p);
7943
7944     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
7945     HRESULT border([in] VARIANT v);
7946
7947     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
7948     HRESULT border([retval, out] VARIANT *p);
7949
7950     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
7951     HRESULT vspace([in] LONG v);
7952
7953     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
7954     HRESULT vspace([retval, out] LONG *p);
7955
7956     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
7957     HRESULT hspace([in] LONG v);
7958
7959     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
7960     HRESULT hspace([retval, out] LONG *p);
7961
7962     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
7963     HRESULT alt([in] BSTR v);
7964
7965     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
7966     HRESULT alt([retval, out] BSTR *p);
7967
7968     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
7969     HRESULT src([in] BSTR v);
7970
7971     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
7972     HRESULT src([retval, out] BSTR *p);
7973
7974     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
7975     HRESULT lowsrc([in] BSTR v);
7976
7977     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
7978     HRESULT lowsrc([retval, out] BSTR *p);
7979
7980     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
7981     HRESULT vrml([in] BSTR v);
7982
7983     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
7984     HRESULT vrml([retval, out] BSTR *p);
7985
7986     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
7987     HRESULT dynsrc([in] BSTR v);
7988
7989     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
7990     HRESULT dynsrc([retval, out] BSTR *p);
7991
7992     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
7993     HRESULT readyState([retval, out] BSTR *p);
7994
7995     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
7996     HRESULT complete([retval, out] VARIANT_BOOL *p);
7997
7998     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
7999     HRESULT loop([in] VARIANT v);
8000
8001     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8002     HRESULT loop([retval, out] VARIANT *p);
8003
8004     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8005     HRESULT align([in] BSTR v);
8006
8007     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8008     HRESULT align([retval, out] BSTR *p);
8009
8010     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8011     HRESULT onload([in] VARIANT v);
8012
8013     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8014     HRESULT onload([retval, out] VARIANT *p);
8015
8016     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8017     HRESULT onerror([in] VARIANT v);
8018
8019     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8020     HRESULT onerror([retval, out] VARIANT *p);
8021
8022     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8023     HRESULT onabort([in] VARIANT v);
8024
8025     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8026     HRESULT onabort([retval, out] VARIANT *p);
8027
8028     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8029     HRESULT width([in] LONG v);
8030
8031     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8032     HRESULT width([retval, out] LONG *p);
8033
8034     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8035     HRESULT height([in] LONG v);
8036
8037     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8038     HRESULT height([retval, out] LONG *p);
8039
8040     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8041     HRESULT start([in] BSTR v);
8042
8043     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8044     HRESULT start([retval, out] BSTR *p);
8045 }
8046
8047 /*****************************************************************************
8048  *    IHTMLInputTextElement interface
8049  */
8050 [
8051     odl,
8052     oleautomation,
8053     dual,
8054     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
8055 ]
8056 interface IHTMLInputTextElement : IDispatch
8057 {
8058     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
8059     HRESULT type([retval, out] BSTR *p);
8060
8061     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
8062     HRESULT value([in] BSTR v);
8063
8064     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
8065     HRESULT value([retval, out] BSTR *p);
8066
8067     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
8068     HRESULT name([in] BSTR v);
8069
8070     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
8071     HRESULT name([retval, out] BSTR *p);
8072
8073     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
8074     HRESULT status([in] VARIANT v);
8075
8076     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
8077     HRESULT status([retval, out] VARIANT *p);
8078
8079     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
8080     HRESULT disabled([in] VARIANT_BOOL v);
8081
8082     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
8083     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8084
8085     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
8086     HRESULT form([retval, out] IHTMLFormElement **p);
8087
8088     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8089     HRESULT defaultValue([in] BSTR v);
8090
8091     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8092     HRESULT defaultValue([retval, out] BSTR *p);
8093
8094     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
8095     HRESULT size([in] LONG v);
8096
8097     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
8098     HRESULT size([retval, out] LONG *p);
8099
8100     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
8101     HRESULT maxLength([in] LONG v);
8102
8103     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
8104     HRESULT maxLength([retval, out] LONG *p);
8105
8106     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
8107     HRESULT select();
8108
8109     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
8110     HRESULT onchange([in] VARIANT v);
8111
8112     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
8113     HRESULT onchange([retval, out] VARIANT *p);
8114
8115     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
8116     HRESULT onselect([in] VARIANT v);
8117
8118     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
8119     HRESULT onselect([retval, out] VARIANT *p);
8120
8121     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
8122     HRESULT readOnly([in] VARIANT_BOOL v);
8123
8124     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
8125     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8126
8127     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
8128     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8129 }
8130
8131 [
8132     hidden,
8133     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
8134 ]
8135 dispinterface DispHTMLInputElement
8136 {
8137 properties:
8138 methods:
8139     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8140
8141     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8142     void type(BSTR v);
8143
8144     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8145     BSTR type();
8146
8147     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8148     void value(BSTR v);
8149
8150     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8151     BSTR value();
8152
8153     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8154     void name(BSTR v);
8155
8156     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8157     BSTR name();
8158
8159     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8160     void status(VARIANT_BOOL v);
8161
8162     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8163     VARIANT_BOOL status();
8164
8165     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8166     IHTMLFormElement *form();
8167
8168     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8169     void size(LONG v);
8170
8171     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8172     LONG size();
8173
8174     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8175     void maxLength(LONG v);
8176
8177     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8178     LONG maxLength();
8179
8180     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8181     void select();
8182
8183     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8184     void onchange(VARIANT v);
8185
8186     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8187     VARIANT onchange();
8188
8189     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8190     void onselect(VARIANT v);
8191
8192     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8193     VARIANT onselect();
8194
8195     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8196     void defaultValue(BSTR v);
8197
8198     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8199     BSTR defaultValue();
8200
8201     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8202     void readOnly(VARIANT_BOOL v);
8203
8204     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8205     VARIANT_BOOL readOnly();
8206
8207     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8208     IHTMLTxtRange *createTextRange();
8209
8210     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8211     void indeterminate(VARIANT_BOOL v);
8212
8213     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8214     VARIANT_BOOL indeterminate();
8215
8216     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8217     void defaultChecked(VARIANT_BOOL v);
8218
8219     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8220     VARIANT_BOOL defaultChecked();
8221
8222     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8223     void checked(VARIANT_BOOL v);
8224
8225     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8226     VARIANT_BOOL checked();
8227
8228     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8229     void border(VARIANT v);
8230
8231     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8232     VARIANT border();
8233
8234     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8235     void vspace(LONG v);
8236
8237     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8238     LONG vspace();
8239
8240     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8241     void hspace(LONG v);
8242
8243     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8244     LONG hspace();
8245
8246     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8247     void alt(BSTR v);
8248
8249     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8250     BSTR alt();
8251
8252     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8253     void src(BSTR v);
8254
8255     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8256     BSTR src();
8257
8258     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8259     void lowsrc(BSTR v);
8260
8261     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8262     BSTR lowsrc();
8263
8264     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8265     void vrml(BSTR v);
8266
8267     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8268     BSTR vrml();
8269
8270     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8271     void dynsrc(BSTR v);
8272
8273     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8274     BSTR dynsrc();
8275
8276     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
8277     VARIANT_BOOL complete();
8278
8279     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8280     void loop(VARIANT v);
8281
8282     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8283     VARIANT loop();
8284
8285     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8286     void align(BSTR v);
8287
8288     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8289     BSTR align();
8290
8291     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8292     void onload(VARIANT v);
8293
8294     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8295     VARIANT onload();
8296
8297     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8298     void onerror(VARIANT v);
8299
8300     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8301     VARIANT onerror();
8302
8303     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8304     void onabort(VARIANT v);
8305
8306     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8307     VARIANT onabort();
8308
8309     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8310     void width(LONG v);
8311
8312     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8313     LONG width();
8314
8315     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8316     void height(LONG v);
8317
8318     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8319     LONG height();
8320
8321     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8322     void start(BSTR v);
8323
8324     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8325     BSTR start();
8326
8327     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
8328     void accept(BSTR v);
8329
8330     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
8331     BSTR accept();
8332
8333     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
8334     void useMap(BSTR v);
8335
8336     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
8337     BSTR useMap();
8338 }
8339
8340 /*****************************************************************************
8341  *    IHTMLTextAreaElement interface
8342  */
8343 [
8344     odl,
8345     oleautomation,
8346     dual,
8347     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
8348 ]
8349 interface IHTMLTextAreaElement : IDispatch
8350 {
8351     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
8352     HRESULT type([retval, out] BSTR *p);
8353
8354     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
8355     HRESULT value([in] BSTR v);
8356
8357     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
8358     HRESULT value([retval, out] BSTR *p);
8359
8360     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
8361     HRESULT name([in] BSTR v);
8362
8363     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
8364     HRESULT name([retval, out] BSTR *p);
8365
8366     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
8367     HRESULT status([in] VARIANT v);
8368
8369     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
8370     HRESULT status([retval, out] VARIANT *p);
8371
8372     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
8373     HRESULT disabled([in] VARIANT_BOOL v);
8374
8375     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
8376     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8377
8378     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
8379     HRESULT form([retval, out] IHTMLFormElement **p);
8380
8381     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8382     HRESULT defaultValue([in] BSTR v);
8383
8384     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8385     HRESULT defaultValue([retval, out] BSTR *p);
8386
8387     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
8388     HRESULT select();
8389
8390     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
8391     HRESULT onchange([in] VARIANT v);
8392
8393     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
8394     HRESULT onchange([retval, out] VARIANT *p);
8395
8396     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
8397     HRESULT onselect([in] VARIANT v);
8398
8399     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
8400     HRESULT onselect([retval, out] VARIANT *p);
8401
8402     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
8403     HRESULT readOnly([in] VARIANT_BOOL v);
8404
8405     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
8406     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8407
8408     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
8409     HRESULT rows([in] LONG v);
8410
8411     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
8412     HRESULT rows([retval, out] LONG *p);
8413
8414     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
8415     HRESULT cols([in] LONG v);
8416
8417     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
8418     HRESULT cols([retval, out] LONG *p);
8419
8420     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
8421     HRESULT wrap([in] BSTR v);
8422
8423     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
8424     HRESULT wrap([retval, out] BSTR *p);
8425
8426     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
8427     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8428 }
8429
8430 /*****************************************************************************
8431  *    DispHTMLUnknownElement interface
8432  */
8433 [
8434     hidden,
8435     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
8436 ]
8437 dispinterface DispHTMLUnknownElement
8438 {
8439 properties:
8440 methods:
8441     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
8442 }
8443
8444 /*****************************************************************************
8445  *    IOmHistory interface
8446  */
8447 [
8448     odl,
8449     oleautomation,
8450     dual,
8451     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
8452 ]
8453 interface IOmHistory : IDispatch
8454 {
8455     [propget, id(DISPID_IOMHISTORY_LENGTH)]
8456     HRESULT length([retval, out] short *p);
8457
8458     [id(DISPID_IOMHISTORY_BACK)]
8459     HRESULT back([optional, in] VARIANT *pvargdistance);
8460
8461     [id(DISPID_IOMHISTORY_FORWARD)]
8462     HRESULT forward([optional, in] VARIANT *pvargdistance);
8463
8464     [id(DISPID_IOMHISTORY_GO)]
8465     HRESULT go([optional, in] VARIANT *pvargdistance);
8466 }
8467
8468 [
8469     noncreatable,
8470     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
8471 ]
8472 coclass HTMLHistory
8473 {
8474     [default]           interface IOmHistory;
8475 }
8476
8477 /*****************************************************************************
8478  *    IHTMLMimeTypesCollection interface
8479  */
8480 [
8481     odl,
8482     oleautomation,
8483     dual,
8484     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
8485 ]
8486 interface IHTMLMimeTypesCollection : IDispatch
8487 {
8488     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
8489     HRESULT length([retval, out] LONG *p);
8490 }
8491
8492 [
8493     noncreatable,
8494     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
8495 ]
8496 coclass CMimeTypes
8497 {
8498     [default]           interface IHTMLMimeTypesCollection;
8499 }
8500
8501 /*****************************************************************************
8502  *    IHTMLPluginsCollection interface
8503  */
8504 [
8505     odl,
8506     oleautomation,
8507     dual,
8508     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
8509 ]
8510 interface IHTMLPluginsCollection : IDispatch
8511 {
8512     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
8513     HRESULT length([retval, out] LONG *p);
8514
8515     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
8516     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
8517 }
8518
8519 [
8520     noncreatable,
8521     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
8522 ]
8523 coclass CPlugins
8524 {
8525     [default]           interface IHTMLPluginsCollection;
8526 }
8527
8528 /*****************************************************************************
8529  *    IHTMLOpsProfile interface
8530  */
8531 [
8532     odl,
8533     oleautomation,
8534     dual,
8535     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
8536 ]
8537 interface IHTMLOpsProfile : IDispatch
8538 {
8539     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
8540     HRESULT addRequest(
8541         [in] BSTR name,
8542         [optional, in] VARIANT reserved,
8543         [retval, out] VARIANT_BOOL *success);
8544
8545     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
8546     HRESULT clearRequest();
8547
8548     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
8549     HRESULT doRequest(
8550         [in] VARIANT usage,
8551         [optional, in] VARIANT fname,
8552         [optional, in] VARIANT domain,
8553         [optional, in] VARIANT path,
8554         [optional, in] VARIANT expire,
8555         [optional, in] VARIANT reserved);
8556
8557     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
8558     HRESULT getAttribute(
8559         [in] BSTR name,
8560         [retval, out] BSTR *value);
8561
8562     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
8563     HRESULT setAttribute(
8564         [in] BSTR name,
8565         [in] BSTR value,
8566         [optional, in] VARIANT prefs,
8567         [retval, out] VARIANT_BOOL *success);
8568
8569     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
8570     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
8571
8572     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
8573     HRESULT addReadRequest(
8574         [in] BSTR name,
8575         [optional, in] VARIANT reserved,
8576         [retval, out] VARIANT_BOOL *success);
8577
8578     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
8579     HRESULT doReadRequest(
8580         [in] VARIANT usage,
8581         [optional, in] VARIANT fname,
8582         [optional, in] VARIANT domain,
8583         [optional, in] VARIANT path,
8584         [optional, in] VARIANT expire,
8585         [optional, in] VARIANT reserved);
8586
8587     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
8588     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
8589 }
8590
8591 [
8592     noncreatable,
8593     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
8594 ]
8595 coclass COpsProfile
8596 {
8597     [default]           interface IHTMLOpsProfile;
8598 }
8599
8600 /*****************************************************************************
8601  *    IOmNavigator interface
8602  */
8603 [
8604     odl,
8605     oleautomation,
8606     dual,
8607     uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
8608 ]
8609 interface IOmNavigator : IDispatch
8610 {
8611     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
8612     HRESULT appCodeName([retval, out] BSTR *p);
8613
8614     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
8615     HRESULT appName([retval, out] BSTR *p);
8616
8617     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
8618     HRESULT appVersion([retval, out] BSTR *p);
8619
8620     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
8621     HRESULT userAgent([retval, out] BSTR *p);
8622
8623     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
8624     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
8625
8626     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
8627     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
8628
8629     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
8630     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
8631
8632     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
8633     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
8634
8635     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
8636     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
8637
8638     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
8639     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
8640
8641     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
8642     HRESULT toString([retval, out] BSTR *String);
8643
8644     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
8645     HRESULT cpuClass([retval, out] BSTR *p);
8646
8647     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
8648     HRESULT systemLanguage([retval, out] BSTR *p);
8649
8650     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
8651     HRESULT browserLanguage([retval, out] BSTR *p);
8652
8653     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
8654     HRESULT userLanguage([retval, out] BSTR *p);
8655
8656     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
8657     HRESULT platform([retval, out] BSTR *p);
8658
8659     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
8660     HRESULT appMinorVersion([retval, out] BSTR *p);
8661
8662     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
8663     HRESULT connectionSpeed([retval, out] LONG *p);
8664
8665     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
8666     HRESULT onLine([retval, out] VARIANT_BOOL *p);
8667
8668     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
8669     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
8670 }
8671
8672 /*****************************************************************************
8673  *    DispHTMLNavigator dispinterface
8674  */
8675 [
8676     hidden,
8677     uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
8678 ]
8679 dispinterface DispHTMLNavigator
8680 {
8681 properties:
8682 methods:
8683     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
8684     BSTR appCodeName();
8685
8686     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
8687     BSTR appName();
8688
8689     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
8690     BSTR appVersion();
8691
8692     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
8693     BSTR userAgent();
8694
8695     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
8696     VARIANT_BOOL javaEnabled();
8697
8698     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
8699     VARIANT_BOOL taintEnabled();
8700
8701     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
8702     IHTMLMimeTypesCollection *mimeTypes();
8703
8704     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
8705     IHTMLPluginsCollection *plugins();
8706
8707     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
8708     VARIANT_BOOL cookieEnabled();
8709
8710     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
8711     IHTMLOpsProfile *opsProfile();
8712
8713     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
8714     BSTR toString();
8715
8716     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
8717     BSTR cpuClass();
8718
8719     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
8720     BSTR systemLanguage();
8721
8722     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
8723     BSTR browserLanguage();
8724
8725     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
8726     BSTR userLanguage();
8727
8728     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
8729     BSTR platform();
8730
8731     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
8732     BSTR appMinorVersion();
8733
8734     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
8735     LONG connectionSpeed();
8736
8737     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
8738     VARIANT_BOOL onLine();
8739
8740     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
8741     IHTMLOpsProfile *userProfile();
8742
8743     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
8744 }
8745
8746 [
8747     noncreatable,
8748     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
8749 ]
8750 coclass HTMLNavigator
8751 {
8752     [default]  dispinterface DispHTMLNavigator;
8753                interface IOmNavigator;
8754 }
8755
8756 /*****************************************************************************
8757  *    IHTMLLocation interface
8758  */
8759 [
8760     odl,
8761     oleautomation,
8762     dual,
8763     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
8764 ]
8765 interface IHTMLLocation : IDispatch
8766 {
8767     [propput, id(DISPID_IHTMLLOCATION_HREF)]
8768     HRESULT href([in] BSTR v);
8769
8770     [propget, id(DISPID_IHTMLLOCATION_HREF)]
8771     HRESULT href([retval, out] BSTR *p);
8772
8773     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
8774     HRESULT protocol([in] BSTR v);
8775
8776     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
8777     HRESULT protocol([retval, out] BSTR *p);
8778
8779     [propput, id(DISPID_IHTMLLOCATION_HOST)]
8780     HRESULT host([in] BSTR v);
8781
8782     [propget, id(DISPID_IHTMLLOCATION_HOST)]
8783     HRESULT host([retval, out] BSTR *p);
8784
8785     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
8786     HRESULT hostname([in] BSTR v);
8787
8788     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
8789     HRESULT hostname([retval, out] BSTR *p);
8790
8791     [propput, id(DISPID_IHTMLLOCATION_PORT)]
8792     HRESULT port([in] BSTR v);
8793
8794     [propget, id(DISPID_IHTMLLOCATION_PORT)]
8795     HRESULT port([retval, out] BSTR *p);
8796
8797     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
8798     HRESULT pathname([in] BSTR v);
8799
8800     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
8801     HRESULT pathname([retval, out] BSTR *p);
8802
8803     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
8804     HRESULT search([in] BSTR v);
8805
8806     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
8807     HRESULT search([retval, out] BSTR *p);
8808
8809     [propput, id(DISPID_IHTMLLOCATION_HASH)]
8810     HRESULT hash([in] BSTR v);
8811
8812     [propget, id(DISPID_IHTMLLOCATION_HASH)]
8813     HRESULT hash([retval, out] BSTR *p);
8814
8815     [id(DISPID_IHTMLLOCATION_RELOAD)]
8816     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
8817
8818     [id(DISPID_IHTMLLOCATION_REPLACE)]
8819     HRESULT replace([in] BSTR bstr);
8820
8821     [id(DISPID_IHTMLLOCATION_ASSIGN)]
8822     HRESULT assign([in] BSTR bstr);
8823
8824     [id(DISPID_IHTMLLOCATION_TOSTRING)]
8825     HRESULT toString([retval, out] BSTR *String);
8826 }
8827
8828 /*****************************************************************************
8829  *    DispHTMLLocation dispinterface
8830  */
8831 [
8832     hidden,
8833     uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
8834 ]
8835 dispinterface DispHTMLLocation
8836 {
8837 properties:
8838 methods:
8839     [propput, id(DISPID_IHTMLLOCATION_HREF)]
8840     void href(BSTR v);
8841
8842     [propget, id(DISPID_IHTMLLOCATION_HREF)]
8843     BSTR href();
8844
8845     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
8846     void protocol(BSTR v);
8847
8848     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
8849     BSTR protocol();
8850
8851     [propput, id(DISPID_IHTMLLOCATION_HOST)]
8852     void host(BSTR v);
8853
8854     [propget, id(DISPID_IHTMLLOCATION_HOST)]
8855     BSTR host();
8856
8857     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
8858     void hostname(BSTR v);
8859
8860     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
8861     BSTR hostname();
8862
8863     [propput, id(DISPID_IHTMLLOCATION_PORT)]
8864     void port(BSTR v);
8865
8866     [propget, id(DISPID_IHTMLLOCATION_PORT)]
8867     BSTR port();
8868
8869     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
8870     void pathname(BSTR v);
8871
8872     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
8873     BSTR pathname();
8874
8875     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
8876     void search(BSTR v);
8877
8878     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
8879     BSTR search();
8880
8881     [propput, id(DISPID_IHTMLLOCATION_HASH)]
8882     void hash(BSTR v);
8883
8884     [propget, id(DISPID_IHTMLLOCATION_HASH)]
8885     BSTR hash();
8886
8887     [id(DISPID_IHTMLLOCATION_RELOAD)]
8888     void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
8889
8890     [id(DISPID_IHTMLLOCATION_REPLACE)]
8891     void replace([in] BSTR bstr);
8892
8893     [id(DISPID_IHTMLLOCATION_ASSIGN)]
8894     void assign([in] BSTR bstr);
8895
8896     [id(DISPID_IHTMLLOCATION_TOSTRING)]
8897     BSTR toString();
8898
8899     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
8900 }
8901
8902 [
8903     noncreatable,
8904     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
8905 ]
8906 coclass HTMLLocation
8907 {
8908     [default]  dispinterface DispHTMLLocation;
8909                interface IHTMLLocation;
8910 }
8911
8912 [
8913     odl,
8914     oleautomation,
8915     dual,
8916     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
8917 ]
8918 interface IHTMLBookmarkCollection : IDispatch
8919 {
8920     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
8921     HRESULT length([out, retval] LONG *p);
8922
8923     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
8924     HRESULT _newEnum([out, retval] IUnknown **p);
8925
8926     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
8927     HRESULT item(
8928             [in] LONG index,
8929             [out, retval] VARIANT *pVarBookmark);
8930 }
8931
8932 /*****************************************************************************
8933  *    IHTMLDataTransfer interface
8934  */
8935 [
8936     odl,
8937     oleautomation,
8938     dual,
8939     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
8940 ]
8941 interface IHTMLDataTransfer : IDispatch
8942 {
8943     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
8944     HRESULT setData(
8945             [in] BSTR format,
8946             [in] VARIANT *data,
8947             [out, retval] VARIANT_BOOL *pret);
8948
8949     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
8950     HRESULT getData(
8951             [in] BSTR format,
8952             [out, retval] VARIANT *pvarRet);
8953
8954     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
8955     HRESULT clearData(
8956             [in] BSTR format,
8957             [out, retval] VARIANT_BOOL *pret);
8958
8959     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
8960     HRESULT dropEffect([in] BSTR v);
8961
8962     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
8963     HRESULT dropEffect([out, retval] BSTR *p);
8964
8965     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
8966     HRESULT effectAllowed([in] BSTR v);
8967
8968     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
8969     HRESULT effectAllowed([out, retval] BSTR *p);
8970 }
8971
8972 /*****************************************************************************
8973  *    IHTMLEventObj interface
8974  */
8975 [
8976     odl,
8977     oleautomation,
8978     dual,
8979     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
8980 ]
8981 interface IHTMLEventObj : IDispatch
8982 {
8983     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
8984     HRESULT srcElement([retval, out] IHTMLElement **p);
8985
8986     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
8987     HRESULT altKey([retval, out] VARIANT_BOOL *p);
8988
8989     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
8990     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
8991
8992     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
8993     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
8994
8995     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
8996     HRESULT returnValue([in] VARIANT v);
8997
8998     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
8999     HRESULT returnValue([retval, out] VARIANT *p);
9000
9001     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9002     HRESULT cancelBubble([in] VARIANT_BOOL v);
9003
9004     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9005     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
9006
9007     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
9008     HRESULT fromElement([retval, out] IHTMLElement **p);
9009
9010     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
9011     HRESULT toElement([retval, out] IHTMLElement **p);
9012
9013     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9014     HRESULT keyCode([in] LONG v);
9015
9016     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9017     HRESULT keyCode([retval, out] LONG *p);
9018
9019     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
9020     HRESULT button([retval, out] LONG *p);
9021
9022     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
9023     HRESULT type([retval, out] BSTR *p);
9024
9025     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
9026     HRESULT qualifier([retval, out] BSTR *p);
9027
9028     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
9029     HRESULT reason([retval, out] LONG *p);
9030
9031     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
9032     HRESULT x([retval, out] LONG *p);
9033
9034     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
9035     HRESULT y([retval, out] LONG *p);
9036
9037     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
9038     HRESULT clientX([retval, out] LONG *p);
9039
9040     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
9041     HRESULT clientY([retval, out] LONG *p);
9042
9043     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
9044     HRESULT offsetX([retval, out] LONG *p);
9045
9046     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
9047     HRESULT offsetY([retval, out] LONG *p);
9048
9049     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
9050     HRESULT screenX([retval, out] LONG *p);
9051
9052     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
9053     HRESULT screenY([retval, out] LONG *p);
9054
9055     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
9056     HRESULT srcFilter([retval, out] IDispatch **p);
9057 }
9058
9059 /*****************************************************************************
9060  *    DispCEventObj dispinterface
9061  */
9062 [
9063     hidden,
9064     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
9065 ]
9066 dispinterface DispCEventObj
9067 {
9068 properties:
9069 methods:
9070     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9071     void returnValue(VARIANT v);
9072
9073     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
9074     VARIANT returnValue();
9075
9076     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9077     void cancelBubble(VARIANT_BOOL v);
9078
9079     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
9080     VARIANT_BOOL cancelBubble();
9081
9082     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9083     void keyCode(LONG v);
9084
9085     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
9086     LONG keyCode();
9087
9088     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
9089     void setAttribute(
9090             [in] BSTR strAttributeName,
9091             [in] VARIANT AttributeValue,
9092             [in, defaultvalue(1)] LONG lFlags);
9093
9094     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
9095     VARIANT getAttribute(
9096             [in] BSTR strAttributeName,
9097             [in, defaultvalue(0)] LONG lFlags);
9098
9099     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
9100     VARIANT_BOOL removeAttribute(
9101             [in] BSTR strAttributeName,
9102             [in, defaultvalue(1)] LONG lFlags);
9103
9104     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
9105     void propertyName(BSTR v);
9106
9107     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
9108     BSTR propertyName();
9109
9110     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
9111     void bookmarks(IHTMLBookmarkCollection *v);
9112
9113     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
9114     IHTMLBookmarkCollection *bookmarks();
9115
9116     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
9117     void recordset(IDispatch *v);
9118
9119     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
9120     IDispatch *recordset();
9121
9122     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
9123     void dataFld(BSTR v);
9124
9125     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
9126     BSTR dataFld();
9127
9128     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
9129     void boundElements(IHTMLElementCollection *v);
9130
9131     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
9132     IHTMLElementCollection *boundElements();
9133
9134     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
9135     void repeat(VARIANT_BOOL v);
9136
9137     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
9138     VARIANT_BOOL repeat();
9139
9140     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
9141     void srcUrn(BSTR v);
9142
9143     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
9144     BSTR srcUrn();
9145
9146     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
9147     void srcElement(IHTMLElement *v);
9148
9149     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
9150     IHTMLElement *srcElement();
9151
9152     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
9153     void altKey(VARIANT_BOOL v);
9154
9155     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
9156     VARIANT_BOOL altKey();
9157
9158     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
9159     void ctrlKey(VARIANT_BOOL v);
9160
9161     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
9162     VARIANT_BOOL ctrlKey();
9163
9164     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
9165     void shiftKey(VARIANT_BOOL v);
9166
9167     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
9168     VARIANT_BOOL shiftKey();
9169
9170     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
9171     void fromElement(IHTMLElement *v);
9172
9173     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
9174     IHTMLElement *fromElement();
9175
9176     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
9177     void toElement(IHTMLElement *v);
9178
9179     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
9180     IHTMLElement *toElement();
9181
9182     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
9183     void button(LONG v);
9184
9185     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
9186     LONG button();
9187
9188     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
9189     void type(BSTR v);
9190
9191     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
9192     BSTR type();
9193
9194     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
9195     void qualifier(BSTR v);
9196
9197     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
9198     BSTR qualifier();
9199
9200     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
9201     void reason(LONG v);
9202
9203     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
9204     LONG reason();
9205
9206     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
9207     void x(LONG v);
9208
9209     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
9210     LONG x();
9211
9212     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
9213     void y(LONG v);
9214
9215     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
9216     LONG y();
9217
9218     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
9219     void clientX(LONG v);
9220
9221     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
9222     LONG clientX();
9223
9224     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
9225     void clientY(LONG v);
9226
9227     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
9228     LONG clientY();
9229     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
9230     void offsetX(LONG v);
9231
9232     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
9233     LONG offsetX();
9234
9235     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
9236     void offsetY(LONG v);
9237
9238     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
9239     LONG offsetY();
9240
9241     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
9242     void screenX(LONG v);
9243
9244     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
9245     LONG screenX();
9246
9247     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
9248     void screenY(LONG v);
9249
9250     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
9251     LONG screenY();
9252
9253     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
9254     void srcFilter(IDispatch *v);
9255
9256     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
9257     IDispatch *srcFilter();
9258
9259     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
9260     IHTMLDataTransfer *dataTransfer();
9261
9262     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
9263     VARIANT_BOOL contentOverflow();
9264
9265     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
9266     void shiftLeft(VARIANT_BOOL v);
9267
9268     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
9269     VARIANT_BOOL shiftLeft();
9270
9271     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
9272     void altLeft(VARIANT_BOOL v);
9273
9274     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
9275     VARIANT_BOOL altLeft();
9276
9277     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
9278     void ctrlLeft(VARIANT_BOOL v);
9279
9280     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
9281     VARIANT_BOOL ctrlLeft();
9282
9283     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
9284     LONG_PTR imeCompositionChange();
9285
9286     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
9287     LONG_PTR imeNotifyCommand();
9288
9289     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
9290     LONG_PTR imeNotifyData();
9291
9292     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
9293     LONG_PTR imeRequest();
9294
9295     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
9296     LONG_PTR imeRequestData();
9297
9298     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
9299     LONG_PTR keyboardLayout();
9300
9301     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
9302     LONG behaviorCookie();
9303
9304     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
9305     LONG behaviorPart();
9306
9307     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
9308     BSTR nextPage();
9309
9310     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
9311     LONG wheelDelta();
9312 }
9313
9314 /*****************************************************************************
9315  *    IHTMLFramesCollection2 interface
9316  */
9317 [
9318     odl,
9319     oleautomation,
9320     dual,
9321     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
9322 ]
9323 interface IHTMLFramesCollection2 : IDispatch
9324 {
9325     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
9326     HRESULT item(
9327         [in] VARIANT *pvarIndex,
9328         [retval, out] VARIANT *pvarResult);
9329
9330     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
9331     HRESULT length([retval, out] LONG *p);
9332 }
9333
9334 /*****************************************************************************
9335  *    IHTMLScreen interface
9336  */
9337 [
9338     odl,
9339     oleautomation,
9340     dual,
9341     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
9342 ]
9343 interface IHTMLScreen : IDispatch
9344 {
9345     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
9346     HRESULT colorDepth([retval, out] LONG *p);
9347
9348     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
9349     HRESULT bufferDepth([in] LONG v);
9350
9351     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
9352     HRESULT bufferDepth([retval, out] LONG *p);
9353
9354     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
9355     HRESULT width([retval, out] LONG *p);
9356
9357     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
9358     HRESULT height([retval, out] LONG *p);
9359
9360     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
9361     HRESULT updateInterval([in] LONG v);
9362
9363     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
9364     HRESULT updateInterval([retval, out] LONG *p);
9365
9366     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
9367     HRESULT availHeight([retval, out] LONG *p);
9368
9369     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
9370     HRESULT availWidth([retval, out] LONG *p);
9371
9372     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
9373     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
9374 }
9375
9376 /*****************************************************************************
9377  *    IHTMLWindow2 interface
9378  */
9379 [
9380     odl,
9381     oleautomation,
9382     dual,
9383     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
9384 ]
9385 interface IHTMLWindow2 : IHTMLFramesCollection2
9386 {
9387     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
9388     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
9389
9390     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
9391     HRESULT defaultStatus([in] BSTR v);
9392
9393     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
9394     HRESULT defaultStatus([retval, out] BSTR *p);
9395
9396     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
9397     HRESULT status([in] BSTR v);
9398
9399     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
9400     HRESULT status([retval, out] BSTR *p);
9401
9402     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
9403     HRESULT setTimeout(
9404         [in] BSTR expression,
9405         [in] LONG msec,
9406         [optional, in] VARIANT *language,
9407         [retval, out] LONG *timerID);
9408
9409     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
9410     HRESULT clearTimeout([in] LONG timerID);
9411
9412     [id(DISPID_IHTMLWINDOW2_ALERT)]
9413     HRESULT alert([defaultvalue(""), in] BSTR message);
9414
9415     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
9416     HRESULT confirm(
9417         [defaultvalue(""), in] BSTR message,
9418         [retval, out] VARIANT_BOOL *confirmed);
9419
9420     [id(DISPID_IHTMLWINDOW2_PROMPT)]
9421     HRESULT prompt(
9422         [defaultvalue(""), in] BSTR message,
9423         [defaultvalue("undefined"), in] BSTR defstr,
9424         [retval, out] VARIANT *textdata);
9425
9426     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
9427     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
9428
9429     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
9430     HRESULT location([retval, out] IHTMLLocation **p);
9431
9432     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
9433     HRESULT history([retval, out] IOmHistory **p);
9434
9435     [id(DISPID_IHTMLWINDOW2_CLOSE)]
9436     HRESULT close();
9437
9438     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
9439     HRESULT opener([in] VARIANT v);
9440
9441     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
9442     HRESULT opener([retval, out] VARIANT *p);
9443
9444     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
9445     HRESULT navigator([retval, out] IOmNavigator **p);
9446
9447     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
9448     HRESULT name([in] BSTR v);
9449
9450     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
9451     HRESULT name([retval, out] BSTR *p);
9452
9453     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
9454     HRESULT parent([retval, out] IHTMLWindow2 **p);
9455
9456     [id(DISPID_IHTMLWINDOW2_OPEN)]
9457     HRESULT open(
9458         [defaultvalue(""), in] BSTR url,
9459         [defaultvalue(""), in] BSTR name,
9460         [defaultvalue(""), in] BSTR features,
9461         [defaultvalue(0), in] VARIANT_BOOL replace,
9462         [retval, out] IHTMLWindow2 **pomWindowResult);
9463
9464     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
9465     HRESULT self([retval, out] IHTMLWindow2 **p);
9466
9467     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
9468     HRESULT top([retval, out] IHTMLWindow2 **p);
9469
9470     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
9471     HRESULT window([retval, out] IHTMLWindow2 **p);
9472
9473     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
9474     HRESULT navigate([in] BSTR url);
9475
9476     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
9477     HRESULT onfocus([in] VARIANT v);
9478
9479     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
9480     HRESULT onfocus([retval, out] VARIANT *p);
9481
9482     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
9483     HRESULT onblur([in] VARIANT v);
9484
9485     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
9486     HRESULT onblur([retval, out] VARIANT *p);
9487
9488     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
9489     HRESULT onload([in] VARIANT v);
9490
9491     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
9492     HRESULT onload([retval, out] VARIANT *p);
9493
9494     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
9495     HRESULT onbeforeunload([in] VARIANT v);
9496
9497     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
9498     HRESULT onbeforeunload([retval, out] VARIANT *p);
9499
9500     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
9501     HRESULT onunload([in] VARIANT v);
9502
9503     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
9504     HRESULT onunload([retval, out] VARIANT *p);
9505
9506     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
9507     HRESULT onhelp([in] VARIANT v);
9508
9509     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
9510     HRESULT onhelp([retval, out] VARIANT *p);
9511
9512     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
9513     HRESULT onerror([in] VARIANT v);
9514
9515     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
9516     HRESULT onerror([retval, out] VARIANT *p);
9517
9518     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
9519     HRESULT onresize([in] VARIANT v);
9520
9521     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
9522     HRESULT onresize([retval, out] VARIANT *p);
9523
9524     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
9525     HRESULT onscroll([in] VARIANT v);
9526
9527     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
9528     HRESULT onscroll([retval, out] VARIANT *p);
9529
9530     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
9531     HRESULT document([retval, out] IHTMLDocument2 **p);
9532
9533     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
9534     HRESULT event([retval, out] IHTMLEventObj **p);
9535
9536     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
9537     HRESULT _newEnum([retval, out] IUnknown **p);
9538
9539     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
9540     HRESULT showModalDialog(
9541         [in] BSTR dialog,
9542         [optional, in] VARIANT *varArgIn,
9543         [optional, in] VARIANT *varOptions,
9544         [retval, out] VARIANT *varArgOut);
9545
9546     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
9547     HRESULT showHelp(
9548         [in] BSTR helpURL,
9549         [optional, in] VARIANT helpArg,
9550         [defaultvalue(""), in] BSTR features);
9551
9552     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
9553     HRESULT screen([retval, out] IHTMLScreen **p);
9554
9555     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
9556     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
9557
9558     [id(DISPID_IHTMLWINDOW2_FOCUS)]
9559     HRESULT focus();
9560
9561     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
9562     HRESULT closed([retval, out] VARIANT_BOOL *p);
9563
9564     [id(DISPID_IHTMLWINDOW2_BLUR)]
9565     HRESULT blur();
9566
9567     [id(DISPID_IHTMLWINDOW2_SCROLL)]
9568     HRESULT scroll([in] LONG x, [in] LONG y);
9569
9570     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
9571     HRESULT clientInformation([retval, out] IOmNavigator **p);
9572
9573     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
9574     HRESULT setInterval([
9575         in] BSTR expression,
9576         [in] LONG msec,
9577         [optional, in] VARIANT *language,
9578         [retval, out] LONG *timerID);
9579
9580     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
9581     HRESULT clearInterval([in] LONG timerID);
9582
9583     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
9584     HRESULT offscreenBuffering([in] VARIANT v);
9585
9586     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
9587     HRESULT offscreenBuffering([retval, out] VARIANT *p);
9588
9589     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
9590     HRESULT execScript(
9591         [in] BSTR scode,
9592         [defaultvalue("JScript"), in] BSTR language,
9593         [retval, out] VARIANT *pvarRet);
9594
9595     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
9596     HRESULT toString([retval, out] BSTR *String);
9597
9598     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
9599     HRESULT scrollBy([in] LONG x, [in] LONG y);
9600
9601     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
9602     HRESULT scrollTo([in] LONG x, [in] LONG y);
9603
9604     [id(DISPID_IHTMLWINDOW2_MOVETO)]
9605     HRESULT moveTo([in] LONG x, [in] LONG y);
9606
9607     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
9608     HRESULT moveBy([in] LONG x, [in] LONG y);
9609
9610     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
9611     HRESULT resizeTo([in] LONG x, [in] LONG y);
9612
9613     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
9614     HRESULT resizeBy([in] LONG x, [in] LONG y);
9615
9616     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
9617     HRESULT external([retval, out] IDispatch **p);
9618 }
9619
9620 /*****************************************************************************
9621  *    IHTMLWindow3 interface
9622  */
9623 [
9624     odl,
9625     oleautomation,
9626     dual,
9627     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
9628 ]
9629 interface IHTMLWindow3 : IDispatch
9630 {
9631     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
9632     HRESULT screenLeft([out, retval] LONG *p);
9633
9634     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
9635     HRESULT screenTop([out, retval] LONG *p);
9636
9637     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
9638     HRESULT attachEvent(
9639             [in] BSTR event,
9640             [in] IDispatch *pDisp,
9641             [out, retval] VARIANT_BOOL *pfResult);
9642
9643     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
9644     HRESULT detachEvent(
9645             [in] BSTR event,
9646             [in] IDispatch *pDisp);
9647
9648     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
9649     HRESULT setTimeout(
9650             [in] VARIANT *expression,
9651             [in] LONG msec,
9652             [in, optional] VARIANT *language,
9653             [out, retval] LONG *timerID);
9654
9655     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
9656     HRESULT setInterval(
9657             [in] VARIANT *expression,
9658             [in] LONG msec,
9659             [in, optional] VARIANT *language,
9660             [out, retval] LONG *timerID);
9661
9662     [id(DISPID_IHTMLWINDOW3_PRINT)]
9663     HRESULT print();
9664
9665     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
9666     HRESULT onbeforeprint([in] VARIANT v);
9667
9668     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
9669     HRESULT onbeforeprint([out, retval] VARIANT *p);
9670
9671     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
9672     HRESULT onafterprint([in] VARIANT v);
9673
9674     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
9675     HRESULT onafterprint([out, retval] VARIANT *p);
9676
9677     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
9678     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
9679
9680     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
9681     HRESULT showModelessDialog(
9682             [in, defaultvalue("")] BSTR url,
9683             [in, optional] VARIANT *varArgIn,
9684             [in, optional] VARIANT *options,
9685             [out, retval] IHTMLWindow2 **pDialog);
9686 }
9687
9688 /*****************************************************************************
9689  *    IHTMLWindow4 interface
9690  */
9691 [
9692     odl,
9693     oleautomation,
9694     dual,
9695     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
9696 ]
9697 interface IHTMLWindow4 : IDispatch
9698 {
9699     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
9700     HRESULT createPopup([optional, in] VARIANT* varArgIn,
9701                         [retval, out] IDispatch** ppPopup);
9702
9703     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
9704     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
9705 };
9706
9707 /*****************************************************************************
9708  *    IHTMLWindow5 interface
9709  */
9710 [
9711     odl,
9712     oleautomation,
9713     dual,
9714     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
9715 ]
9716 interface IHTMLWindow5 : IDispatch
9717 {
9718     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
9719     HRESULT XMLHttpRequest([in] VARIANT v);
9720
9721     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
9722     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
9723 };
9724
9725 /*****************************************************************************
9726  *    DispHTMLWindow2 dispinterface
9727  */
9728 [
9729     hidden,
9730     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
9731 ]
9732 dispinterface DispHTMLWindow2
9733 {
9734 properties:
9735 methods:
9736     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
9737     VARIANT item([in] VARIANT *pvarIndex);
9738
9739     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
9740     LONG length();
9741
9742     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
9743     IHTMLFramesCollection2 *frames();
9744
9745     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
9746     void defaultStatus(BSTR v);
9747
9748     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
9749     BSTR defaultStatus();
9750
9751     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
9752     void status(BSTR v);
9753
9754     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
9755     BSTR status();
9756
9757     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
9758     void clearTimeout([in] LONG timerID);
9759
9760     [id(DISPID_IHTMLWINDOW2_ALERT)]
9761     void alert([in, defaultvalue("")] BSTR message);
9762
9763     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
9764     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
9765
9766     [id(DISPID_IHTMLWINDOW2_PROMPT)]
9767     VARIANT prompt(
9768             [in, defaultvalue("")] BSTR message,
9769             [in, defaultvalue("undefined")] BSTR defstr);
9770
9771     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
9772     IHTMLImageElementFactory *Image();
9773
9774     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
9775     IHTMLLocation *location();
9776
9777     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
9778     IOmHistory *history();
9779
9780     [id(DISPID_IHTMLWINDOW2_CLOSE)]
9781     void close();
9782
9783     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
9784     void opener(VARIANT v);
9785
9786     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
9787     VARIANT opener();
9788
9789     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
9790     IOmNavigator *navigator();
9791
9792     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
9793     void name(BSTR v);
9794
9795     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
9796     BSTR name();
9797
9798     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
9799     IHTMLWindow2 *parent();
9800
9801     [id(DISPID_IHTMLWINDOW2_OPEN)]
9802     IHTMLWindow2 *open(
9803             [in, defaultvalue("")] BSTR url,
9804             [in, defaultvalue("")] BSTR name,
9805             [in, defaultvalue("")] BSTR features,
9806             [in, defaultvalue(0)]  VARIANT_BOOL replace);
9807
9808     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
9809     IHTMLWindow2 *self();
9810
9811     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
9812     IHTMLWindow2 *top();
9813
9814     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
9815     IHTMLWindow2 *window();
9816
9817     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
9818     void navigate([in] BSTR url);
9819
9820     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
9821     void onfocus(VARIANT v);
9822
9823     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
9824     VARIANT onfocus();
9825
9826     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
9827     void onblur(VARIANT v);
9828
9829     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
9830     VARIANT onblur();
9831
9832     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
9833     VARIANT onload();
9834
9835     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
9836     void onbeforeunload(VARIANT v);
9837
9838     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
9839     VARIANT onbeforeunload();
9840
9841     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
9842     void onunload(VARIANT v);
9843
9844     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
9845     VARIANT onunload();
9846
9847     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
9848     void onhelp(VARIANT v);
9849
9850     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
9851     VARIANT onhelp();
9852
9853     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
9854     void onerror(VARIANT v);
9855
9856     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
9857     VARIANT onerror();
9858
9859     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
9860     void onresize(VARIANT v);
9861
9862     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
9863     VARIANT onresize();
9864
9865     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
9866     void onscroll(VARIANT v);
9867
9868     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
9869     VARIANT onscroll();
9870
9871     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
9872     IHTMLDocument2 *document();
9873
9874     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
9875     IHTMLEventObj *event();
9876
9877     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
9878     IUnknown *_newEnum();
9879
9880     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
9881     VARIANT showModalDialog(
9882             [in] BSTR dialog,
9883             [in, optional] VARIANT *varArgIn,
9884             [in, optional] VARIANT *varOptions);
9885
9886     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
9887     void showHelp(
9888             [in] BSTR helpURL,
9889             [in, optional] VARIANT helpArg,
9890             [in, defaultvalue("")] BSTR features);
9891
9892     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
9893     IHTMLScreen *screen();
9894
9895     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
9896     IHTMLOptionElementFactory *Option();
9897
9898     [id(DISPID_IHTMLWINDOW2_FOCUS)]
9899     void focus();
9900
9901     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
9902     VARIANT_BOOL closed();
9903
9904     [id(DISPID_IHTMLWINDOW2_BLUR)]
9905     void blur();
9906
9907     [id(DISPID_IHTMLWINDOW2_SCROLL)]
9908     void scroll([in] LONG x, [in] LONG y);
9909
9910     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
9911     IOmNavigator *clientInformation();
9912
9913     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
9914     void clearInterval([in] LONG timerID);
9915
9916     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
9917     void offscreenBuffering(VARIANT v);
9918
9919     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
9920     VARIANT offscreenBuffering();
9921
9922     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
9923     VARIANT execScript(
9924             [in] BSTR _code,
9925             [in, defaultvalue("JScript")] BSTR language);
9926
9927     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
9928     BSTR toString();
9929
9930     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
9931     void scrollBy([in] LONG x, [in] LONG y);
9932
9933     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
9934     void scrollTo([in] LONG x, [in] LONG y);
9935
9936     [id(DISPID_IHTMLWINDOW2_MOVETO)]
9937     void moveTo([in] LONG x, [in] LONG y);
9938
9939     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
9940     void moveBy([in] LONG x, [in] LONG y);
9941
9942     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
9943     void resizeTo([in] LONG x, [in] LONG y);
9944
9945     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
9946     void resizeBy([in] LONG x, [in] LONG y);
9947
9948     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
9949     IDispatch *external();
9950
9951     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
9952     LONG screenLeft();
9953
9954     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
9955     LONG screenTop();
9956
9957     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
9958     VARIANT_BOOL attachEvent(
9959              [in] BSTR event,
9960              [in] IDispatch *pDisp);
9961
9962     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
9963     void detachEvent(
9964             [in] BSTR event,
9965             [in] IDispatch *pDisp);
9966
9967     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
9968     LONG setTimeout(
9969             [in] VARIANT *expression,
9970             [in] LONG msec,
9971             [in, optional] VARIANT *language);
9972
9973     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
9974     LONG setInterval(
9975             [in] VARIANT *expression,
9976             [in] LONG msec,
9977             [in, optional] VARIANT *language);
9978
9979     [id(DISPID_IHTMLWINDOW3_PRINT)]
9980     void print();
9981
9982     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
9983     void onbeforeprint(VARIANT v);
9984
9985     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
9986     VARIANT onbeforeprint();
9987
9988     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
9989     void onafterprint(VARIANT v);
9990
9991     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
9992     VARIANT onafterprint();
9993
9994     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
9995     IHTMLDataTransfer *clipboardData();
9996
9997     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
9998     IHTMLWindow2 *showModelessDialog(
9999             [in, defaultvalue("")] BSTR url,
10000             [in, optional] VARIANT *varArgIn,
10001             [in, optional] VARIANT *options);
10002
10003     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10004     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
10005
10006     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10007     IHTMLFrameBase *frameElement();
10008 }
10009
10010 /*****************************************************************************
10011  *    DispHTMLWindowProxy dispinterface
10012  */
10013 [
10014     hidden,
10015     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
10016 ]
10017 dispinterface DispHTMLWindowProxy
10018 {
10019 properties:
10020 methods:
10021     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10022     VARIANT item([in] VARIANT* pvarIndex);
10023
10024     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10025     LONG length();
10026
10027     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10028     IHTMLFramesCollection2* frames();
10029
10030     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10031     void defaultStatus(BSTR v);
10032
10033     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10034     BSTR defaultStatus();
10035
10036     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10037     void status(BSTR v);
10038
10039     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10040     BSTR status();
10041
10042     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10043     void clearTimeout([in] LONG timerID);
10044
10045     [id(DISPID_IHTMLWINDOW2_ALERT)]
10046     void alert([defaultvalue(""), in] BSTR message);
10047
10048     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10049     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
10050
10051     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10052     VARIANT prompt([defaultvalue(""), in] BSTR message,
10053                    [defaultvalue("undefined"), in] BSTR defstr);
10054
10055     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10056     IHTMLImageElementFactory* Image();
10057
10058     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10059     IHTMLLocation* location();
10060
10061     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10062     IOmHistory* history();
10063
10064     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10065     void close();
10066
10067     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10068     void opener(VARIANT v);
10069
10070     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10071     VARIANT opener();
10072
10073     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10074     IOmNavigator* navigator();
10075
10076     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10077     void name(BSTR v);
10078
10079     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10080     BSTR name();
10081
10082     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10083     IHTMLWindow2* parent();
10084
10085     [id(DISPID_IHTMLWINDOW2_OPEN)]
10086     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
10087                        [defaultvalue(""), in] BSTR name,
10088                        [defaultvalue(""), in] BSTR features,
10089                        [defaultvalue(0), in] VARIANT_BOOL replace);
10090
10091     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10092     IHTMLWindow2* self();
10093
10094     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10095     IHTMLWindow2* top();
10096
10097     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10098     IHTMLWindow2* window();
10099
10100     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10101     void navigate([in] BSTR url);
10102
10103     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10104     void onfocus(VARIANT v);
10105
10106     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
10107     VARIANT onfocus();
10108
10109     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10110     void onblur(VARIANT v);
10111
10112     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
10113     VARIANT onblur();
10114
10115     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
10116     void onload(VARIANT v);
10117
10118     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
10119     VARIANT onload();
10120
10121     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10122     void onbeforeunload(VARIANT v);
10123
10124     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
10125     VARIANT onbeforeunload();
10126
10127     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10128     void onunload(VARIANT v);
10129
10130     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
10131     VARIANT onunload();
10132
10133     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10134     void onhelp(VARIANT v);
10135
10136     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
10137     VARIANT onhelp();
10138
10139     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10140     void onerror(VARIANT v);
10141
10142     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
10143     VARIANT onerror();
10144
10145     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10146     void onresize(VARIANT v);
10147
10148     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
10149     VARIANT onresize();
10150
10151     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10152     void onscroll(VARIANT v);
10153
10154     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
10155     VARIANT onscroll();
10156
10157     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
10158     IHTMLDocument2* document();
10159
10160     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
10161     IHTMLEventObj* event();
10162
10163     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
10164     IUnknown* _newEnum();
10165
10166     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
10167     VARIANT showModalDialog([in] BSTR dialog,
10168                             [optional, in] VARIANT* varArgIn,
10169                             [optional, in] VARIANT* varOptions);
10170
10171     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
10172     void showHelp([in] BSTR helpURL,
10173                   [optional, in] VARIANT helpArg,
10174                   [defaultvalue(""), in] BSTR features);
10175
10176     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
10177     IHTMLScreen* screen();
10178
10179     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
10180     IHTMLOptionElementFactory* Option();
10181
10182     [id(DISPID_IHTMLWINDOW2_FOCUS)]
10183     void focus();
10184
10185     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
10186     VARIANT_BOOL closed();
10187
10188     [id(DISPID_IHTMLWINDOW2_BLUR)]
10189     void blur();
10190
10191     [id(DISPID_IHTMLWINDOW2_SCROLL)]
10192     void scroll([in] LONG x,
10193                 [in] LONG y);
10194
10195     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
10196     IOmNavigator* clientInformation();
10197
10198     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
10199     void clearInterval([in] LONG timerID);
10200
10201     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10202     void offscreenBuffering(VARIANT v);
10203
10204     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
10205     VARIANT offscreenBuffering();
10206
10207     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
10208     VARIANT execScript([in] BSTR code,
10209                        [defaultvalue("JScript"), in] BSTR language);
10210
10211     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
10212     BSTR toString();
10213
10214     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
10215     void scrollBy([in] LONG x,
10216                   [in] LONG y);
10217
10218     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
10219     void scrollTo([in] LONG x,
10220                   [in] LONG y);
10221
10222     [id(DISPID_IHTMLWINDOW2_MOVETO)]
10223     void moveTo([in] LONG x,
10224                 [in] LONG y);
10225
10226     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
10227     void moveBy([in] LONG x,
10228                 [in] LONG y);
10229
10230     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
10231     void resizeTo([in] LONG x,
10232                   [in] LONG y);
10233
10234     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
10235     void resizeBy([in] LONG x,
10236                   [in] LONG y);
10237
10238     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
10239     IDispatch* external();
10240
10241     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
10242     LONG screenLeft();
10243
10244     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
10245     LONG screenTop();
10246
10247     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
10248     VARIANT_BOOL attachEvent([in] BSTR event,
10249                              [in] IDispatch* pDisp);
10250
10251     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
10252     void detachEvent([in] BSTR event,
10253                      [in] IDispatch* pDisp);
10254
10255     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
10256     LONG setTimeout([in] VARIANT* expression,
10257                     [in] LONG msec,
10258                     [optional, in] VARIANT* language);
10259
10260     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
10261     LONG setInterval([in] VARIANT* expression,
10262                      [in] LONG msec,
10263                      [optional, in] VARIANT* language);
10264
10265     [id(DISPID_IHTMLWINDOW3_PRINT)]
10266     void print();
10267
10268     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10269     void onbeforeprint(VARIANT v);
10270
10271     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
10272     VARIANT onbeforeprint();
10273
10274     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10275     void onafterprint(VARIANT v);
10276
10277     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
10278     VARIANT onafterprint();
10279
10280     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
10281     IHTMLDataTransfer* clipboardData();
10282
10283     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
10284     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
10285                                      [optional, in] VARIANT* varArgIn,
10286                                      [optional, in] VARIANT* options);
10287
10288     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
10289     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
10290
10291     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
10292     IHTMLFrameBase* frameElement();
10293
10294     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10295     void XMLHttpRequest(VARIANT v);
10296
10297     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
10298     VARIANT XMLHttpRequest();
10299 };
10300
10301 /*****************************************************************************
10302  *    HTMLWindowEvents interface
10303  */
10304 [
10305     hidden,
10306     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
10307 ]
10308 dispinterface HTMLWindowEvents
10309 {
10310 properties:
10311 methods:
10312     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
10313     void onload();
10314
10315     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
10316     void onunload();
10317
10318     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
10319     VARIANT_BOOL onhelp();
10320
10321     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
10322     void onfocus();
10323
10324     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
10325     void onblur();
10326
10327     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
10328     void onerror([in] BSTR description,
10329                  [in] BSTR url,
10330                  [in] LONG line);
10331
10332     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
10333     void onresize();
10334
10335     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
10336     void onscroll();
10337
10338     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
10339     void onbeforeunload();
10340
10341     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
10342     void onbeforeprint();
10343
10344     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
10345     void onafterprint();
10346 };
10347
10348 /*****************************************************************************
10349  *    HTMLWindowEvents2 interface
10350  */
10351 [
10352     hidden,
10353     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
10354 ]
10355 dispinterface HTMLWindowEvents2
10356 {
10357 properties:
10358 methods:
10359     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
10360     void onload([in] IHTMLEventObj* pEvtObj);
10361
10362     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
10363     void onunload([in] IHTMLEventObj* pEvtObj);
10364
10365     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
10366     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
10367
10368     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
10369     void onfocus([in] IHTMLEventObj* pEvtObj);
10370
10371     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
10372     void onblur([in] IHTMLEventObj* pEvtObj);
10373
10374     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
10375     void onerror([in] BSTR description,
10376                  [in] BSTR url,
10377                  [in] LONG line);
10378
10379     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
10380     void onresize([in] IHTMLEventObj* pEvtObj);
10381
10382     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
10383     void onscroll([in] IHTMLEventObj* pEvtObj);
10384
10385     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
10386     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
10387
10388     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
10389     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
10390
10391     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
10392     void onafterprint([in] IHTMLEventObj* pEvtObj);
10393 };
10394
10395 /*****************************************************************************
10396  *    HTMLWindowProxy class
10397  */
10398 [
10399     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
10400 ]
10401 coclass HTMLWindowProxy
10402 {
10403     [default]           dispinterface DispHTMLWindowProxy;
10404     [source, default]   dispinterface HTMLWindowEvents;
10405     [source]            dispinterface HTMLWindowEvents2;
10406                         interface IHTMLWindow2;
10407                         interface IHTMLWindow3;
10408                         interface IHTMLWindow4;
10409                         interface IHTMLWindow5;
10410 };
10411
10412 /*****************************************************************************
10413  *    HTMLDocumentEvents2 interface
10414  */
10415 [
10416     hidden,
10417     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
10418 ]
10419 dispinterface HTMLDocumentEvents2
10420 {
10421     properties:
10422     methods:
10423     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
10424     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
10425
10426     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
10427     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
10428
10429     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
10430     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
10431
10432     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
10433     void onkeydown([in] IHTMLEventObj *pEvtObj);
10434
10435     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
10436     void onkeyup([in] IHTMLEventObj *pEvtObj);
10437
10438     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
10439     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
10440
10441     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
10442     void onmousedown([in] IHTMLEventObj *pEvtObj);
10443
10444     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
10445     void onmousemove([in] IHTMLEventObj *pEvtObj);
10446
10447     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
10448     void onmouseup([in] IHTMLEventObj *pEvtObj);
10449
10450     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
10451     void onmouseout([in] IHTMLEventObj *pEvtObj);
10452
10453     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
10454     void onmouseover([in] IHTMLEventObj *pEvtObj);
10455
10456     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
10457     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
10458
10459     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
10460     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
10461
10462     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
10463     void onafterupdate([in] IHTMLEventObj *pEvtObj);
10464
10465     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
10466     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
10467
10468     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
10469     void onrowenter([in] IHTMLEventObj *pEvtObj);
10470
10471     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
10472     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
10473
10474     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
10475     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
10476
10477     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
10478     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
10479
10480     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
10481     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
10482
10483     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
10484     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
10485
10486     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
10487     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
10488
10489     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
10490     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
10491
10492     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
10493     void oncellchange([in] IHTMLEventObj *pEvtObj);
10494
10495     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
10496     void onpropertychange([in] IHTMLEventObj *pEvtObj);
10497
10498     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
10499     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
10500
10501     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
10502     void ondataavailable([in] IHTMLEventObj *pEvtObj);
10503
10504     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
10505     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
10506
10507     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
10508     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
10509
10510     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
10511     void onselectionchange([in] IHTMLEventObj *pEvtObj);
10512
10513     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
10514     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
10515
10516     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
10517     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
10518
10519     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
10520     void onfocusin([in] IHTMLEventObj *pEvtObj);
10521
10522     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
10523     void onfocusout([in] IHTMLEventObj *pEvtObj);
10524
10525     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
10526     void onactivate([in] IHTMLEventObj *pEvtObj);
10527
10528     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
10529     void ondeactivate([in] IHTMLEventObj *pEvtObj);
10530
10531     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
10532     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
10533
10534     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
10535     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
10536 }
10537
10538 /*****************************************************************************
10539  *    HTMLDocumentEvents interface
10540  */
10541 [
10542     hidden,
10543     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
10544 ]
10545 dispinterface HTMLDocumentEvents
10546 {
10547     properties:
10548     methods:
10549     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
10550     VARIANT_BOOL onhelp();
10551
10552     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
10553     VARIANT_BOOL onclick();
10554
10555     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
10556     VARIANT_BOOL ondblclick();
10557
10558     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
10559     void onkeydown();
10560
10561     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
10562     void onkeyup();
10563
10564     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
10565     VARIANT_BOOL onkeypress();
10566
10567     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
10568     void onmousedown();
10569
10570     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
10571     void onmousemove();
10572
10573     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
10574     void onmouseup();
10575
10576     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
10577     void onmouseout();
10578
10579     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
10580     void onmouseover();
10581
10582     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
10583     void onreadystatechange();
10584
10585     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
10586     VARIANT_BOOL onbeforeupdate();
10587
10588     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
10589     void onafterupdate();
10590
10591     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
10592     VARIANT_BOOL onrowexit();
10593
10594     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
10595     void onrowenter();
10596
10597     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
10598     VARIANT_BOOL ondragstart();
10599
10600     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
10601     VARIANT_BOOL onselectstart();
10602
10603     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
10604     VARIANT_BOOL onerrorupdate();
10605
10606     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
10607     VARIANT_BOOL oncontextmenu();
10608
10609     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
10610     VARIANT_BOOL onstop();
10611
10612     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
10613     void onrowsdelete();
10614
10615     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
10616     void onrowsinserted();
10617
10618     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
10619     void oncellchange();
10620
10621     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
10622     void onpropertychange();
10623
10624     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
10625     void ondatasetchanged();
10626
10627     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
10628     void ondataavailable();
10629
10630     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
10631     void ondatasetcomplete();
10632
10633     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
10634     void onbeforeeditfocus();
10635
10636     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
10637     void onselectionchange();
10638
10639     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
10640     VARIANT_BOOL oncontrolselect();
10641
10642     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
10643     VARIANT_BOOL onmousewheel();
10644
10645     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
10646     void onfocusin();
10647
10648     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
10649     void onfocusout();
10650
10651     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
10652     void onactivate();
10653
10654     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
10655     void ondeactivate();
10656
10657     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
10658     VARIANT_BOOL onbeforeactivate();
10659
10660     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
10661     VARIANT_BOOL onbeforedeactivate();
10662 }
10663
10664 /*****************************************************************************
10665  *    HTMLTextContainerEvents interface
10666  */
10667 [
10668     hidden,
10669     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
10670 ]
10671 dispinterface HTMLTextContainerEvents
10672 {
10673 properties:
10674
10675 methods:
10676     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
10677     VARIANT_BOOL onhelp();
10678
10679     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
10680     VARIANT_BOOL onclick();
10681
10682     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
10683     VARIANT_BOOL ondblclick();
10684
10685     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
10686     VARIANT_BOOL onkeypress();
10687
10688     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
10689     void onkeydown();
10690
10691     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
10692     void onkeyup();
10693
10694     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
10695     void onmouseout();
10696
10697     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
10698     void onmouseover();
10699
10700     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
10701     void onmousemove();
10702
10703     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
10704     void onmousedown();
10705
10706     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
10707     void onmouseup();
10708
10709     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
10710     VARIANT_BOOL onselectstart();
10711
10712     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
10713     void onfilterchange();
10714
10715     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
10716     VARIANT_BOOL ondragstart();
10717
10718     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
10719     VARIANT_BOOL onbeforeupdate();
10720
10721     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
10722     void onafterupdate();
10723
10724     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
10725     VARIANT_BOOL onerrorupdate();
10726
10727     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
10728     VARIANT_BOOL onrowexit();
10729
10730     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
10731     void onrowenter();
10732
10733     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
10734     void ondatasetchanged();
10735
10736     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
10737     void ondataavailable();
10738
10739     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
10740     void ondatasetcomplete();
10741
10742     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
10743     void onlosecapture();
10744
10745     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
10746     void onpropertychange();
10747
10748     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
10749     void onscroll();
10750
10751     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
10752     void onfocus();
10753
10754     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
10755     void onblur();
10756
10757     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
10758     void onresize();
10759
10760     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
10761     VARIANT_BOOL ondrag();
10762
10763     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
10764     void ondragend();
10765
10766     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
10767     VARIANT_BOOL ondragenter();
10768
10769     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
10770     VARIANT_BOOL ondragover();
10771
10772     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
10773     void ondragleave();
10774
10775     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
10776     VARIANT_BOOL ondrop();
10777
10778     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
10779     VARIANT_BOOL onbeforecut();
10780
10781     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
10782     VARIANT_BOOL oncut();
10783
10784     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
10785     VARIANT_BOOL onbeforecopy();
10786
10787     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
10788     VARIANT_BOOL oncopy();
10789
10790     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
10791     VARIANT_BOOL onbeforepaste();
10792
10793     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
10794     VARIANT_BOOL onpaste();
10795
10796     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
10797     VARIANT_BOOL oncontextmenu();
10798
10799     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
10800     void onrowsdelete();
10801
10802     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
10803     void onrowsinserted();
10804
10805     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
10806     void oncellchange();
10807
10808     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
10809     void onreadystatechange();
10810
10811     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
10812     void onbeforeeditfocus();
10813
10814     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
10815     void onlayoutcomplete();
10816
10817     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
10818     void onpage();
10819
10820     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
10821     VARIANT_BOOL onbeforedeactivate();
10822
10823     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
10824     VARIANT_BOOL onbeforeactivate();
10825
10826     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
10827     void onmove();
10828
10829     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
10830     VARIANT_BOOL oncontrolselect();
10831
10832     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
10833     VARIANT_BOOL onmovestart();
10834
10835     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
10836     void onmoveend();
10837
10838     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
10839     VARIANT_BOOL onresizestart();
10840
10841     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
10842     void onresizeend();
10843
10844     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
10845     void onmouseenter();
10846
10847     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
10848     void onmouseleave();
10849
10850     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
10851     VARIANT_BOOL onmousewheel();
10852
10853     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
10854     void onactivate();
10855
10856     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
10857     void ondeactivate();
10858
10859     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
10860     void onfocusin();
10861
10862     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
10863     void onfocusout();
10864
10865     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
10866     void onchange();
10867
10868     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
10869     void onselect();
10870 };
10871
10872 /*****************************************************************************
10873  *    HTMLTextContainerEvents2 interface
10874  */
10875 [
10876     hidden,
10877     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
10878 ]
10879 dispinterface HTMLTextContainerEvents2
10880 {
10881 properties:
10882 methods:
10883     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
10884     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
10885
10886     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
10887     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
10888
10889     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
10890     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
10891
10892     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
10893     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
10894
10895     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
10896     void onkeydown([in] IHTMLEventObj* pEvtObj);
10897
10898     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
10899     void onkeyup([in] IHTMLEventObj* pEvtObj);
10900
10901     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
10902     void onmouseout([in] IHTMLEventObj* pEvtObj);
10903
10904     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
10905     void onmouseover([in] IHTMLEventObj* pEvtObj);
10906
10907     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
10908     void onmousemove([in] IHTMLEventObj* pEvtObj);
10909
10910     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
10911     void onmousedown([in] IHTMLEventObj* pEvtObj);
10912
10913     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
10914     void onmouseup([in] IHTMLEventObj* pEvtObj);
10915
10916     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
10917     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
10918
10919     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
10920     void onfilterchange([in] IHTMLEventObj* pEvtObj);
10921
10922     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
10923     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
10924
10925     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
10926     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
10927
10928     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
10929     void onafterupdate([in] IHTMLEventObj* pEvtObj);
10930
10931     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
10932     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
10933
10934     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
10935     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
10936
10937     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
10938     void onrowenter([in] IHTMLEventObj* pEvtObj);
10939
10940     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
10941     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
10942
10943     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
10944     void ondataavailable([in] IHTMLEventObj* pEvtObj);
10945
10946     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
10947     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
10948
10949     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
10950     void onlosecapture([in] IHTMLEventObj* pEvtObj);
10951
10952     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
10953     void onpropertychange([in] IHTMLEventObj* pEvtObj);
10954
10955     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
10956     void onscroll([in] IHTMLEventObj* pEvtObj);
10957
10958     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
10959     void onfocus([in] IHTMLEventObj* pEvtObj);
10960
10961     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
10962     void onblur([in] IHTMLEventObj* pEvtObj);
10963
10964     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
10965     void onresize([in] IHTMLEventObj* pEvtObj);
10966
10967     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
10968     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
10969
10970     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
10971     void ondragend([in] IHTMLEventObj* pEvtObj);
10972
10973     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
10974     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
10975
10976     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
10977     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
10978
10979     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
10980     void ondragleave([in] IHTMLEventObj* pEvtObj);
10981
10982     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
10983     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
10984
10985     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
10986     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
10987
10988     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
10989     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
10990
10991     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
10992     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
10993
10994     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
10995     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
10996
10997     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
10998     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
10999
11000     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
11001     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
11002
11003     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
11004     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
11005
11006     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
11007     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
11008
11009     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
11010     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
11011
11012     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
11013     void oncellchange([in] IHTMLEventObj* pEvtObj);
11014
11015     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
11016     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
11017
11018     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
11019     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
11020
11021     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
11022     void onpage([in] IHTMLEventObj* pEvtObj);
11023
11024     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
11025     void onmouseenter([in] IHTMLEventObj* pEvtObj);
11026
11027     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
11028     void onmouseleave([in] IHTMLEventObj* pEvtObj);
11029
11030     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
11031     void onactivate([in] IHTMLEventObj* pEvtObj);
11032
11033     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
11034     void ondeactivate([in] IHTMLEventObj* pEvtObj);
11035
11036     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
11037     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
11038
11039     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
11040     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
11041
11042     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
11043     void onfocusin([in] IHTMLEventObj* pEvtObj);
11044
11045     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
11046     void onfocusout([in] IHTMLEventObj* pEvtObj);
11047
11048     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
11049     void onmove([in] IHTMLEventObj* pEvtObj);
11050
11051     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
11052     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
11053
11054     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
11055     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
11056
11057     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
11058     void onmoveend([in] IHTMLEventObj* pEvtObj);
11059
11060     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
11061     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
11062
11063     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
11064     void onresizeend([in] IHTMLEventObj* pEvtObj);
11065
11066     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
11067     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
11068
11069     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
11070     void onchange([in] IHTMLEventObj* pEvtObj);
11071
11072     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
11073     void onselect([in] IHTMLEventObj* pEvtObj);
11074 };
11075
11076 /*****************************************************************************
11077  *    IHTMLDocument interface
11078  */
11079 [
11080     odl,
11081     oleautomation,
11082     dual,
11083     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
11084 ]
11085 interface IHTMLDocument : IDispatch
11086 {
11087     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
11088     HRESULT Script([retval, out] IDispatch **p);
11089 }
11090
11091 /*****************************************************************************
11092  *    IHTMLDocument2 interface
11093  */
11094 [
11095     odl,
11096     oleautomation,
11097     dual,
11098     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
11099 ]
11100 interface IHTMLDocument2 : IHTMLDocument
11101 {
11102     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
11103     HRESULT all([retval, out] IHTMLElementCollection **p);
11104
11105     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
11106     HRESULT body([retval, out] IHTMLElement **p);
11107
11108     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
11109     HRESULT activeElement([retval, out] IHTMLElement **p);
11110
11111     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
11112     HRESULT images([retval, out] IHTMLElementCollection **p);
11113
11114     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
11115     HRESULT applets([retval, out] IHTMLElementCollection **p);
11116
11117     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
11118     HRESULT links([retval, out] IHTMLElementCollection **p);
11119
11120     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
11121     HRESULT forms([retval, out] IHTMLElementCollection **p);
11122
11123     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
11124     HRESULT anchors([retval, out] IHTMLElementCollection **p);
11125
11126     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11127     HRESULT title([in] BSTR v);
11128
11129     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11130     HRESULT title([retval, out] BSTR *p);
11131
11132     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
11133     HRESULT scripts([retval, out] IHTMLElementCollection **p);
11134
11135     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
11136     HRESULT designMode([in] BSTR v);
11137
11138     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
11139     HRESULT designMode([retval, out] BSTR *p);
11140
11141     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
11142     HRESULT selection([retval, out] IHTMLSelectionObject **p);
11143
11144     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
11145      HRESULT readyState([retval, out] BSTR *p);
11146
11147     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
11148     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
11149
11150     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
11151     HRESULT embeds([retval, out] IHTMLElementCollection **p);
11152
11153     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
11154     HRESULT plugins([retval, out] IHTMLElementCollection **p);
11155
11156     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11157     HRESULT alinkColor([in] VARIANT v);
11158
11159     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11160     HRESULT alinkColor([retval, out] VARIANT *p);
11161
11162     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11163     HRESULT bgColor([in] VARIANT v);
11164
11165     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11166     HRESULT bgColor([retval, out] VARIANT *p);
11167
11168     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11169     HRESULT fgColor([in] VARIANT v);
11170
11171     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11172     HRESULT fgColor([retval, out] VARIANT *p);
11173
11174     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11175     HRESULT linkColor([in] VARIANT v);
11176
11177     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11178     HRESULT linkColor([retval, out] VARIANT *p);
11179
11180     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11181     HRESULT vlinkColor([in] VARIANT v);
11182
11183     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11184     HRESULT vlinkColor([retval, out] VARIANT *p);
11185
11186     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
11187     HRESULT referrer([retval, out] BSTR *p);
11188
11189     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
11190     HRESULT location([retval, out] IHTMLLocation **p);
11191
11192     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
11193     HRESULT lastModified([retval, out] BSTR *p);
11194
11195     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
11196     HRESULT URL([in] BSTR v);
11197
11198     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
11199     HRESULT URL([retval, out] BSTR *p);
11200
11201     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11202     HRESULT domain([in] BSTR v);
11203
11204     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11205     HRESULT domain([retval, out] BSTR *p);
11206
11207     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11208     HRESULT cookie([in] BSTR v);
11209
11210     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11211     HRESULT cookie([retval, out] BSTR *p);
11212
11213     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
11214     HRESULT expando([in] VARIANT_BOOL v);
11215
11216     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
11217     HRESULT expando([retval, out] VARIANT_BOOL *p);
11218
11219     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
11220      HRESULT charset([in] BSTR v);
11221
11222     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
11223     HRESULT charset([retval, out] BSTR *p);
11224
11225     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11226     HRESULT defaultCharset([in] BSTR v);
11227
11228     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11229     HRESULT defaultCharset([retval, out] BSTR *p);
11230
11231     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
11232     HRESULT mimeType([retval, out] BSTR *p);
11233
11234     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
11235     HRESULT fileSize([retval, out] BSTR *p);
11236
11237     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
11238     HRESULT fileCreatedDate([retval, out] BSTR *p);
11239
11240     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
11241     HRESULT fileModifiedDate([retval, out] BSTR *p);
11242
11243     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
11244     HRESULT fileUpdatedDate([retval, out] BSTR *p);
11245
11246     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
11247     HRESULT security([retval, out] BSTR *p);
11248
11249     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
11250     HRESULT protocol([retval, out] BSTR *p);
11251
11252     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
11253      HRESULT nameProp([retval, out] BSTR *p);
11254
11255     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
11256     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
11257
11258     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
11259     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
11260
11261     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
11262     HRESULT open(
11263         [defaultvalue("text/html"), in] BSTR url,
11264         [optional, in] VARIANT name,
11265         [optional, in] VARIANT features,
11266         [optional, in] VARIANT replace,
11267         [retval, out]  IDispatch **pomWindowResult);
11268
11269     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
11270     HRESULT close();
11271
11272     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
11273     HRESULT clear();
11274
11275     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
11276     HRESULT queryCommandSupported(
11277         [in] BSTR cmdID,
11278         [retval, out] VARIANT_BOOL *pfRet);
11279
11280     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
11281     HRESULT queryCommandEnabled(
11282         [in] BSTR cmdID,
11283         [retval, out] VARIANT_BOOL *pfRet);
11284
11285     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
11286     HRESULT queryCommandState(
11287         [in] BSTR cmdID,
11288         [retval, out] VARIANT_BOOL *pfRet);
11289
11290     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
11291     HRESULT queryCommandIndeterm(
11292         [in] BSTR cmdID,
11293         [retval, out] VARIANT_BOOL *pfRet);
11294
11295     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
11296     HRESULT queryCommandText(
11297         [in] BSTR cmdID,
11298         [retval, out] BSTR *pcmdText);
11299
11300     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
11301     HRESULT queryCommandValue(
11302         [in] BSTR cmdID,
11303         [retval, out] VARIANT *pcmdValue);
11304
11305     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
11306     HRESULT execCommand(
11307         [in] BSTR cmdID,
11308         [defaultvalue(0), in] VARIANT_BOOL showUI,
11309         [optional, in] VARIANT value,
11310         [retval, out] VARIANT_BOOL *pfRet);
11311
11312     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
11313     HRESULT execCommandShowHelp(
11314         [in] BSTR cmdID,
11315         [retval, out] VARIANT_BOOL *pfRet);
11316
11317     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
11318      HRESULT createElement(
11319         [in] BSTR eTag,
11320         [retval, out] IHTMLElement **newElem);
11321
11322     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
11323     HRESULT onhelp([in] VARIANT v);
11324
11325     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
11326     HRESULT onhelp([retval, out] VARIANT *p);
11327
11328     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
11329     HRESULT onclick([in] VARIANT v);
11330
11331     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
11332     HRESULT onclick([retval, out] VARIANT *p);
11333
11334     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
11335     HRESULT ondblclick([in] VARIANT v);
11336
11337     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
11338     HRESULT ondblclick([retval, out] VARIANT *p);
11339
11340     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
11341     HRESULT onkeyup([in] VARIANT v);
11342
11343     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
11344     HRESULT onkeyup([retval, out] VARIANT *p);
11345
11346     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
11347     HRESULT onkeydown([in] VARIANT v);
11348
11349     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
11350     HRESULT onkeydown([retval, out] VARIANT *p);
11351
11352     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
11353      HRESULT onkeypress([in] VARIANT v);
11354
11355     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
11356     HRESULT onkeypress([retval, out] VARIANT *p);
11357
11358     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
11359     HRESULT onmouseup([in] VARIANT v);
11360
11361     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
11362     HRESULT onmouseup([retval, out] VARIANT *p);
11363
11364     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
11365     HRESULT onmousedown([in] VARIANT v);
11366
11367     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
11368     HRESULT onmousedown([retval, out] VARIANT *p);
11369
11370     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
11371     HRESULT onmousemove([in] VARIANT v);
11372
11373     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
11374     HRESULT onmousemove([retval, out] VARIANT *p);
11375
11376     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
11377     HRESULT onmouseout([in] VARIANT v);
11378
11379     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
11380     HRESULT onmouseout([retval, out] VARIANT *p);
11381
11382     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
11383     HRESULT onmouseover([in] VARIANT v);
11384
11385     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
11386     HRESULT onmouseover([retval, out] VARIANT *p);
11387
11388     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
11389     HRESULT onreadystatechange([in] VARIANT v);
11390
11391     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
11392     HRESULT onreadystatechange([retval, out] VARIANT *p);
11393
11394     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
11395     HRESULT onafterupdate([in] VARIANT v);
11396
11397     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
11398     HRESULT onafterupdate([retval, out] VARIANT *p);
11399
11400     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
11401     HRESULT onrowexit([in] VARIANT v);
11402
11403     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
11404     HRESULT onrowexit([retval, out] VARIANT *p);
11405
11406     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
11407     HRESULT onrowenter([in] VARIANT v);
11408
11409     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
11410     HRESULT onrowenter([retval, out] VARIANT *p);
11411
11412     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
11413     HRESULT ondragstart([in] VARIANT v);
11414
11415     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
11416     HRESULT ondragstart([retval, out] VARIANT *p);
11417
11418     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
11419     HRESULT onselectstart([in] VARIANT v);
11420
11421     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
11422     HRESULT onselectstart([retval, out] VARIANT *p);
11423
11424     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
11425     HRESULT elementFromPoint(
11426         [in] LONG x,
11427         [in] LONG y,
11428         [retval, out] IHTMLElement **elementHit);
11429
11430     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
11431     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
11432
11433     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
11434     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
11435
11436     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
11437     HRESULT onbeforeupdate([in] VARIANT v);
11438
11439     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
11440     HRESULT onbeforeupdate([retval, out] VARIANT *p);
11441
11442     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
11443     HRESULT onerrorupdate([in] VARIANT v);
11444
11445     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
11446     HRESULT onerrorupdate([retval, out] VARIANT *p);
11447
11448     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
11449     HRESULT toString([retval, out] BSTR *String);
11450
11451     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
11452     HRESULT createStyleSheet(
11453         [defaultvalue(""), in] BSTR bstrHref,
11454         [defaultvalue(-1), in] LONG lIndex,
11455         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
11456 }
11457
11458 /*****************************************************************************
11459  *    IHTMLDocument3 interface
11460  */
11461 [
11462     odl,
11463     oleautomation,
11464     dual,
11465     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
11466 ]
11467 interface IHTMLDocument3 : IDispatch
11468 {
11469     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
11470     HRESULT releaseCapture();
11471
11472     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
11473     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
11474
11475     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
11476     HRESULT createTextNode(
11477         [in] BSTR text,
11478         [retval, out] IHTMLDOMNode **newTextNode);
11479
11480     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
11481     HRESULT documentElement([retval, out] IHTMLElement **p);
11482
11483     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
11484     HRESULT uniqueID([retval, out] BSTR *p);
11485
11486     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
11487     HRESULT attachEvent(
11488         [in] BSTR event,
11489         [in] IDispatch* pDisp,
11490         [retval, out] VARIANT_BOOL *pfResult);
11491
11492     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
11493     HRESULT detachEvent(
11494         [in] BSTR event,
11495         [in] IDispatch *pDisp);
11496
11497     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
11498     HRESULT onrowsdelete([in] VARIANT v);
11499
11500     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
11501     HRESULT onrowsdelete([retval, out] VARIANT *p);
11502
11503     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
11504     HRESULT onrowsinserted([in] VARIANT v);
11505
11506     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
11507     HRESULT onrowsinserted([retval, out] VARIANT *p);
11508
11509     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
11510     HRESULT oncellchange([in] VARIANT v);
11511
11512     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
11513     HRESULT oncellchange([retval, out] VARIANT *p);
11514
11515     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
11516     HRESULT ondatasetchanged([in] VARIANT v);
11517
11518     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
11519     HRESULT ondatasetchanged([retval, out] VARIANT *p);
11520
11521     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
11522     HRESULT ondataavailable([in] VARIANT v);
11523
11524     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
11525     HRESULT ondataavailable([retval, out] VARIANT * p);
11526
11527     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
11528     HRESULT ondatasetcomplete([in] VARIANT v);
11529
11530     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
11531     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
11532
11533     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
11534     HRESULT onpropertychange([in] VARIANT v);
11535
11536     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
11537     HRESULT onpropertychange([retval, out] VARIANT *p);
11538
11539     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
11540     HRESULT dir([in] BSTR v);
11541
11542     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
11543     HRESULT dir([retval, out] BSTR *p);
11544
11545     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
11546     HRESULT oncontextmenu([in] VARIANT v);
11547
11548     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
11549     HRESULT oncontextmenu([retval, out] VARIANT *p);
11550
11551     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
11552     HRESULT onstop([in] VARIANT v);
11553
11554     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
11555     HRESULT onstop([retval, out] VARIANT *p);
11556
11557     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
11558     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
11559
11560     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
11561     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
11562
11563     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
11564     HRESULT enableDownload([in] VARIANT_BOOL v);
11565
11566     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
11567     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
11568
11569     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
11570     HRESULT baseUrl([in] BSTR v);
11571
11572     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
11573     HRESULT baseUrl([retval, out] BSTR *p);
11574
11575     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
11576     HRESULT childNodes([retval, out] IDispatch **p);
11577
11578     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
11579     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
11580
11581     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
11582     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
11583
11584     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
11585     HRESULT onbeforeeditfocus([in] VARIANT v);
11586
11587     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
11588     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
11589
11590     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
11591     HRESULT getElementsByName(
11592         [in] BSTR v,
11593         [retval, out] IHTMLElementCollection **pelColl);
11594
11595     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
11596     HRESULT getElementById(
11597         [in] BSTR v,
11598         [retval, out] IHTMLElement **pel);
11599
11600     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
11601     HRESULT getElementsByTagName(
11602         [in] BSTR v,
11603         [retval, out] IHTMLElementCollection **pelColl);
11604 }
11605
11606 /*****************************************************************************
11607  *    IHTMLDocument4 interface
11608  */
11609 [
11610     odl,
11611     oleautomation,
11612     dual,
11613     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
11614 ]
11615 interface IHTMLDocument4 : IDispatch
11616 {
11617     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
11618     HRESULT focus();
11619
11620     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
11621     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
11622
11623     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
11624     HRESULT onselectionchange([in] VARIANT v);
11625
11626     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
11627     HRESULT onselectionchange([retval, out] VARIANT *p);
11628
11629     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
11630     HRESULT namespaces([retval, out] IDispatch **p);
11631
11632     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
11633     HRESULT createDocumentFromUrl(
11634         [in] BSTR bstrUrl,
11635         [in] BSTR bstrOptions,
11636         [retval, out] IHTMLDocument2 **newDoc);
11637
11638     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
11639     HRESULT media([in] BSTR v);
11640
11641     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
11642     HRESULT media([retval, out] BSTR *p);
11643
11644     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
11645     HRESULT createEventObject(
11646         [optional, in] VARIANT *pvarEventObject,
11647         [retval, out] IHTMLEventObj **ppEventObj);
11648
11649     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
11650     HRESULT fireEvent(
11651         [in] BSTR bstrEventName,
11652         [optional, in] VARIANT *pvarEventObject,
11653         [retval, out] VARIANT_BOOL *pfCancelled);
11654
11655     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
11656     HRESULT createRenderStyle(
11657         [in] BSTR v,
11658         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
11659
11660     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
11661     HRESULT oncontrolselect([in] VARIANT v);
11662
11663     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
11664     HRESULT oncontrolselect([retval, out] VARIANT *p);
11665
11666     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
11667     HRESULT URLUnencoded([retval, out] BSTR *p);
11668 }
11669
11670 /*****************************************************************************
11671  *    IHTMLDocument5 interface
11672  */
11673 [
11674     odl,
11675     oleautomation,
11676     dual,
11677     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
11678 ]
11679 interface IHTMLDocument5 : IDispatch
11680 {
11681     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
11682     HRESULT onmousewheel([in] VARIANT v);
11683
11684     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
11685     HRESULT onmousewheel([retval, out] VARIANT *p);
11686
11687     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
11688     HRESULT doctype([retval, out] IHTMLDOMNode **p);
11689
11690     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
11691     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
11692
11693     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
11694     HRESULT createAttribute(
11695         [in] BSTR bstrattrName,
11696         [retval, out] IHTMLDOMAttribute **ppattribute);
11697
11698     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
11699     HRESULT createComment(
11700         [in] BSTR bstrdata,
11701         [retval, out] IHTMLDOMNode **ppRetNode);
11702
11703     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
11704     HRESULT onfocusin([in] VARIANT v);
11705
11706     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
11707     HRESULT onfocusin([retval, out] VARIANT *p);
11708
11709     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
11710     HRESULT onfocusout([in] VARIANT v);
11711
11712     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
11713     HRESULT onfocusout([retval, out] VARIANT *p);
11714
11715     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
11716     HRESULT onactivate([in] VARIANT v);
11717
11718     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
11719     HRESULT onactivate([retval, out] VARIANT *p);
11720
11721     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
11722     HRESULT ondeactivate([in] VARIANT v);
11723
11724     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
11725     HRESULT ondeactivate([retval, out] VARIANT *p);
11726
11727     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
11728     HRESULT onbeforeactivate([in] VARIANT v);
11729
11730     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
11731     HRESULT onbeforeactivate([retval, out] VARIANT *p);
11732
11733     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
11734     HRESULT onbeforedeactivate([in] VARIANT v);
11735
11736     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
11737     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
11738
11739     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
11740     HRESULT compatMode([retval, out] BSTR *p);
11741 }
11742
11743 /*****************************************************************************
11744  *    DispHTMLDocument dispinterface
11745  */
11746 [
11747     hidden,
11748     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
11749 ]
11750 dispinterface DispHTMLDocument
11751 {
11752 properties:
11753 methods:
11754     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
11755     IDispatch *Script();
11756
11757     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
11758     IHTMLElementCollection *all();
11759
11760     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
11761     IHTMLElement *body();
11762
11763     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
11764     IHTMLElement *activeElement();
11765
11766     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
11767     IHTMLElementCollection *images();
11768
11769     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
11770     IHTMLElementCollection *applets();
11771
11772     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
11773     IHTMLElementCollection *links();
11774
11775     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
11776     IHTMLElementCollection *forms();
11777
11778     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
11779     IHTMLElementCollection *anchors();
11780
11781     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11782     void title(BSTR v);
11783
11784     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11785     BSTR title();
11786
11787     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
11788     IHTMLElementCollection *scripts();
11789
11790     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
11791     void designMode(BSTR v);
11792
11793     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
11794     BSTR designMode();
11795
11796     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
11797     IHTMLSelectionObject *selection();
11798
11799     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
11800     BSTR readyState();
11801
11802     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
11803     IHTMLFramesCollection2 *frames();
11804
11805     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
11806     IHTMLElementCollection *embeds();
11807
11808     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
11809     IHTMLElementCollection *plugins();
11810
11811     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11812     void alinkColor(VARIANT v);
11813
11814     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
11815     VARIANT alinkColor();
11816
11817     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11818     void bgColor(VARIANT v);
11819
11820     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
11821     VARIANT bgColor();
11822
11823     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11824     void fgColor(VARIANT v);
11825
11826     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
11827     VARIANT fgColor();
11828
11829     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11830     void linkColor(VARIANT v);
11831
11832     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
11833     VARIANT linkColor();
11834
11835     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11836     void vlinkColor(VARIANT v);
11837
11838     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
11839     VARIANT vlinkColor();
11840
11841     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
11842     BSTR referrer();
11843
11844     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
11845     IHTMLLocation *location();
11846
11847     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
11848     BSTR lastModified();
11849
11850     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
11851     void URL(BSTR v);
11852
11853     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
11854     BSTR URL();
11855
11856     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11857     void domain(BSTR v);
11858
11859     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
11860     BSTR domain();
11861
11862     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11863     void cookie(BSTR v);
11864
11865     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
11866     BSTR cookie();
11867
11868     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
11869     void expando(VARIANT_BOOL v);
11870
11871     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
11872     VARIANT_BOOL expando();
11873
11874     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
11875     void charset(BSTR v);
11876
11877     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
11878     BSTR charset();
11879
11880     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11881     void defaultCharset(BSTR v);
11882
11883     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
11884     BSTR defaultCharset();
11885
11886     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
11887     BSTR mimeType();
11888
11889     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
11890     BSTR fileSize();
11891
11892     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
11893     BSTR fileCreatedDate();
11894
11895     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
11896     BSTR fileModifiedDate();
11897
11898     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
11899     BSTR fileUpdatedDate();
11900
11901     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
11902     BSTR security();
11903
11904     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
11905     BSTR protocol();
11906
11907     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
11908     BSTR nameProp();
11909
11910     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
11911     void write([in] SAFEARRAY(VARIANT) psarray);
11912
11913     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
11914     void writeln([in] SAFEARRAY(VARIANT) psarray);
11915
11916     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
11917     IDispatch *open(
11918         [defaultvalue("text/html"), in] BSTR url,
11919         [optional, in] VARIANT name,
11920         [optional, in] VARIANT features,
11921         [optional, in] VARIANT replace);
11922
11923     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
11924     void close();
11925
11926     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
11927     void clear();
11928
11929     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
11930     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
11931
11932     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
11933     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
11934
11935     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
11936     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
11937
11938     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
11939     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
11940
11941     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
11942     BSTR queryCommandText([in] BSTR cmdID);
11943
11944     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
11945     VARIANT queryCommandValue([in] BSTR cmdID);
11946
11947     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
11948     VARIANT_BOOL execCommand(
11949         [in] BSTR cmdID,
11950         [defaultvalue(0), in] VARIANT_BOOL showUI,
11951         [optional, in] VARIANT value);
11952
11953     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
11954     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
11955
11956     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
11957     IHTMLElement *createElement([in] BSTR eTag);
11958
11959     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
11960     void onhelp(VARIANT v);
11961
11962     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
11963     VARIANT onhelp();
11964
11965     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
11966     void onclick(VARIANT v);
11967
11968     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
11969     VARIANT onclick();
11970
11971     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
11972     void ondblclick(VARIANT v);
11973
11974     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
11975     VARIANT ondblclick();
11976
11977     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
11978     void onkeyup(VARIANT v);
11979
11980     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
11981     VARIANT onkeyup();
11982
11983     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
11984     void onkeydown(VARIANT v);
11985
11986     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
11987     VARIANT onkeydown();
11988
11989     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
11990     void onkeypress(VARIANT v);
11991
11992     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
11993     VARIANT onkeypress();
11994
11995     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
11996     void onmouseup(VARIANT v);
11997
11998     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
11999     VARIANT onmouseup();
12000
12001     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12002     void onmousedown(VARIANT v);
12003
12004     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12005     VARIANT onmousedown();
12006
12007     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12008     void onmousemove(VARIANT v);
12009
12010     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12011     VARIANT onmousemove();
12012
12013     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12014     void onmouseout(VARIANT v);
12015
12016     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12017     VARIANT onmouseout();
12018
12019     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
12020     void onmouseover(VARIANT v);
12021
12022     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
12023     VARIANT onmouseover();
12024
12025     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12026     void onreadystatechange(VARIANT v);
12027
12028     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12029     VARIANT onreadystatechange();
12030
12031     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
12032     void onafterupdate(VARIANT v);
12033
12034     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
12035     VARIANT onafterupdate();
12036
12037     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
12038     void onrowexit(VARIANT v);
12039
12040     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
12041     VARIANT onrowexit();
12042
12043     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
12044     void onrowenter(VARIANT v);
12045
12046     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
12047     VARIANT onrowenter();
12048
12049     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
12050     void ondragstart(VARIANT v);
12051
12052     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
12053     VARIANT ondragstart();
12054
12055     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
12056     void onselectstart(VARIANT v);
12057
12058     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
12059     VARIANT onselectstart();
12060
12061     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12062     IHTMLElement *elementFromPoint(
12063         [in] LONG x,
12064         [in] LONG y);
12065
12066     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12067     IHTMLWindow2 *parentWindow();
12068
12069     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12070     IHTMLStyleSheetsCollection *styleSheets();
12071
12072     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
12073     void onbeforeupdate(VARIANT v);
12074
12075     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
12076     VARIANT onbeforeupdate();
12077
12078     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
12079     void onerrorupdate(VARIANT v);
12080
12081     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
12082     VARIANT onerrorupdate();
12083
12084     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12085     BSTR toString();
12086
12087     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12088     IHTMLStyleSheet *createStyleSheet(
12089         [defaultvalue(""), in] BSTR bstrHref,
12090         [defaultvalue(-1), in] LONG lIndex);
12091
12092     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12093     void releaseCapture();
12094
12095     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12096     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12097
12098     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12099     IHTMLDOMNode *createTextNode([in] BSTR text);
12100
12101     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12102     IHTMLElement *documentElement();
12103
12104     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12105     BSTR uniqueID();
12106
12107     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12108     VARIANT_BOOL attachEvent(
12109         [in] BSTR event,
12110         [in] IDispatch *pDisp);
12111
12112     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12113     void detachEvent(
12114         [in] BSTR event,
12115         [in] IDispatch *pDisp);
12116
12117     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12118     void onrowsdelete(VARIANT v);
12119
12120     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12121     VARIANT onrowsdelete();
12122
12123     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12124     void onrowsinserted(VARIANT v);
12125
12126     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12127     VARIANT onrowsinserted();
12128
12129     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12130     void oncellchange(VARIANT v);
12131
12132     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12133     VARIANT oncellchange();
12134
12135     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12136     void ondatasetchanged(VARIANT v);
12137
12138     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12139     VARIANT ondatasetchanged();
12140
12141     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12142     void ondataavailable(VARIANT v);
12143
12144     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12145     VARIANT ondataavailable();
12146
12147     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12148     void ondatasetcomplete(VARIANT v);
12149
12150     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12151     VARIANT ondatasetcomplete();
12152
12153     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12154     void onpropertychange(VARIANT v);
12155
12156     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12157     VARIANT onpropertychange();
12158
12159     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
12160     void dir(BSTR v);
12161
12162     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
12163     BSTR dir();
12164
12165     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12166     void oncontextmenu(VARIANT v);
12167
12168     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12169     VARIANT oncontextmenu();
12170
12171     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12172     void onstop(VARIANT v);
12173
12174     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12175     VARIANT onstop();
12176
12177     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
12178     IHTMLDocument2 *createDocumentFragment();
12179
12180     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
12181     IHTMLDocument2 *parentDocument();
12182
12183     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12184     void enableDownload(VARIANT_BOOL v);
12185
12186     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12187     VARIANT_BOOL enableDownload();
12188
12189     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12190     void baseUrl(BSTR v);
12191
12192     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12193     BSTR baseUrl();
12194
12195     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12196     void inheritStyleSheets(VARIANT_BOOL v);
12197
12198     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12199     VARIANT_BOOL inheritStyleSheets();
12200
12201     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12202     void onbeforeeditfocus(VARIANT v);
12203
12204     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12205     VARIANT onbeforeeditfocus();
12206
12207     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
12208     IHTMLElementCollection *getElementsByName([in] BSTR v);
12209
12210     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
12211     IHTMLElement *getElementById([in] BSTR v);
12212
12213     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
12214     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
12215
12216     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
12217     void focus();
12218
12219     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
12220     VARIANT_BOOL hasFocus();
12221
12222     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12223     void onselectionchange(VARIANT v);
12224
12225     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12226     VARIANT onselectionchange();
12227
12228     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
12229     IDispatch *namespaces();
12230
12231     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
12232     IHTMLDocument2 *createDocumentFromUrl(
12233         [in] BSTR bstrUrl,
12234         [in] BSTR bstrOptions);
12235
12236     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12237     void media(BSTR v);
12238
12239     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12240     BSTR media();
12241
12242     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
12243     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
12244
12245     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
12246     VARIANT_BOOL fireEvent(
12247         [in] BSTR bstrEventName,
12248         [optional, in] VARIANT *pvarEventObject);
12249
12250     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
12251     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
12252
12253     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12254     void oncontrolselect(VARIANT v);
12255
12256     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12257     VARIANT oncontrolselect();
12258
12259     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
12260     BSTR URLUnencoded();
12261
12262     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12263     void onmousewheel(VARIANT v);
12264
12265     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12266     VARIANT onmousewheel();
12267
12268     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
12269     IHTMLDOMNode *doctype();
12270
12271     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
12272     IHTMLDOMImplementation *implementation();
12273
12274     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
12275     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
12276
12277     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
12278     IHTMLDOMNode *createComment([in] BSTR bstrdata);
12279
12280     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12281     void onfocusin(VARIANT v);
12282
12283     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12284     VARIANT onfocusin();
12285
12286     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12287     void onfocusout(VARIANT v);
12288
12289     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12290     VARIANT onfocusout();
12291
12292     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12293     void onactivate(VARIANT v);
12294
12295     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12296     VARIANT onactivate();
12297
12298     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12299     void ondeactivate(VARIANT v);
12300
12301     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12302     VARIANT ondeactivate();
12303
12304     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12305     void onbeforeactivate(VARIANT v);
12306
12307     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12308     VARIANT onbeforeactivate();
12309
12310     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12311     void onbeforedeactivate(VARIANT v);
12312
12313     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12314     VARIANT onbeforedeactivate();
12315
12316     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
12317     BSTR compatMode();
12318
12319     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
12320 }
12321
12322 /*****************************************************************************
12323  *    HTMLDocument coclass
12324  */
12325 [
12326     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
12327 ]
12328 coclass HTMLDocument
12329 {
12330     [default]         dispinterface DispHTMLDocument;
12331     [source, default] dispinterface HTMLDocumentEvents;
12332     [source]          dispinterface HTMLDocumentEvents2;
12333                       interface IHTMLDocument2;
12334                       interface IHTMLDocument3;
12335                       interface IHTMLDocument4;
12336                       interface IHTMLDocument5;
12337                       interface IHTMLDOMNode;
12338                       interface IHTMLDOMNode2;
12339 }
12340
12341 /*****************************************************************************
12342  *    IHTMLCommentElement interface
12343  */
12344 [
12345     odl,
12346     oleautomation,
12347     dual,
12348     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
12349 ]
12350 interface IHTMLCommentElement : IDispatch
12351 {
12352     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
12353     HRESULT text([in] BSTR v);
12354
12355     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
12356     HRESULT text([out, retval] BSTR *p);
12357
12358     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
12359     HRESULT atomic([in] LONG v);
12360
12361     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
12362     HRESULT atomic([out, retval] LONG *p);
12363 }
12364
12365 /*****************************************************************************
12366  *    IHTMLCommentElement2 interface
12367  */
12368 [
12369     odl,
12370     oleautomation,
12371     dual,
12372     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
12373 ]
12374 interface IHTMLCommentElement2 : IDispatch
12375 {
12376     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
12377     HRESULT data([in] BSTR v);
12378
12379     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
12380     HRESULT data([out, retval] BSTR *p);
12381
12382     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
12383     HRESULT length([out, retval] LONG *p);
12384
12385     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
12386     HRESULT substringData(
12387             [in] LONG offset,
12388             [in] LONG Count,
12389             [out, retval] BSTR *pbstrsubString);
12390
12391     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
12392     HRESULT appendData([in] BSTR bstrstring);
12393
12394     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
12395     HRESULT insertData(
12396             [in] LONG offset,
12397             [in] BSTR bstrstring);
12398
12399     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
12400     HRESULT deleteData(
12401             [in] LONG offset,
12402             [in] LONG Count);
12403
12404     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
12405     HRESULT replaceData(
12406             [in] LONG offset,
12407             [in] LONG Count,
12408             [in] BSTR bstrstring);
12409 }
12410
12411 /*****************************************************************************
12412  *    DispHTMLCommentElement dispinterface
12413  */
12414 [
12415     hidden,
12416     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
12417 ]
12418 dispinterface DispHTMLCommentElement
12419 {
12420 properties:
12421 methods:
12422     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
12423
12424     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
12425     void text(BSTR v);
12426
12427     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
12428     BSTR text();
12429
12430     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
12431     void atomic(LONG v);
12432
12433     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
12434     LONG atomic();
12435
12436     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
12437     void data(BSTR v);
12438
12439     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
12440     BSTR data();
12441
12442     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
12443     LONG length();
12444
12445     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
12446     BSTR substringData(
12447             [in] LONG offset,
12448             [in] LONG Count);
12449
12450     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
12451     void appendData([in] BSTR bstrstring);
12452
12453     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
12454      void insertData(
12455             [in] LONG offset,
12456             [in] BSTR bstrstring);
12457
12458     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
12459     void deleteData(
12460             [in] LONG offset,
12461             [in] LONG Count);
12462
12463     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
12464     void replaceData(
12465             [in] LONG offset,
12466             [in] LONG Count,
12467             [in] BSTR bstrstring);
12468 }
12469
12470 [
12471     hidden,
12472     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
12473 ]
12474 dispinterface HTMLElementEvents2
12475 {
12476 properties:
12477 methods:
12478     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
12479     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
12480
12481     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
12482     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
12483
12484     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
12485     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
12486
12487     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
12488     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
12489
12490     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
12491     void onkeydown([in] IHTMLEventObj* pEvtObj);
12492
12493     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
12494     void onkeyup([in] IHTMLEventObj* pEvtObj);
12495
12496     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
12497     void onmouseout([in] IHTMLEventObj* pEvtObj);
12498
12499     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
12500     void onmouseover([in] IHTMLEventObj* pEvtObj);
12501
12502     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
12503     void onmousemove([in] IHTMLEventObj* pEvtObj);
12504
12505     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
12506     void onmousedown([in] IHTMLEventObj* pEvtObj);
12507
12508     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
12509     void onmouseup([in] IHTMLEventObj* pEvtObj);
12510
12511     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
12512     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
12513
12514     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
12515     void onfilterchange([in] IHTMLEventObj* pEvtObj);
12516
12517     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
12518     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
12519
12520     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
12521     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
12522
12523     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
12524     void onafterupdate([in] IHTMLEventObj* pEvtObj);
12525
12526     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
12527     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
12528
12529     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
12530     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
12531
12532     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
12533     void onrowenter([in] IHTMLEventObj* pEvtObj);
12534
12535     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
12536     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
12537
12538     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
12539     void ondataavailable([in] IHTMLEventObj* pEvtObj);
12540
12541     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
12542     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
12543
12544     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
12545     void onlosecapture([in] IHTMLEventObj* pEvtObj);
12546
12547     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
12548     void onpropertychange([in] IHTMLEventObj* pEvtObj);
12549
12550     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
12551     void onscroll([in] IHTMLEventObj* pEvtObj);
12552
12553     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
12554     void onfocus([in] IHTMLEventObj* pEvtObj);
12555
12556     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
12557     void onblur([in] IHTMLEventObj* pEvtObj);
12558
12559     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
12560     void onresize([in] IHTMLEventObj* pEvtObj);
12561
12562     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
12563     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
12564
12565     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
12566     void ondragend([in] IHTMLEventObj* pEvtObj);
12567
12568     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
12569     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
12570
12571     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
12572     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
12573
12574     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
12575     void ondragleave([in] IHTMLEventObj* pEvtObj);
12576
12577     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
12578     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
12579
12580     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
12581     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
12582
12583     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
12584     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
12585
12586     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
12587     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
12588
12589     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
12590     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
12591
12592     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
12593     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
12594
12595     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
12596     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
12597
12598     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
12599     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
12600
12601     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
12602     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
12603
12604     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
12605     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
12606
12607     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
12608     void oncellchange([in] IHTMLEventObj* pEvtObj);
12609
12610     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
12611     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
12612
12613     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
12614     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
12615
12616     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
12617     void onpage([in] IHTMLEventObj* pEvtObj);
12618
12619     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
12620     void onmouseenter([in] IHTMLEventObj* pEvtObj);
12621
12622     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
12623     void onmouseleave([in] IHTMLEventObj* pEvtObj);
12624
12625     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
12626     void onactivate([in] IHTMLEventObj* pEvtObj);
12627
12628     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
12629     void ondeactivate([in] IHTMLEventObj* pEvtObj);
12630
12631     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
12632     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
12633
12634     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
12635     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
12636
12637     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
12638     void onfocusin([in] IHTMLEventObj* pEvtObj);
12639
12640     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
12641     void onfocusout([in] IHTMLEventObj* pEvtObj);
12642
12643     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
12644     void onmove([in] IHTMLEventObj* pEvtObj);
12645
12646     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
12647     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
12648
12649     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
12650     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
12651
12652     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
12653     void onmoveend([in] IHTMLEventObj* pEvtObj);
12654
12655     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
12656     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
12657
12658     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
12659     void onresizeend([in] IHTMLEventObj* pEvtObj);
12660
12661     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
12662     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
12663 };
12664 [
12665     hidden,
12666     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
12667 ]
12668 dispinterface HTMLElementEvents
12669 {
12670 properties:
12671 methods:
12672     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
12673     VARIANT_BOOL onhelp();
12674
12675     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
12676     VARIANT_BOOL onclick();
12677
12678     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
12679     VARIANT_BOOL ondblclick();
12680
12681     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
12682     VARIANT_BOOL onkeypress();
12683
12684     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
12685     void onkeydown();
12686
12687     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
12688     void onkeyup();
12689
12690     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
12691     void onmouseout();
12692
12693     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
12694     void onmouseover();
12695
12696     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
12697     void onmousemove();
12698
12699     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
12700     void onmousedown();
12701
12702     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
12703     void onmouseup();
12704
12705     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
12706     VARIANT_BOOL onselectstart();
12707
12708     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
12709     void onfilterchange();
12710
12711     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
12712     VARIANT_BOOL ondragstart();
12713
12714     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
12715     VARIANT_BOOL onbeforeupdate();
12716
12717     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
12718     void onafterupdate();
12719
12720     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
12721     VARIANT_BOOL onerrorupdate();
12722
12723     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
12724     VARIANT_BOOL onrowexit();
12725
12726     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
12727     void onrowenter();
12728
12729     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
12730     void ondatasetchanged();
12731
12732     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
12733     void ondataavailable();
12734
12735     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
12736     void ondatasetcomplete();
12737
12738     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
12739     void onlosecapture();
12740
12741     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
12742     void onpropertychange();
12743
12744     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
12745     void onscroll();
12746
12747     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
12748     void onfocus();
12749
12750     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
12751     void onblur();
12752
12753     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
12754     void onresize();
12755
12756     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
12757     VARIANT_BOOL ondrag();
12758
12759     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
12760     void ondragend();
12761
12762     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
12763     VARIANT_BOOL ondragenter();
12764
12765     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
12766     VARIANT_BOOL ondragover();
12767
12768     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
12769     void ondragleave();
12770
12771     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
12772     VARIANT_BOOL ondrop();
12773
12774     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
12775     VARIANT_BOOL onbeforecut();
12776
12777     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
12778     VARIANT_BOOL oncut();
12779
12780     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
12781     VARIANT_BOOL onbeforecopy();
12782
12783     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
12784     VARIANT_BOOL oncopy();
12785
12786     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
12787     VARIANT_BOOL onbeforepaste();
12788
12789     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
12790     VARIANT_BOOL onpaste();
12791
12792     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
12793     VARIANT_BOOL oncontextmenu();
12794
12795     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
12796     void onrowsdelete();
12797
12798     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
12799     void onrowsinserted();
12800
12801     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
12802     void oncellchange();
12803
12804     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
12805     void onreadystatechange();
12806
12807     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
12808     void onbeforeeditfocus();
12809
12810     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
12811     void onlayoutcomplete();
12812
12813     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
12814     void onpage();
12815
12816     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
12817     VARIANT_BOOL onbeforedeactivate();
12818
12819     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
12820     VARIANT_BOOL onbeforeactivate();
12821
12822     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
12823     void onmove();
12824
12825     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
12826     VARIANT_BOOL oncontrolselect();
12827
12828     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
12829     VARIANT_BOOL onmovestart();
12830
12831     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
12832     void onmoveend();
12833
12834     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
12835     VARIANT_BOOL onresizestart();
12836
12837     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
12838     void onresizeend();
12839
12840     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
12841     void onmouseenter();
12842
12843     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
12844     void onmouseleave();
12845
12846     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
12847     VARIANT_BOOL onmousewheel();
12848
12849     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
12850     void onactivate();
12851
12852     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
12853     void ondeactivate();
12854
12855     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
12856     void onfocusin();
12857
12858     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
12859     void onfocusout();
12860
12861 };
12862
12863 [
12864     noncreatable,
12865     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
12866 ]
12867 coclass HTMLCommentElement
12868 {
12869     [default]           dispinterface DispHTMLCommentElement;
12870     [source, default]   dispinterface HTMLElementEvents;
12871     [source]            dispinterface HTMLElementEvents2;
12872                         interface IHTMLElement;
12873                         interface IHTMLElement2;
12874                         interface IHTMLElement3;
12875                         interface IHTMLElement4;
12876                         interface IHTMLUniqueName;
12877                         interface IHTMLDOMNode;
12878                         interface IHTMLDOMNode2;
12879                         interface IHTMLCommentElement;
12880                         interface IHTMLCommentElement2;
12881 }
12882
12883 /*****************************************************************************
12884  *    HTMLTableEvents dispinterface
12885  */
12886 [
12887     hidden,
12888     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
12889 ]
12890 dispinterface HTMLTableEvents
12891 {
12892 properties:
12893 methods:
12894     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
12895     VARIANT_BOOL onhelp();
12896
12897     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
12898     VARIANT_BOOL onclick();
12899
12900     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
12901     VARIANT_BOOL ondblclick();
12902
12903     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
12904     VARIANT_BOOL onkeypress();
12905
12906     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
12907     void onkeydown();
12908
12909     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
12910     void onkeyup();
12911
12912     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
12913     void onmouseout();
12914
12915     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
12916     void onmouseover();
12917
12918     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
12919     void onmousemove();
12920
12921     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
12922     void onmousedown();
12923
12924     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
12925     void onmouseup();
12926
12927     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
12928     VARIANT_BOOL onselectstart();
12929
12930     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
12931     void onfilterchange();
12932
12933     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
12934     VARIANT_BOOL ondragstart();
12935
12936     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
12937     VARIANT_BOOL onbeforeupdate();
12938
12939     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
12940     void onafterupdate();
12941
12942     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
12943     VARIANT_BOOL onerrorupdate();
12944
12945     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
12946     VARIANT_BOOL onrowexit();
12947
12948     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
12949     void onrowenter();
12950
12951     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
12952     void ondatasetchanged();
12953
12954     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
12955     void ondataavailable();
12956
12957     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
12958     void ondatasetcomplete();
12959
12960     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
12961     void onlosecapture();
12962
12963     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
12964     void onpropertychange();
12965
12966     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
12967     void onscroll();
12968
12969     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
12970     void onfocus();
12971
12972     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
12973     void onblur();
12974
12975     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
12976     void onresize();
12977
12978     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
12979     VARIANT_BOOL ondrag();
12980
12981     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
12982     void ondragend();
12983
12984     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
12985     VARIANT_BOOL ondragenter();
12986
12987     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
12988     VARIANT_BOOL ondragover();
12989
12990     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
12991     void ondragleave();
12992
12993     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
12994     VARIANT_BOOL ondrop();
12995
12996     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
12997     VARIANT_BOOL onbeforecut();
12998
12999     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
13000     VARIANT_BOOL oncut();
13001
13002     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
13003     VARIANT_BOOL onbeforecopy();
13004
13005     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
13006     VARIANT_BOOL oncopy();
13007
13008     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
13009     VARIANT_BOOL onbeforepaste();
13010
13011     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
13012     VARIANT_BOOL onpaste();
13013
13014     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
13015     VARIANT_BOOL oncontextmenu();
13016
13017     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
13018     void onrowsdelete();
13019
13020     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
13021     void onrowsinserted();
13022
13023     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
13024     void oncellchange();
13025
13026     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
13027     void onreadystatechange();
13028
13029     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
13030     void onbeforeeditfocus();
13031
13032     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
13033     void onlayoutcomplete();
13034
13035     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
13036     void onpage();
13037
13038     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
13039     VARIANT_BOOL onbeforedeactivate();
13040
13041     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
13042     VARIANT_BOOL onbeforeactivate();
13043
13044     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
13045     void onmove();
13046
13047     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
13048     VARIANT_BOOL oncontrolselect();
13049
13050     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
13051     VARIANT_BOOL onmovestart();
13052
13053     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
13054     void onmoveend();
13055
13056     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
13057     VARIANT_BOOL onresizestart();
13058
13059     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
13060     void onresizeend();
13061
13062     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
13063     void onmouseenter();
13064
13065     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
13066     void onmouseleave();
13067
13068     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
13069     VARIANT_BOOL onmousewheel();
13070
13071     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
13072     void onactivate();
13073
13074     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
13075     void ondeactivate();
13076
13077     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
13078     void onfocusin();
13079
13080     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
13081     void onfocusout();
13082 }
13083
13084 [
13085     hidden,
13086     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
13087 ]
13088 dispinterface HTMLTableEvents2
13089 {
13090 properties:
13091 methods:
13092     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
13093     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
13094
13095     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
13096     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
13097
13098     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
13099     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
13100
13101     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
13102     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
13103
13104     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
13105     void onkeydown([in] IHTMLEventObj* pEvtObj);
13106
13107     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
13108     void onkeyup([in] IHTMLEventObj* pEvtObj);
13109
13110     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
13111     void onmouseout([in] IHTMLEventObj* pEvtObj);
13112
13113     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
13114     void onmouseover([in] IHTMLEventObj* pEvtObj);
13115
13116     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
13117     void onmousemove([in] IHTMLEventObj* pEvtObj);
13118
13119     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
13120     void onmousedown([in] IHTMLEventObj* pEvtObj);
13121
13122     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
13123     void onmouseup([in] IHTMLEventObj* pEvtObj);
13124
13125     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
13126     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
13127
13128     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
13129     void onfilterchange([in] IHTMLEventObj* pEvtObj);
13130
13131     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
13132     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
13133
13134     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
13135     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
13136
13137     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
13138     void onafterupdate([in] IHTMLEventObj* pEvtObj);
13139
13140     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
13141     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
13142
13143     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
13144     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
13145
13146     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
13147     void onrowenter([in] IHTMLEventObj* pEvtObj);
13148
13149     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
13150     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
13151
13152     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
13153     void ondataavailable([in] IHTMLEventObj* pEvtObj);
13154
13155     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
13156     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
13157
13158     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
13159     void onlosecapture([in] IHTMLEventObj* pEvtObj);
13160
13161     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
13162     void onpropertychange([in] IHTMLEventObj* pEvtObj);
13163
13164     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
13165     void onscroll([in] IHTMLEventObj* pEvtObj);
13166
13167     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
13168     void onfocus([in] IHTMLEventObj* pEvtObj);
13169
13170     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
13171     void onblur([in] IHTMLEventObj* pEvtObj);
13172
13173     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
13174     void onresize([in] IHTMLEventObj* pEvtObj);
13175
13176     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
13177     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
13178
13179     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
13180     void ondragend([in] IHTMLEventObj* pEvtObj);
13181
13182     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
13183     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
13184
13185     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
13186     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
13187
13188     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
13189     void ondragleave([in] IHTMLEventObj* pEvtObj);
13190
13191     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
13192     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
13193
13194     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
13195     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
13196
13197     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
13198     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
13199
13200     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
13201     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
13202
13203     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
13204     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
13205
13206     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
13207     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
13208
13209     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
13210     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
13211
13212     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
13213     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
13214
13215     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
13216     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
13217
13218     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
13219     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
13220
13221     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
13222     void oncellchange([in] IHTMLEventObj* pEvtObj);
13223
13224     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
13225     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
13226
13227     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
13228     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
13229
13230     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
13231     void onpage([in] IHTMLEventObj* pEvtObj);
13232
13233     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
13234     void onmouseenter([in] IHTMLEventObj* pEvtObj);
13235
13236     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
13237     void onmouseleave([in] IHTMLEventObj* pEvtObj);
13238
13239     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
13240     void onactivate([in] IHTMLEventObj* pEvtObj);
13241
13242     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
13243     void ondeactivate([in] IHTMLEventObj* pEvtObj);
13244
13245     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
13246     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
13247
13248     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
13249     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
13250
13251     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
13252     void onfocusin([in] IHTMLEventObj* pEvtObj);
13253
13254     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
13255     void onfocusout([in] IHTMLEventObj* pEvtObj);
13256
13257     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
13258     void onmove([in] IHTMLEventObj* pEvtObj);
13259
13260     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
13261     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
13262
13263     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
13264     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
13265
13266     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
13267     void onmoveend([in] IHTMLEventObj* pEvtObj);
13268
13269     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
13270     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
13271
13272     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
13273     void onresizeend([in] IHTMLEventObj* pEvtObj);
13274
13275     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
13276     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
13277 };
13278
13279 /*****************************************************************************
13280  *    IHTMLTableCaption interface
13281  */
13282 [
13283     odl,
13284     oleautomation,
13285     dual,
13286     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
13287 ]
13288 interface IHTMLTableCaption : IDispatch
13289 {
13290     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
13291     HRESULT align([in] BSTR v);
13292
13293     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
13294     HRESULT align([retval, out] BSTR *p);
13295
13296     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
13297     HRESULT vAlign([in] BSTR v);
13298
13299     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
13300     HRESULT vAlign([retval, out] BSTR *p);
13301 }
13302
13303 interface IHTMLTableSection;
13304
13305 /*****************************************************************************
13306  *    IHTMLTable interface
13307  */
13308 [
13309     odl,
13310     oleautomation,
13311     dual,
13312     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
13313 ]
13314 interface IHTMLTable : IDispatch
13315 {
13316     [propput, id(DISPID_IHTMLTABLE_COLS)]
13317     HRESULT cols([in] LONG v);
13318
13319     [propget, id(DISPID_IHTMLTABLE_COLS)]
13320     HRESULT cols([retval, out] LONG *p);
13321
13322     [propput, id(DISPID_IHTMLTABLE_BORDER)]
13323     HRESULT border([in] VARIANT v);
13324
13325     [propget, id(DISPID_IHTMLTABLE_BORDER)]
13326     HRESULT border([retval, out] VARIANT *p);
13327
13328     [propput, id(DISPID_IHTMLTABLE_FRAME)]
13329     HRESULT frame([in] BSTR v);
13330
13331     [propget, id(DISPID_IHTMLTABLE_FRAME)]
13332     HRESULT frame([retval, out] BSTR *p);
13333
13334     [propput, id(DISPID_IHTMLTABLE_RULES)]
13335     HRESULT rules([in] BSTR v);
13336
13337     [propget, id(DISPID_IHTMLTABLE_RULES)]
13338     HRESULT rules([retval, out] BSTR *p);
13339
13340     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
13341     HRESULT cellSpacing([in] VARIANT v);
13342
13343     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
13344     HRESULT cellSpacing([retval, out] VARIANT *p);
13345
13346     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
13347     HRESULT cellPadding([in] VARIANT v);
13348
13349     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
13350     HRESULT cellPadding([retval, out] VARIANT *p);
13351
13352     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
13353     HRESULT background([in] BSTR v);
13354
13355     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
13356     HRESULT background([retval, out] BSTR *p);
13357
13358     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
13359     HRESULT bgColor([in] VARIANT v);
13360
13361     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
13362     HRESULT bgColor([retval, out] VARIANT *p);
13363
13364     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
13365     HRESULT borderColor([in] VARIANT v);
13366
13367     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
13368     HRESULT borderColor([retval, out] VARIANT *p);
13369
13370     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
13371     HRESULT borderColorLight([in] VARIANT v);
13372
13373     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
13374     HRESULT borderColorLight([retval, out] VARIANT *p);
13375
13376     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
13377     HRESULT borderColorDark([in] VARIANT v);
13378
13379     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
13380     HRESULT borderColorDark([retval, out] VARIANT *p);
13381
13382     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
13383     HRESULT align([in] BSTR v);
13384
13385     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
13386     HRESULT align([retval, out] BSTR * p);
13387
13388     [id(DISPID_IHTMLTABLE_REFRESH)]
13389     HRESULT refresh();
13390
13391     [propget, id(DISPID_IHTMLTABLE_ROWS)]
13392     HRESULT rows([retval, out] IHTMLElementCollection **p);
13393
13394     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
13395     HRESULT width([in] VARIANT v);
13396
13397     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
13398     HRESULT width([retval, out] VARIANT *p);
13399
13400     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
13401     HRESULT height([in] VARIANT v);
13402
13403     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
13404     HRESULT height([retval, out] VARIANT *p);
13405
13406     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
13407     HRESULT dataPageSize([in] LONG v);
13408
13409     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
13410     HRESULT dataPageSize([retval, out] LONG *p);
13411
13412     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
13413     HRESULT nextPage();
13414
13415     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
13416     HRESULT previousPage();
13417
13418     [propget, id(DISPID_IHTMLTABLE_THEAD)]
13419     HRESULT tHead([retval, out] IHTMLTableSection **p);
13420
13421     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
13422     HRESULT tFoot([retval, out] IHTMLTableSection **p);
13423
13424     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
13425     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
13426
13427     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
13428     HRESULT caption([retval, out] IHTMLTableCaption **p);
13429
13430     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
13431     HRESULT createTHead([retval, out] IDispatch **head);
13432
13433     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
13434     HRESULT deleteTHead();
13435
13436     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
13437     HRESULT createTFoot([retval, out] IDispatch **foot);
13438
13439     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
13440     HRESULT deleteTFoot();
13441
13442     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
13443     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
13444
13445     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
13446     HRESULT deleteCaption();
13447
13448     [id(DISPID_IHTMLTABLE_INSERTROW)]
13449     HRESULT insertRow(
13450             [defaultvalue(-1), in] LONG index,
13451             [retval, out] IDispatch **row);
13452
13453     [id(DISPID_IHTMLTABLE_DELETEROW)]
13454     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
13455
13456     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
13457     HRESULT readyState([retval, out] BSTR *p);
13458
13459     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
13460     HRESULT onreadystatechange([in] VARIANT v);
13461
13462     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
13463     HRESULT onreadystatechange([retval, out] VARIANT *p);
13464 }
13465
13466 [
13467     odl,
13468     oleautomation,
13469     dual,
13470     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
13471 ]
13472 interface IHTMLTable2 : IDispatch
13473 {
13474     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
13475     HRESULT firstPage();
13476
13477     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
13478     HRESULT lastPage();
13479
13480     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
13481     HRESULT cells([retval, out] IHTMLElementCollection* * p);
13482
13483     [id(DISPID_IHTMLTABLE2_MOVEROW)]
13484     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
13485         [defaultvalue(-1), in] LONG indexTo,
13486         [retval, out] IDispatch** row);
13487 };
13488
13489 [
13490     odl,
13491     oleautomation,
13492     dual,
13493     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
13494 ]
13495 interface IHTMLTable3 : IDispatch
13496 {
13497     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
13498     HRESULT summary([in] BSTR v);
13499
13500     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
13501     HRESULT summary([retval, out] BSTR * p);
13502 };
13503
13504 [
13505     noncreatable,
13506     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
13507 ]
13508 coclass HTMLTable
13509 {
13510     [default]           dispinterface DispHTMLTable;
13511     [source, default]   dispinterface HTMLTableEvents;
13512     [source]            dispinterface HTMLTableEvents2;
13513                         interface IHTMLElement;
13514                         interface IHTMLElement2;
13515                         interface IHTMLElement3;
13516                         interface IHTMLElement4;
13517                         interface IHTMLUniqueName;
13518                         interface IHTMLDOMNode;
13519                         interface IHTMLDOMNode2;
13520                         interface IHTMLDatabinding;
13521                         interface IHTMLControlElement;
13522                         interface IHTMLTable;
13523                         interface IHTMLTable2;
13524                         interface IHTMLTable3;
13525 };
13526
13527 [
13528     odl,
13529     oleautomation,
13530     dual,
13531     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
13532 ]
13533 interface IHTMLTableSection : IDispatch
13534 {
13535     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
13536     HRESULT align([in] BSTR v);
13537
13538     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
13539     HRESULT align([retval, out] BSTR *p);
13540
13541     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
13542     HRESULT vAlign([in] BSTR v);
13543
13544     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
13545     HRESULT vAlign([retval, out] BSTR *p);
13546
13547     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
13548     HRESULT bgColor([in] VARIANT v);
13549
13550     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
13551     HRESULT bgColor([retval, out] VARIANT *p);
13552
13553     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
13554     HRESULT rows([retval, out] IHTMLElementCollection **p);
13555
13556     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
13557     HRESULT insertRow(
13558             [defaultvalue(-1), in] LONG index,
13559             [retval, out] IDispatch **row);
13560
13561     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
13562     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
13563 }
13564
13565 /*****************************************************************************
13566  *    IHTMLTableRow interface
13567  */
13568 [
13569     odl,
13570     oleautomation,
13571     dual,
13572     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
13573 ]
13574 interface IHTMLTableRow : IDispatch
13575 {
13576     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
13577     HRESULT align([in] BSTR v);
13578
13579     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
13580     HRESULT align([out, retval] BSTR *p);
13581
13582     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
13583     HRESULT vAlign([in] BSTR v);
13584
13585     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
13586     HRESULT vAlign([out, retval] BSTR *p);
13587
13588     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
13589     HRESULT bgColor([in] VARIANT v);
13590
13591     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
13592     HRESULT bgColor([out, retval] VARIANT *p);
13593
13594     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
13595     HRESULT borderColor([in] VARIANT v);
13596
13597     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
13598     HRESULT borderColor([out, retval] VARIANT *p);
13599
13600     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
13601     HRESULT borderColorLight([in] VARIANT v);
13602
13603     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
13604     HRESULT borderColorLight([out, retval] VARIANT *p);
13605
13606     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
13607     HRESULT borderColorDark([in] VARIANT v);
13608
13609     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
13610     HRESULT borderColorDark([out, retval] VARIANT *p);
13611
13612     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
13613     HRESULT rowIndex([out, retval] LONG *p);
13614
13615     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
13616     HRESULT sectionRowIndex([out, retval] LONG *p);
13617
13618     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
13619     HRESULT cells([out, retval] IHTMLElementCollection **p);
13620
13621     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
13622     HRESULT insertCell(
13623             [in, defaultvalue(-1)] LONG index,
13624             [out, retval] IDispatch **row);
13625
13626     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
13627     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
13628 }
13629
13630 /*****************************************************************************
13631  *    DispHTMLTable interface
13632  */
13633 [
13634     hidden,
13635     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
13636 ]
13637 dispinterface DispHTMLTable
13638 {
13639 properties:
13640 methods:
13641     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
13642
13643     [propput, id(DISPID_IHTMLTABLE_COLS)]
13644     void cols(LONG v);
13645
13646     [propget, id(DISPID_IHTMLTABLE_COLS)]
13647     LONG cols();
13648
13649     [propput, id(DISPID_IHTMLTABLE_BORDER)]
13650     void border(VARIANT v);
13651
13652     [propget, id(DISPID_IHTMLTABLE_BORDER)]
13653     VARIANT border();
13654
13655     [propput, id(DISPID_IHTMLTABLE_FRAME)]
13656     void frame(BSTR v);
13657
13658     [propget, id(DISPID_IHTMLTABLE_FRAME)]
13659     BSTR frame();
13660
13661     [propput, id(DISPID_IHTMLTABLE_RULES)]
13662     void rules(BSTR v);
13663
13664     [propget, id(DISPID_IHTMLTABLE_RULES)]
13665     BSTR rules();
13666
13667     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
13668     void cellSpacing(VARIANT v);
13669
13670     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
13671     VARIANT cellSpacing();
13672
13673     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
13674     void cellPadding(VARIANT v);
13675
13676     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
13677     VARIANT cellPadding();
13678
13679     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
13680     void background(BSTR v);
13681
13682     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
13683     BSTR background();
13684
13685     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
13686     void bgColor(VARIANT v);
13687
13688     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
13689     VARIANT bgColor();
13690
13691     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
13692     void borderColor(VARIANT v);
13693
13694     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
13695     VARIANT borderColor();
13696
13697     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
13698     void borderColorLight(VARIANT v);
13699
13700     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
13701     VARIANT borderColorLight();
13702
13703     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
13704     void borderColorDark(VARIANT v);
13705
13706     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
13707     VARIANT borderColorDark();
13708
13709     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
13710     void align(BSTR v);
13711
13712     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
13713     BSTR align();
13714
13715     [id(DISPID_IHTMLTABLE_REFRESH)]
13716     void refresh();
13717
13718     [propget, id(DISPID_IHTMLTABLE_ROWS)]
13719     IHTMLElementCollection *rows();
13720
13721     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
13722     void width(VARIANT v);
13723
13724     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
13725     VARIANT width();
13726
13727     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
13728     void height(VARIANT v);
13729
13730     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
13731     VARIANT height();
13732
13733     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
13734     void dataPageSize(LONG v);
13735
13736     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
13737     LONG dataPageSize();
13738
13739     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
13740     void nextPage();
13741
13742     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
13743     void previousPage();
13744
13745     [propget, id(DISPID_IHTMLTABLE_THEAD)]
13746     IHTMLTableSection *tHead();
13747
13748     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
13749     IHTMLTableSection *tFoot();
13750
13751     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
13752     IHTMLElementCollection *tBodies();
13753
13754     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
13755     IHTMLTableCaption *caption();
13756
13757     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
13758     IDispatch *createTHead();
13759
13760     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
13761     void deleteTHead();
13762
13763     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
13764     IDispatch *createTFoot();
13765
13766     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
13767     void deleteTFoot();
13768
13769     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
13770     IHTMLTableCaption *createCaption();
13771
13772     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
13773     void deleteCaption();
13774
13775     [id(DISPID_IHTMLTABLE_INSERTROW)]
13776     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
13777
13778     [id(DISPID_IHTMLTABLE_DELETEROW)]
13779     void deleteRow([in, defaultvalue(-1)] LONG index);
13780
13781     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
13782     void firstPage();
13783
13784     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
13785     void lastPage();
13786
13787     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
13788     IHTMLElementCollection *cells();
13789
13790     [id(DISPID_IHTMLTABLE2_MOVEROW)]
13791     IDispatch *moveRow(
13792             [in, defaultvalue(-1)] LONG indexFrom,
13793             [in, defaultvalue(-1)] LONG indexTo);
13794
13795     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
13796     void summary(BSTR v);
13797
13798     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
13799     BSTR summary();
13800 }
13801
13802 /*****************************************************************************
13803  *    DispHTMLTableRow dispinterface
13804  */
13805 [
13806     hidden,
13807     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
13808 ]
13809 dispinterface DispHTMLTableRow
13810 {
13811 properties:
13812 methods:
13813     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
13814
13815     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
13816     void align(BSTR v);
13817
13818     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
13819     BSTR align();
13820
13821     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
13822     void vAlign(BSTR v);
13823
13824     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
13825     BSTR vAlign();
13826
13827     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
13828     void bgColor(VARIANT v);
13829
13830     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
13831     VARIANT bgColor();
13832
13833     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
13834     void borderColor(VARIANT v);
13835
13836     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
13837     VARIANT borderColor();
13838
13839     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
13840     void borderColorLight(VARIANT v);
13841
13842     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
13843     VARIANT borderColorLight();
13844
13845     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
13846     void borderColorDark(VARIANT v);
13847
13848     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
13849     VARIANT borderColorDark();
13850
13851     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
13852     LONG rowIndex();
13853
13854     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
13855     LONG sectionRowIndex();
13856
13857     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
13858     IHTMLElementCollection *cells();
13859
13860     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
13861     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
13862
13863     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
13864     void deleteCell([in, defaultvalue(-1)] LONG index);
13865
13866     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
13867     void height(VARIANT v);
13868
13869     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
13870     VARIANT height();
13871
13872     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
13873     void ch(BSTR v);
13874
13875     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
13876     BSTR ch();
13877
13878     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
13879     void chOff(BSTR v);
13880
13881     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
13882     BSTR chOff();
13883 }
13884
13885 /*****************************************************************************
13886  *    IHTMLScriptElement interface
13887  */
13888 [
13889     odl,
13890     oleautomation,
13891     dual,
13892     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
13893 ]
13894 interface IHTMLScriptElement : IDispatch
13895 {
13896     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
13897     HRESULT src([in] BSTR v);
13898
13899     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
13900     HRESULT src([retval, out] BSTR *p);
13901
13902     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
13903     HRESULT htmlFor([in] BSTR v);
13904
13905     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
13906     HRESULT htmlFor([retval, out] BSTR *p);
13907
13908     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
13909     HRESULT event([in] BSTR v);
13910
13911     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
13912     HRESULT event([retval, out] BSTR *p);
13913
13914     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
13915     HRESULT text([in] BSTR v);
13916
13917     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
13918     HRESULT text([retval, out] BSTR *p);
13919
13920     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
13921     HRESULT defer([in] VARIANT_BOOL v);
13922
13923     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
13924     HRESULT defer([retval, out] VARIANT_BOOL *p);
13925
13926     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
13927     HRESULT readyState([retval, out] BSTR *p);
13928
13929     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
13930     HRESULT onerror([in] VARIANT v);
13931
13932     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
13933     HRESULT onerror([retval, out] VARIANT *p);
13934
13935     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
13936     HRESULT type([in] BSTR v);
13937
13938     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
13939     HRESULT type([retval, out] BSTR *p);
13940 }
13941
13942 /*****************************************************************************
13943  *    IHTMLScriptElement2 interface
13944  */
13945 [
13946     odl,
13947     oleautomation,
13948     dual,
13949     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
13950 ]
13951 interface IHTMLScriptElement2 : IDispatch
13952 {
13953     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
13954     HRESULT charset([in] BSTR v);
13955
13956     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
13957     HRESULT charset([retval, out] BSTR *p);
13958 }
13959
13960 /*****************************************************************************
13961  *    IHTMLFrameBase interface
13962  */
13963 [
13964     odl,
13965     oleautomation,
13966     dual,
13967     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
13968 ]
13969 interface IHTMLFrameBase : IDispatch
13970 {
13971     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
13972     HRESULT src([in] BSTR v);
13973
13974     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
13975     HRESULT src([out, retval] BSTR *p);
13976
13977     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
13978     HRESULT name([in] BSTR v);
13979
13980     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
13981     HRESULT name([out, retval] BSTR *p);
13982
13983     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
13984     HRESULT border([in] VARIANT v);
13985
13986     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
13987     HRESULT border([out, retval] VARIANT *p);
13988
13989     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
13990     HRESULT frameBorder([in] BSTR v);
13991
13992     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
13993     HRESULT frameBorder([out, retval] BSTR *p);
13994
13995     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
13996     HRESULT frameSpacing([in] VARIANT v);
13997
13998     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
13999     HRESULT frameSpacing([out, retval] VARIANT *p);
14000
14001     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14002     HRESULT marginWidth([in] VARIANT v);
14003
14004     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14005     HRESULT marginWidth([out, retval] VARIANT *p);
14006
14007     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14008     HRESULT marginHeight([in] VARIANT v);
14009
14010     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14011     HRESULT marginHeight([out, retval] VARIANT *p);
14012
14013     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14014     HRESULT noResize([in] VARIANT_BOOL v);
14015
14016     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14017     HRESULT noResize([out, retval] VARIANT_BOOL *p);
14018
14019     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14020     HRESULT scrolling([in] BSTR v);
14021
14022     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14023     HRESULT scrolling([out, retval] BSTR *p);
14024 }
14025
14026 /*****************************************************************************
14027  *    IHTMLFrameBase2 interface
14028  */
14029 [
14030     odl,
14031     oleautomation,
14032     dual,
14033     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
14034 ]
14035 interface IHTMLFrameBase2 : IDispatch
14036 {
14037     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
14038     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
14039
14040     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14041     HRESULT onload([in] VARIANT v);
14042
14043     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14044     HRESULT onload([retval, out] VARIANT *p);
14045
14046     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
14047     HRESULT onreadystatechange([in] VARIANT v);
14048
14049     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
14050     HRESULT onreadystatechange([retval, out] VARIANT *p);
14051
14052     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
14053     HRESULT readyState([retval, out] BSTR *p);
14054
14055     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14056     HRESULT allowTransparency([in] VARIANT_BOOL v);
14057
14058     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14059     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
14060 }
14061
14062 /*****************************************************************************
14063  *    DispHTMLIFrame dispinterface
14064  */
14065 [
14066     hidden,
14067     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
14068 ]
14069 dispinterface DispHTMLIFrame
14070 {
14071 properties:
14072 methods:
14073     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
14074
14075     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
14076     void src(BSTR v);
14077
14078     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
14079     BSTR src();
14080
14081     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
14082     void name(BSTR v);
14083
14084     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
14085     BSTR name();
14086
14087     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
14088     void border(VARIANT v);
14089
14090     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
14091     VARIANT border();
14092
14093     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
14094     void frameBorder(BSTR v);
14095
14096     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
14097     BSTR frameBorder();
14098
14099     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
14100     void frameSpacing(VARIANT v);
14101
14102     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
14103     VARIANT frameSpacing();
14104
14105     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14106     void marginWidth(VARIANT v);
14107
14108     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14109     VARIANT marginWidth();
14110
14111     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14112     void marginHeight(VARIANT v);
14113
14114     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14115     VARIANT marginHeight();
14116
14117     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14118     void noResize(VARIANT_BOOL v);
14119
14120     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14121     VARIANT_BOOL noResize();
14122
14123     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14124     void scrolling(BSTR v);
14125
14126     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14127     BSTR scrolling();
14128
14129     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
14130     IHTMLWindow2 *contentWindow();
14131
14132     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14133     void onload(VARIANT v);
14134
14135     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14136     VARIANT onload();
14137
14138     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14139     void allowTransparency(VARIANT_BOOL v);
14140
14141     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14142     VARIANT_BOOL allowTransparency();
14143
14144     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
14145     void longDesc(BSTR v);
14146
14147     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
14148     BSTR longDesc();
14149
14150     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
14151     void vspace(LONG v);
14152
14153     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
14154     LONG vspace();
14155
14156     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
14157     void hspace(LONG v);
14158
14159     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
14160     LONG hspace();
14161
14162     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
14163     void align(BSTR v);
14164
14165     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
14166     BSTR align();
14167
14168     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
14169     void height(VARIANT v);
14170
14171     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
14172     VARIANT height();
14173
14174     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
14175     void width(VARIANT v);
14176
14177     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
14178     VARIANT width();
14179 }
14180
14181 /*****************************************************************************
14182  *    IMarkupContainer interface
14183  */
14184 [
14185     object,
14186     pointer_default(unique),
14187     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
14188 ]
14189 interface IMarkupContainer : IUnknown
14190 {
14191     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
14192 }
14193
14194 /*****************************************************************************
14195  *    IMarkupPointer interface
14196  */
14197 [
14198     object,
14199     pointer_default(unique),
14200     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
14201 ]
14202 interface IMarkupPointer : IUnknown
14203 {
14204     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
14205
14206     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
14207
14208     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
14209
14210     HRESULT Cling([out] BOOL *pfCling);
14211
14212     HRESULT SetCling([in] BOOL fCLing);
14213
14214     HRESULT UnPosition();
14215
14216     HRESULT IsPositioned([out] BOOL *pfPositioned);
14217
14218     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
14219
14220     HRESULT MoveAdjacentToElement(
14221         [in] IHTMLElement *pElement,
14222         [in] ELEMENT_ADJACENCY eAdj);
14223
14224     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
14225
14226     HRESULT MoveToContainer(
14227         [in] IMarkupContainer *pContainer,
14228         [in] BOOL fAtStart);
14229
14230     HRESULT Left(
14231         [in] BOOL fMove,
14232         [out] MARKUP_CONTEXT_TYPE *pContext,
14233         [out] IHTMLElement **ppElement,
14234         [in, out] LONG *pcch,
14235         [out, size_is(*pcch)] OLECHAR *pchText);
14236
14237     HRESULT Right(
14238         [in] BOOL fMove,
14239         [out] MARKUP_CONTEXT_TYPE *pContext,
14240         [out] IHTMLElement **ppElement,
14241         [in, out] LONG *pcch,
14242         [out, size_is(*pcch)] OLECHAR *pchText);
14243
14244     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
14245
14246     HRESULT IsLeftOf(
14247         [in] IMarkupPointer *pPointerThat,
14248         [out] BOOL *pfResult);
14249
14250     HRESULT IsLeftOfOrEqualTo(
14251         [in] IMarkupPointer *pPointerThat,
14252         [out] BOOL *pfResult);
14253
14254     HRESULT IsRightOf(
14255         [in] IMarkupPointer *pPointerThat,
14256         [out] BOOL *pfResult);
14257
14258     HRESULT IsRightOfOrEqualTo(
14259         [in] IMarkupPointer *pPointerThat,
14260         [out] BOOL *pfResult);
14261
14262     HRESULT IsEqualTo(
14263         [in] IMarkupPointer *pPointerThat,
14264         [out] BOOL *pfAreEqual);
14265
14266     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
14267
14268     HRESULT FindText(
14269         [in] OLECHAR *pchFindText,
14270         [in] DWORD dwFlags,
14271         [in] IMarkupPointer *pIEndMatch,
14272         [in] IMarkupPointer *pIEndSearch);
14273 }
14274
14275 /*****************************************************************************
14276  *    ISegment interface
14277  */
14278 [
14279     object,
14280     pointer_default(unique),
14281     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
14282 ]
14283 interface ISegment : IUnknown
14284 {
14285     HRESULT GetPointers(
14286         [in] IMarkupPointer *pIStart,
14287         [in] IMarkupPointer *pIEnd);
14288 }
14289
14290 /*****************************************************************************
14291  *    IElementSegment interface
14292  */
14293 [
14294     object,
14295     pointer_default(unique),
14296     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
14297 ]
14298 interface IElementSegment : ISegment
14299 {
14300     HRESULT GetElement([out] IHTMLElement **ppIElement);
14301
14302     HRESULT SetPrimary([in] BOOL fPrimary);
14303
14304     HRESULT IsPrimary([out] BOOL *pfPrimary);
14305 }
14306
14307 /*****************************************************************************
14308  *    ISelectionServicesListener interface
14309  */
14310 [
14311     object,
14312     pointer_default(unique),
14313     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
14314 ]
14315 interface ISelectionServicesListener : IUnknown
14316 {
14317     HRESULT BeginSelectionUndo();
14318
14319     HRESULT EndSelectionUndo();
14320
14321     HRESULT OnSelectedElementExit(
14322         [in] IMarkupPointer *pIElementStart,
14323         [in] IMarkupPointer *pIElementEnd,
14324         [in] IMarkupPointer *pIElementContentStart,
14325         [in] IMarkupPointer *pIElementContentEnd);
14326
14327     HRESULT OnChangeType(
14328         [in] SELECTION_TYPE eType,
14329         [in] ISelectionServicesListener *pIListener);
14330
14331     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
14332 }
14333
14334 /*****************************************************************************
14335  *    ISelectionServices interface
14336  */
14337 [
14338     object,
14339     pointer_default(unique),
14340     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
14341 ]
14342 interface ISelectionServices : IUnknown
14343 {
14344     HRESULT SetSelectionType(
14345         [in] SELECTION_TYPE eType,
14346         [in] ISelectionServicesListener *pIListener);
14347
14348     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
14349
14350     HRESULT AddSegment(
14351         [in] IMarkupPointer *pIStart,
14352         [in] IMarkupPointer *pIEnd,
14353         [out] ISegment **ppISegmentAdded);
14354
14355     HRESULT AddElementSegment(
14356         [in] IHTMLElement *pIElement,
14357         [out] IElementSegment **ppISegmentAdded);
14358
14359     HRESULT RemoveSegment([in] ISegment *pISegment);
14360
14361     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
14362 }
14363
14364 /*****************************************************************************
14365  *    IHTMLEditDesigner interface
14366  */
14367 [
14368     object,
14369     pointer_default(unique),
14370     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
14371 ]
14372 interface IHTMLEditDesigner : IUnknown
14373 {
14374     HRESULT PreHandleEvent(
14375         [in] DISPID inEvtDispId,
14376         [in] IHTMLEventObj *pIEventObj);
14377
14378     HRESULT PostHandleEvent(
14379         [in] DISPID inEvtDispId,
14380         [in] IHTMLEventObj *pIEventObj);
14381
14382     HRESULT TranslateAccelerator(
14383         [in] DISPID inEvtDispId,
14384         [in] IHTMLEventObj *pIEventObj);
14385
14386     HRESULT PostEditorEventNotify(
14387         [in] DISPID inEvtDispId,
14388         [in] IHTMLEventObj *pIEventObj);
14389 }
14390
14391 /*****************************************************************************
14392  *    IHTMLEditServices interface
14393  */
14394 [
14395     object,
14396     pointer_default(unique),
14397     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
14398 ]
14399 interface IHTMLEditServices : IUnknown
14400 {
14401     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
14402
14403     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
14404
14405     HRESULT GetSelectionServices(
14406         [in] IMarkupContainer *pIContainer,
14407         [out] ISelectionServices **ppSelSvc);
14408
14409     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
14410
14411     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
14412
14413     HRESULT SelectRange(
14414         [in] IMarkupPointer* pStart,
14415         [in] IMarkupPointer* pEnd,
14416         [in] SELECTION_TYPE eType);
14417 }
14418
14419 } /* library MSHTML */